Жанр: Учеба
Большой справочник по компьютерным вирусам
...я,
как между создателями "защиты при копировании" и ее "разрушителями".
Соревнования, в котором не может быть победителей.
15.4 Защищенные вирусы
Все вышесказанное наводит на мысль поискать защиту от вирусов с помощью
самих же вирусов. Возможности осуществить это достаточно широки.
Если признак вируса известен, можно, например, разработать другой вирус,
который внешне имеет такой же признак, однако не предназначен для автомодификации.
Этот вирус мог бы затем быть внедрен в систему. Программы, зараженные
этим безвредным вирусом распознаются как опасные, но сами заражать они не в
состоянии. Однако, чтобы реализовать подобный подход, необходимо точное знание
структуры вируса. А если признак вируса дешифруется только единожды, инфицированные
программы можно идентифицировать и с помощью программ обнаружения.
Другой вид защиты с помощью вирусов может быть осуществлен
- 286 -
следующим образом. Вирус с задачей манипуляции, назначение которой
состоит в том, чтобы отыскать изменения в зараженном программном
обеспечении, внедряется в систему. Вирус вычисляет для зараженной
программы одну или несколько контрольных сумм и запоминает их.
Перед каждым запуском в первую очередь активируется вирус и, с помощью
задачи манипуляции, проверяется контрольная сумма. Если имеют место изменения,
например, вследствие заражения другим вирусом, то это обнаруживается по изменившейся
контрольной сумме и на экран может быть выдана соответствующая
информация.
Кажущиеся столь очевидными, подобные возможности защмты при таком их
использовании не обеспечивают ее в должной мере, несмотря на то, что в
ряде специальных журналов уже опубликованы листинги такого рода
защитных вирусов. Для примера отошлем читателя к 3.1. Так же,
как невозможно рационально выполнить с помощью вируса программные
расширения, так же нельзя с их помощью реализовать рациональные
механизмы защиты. Это утверждение базируется на следующем:
1) Любые изменения программного обеспечения отменяют все гарантийные
обязательства изготовителя;
2) Есть опасность потерять контроль над вирусом и оказаться виновным
в материальном ущербе.
3) Все функции защиты, реализуемые с помощью вируса могут быть столь
же хорошо достигнуты посредством традиционнных технологий програм-
мирования.
4) Защиту, которой располагает программное обеспечение, можно обнаружить,
декодировать и затем обойти.
Вывод:
Вирусы в качестве защиты от вирусов не только ненадежны, но и опасны.
15.5 Аппаратная защита
Для защиты от манипуляций с данными уже сейчас существуют некоторые программные
средства, которые должны предотвращать несанкционированный доступ к
данным или программам. Но поскольку программное обеспечение само по себе не
может препятствовать проникновению вирусов, действительно хорошую
защиту предлагают только комбинированные программно-аппаратные средства.
По крайней мере, складывается впечатление, что даже плата ELKEY фирмы
INFOSYS может предложить для персональных компьютеров необычно высокий
уровень защищенности.
Этот уровень достигается за счет аппаратного кодирования данных.
В Брауншвейге за эту тематику взялись доктор J.M. Wenzel и
Klaus Hoerhold. Ими были представлены следующие соображения:
Имунные системы
Еще в феврале 1986 многие эксперты по компьютерной технике считали,
что c технической стороны действенная защита от вирусов невозможна,
поэтому система может быть защищена исключительно с помощью организационных
(правила доступа и эксплуатации) и/или психологических (руководство сотрудниками)
мероприятий.
Задача настоящего раздела - показать, что существуют весьма надежные
превентивные мероприятия, осуществляемые с помощью техники. Причем, ввиду
возрастающего значения индивидуальной обработки данных, должно возрасти
и внимание к созданию подобных технических средств.
Уровень развития программно-аппаратной защиты
Бесспорно, организационные мероприятия затрудняют проникновение вирусов,
однако не могут полностью исключить его. Для того, чтобы найти слабые
места в этих мероприятиях необходимо лишь время.
Когда же вирус проник в вычислительную систему,число мероприятий, ведущих
к полному уничтожению вируса и его мутаций, либо ограниченно, либо требует
бесконечно больших затрат времени и сил.
Следовательно,необходимо попытаться таким образом выполнить технические
мероприятия, чтобы их практически нельзя было обойти. Можно было бы, к
примеру, попытаться восприпятствовать проникновению вирусов или, если это
нереализуемо, обеспечить возможность полной ликвидации возникших повреждений.
Для этого предлагаются два программно-аппаратных метода, которые
относительно хорошо выполняют эти задачи. Рассмотрим их несколько подробнее.
Одна из возможностей состоит в том, чтобы перед установкой программ
или обработкой данных проверять, находятся ли они в первначальном,
определенном пользователем (т.е. свободном от вирусов) состоянии. Это
может оказаться эффективным лишь в том случае, если удается так
закодировать программу (или данные), чтобы при декодировании в момент
загрузки (считывания программ или данных) можно было бы установить,
были ли предприняты нелегальные изменения. Такие механизмы кодирования
уже разработаны и внедрены. Недостаток этого метода - это с одной
стороны необходимость в процедуре кодирования, которая зачастую приводит к
неприемлемым затратам времени. С другой стороны,те, кто знает в каком
месте вычислительной системы находится ключ, могут с помощью программы
вируса обойти механизм защиты. Кроме прочего такой способ, неприменим
для вирусов, резидентных в оперативной памяти, поскольку к моменту выполнения
(обработки) программы (данные) должны находиться в оперативной памяти в
декодированном виде. Кроме того он не предлагает никакой дополнительной
защиты против обмена с вновь сгенерированными ( зараженными)
программами и блоками данных такого же назначения . Используемые
при этом контрмеры (например, регулярный контроль состояния
программ и данных) защищают недостаточно надежно, поскольку программы
проверки или сравнения данных, со своей стороны могут быть заражены вирусом.
Другая, программно-ориентированная возможность защиты от вирусов состоит
в том, чтобы с помощью криптографических методов регулярно проверять контрольные
суммы программ и данных и регулярно, через очень короткие
временные интервалы, сравнивать их с эталонными значениями. Пожалуй, не
стоит останавливаться на практической невозможности использования подобного
подхода для работы с наборами данных. Метод исходит из необходимой предпосылки:
В случае вирусного заражения в распоряжении пользователя должны быть абсолютно
"здоровые" программы и данные для восстановления исходного
состояния. Кроме того, необходимо исходить из того, что вычислительная
система должна быть полностью остановлена и вновь инициализирована. Слабое
место этого метода заключается в том, чтобы каким-то образом (например,
с помощью сейфа) сохранять свободные от вирусов копии, на которых
программы и данные размещены обычным образом. Ввиду того, что в этом случае
большое значение играет человеческий фактор, метод не гарантирует
абсолютной безопасности.
Аппаратные механизмы защиты используются в настоящее время только для
областей, особо важных в смысле безопасности, поскольку его использование
влечет за собой нежелательные для многих пользователей (и особенно для пользователей
ПЭВМ) дополнения и изменения в действующих промышленных стандартах.
Правда, на практике такого рода средства защиты применяются, но только тогда,
когда надежность защиты важнее неудобств, связанных с несовместимостью вычислительных
средств. При этом, как правило, речь идет о специальных процессорах,
предназначенных исключительно для декодирования программ или данных. Таким
образом, центральный процессор остается свободным для решения собственных задач.
По сравнению с подобным же образом функционирующими программно-ориентированными
методами защиты преимущество заключается в том, что время ожидания при декодировании
становится чрезвычайно малым и появляется возможность предотвратить
отключение или обход механизма декодирования.
Тенденции развития
В принципе, можно сделать вывод о том, что против каждого, даже хорошо
продуманного и успешно реализованного программного механизма защиты,
всегда можно найти или придумать "противоядие". Проиллюстрировать этот
вывод можно примером из области домашних компьтеров - успехами "разрушителей"
программного обеспечения в их соревновании с разработчиками
защитных средств.
Поэтому совершенно неизбежна тенденция развития средств аппаратной защиты
вычислительных систем, полностью исключающих внедрение вируса, либо позволяющих
после установленного факта заражения устранять возникшие повреждения
и не нарушающих совместимость систем в рамках промышленного стандарта.
Имеет смысл, к примеру, поставлять программы для восстановления
вычислительной системы только из ППЗУ. Такой подход предполагает, что
разработчики программного и аппаратного обеспечения в первую очередь обеспокоены
удобствами пользователя и создают такое аппаратное обеспечение,
которое позволяет загружать специальное, для этого случая разработанное
программное обеспечение непосредственно из ППЗУ в оперативную память.
Соответствующая вычислительная система должна располагать удобными
способами подключения и замены ППЗУ. Потребовалась бы и
соответствующая программа, которая позволила бы переносить
пользовательскую программу из ППЗУ в ОЗУ. Вместо дискеты пользователь
должен был бы в этом случае установить в вычислительную систему соответствующее
"программное ППЗУ" и произвести загрузку.
Известно, что в настоящее время оптимизация платы ППЗУ предполагает не только
его миниатюризацию, но и элегантное выполнение ее в виде заменяемой
микрокристалльной схемы. Соответствующие устройства считывания (и
только считывания!) могли бы иметь чрезвычайно малые габариты и рационально
размещаться в корпусе ЭВМ.
Другим решением могла бы стать поставка ЭВМ вообще без фиксированно установленного
ОЗУ. Пользователь имеет возможность закупать, в соответствие со
своими требованиями, чип-плату со свободным ОЗУ, с операционной системой или
с операционной системой, пользовательскими программами и, при необходимости,
дополнительным свободным ОЗУ.
Вычислительная система, созданная в соответствии с подобной концепцией,
обеспечивала бы стопроцентную защиту программ от заражения вирусом.
Поддерживается ли эта концепция изготовителем, будет ясно при появлении
на рынке новых поколений ЭВМ (например, IBM PS/2). Приведет ли это
к образованию новых промышленных стандартов - пока этот вопрос
остается открытым.
Однако предполагается, что применение вычислительной техники,
особенно персональных компьютеров, с аппаратными решениями
противовирусной защиты, могло бы оказаться сильно ограниченным.
Практический опыт обращения с комьютерами показывает, что
вычислительные программы, приобретение которых планируется, перед покупкой
необходимо всесторонне оттестировать. Это могло бы быть возможным при
официальных торговых контактах и оказало бы решительное влияние на
продажу программного продукта. Однако на сегодня имеется громадное множество
общепользовательского программного обеспечения, которое кажется
идеально подходящим для внедрения компьютерных вирусов. Поскольку
обычный пользователь компьютера, особенно персонального,
не может сам провести удаление этих вирусов, если закупленное им
программное обеспечение окажется зараженным, то в сомнительных случаях
он просто не смог бы больше работать с комьютером.
Решение
Чтобы обойти описанные недостатки существующих методов ограничения
распространения компьютерных вирусов, разработаны системы компьютерной защиты,
ориентированные преимущественно на ПЭВМ.
С их использованием опасность заражения компьютера снижается настолько, что
работа с компьютерами, особенно многопользовательскими, не затрудняется
какими-либо организационными или аппаратными требованиями.
Однако и сегодняшние технические возможности позволяют осуществить
реальную защиту от заражения программ вирусами.
При разработке системы компьютерной защиты были учтены два обязательных
требования. Первое: решение никоим образом не должно влиять на
совместимость по существующим в настоящее время стандартам, второе - решение,
которое, которое может быть представлено в распоряжение других пользователей,
должно быть реализовано с учетом имеющихся в настоящий момент технических
возможностей.
В основе мероприятий против внедрения компьютерных вирусов лежит
задача устраннения выявленных недостатков существующих решений,
направленных против программных вирусов. Одним из решений является
представленный здесь метод ограничения распространения компьютерных
вирусов с помощью оптических накопительных дисков.
Метод использует то обстоятельство, что один раз записанные на оптический
диск программы и данные в дальнейшем не изменяют ни своего расположения,
ни содержания (WORM-техника), что контролируется специальным аппаратным
обеспечением.
Таким образом, если изготовителем записана на диск свободная от вирусов
операционная система, нужны еще определенные технические средства, чтобы
ввести компьютер с оптическими дисками в эксплуатацию. Следовательно, вирус
не может изменить операционной системы или внедриться в нее.
Для того, чтобы исключить опасность нежелательного пополнения операционной
системы, последнюю снабжают тестирующими программами, которые ориентированы
на индивидуальные идентификаторы, например, на идентификатор оптического
диска для подробно описанного здесь возможного решения.
Работа с индивидуальным идентификатором оптического диска состоит в
том, чтобы разместить на нем любую дорожку таким образом, чтобы ни ее содержимое,
ни ее положение больше не изменялось. Затем операционная система
берет на себя задачу автоматического сравнения относительного расположения
операционной системы и индивидуального идентификатора средства накопления,
так что при запуске компьютера с помощью свободной от вирусов операционной
системы уже не может возникнуть заражения.
Если индивидуальный идентификатор запоминающего устройства обрабатывается
с помощью того же оборудования чтения и записи, что и операционная
система, то слабым для проникновения компьютерных вирусов местом
остается лишь возможность замены всего ЗУ целиком, с вводом
в него предварительно скопированного индивидуального идентификатора и измененной
операционной системы. Технически это достаточно трудоемко и
вряд ли возможно, поскольку индивидуальный идентификатор может быть выполнен
как неизменяемый и некопируемый признак, например, как механическая
примесь в материале накопителя или его оттенок.
Безопасные системы
В следующем решении доступ к оптическому диску выполняется лишь
после сравнивания идентификатора с фиксированно размещенным ключом,
специально изготовленным для конкретного оптического диска устройством.
Доступ для чтения записанных на диске программ и данных разрешается только
в случае совпадения идентификатора и ключа. Считывающее устройство может
быть не оптическим. Отличие от известных, работающих с системами отпечатков
пальцев, методов копирования состоит таким образом в том, чтобы уже при
промышленном изготовлении оптического диска и поставляемого вместе с ним
специального устройства считывания идентификаторов (при этом не имеются
в виду головки чтения/записи данных) однократно и неизменяемо вводить
идентификатор непосредственно в материал носителя.
Тем самым операционная система оказалась бы надежно защищена от копьютерных
вирусов. Программным путем устанавливают защиту от изменения операционной
системы из других программ, записанных в ОЗУ.
Если компьютер после запуска еще свободен от вирусов, можно вводить
купленные, заведомо незараженные прикладные программы (в запечатанных
поставщиком упаковках).
Операционные системы и прикладные программы загружаются
исключительно с оптических дисков и, таким образом,
защищены от вирусов до тех пор, пока имеются их оригиналы.
Собственно данные, для которых после комплектования устанавливается,
что они должны быть сохранены (например, технические чертежи,
изготовленные с помощью систем автоматизированного проектирования) могут
быть защищены таким образом.
Если же на оптическом диске размещается "зараженная" программа, то это
потенциально опасно лишь при использовании многократно перезаписываемых
средств накопления, таких, например, как магнитные диски или дискеты.
На оптическом, однократно записываемом диске программа не может быть
передвинута, измененна или стерта. Запоминание новой программы и данных
на однократно записываемом оптическом диске должно тем не менее осуществляться
только после проверки на отсутствие вирусов и может выполняться
с помощью незараженной операционной системы непосредственно на дискету.
Таковы в общем и целом результаты технологических разработок
в Брауншвейге. Прототип вычислительного устройства, защищенного таким
образом, в настоящее время тестируется в Брауншвейге с целью доведения
до уровня коммерческого сбыта. Эта разработка может означать для многих,
если не для всех, пользователей решение серьезной проблемы.
15.6 Программа обнаружения изменений
Программа "Alteration Searcher" осуществляет поиск и подавление вирусов по
единственному их свойству, характерному для всех видов вирусов
- привнесение изменений в программное обеспечение. В "Alteration Searcher"
реализуется давно проверенная концепция защиты от последствий
нежелательных манипуляций и повреждений данных в совершенно новой форме.
Программа реализует следующие функции:
- проверка изменений состояния программ или данных;
- проверка на вновь введенные программы или данные;
- проверка на стертые или защищенные программы или данные.
Для того, чтобы эти функции можно было использовать, необходимо
анализировать все данные и программы, с которыми не разрешены манипуляции.
К такого рода данным относятся:
1. Дата
2. Время
3. Длина
4. Содержание
5. Аттрибуты.
Дополнительно фиксируется количество файлов и подкаталогов в каждом
каталоге. Все файлы могут быть снабжены краткими текстовыми примечаниями.
Эти тексты могут оказаться, при некоторых обстоятельствах, полезными
для обнаружения источника манипуляций.
В процессе контроля проверяется, не изменилось ли состояние массовой
памяти. Эта проверка охватывает, в зависимости от выбора с помощью меню,
все значимые для MS-DOS области данных и программ. Они учитываются при
распознавании дефектных секторов внутри файла. Для того, чтобы сделать
проверку возможно более удобной в обслуживании, процесс проверки можно также
записать в виде командного файла, для того чтобы исключить дополнительные
задания. Все отмеченные при этом изменения протоколируются в редактируемом
и распечатываемом LOG-файле. Программа полностью написана на ассемблере и
обеспечивает, посредством последовательного отказа от управляющих символов
экрана, совместимость с любым компьютером, поддерживающим MS-DOS.
Правда, это обеспечивается, в сегодняшних условиях, несколько необычным
использованием меню.
"Alteration Searcher" может охватить все, возможные в MS-DOS структуры
каталогов (максимальная распознаваемая глубина вложенности - до 32
подкаталогов).
В зависимости от конкретной потребности в защите, можно выбирать между
укороченным и полным тестами. Прикладной алгоритм контроля работает с
автомодифицирумыми таблицами, с помощью которых для каждой программы
генерируется 128-ми разрядная контрольная сумма. Хотя с помощью
"Alteration Searcher" повреждения обнаруживаются, но восстанав-
ливаются они лишь с ограничениями, а потому для CeBIT'88 была разработана
перспективная концепция:
1. Постановка задачи
Разработка этой системы направлена на то, чтобы по возможности ограничить
повреждения,вызываемые ошибками аппаратного или программного обеспечения,
а также предусмотренными и непредусмотренными вмешательствами.
Поскольку в среде MS-DOS невозможна реализация защитной оболочки
(Security Shell), которая сделала бы невозможными эти вмешательства без
существенных изменений в аппаратном обеспечении ЭВМ, а так же без
ухудшения ее характеристик и совместимости, основное внимание
при разработке этой системы было уделено поиску, ограничению и устранению
повреждений. Каждое изменение состояния данных или программ, которые
имеют значение для выполнения системных заданий, необходимо как
можно скорее обнаружить и устранить, не ограничивая при этом функций системы.
2. Принцип функционирования
Для того, чтобы добиться постоянной безопасной работы необходимо,
перед разблокированием системы для пользователя, убедиться, что:
a) все важные функции аппаратуры имеются;
б) все важные данные и/или программы существуют;
в) имеющиеся данные и/или программы корректны;
г) никакого постороннего программного обеспечения в систему не вводилось.
Далее необходимо обеспечить, чтобы работа с дефектным программным
обеспечением выполнялась только специально допущенным персоналом.
Имеет смысл учитывать подобные nребования и для ввода новых или
изменения старых программ или данных.
Поскольку постоянные проверки всех системно-значимых данных
не реализуемы из-за неприемлемых затрат времени, а компьютер не в состоянии
самостоятельно решить, является ли находящиеся в обработке данные значимыми
для системы или нет проверка выполняется при каждой начальной загрузке системы.
Вмешательство в этот процесс аппаратно-защищено и может быть предпринято
только персоналом, обладающим специальными правами.
Только если определно, что никаких изменений или повреждений не было,
система разблокируется для пользователя.
Решение, какие данные имеют значение для безопасной работы, принимается
авторизованно при первой установке программного обеспечения в
систему.
Программы проверки защищены от какого-либо вмешательства аппаратно
(WORM-техника).
3. Процесс начальной загрузки
Принципиально MS-DOS предлагает возможность с помощью клавиатуры
вмешиваться в запрограммированный процесс почти в любое время. Эта возможность,
c помощью специального драйвера (KEYLOCK.SYS) полностью блокируется
в процессе начальной загрузки. KEYLOCK.SYS определяется как первая программа
в файле CONFIG.SYS. Вплоть до момента загрузки KEYLOCK.SYS вмешательства,
разумеется, возможны, но каждое из них приводит к останову системы, поскольку
корректная обработка введенного кода клавиши или команды, ввиду
отсутствующего драйвера или интерпретатора, невозможна. Лишь когда
KEYLOCK.SYS инициирован, загружаются следующие драйверы и интерпретатор
команд COMMAND.COM и запускается командный файл AUTOEXEC.BAT.
Этот файл сразу же вызывает программу маркирования WORMARK.COM.
WORMARK.COM фиксирует текущее состояние оптического диска. Таким
образом можно возобновлять это состояние в любой последующий момент времени.
Только если диск удалось корректно отмаркировать, вызывается контрольная
программа Alteration Searcher (AS.COM) и все специфицированное пользователем
программное обеспечение тестируется на корректность и наличие
изменений. Если этот процесс оканчивается корректно, выполняется
следующий шаг - запуск программы формирования LOG-файла KEYSAVE.COM.
В том случае, если LOG-файл удалось корректно создать, драйвер KEYLOCK.SYS
деблокирует клавиатуру для пользователя. Поскольку все вышеописанные программы
размещаются на кварцевом WORM-диске, вмешательство возможно лишь при вскрытии
компьютера на аппаратном уровне. Деблокирование для пользования
означает, что все критерии а) - г) соблюдены. Результаты проверки записываются
в свободно определяемый ASCII-файл и могут при возникновении ошибки
указать технику ее источника.
4. Наиболее неблагоприятный случай
Наиболее неблагопрятный случай в подобного рода защищенной системе
означает повторную генерацию данных и программ с момента последней проверки,
т.е. на практике, поскольку загрузка - это всегда проверка, - с
момента последней перезагрузки системы. Поскольку ЭВМ, как правило, по
ночам выключается, абсолютным максимумом подобного несчастного случая
была бы реставрация состояния предыдущего рабочего дня. Если при
загрузке системы появляется сообщение об ошибке или возникает аварийное
состояние системы, то для того, чтобы минимизировать рабочие потери необходимо
предпринять следующую последовательность действий:
- сохранить LOG-файл предыдущего (при системной аварии - сегоднящнего)
дня посредством копирования его на дискету;
- посредством программы HISTORY.EXE привести оптический диск в состояние
предыдущего (в случае аварии - сегодняшнего) дня;
- с помощью программы KEYLOG.COM распечатать LOG-файл;
- локализовать место ошибки внутри LOG-файла;
- с помощью команды "KEYGET+9999 (логическое имя файла)" можно, исключив
циклы ожидания и автоматически воспроизведя работу, достичь места
ошибки;
- вручную воспроизводится только команда введенная после ошибки.
Такая последовательность действий дает пользователю максимальную
гарантию при минимальных рабочих затратах.
5. Особенности
Использование кварцевого и WORM-диска влечет за собой, также как и
использование KEYLOG.SYS, KEYSAVE.COM и AS.COM, имеет некоторые особенности,
которые должны быть рассмотрены несколько подробнее:
- возможность чрезвычайно быстрого доступа к программам, размещенным на
кварцевом диске;
- неизменяемость программ, размещенных на кварцевом диске;
- значительная экономия времени ввиду необходимости значительно более
редкого копирования данных для сохранения, поскольку оптический диск
позволяет в любое время воспроизвести состояние данных каждого дня;
- возможность очень длительного (десять лет) времени сохранения
данных
...Закладка в соц.сетях