Вопрос 2. Программно-аппаратные методы и средства защиты

Вопрос 2. Программно-аппаратные методы и средства защиты

В современных персональных ЭВМ реализован принцип разделения программных и аппаратных средств. Поэтому программные вирусы и «троянские кони» не могут эффективно влиять на аппаратуру, исключением случаев, когда разработчику вируса удается:

– подобрать частоту обращения к устройствам ЭВМ, имеющим движущиеся части (диски, печать), близкую к резонансной;

– усилить яркость части экрана для прожигания люминофора;

– зациклить программу так, чтобы она использовала минимальное число оборудования (например, одну микросхему) с целью его разогрева и вывода из строя.

Такие способы воздействия на аппаратуру являются маловероятными, и поэтому аппаратные средства могут стать верным помощником в борьбе с вирусами и "троянскими конями".

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

Перечислим некоторые из аппаратных методов защиты:

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

– физическая блокировка ключом клавиатуры ЭВМ – этот метод похож на способ разграничения доступа административными мерами. Как и все запретительные меры, лишь частично разрешает проблему. Применим в сочетании с другими методами;

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

Следующие способы основаны на аппаратной поддержке операционной системы и ее контролирующих средств:

– запрет или регистрация попыток записи в файлы операционной системы и в области памяти, занятые системной информацией;

– установление приоритета в обработке программ, составляющих операционную систему и антивирусных средств, иерея программами пользователей:

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

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

К сожалению, аппаратная поддержка контролирующих средств отсутствует в персональных ЭВМ, совместимых с IВМ РС, что создает хорошие предпосылки для распространения вирусов и действия "троянских коней".

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

По сообщению журнала "Computer age" (январь 1989 г.) фирма “American Computer Security Industries” (г. Нэшвилл, штат Теннеси, США) представила первый надежно защищенный противовирусный компьютер, названный "Immune system" ("Иммунная система"). Это персональный компьютер на базе процессора i-80286, работающий в операционной системе MS-DOS. Этот компьютер обладает иммунитетом от вирусной атаки, а также полным набором средств, предохраняющих его и хранящиеся в нем данные от любого внешнего или внутреннего вмешательства.

Фирма "Zeus" поставляет дополнительную плату Immunetec РС (цена 295 дол.) для установки в компьютерах, совместимых с IBM РС. С помощью этой платы, в процессе загрузки операционной системы проверяются MBR, Boot-сектор и системные файлы. Плата совместима с сетями Nowel, ЗСОМ, Token Ringи позволяет предотвращать загрузку и устанавливать уровень доступа.

Фирма "Micronyx" поставляет дополнительную плату Trispan (цена 895 дол.). С помощью платы производится контроль зараженности системных файлов, контроль доступа, шифрование данных и регистрация попы обращения к данным. Плата может использоваться в сетях.

Фирма "БИС" (г. Донецк) выпускает плату Port Watch Card, которая вместе с программой IWP предупреждает об опасных действиях с портами контроллеров жестких и гибких дисков, а также о записи в память CMOS.

В настоящее время на рынке имеется довольно большое число специальных антивирусных программных средств. На Западе создано и предлагается большое число программных средств антивирусного направления, однако их рынок характеризуется определенной спецификой. Крупные фирмы-производители программного обеспечения (такие, как "Microsoft", "Lotus" и "Ashton-Tate") явно отсутствуют на рынке. Большинство программ защиты от вирусов разработаны небольшими компаниями или частными лицами.

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

Рассмотрим требования, которым должны отвечать антивирусные средства зашиты:

– вхождение в состав операционной системы;

– способность самоконтроля, так как они работают в более "агрессивной" среде, по сравнению с программами других типов.

Приведем некоторые рекомендации, которые необходимо учитывать при создании антивирусных средств. Антивирусные программы должны:

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

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

– выявлять замаскированное вирусом изменение длины программы, если оно проводится стандартными средствами. Следует контролировать размер программы различными способами и дополнительно определять значения некоторых байт программного модуля;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Данный текст является ознакомительным фрагментом.