ЖАНРЫ

Информационная безопасность. Курс лекций

Артемов А. В.

Шрифт:

– учитывать возможность шифрования вирусом собственного "тела" и части зараженной программы;

– выявлять возможность нестандартного расположения вируса относительно заражаемой программы;

– определять наличие в теле вируса изменяющихся кодов.

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

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

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

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

Комплекс проверки на вирус должен включать в себя три компонента:

– программу поиска вируса по его сигнатуре;

– программу выделения сигнатуры вируса на основе сравнения незараженного командного процессора с зараженным;

– банк сигнатур вирусов, созданный другой программой экстрактором.

Механизм обнаружения прост: программа поиска вируса по его сигнатуре перебирает все образцы сигнатур в банке вирусов. Для каждого вируса осуществляется сканирование всех программных файлов (операция поиск подстроки по заданному контексту – сигнатуре). Если при этом операция поиска окажется успешной и заданный контекст будет обнаружен в каком-нибудь программном файле, то можно с уверенностью сказать, что тестируемая программа заражена вирусом, сигнатура которого обнаружена. Задача обнаружения вируса решается в настоящее время загрузкой в оперативную память ПЭВМ резидентных программ, контролирующих обращение к системным функциям операционной системы:

– обращение к магнитным дискам (как с помощью диспетчера операционной системы, реализующего и поддерживающего файловую систему, так и на уровне базовой системы ввода-вывода);

– попытки оставить в оперативной памяти ПЭВМ программу, имеющую статус резидентной.

В процессе функционирования ПЭВМ резидентная программа "надсмотрщик" будет отслеживать указанные выше критические ситуации и перед их возникновением информировать пользователя о предстоящей попытке какой бы то ни было программы совершить указанные действия. Кроме того, программа "надсмотрщик" сделает запрос пользователю о разрешении выполнения действия или о блокировке системы. Резидентная программа протоколирует свои действия с той целью, чтобы при анализе деятельности вычислительной среды системным программистом на предмет обнаружения в ней наличия вируса была под рукой вся необходимая информация ("трассировка") о поведении и событиях в вычислительной среде.

В общем случае, существуют следующие основные способы автоматического поиска вирусов: детекторы, вакцины, фаги.

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

Программы-вакцины – это программы, "вшиваемые" в тело защищаемой программы (дописывающиеся к ее коду), либо резидентно оставляемые в оперативной памяти с целью обнаружения присутствия вируса по признакам аномального поведения (попытки записи в определенные области памяти и т. п.) и, возможно, обезвреживания его.

Программы-фаги – детекторы, дополненные специальными функциями по обезвреживанию данного вируса (удаление его из файлов ОС, оперативной памяти и т. п.).

Следует отметить, что, пользуясь вакцинами, необходимо быть осторожными. Вакцина тем качественнее, чем более точно она имитирует вирус. Но из этого следует, что многие антивирусные программы будут принимать эта вакцины за настоящие вирусы. Возможно, что некоторые фаги попытаются даже обезвредить эти вакцины (в представлении фагов эти вакцины – настоящие вирусы), что, скорее всего, приведет к порче ОС.

Вопрос 3. Защита программ и ценных баз данных от несанкционированного копирования и распространения

По оценкам экспертов в первом десятилетии XXI века только в США общая стоимость нелегально тиражируемых программных средств ежегодно составляла около 3 миллиардов долларов, а общее число нелегально изготовленных копий ПО составляло 45–52 % всех используемых программных средств. При этом особенно широкое распространение получило незаконное копирование программ для персональных ЭВМ. В частности, ущерб от экспортных недопоставок ПО для ПЭВМ в другие страны и от недополучения лицензионных платежей из-за рубежа за использование ПО только в 2007 г. оценивался в США соответственно в 705 и 235 миллионов долларов.

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

Процесс нелегального распространения ПО получил развитие и в нашей стране. Это объясняется не только массовым применением вычислительной техники и умением большинства пользователей работать с командой СОРУ, но и более фундаментальными обстоятельствами и факторами:

– новизной законодательства по авторскому праву на программные средства и фактическим отсутствием юридической практики по вопросам защиты прав авторов программной продукции;

– наличием в прошлом многолетней практики нелегального заимствования иностранного программного обеспечения, во многом опиравшейся на определенную государственную поддержку;

– неразвитостью и низкой культурой рыночных отношений в нашей стране.

Можно выделить юридические, экономические и технические меры защиты программного обеспечения от несанкционированного копирования (НСК).

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

Авторское право. Заявление авторских прав на ПО применяется в качестве наиболее общего способа защиты ПО. Обладание авторским правом на ПО относит практически все операции по манипулированию этим ПО (продажа, применение, развитие) в исключительное ведение владельца.

Вместе с тем применение Закона об авторских правах для защиты ПО сталкивается с некоторыми проблемами, в частности с проблемой создания ПО в рамкам служебного задания.

Другой проблемой применения этого Закона для защиты ПО является вопрос о границах действия охраны прав на ПО – охраняется ли алгоритм, текст и структура программы или внешний способ организации взаимодействия с пользователем.

Поделиться с друзьями: