Компьютерные вирусы и способы борьбы с ними
Рефераты >> Информатика >> Компьютерные вирусы и способы борьбы с ними

Наличие совокупности моделей действий нарушителя может быть полезной с точки зрения прогнозирования возможных событий во всем разнообразии складывающихся ситуаций, предотвращения действий нарушителя, построения надежной системы защиты информации, использования современных средств интеллектуальной поддержки для управления системой защиты.

Среди ограничения и предположения о характере действий возможных нарушителей могут быть следующие:

· работа по подбору кадров и специальные мероприятия затрудняют возможность создания коалиций нарушителей, т.е. объединения (сговора) и целенаправленных действий по преодолению подсистемы защиты двух и более нарушителей;

· нарушитель, планируя попытки НСД, скрывает свои несанкционированные действия от других сотрудников;

НСД может быть следствием ошибок пользователей, администраторов, эксплуатирующего и обслуживающего персонала, а также недостатков принятой технологии обработки информации и т.д.

Для того, чтобы разработанная модель нарушителя приносила пользу в решении проблем информационной безопасности, а не была простой формальностью, она должна быть строго адаптирована на конкретный объект информационной защиты. Кроме того, каждый элемент модели нарушителя должен иметь продолжение как в виде причинно-следственных связей между отдельными элементами, так и в виде детализации информации, содержащейся в каждом из них. Такая детализация предполагает построение цепочек предполагаемых последствий наступления тех или иных заключений относительно облика нарушителя.

Построение причинно - следственных связей между элементами модели и цепочек предполагаемых последствий требует знаний в области социально-психологических аспектов деятельности нарушителя, в области техники промышленного шпионажа, возможностей средств информационной защиты и целого ряда других, неразрывно связанных с проблемой защиты информации.

3. Система зашиты программных средств от копирования и исследования Под системой защиты от несанкционированного использования и копирования (защиты авторских прав, или просто защиты, от копирования) понимается комплекс программных или программно-аппаратных средств, предназначенных для усложнения или запрещения нелегального распространения, использования и (или) изменения программных продуктов и иных информационных ресурсов. Термин «нелегальное» здесь понимается как производимое без согласия правообладателя. Нелегальное изменение информационного ресурса может потребоваться нарушителю для того, чтобы измененный им продукт не подпадал под действие законодательства о защите авторских прав.Под надежностью системы защиты от несанкционированного копирования понимается ее способность противостоять попыткам изучения алгоритма ее работы и обхода реализованных в нем методов защиты. Очевидно, что любая программная или программно-аппаратная система защиты от копирования может быть преодолена за конечное время, так как процессорные команды системы защиты в момент своего исполнения присутствуют в оперативной памяти компьютера в открытом виде. Также очевидно, что надежность системы защиты равна надежности наименее защищенного из ее модулей.Выделим принципы создания и использования систем защиты от копирования.1. Учет условий распространения программных продуктов:− распространение дистрибутивных файлов на магнитных носителях через сеть торговых агентов или через сеть Интернет с последующей установкой самим пользователем, который при этом пытаться копировать дистрибутивные магнитные диски, исследовать алгоритм работы системы защиты при помощи специальных программных средств (отладчиков и дисассемблеров), пытаться нарушить условия лицензионного соглашения и установить продукт на большем числе компьютеров, пытаться смоделировать алгоритм работы системы защиты для изготовления аналогичного варианта дистрибутивных файлов и распространения их от своего имени;− установка программного продукта официальным представителем правообладателя, при котором пользователь может пытаться нарушить условия лицензионного соглашения или исследовать алгоритм работы системы защиты;− приобретение и использование программного продукта лицами или организациями, не заинтересованными в его нелегальном распространении среди их коммерческих конкурентов — в этом случае возможны только попытки несанкционированного использования продукта другими лицами;− приобретение программного продукта только для снятия с него системы защиты.2. Учет возможностей пользователей программного продукта по снятию с него системы защиты (наличие достаточных материальных ресурсов, возможность привлечения необходимых специалистов и т.п.).3. Учет свойств распространяемого программного продукта (предполагаемого тиража, оптовой и розничной цены, частоты обновления, специализированное™ и сложности продукта, уровня послепродажного сервиса для легальных пользователей, возможности применения правовых санкций к нарушителю и др.).4. Оценка возможных потерь при снятии защиты и нелегальном использовании.5. Учет особенностей уровня знаний и квалификации лиц, снимающих систему защиты.6. Постоянное обновление использованных в системе защиты средств.При добавлении к программному продукту системы его защиты от копирования возможен выбор уже имеющейся системы, что минимизирует издержки на установку системы защиты. Однако имеющаяся система защиты от копирования будет более легко сниматься с программного продукта (в силу ее пристыкованности к нему, см. подразд. 1.5), а также может оказаться несовместимой с защищаемой программой и имеющимся у пользователя программно-аппаратным обеспечением. Поэтому более целесообразной является разработка специализированной системы защиты от копирования конкретного программного продукта, что, однако, более заметно увеличит затраты на его производство.Основные требования, предъявляемые к системе защиты от копирования:- обеспечение некопируемости дистрибутивных дисков стандартными средствами (для такого копирования нарушителю по требуется тщательное изучение структуры диска с помощью специализированных программных или программно-аппаратных средств);- обеспечение невозможности применения стандартных отладчиков дополнительных действий над машинным кодом программы без применения специализированных программно-аппаратных средств (нарушитель должен быть специалистом высокой квалификации);- обеспечение некорректного дисассемблирования машинного кода программы стандартными средствами (нарушителю потребуется использование или разработка специализированных дисассемблеров);- обеспечение сложности изучения алгоритма распознавания индивидуальных параметров компьютера, на котором установлен программный продукт, и его пользователя или анализа применяемых аппаратных средств защиты (нарушителю будет сложно эмулировать легальную среду запуска защищаемой программы).Выделим основные компоненты системы защиты программных продуктов от несанкционированного копирования:- модуль проверки ключевой информации (некопируемой метки на дистрибутивном диске, уникального набора характеристик компьютера, идентифицирующей информации для легального пользователя) — может быть добавлен к исполнимому коду защищаемой программы по технологии компьютерного вируса, в виде отдельного программного модуля или в виде отдельной функции проверки внутри защищаемой программы;- модуль защиты от изучения алгоритма работы системы защиты;- модуль согласования с работой функций защищаемой программы в случае ее санкционированного использования;- модуль ответной реакции в случае попытки несанкционированного использования (как правило, включение такого модуля в состав системы защиты нецелесообразно по морально-этическим соображениям).Методы, затрудняющие считывание скопированной информацииСоздание копий программных средств для изучения или несанкционированного использования осуществляется с помощью устройств вывода или каналов связи.Одним из самых распространенных каналов несанкционированного копирования является использование накопителей на съемных магнитных носителях. Угроза несанкционированного копирования информации блокируется методами, которые могут быть распределены по двум группам:- методы, затрудняющие считывание скопированной информации;- методы, препятствующие использованию информации.Методы из первой группы основываются на придании особенностейпроцессу записи информации, которые не позволяют считывать полученную копию на других накопителях, не входящих в защищаемую КС. Таким образом, эти методы направлены на создание совместимости накопителей только внутри объекта. В КС должна быть ЭВМ, имеющая в своем составе стандартные и нестандартные накопители. На этой ЭВМ осуществляется ввод (вывод) информации для обмена с другими КС, а также переписывается информация со стандартных носителей на нестандартные, и наоборот. Эти операции осуществляются под контролем администратора системы безопасности. Такая организация ввода-вывода информации существенно затрудняет действия злоумышленника не только при несанкционированном копировании, но и при попытках несанкционированного ввода информации.Все средства исследования ПО можно разбить на 2 класса: статические и динамические. Первые оперируют исходным кодом программы как данными и строят ее алгоритм без исполнения, вторые же изучают программу, интерпретируя ее в реальной или виртуальной вычислительной среде. Отсюда следует, что первые являются более универсальными в том смысле, что теоретически могут получить алгоритм всей программы, в том числе и тех блоков, которые никогда не получат управления. Динамические средства могут строить алгоритм программы только на основании конкретной ее трассы, полученной при определенных входных данных. Поэтому задача получения полного алгоритма программы в этом случае эквивалентна построению исчерпывающего набора текстов для подтверждения правильности программы, что практически невозможно, и вообще при динамическом исследовании можно говорить только о построении некоторой части алгоритма. Методы защиты программ от исследования.Для защиты программ от исследования необходимо применять методы защиты от исследования файла с ее исполняемым кодом, хранящемся на внешнем носителе, а также методы защиты исполняемого кода, загружаемого в оперативную память для выполнения этой программы.В первом случае защита может быть основана на шифровании секретной части программы, а во втором - на блокировании доступа к исполняемому коду программы в оперативной памяти со стороны отладчиков. Кроме того, перед завершением работы защищаемой программы должен обнуляться весь ее код в оперативной памяти. Это предотвратит возможность несанкционированного копирования из оперативной памяти дешифрованного исполняемого кода после выполнения защищаемой программы.Таким образом, защищаемая от исследования программа должна включать следующие компоненты:• инициализатор;• зашифрованную секретную часть;• деструктор (деициниализатор).Инициализатор должен обеспечивать выполнение следующих функций:• сохранение параметров операционной среды функционирования (векторов прерываний, содержимого регистров процессора и т.д.);• запрет всех внутренних и внешних прерываний, обработка которых не может быть запротоколирована в защищаемой программе;• загрузка в оперативную память и дешифрование кода секретной части программы;• передача управления секретной части программы.Секретная часть программы предназначена для выполнения основных целевых функций программы и защищается шифрованием для предупреждения внесения в нее программной закладки.Деструктор после выполнения секретной части программы должен выполнить следующие действия:• обнуление секретного кода программы в оперативной памяти;• восстановление параметров операционной системы (векторов прерываний, содержимого регистров процессора и т.д.), которые были установлены до запрета неконтролируемых прерываний;• выполнение операций, которые невозможно было выполнить при запрете неконтролируемых прерываний;• освобождение всех незадействованных ресурсов компьютера и завершение работы программы.Для большей надежности инициализатор может быть частично зашифрован и по мере выполнения может дешифровать сам себя. Дешифроваться по мере выполнения может и секретная часть программы. Такое дешифрование называется динамическим дешифрованием исполняемого кода. В этом случае очередные участки программ перед непосредственным исполнением расшифровываются, а после исполнения сразу уничтожаются.Для повышения эффективности защиты программ от исследования необходимо внесение в программу дополнительных функций безопасности, направленных на защиту от трассировки. К таким функциям можно отнести:• периодический подсчет контрольной суммы области оперативной памяти, занимаемой защищаемым исходным кодом; сравнение текущей контрольной суммы с предварительно сформированной эталонной и принятие необходимых мер в случае несовпадения;• проверку количества занимаемой защищаемой программой оперативной памяти; сравнение с объемом, к которому программа адаптирована, и принятие необходимых мер в случае несоответствия;• контроль времени выполнения отдельных частей программы;• блокировку клавиатуры на время отработки особо секретных алгоритмов.Для защиты программ от исследования с помощью дизассемблеров можно использовать и такой способ, как усложнение структуры самой программы с целью запутывания злоумышленника, который дизассемблирует эту программу. Например, можно использовать разные сегменты адреса для обращения к одной и той же области памяти. В этом случае злоумышленнику будет трудно догадаться, что на самом деле программа работает с одной и той же областью памяти.


Страница: