ванные программы можно идентифицировать и с помощью программ обнаружения.
Другой вид защиты с помощью вирусов может быть осуществлен
- 286 -
следующим образом. Вирус с задачей манипуляции, назначение которой
состоит в том, чтобы отыскать изменения в зараженном программном
обеспечении, внедряется в систему. Вирус вычисляет для зараженной
программы одну или несколько контрольных сумм и запоминает их.
Перед каждым запуском в первую очередь активируется вирус и, с помощью
задачи манипуляции, проверяется контрольная сумма. Если имеют место изменения,
например, вследствие заражения другим вирусом, то это обнаруживается по изме-
нившейся контрольной сумме и на экран может быть выдана соответствующая
информация.
Кажущиеся столь очевидными, подобные возможности защмты при таком их
использовании не обеспечивают ее в должной мере, несмотря на то, что в
ряде специальных журналов уже опубликованы листинги такого рода
защитных вирусов. Для примера отошлем читателя к 3.1. Так же,
как невозможно рационально выполнить с помощью вируса программные
расширения, так же нельзя с их помощью реализовать рациональные
механизмы защиты. Это утверждение базируется на следующем:
1) Любые изменения программного обеспечения отменяют все гарантийные
обязательства изготовителя;
2) Есть опасность потерять контроль над вирусом и оказаться виновным
в материальном ущербе.
3) Все функции защиты, реализуемые с помощью вируса могут быть столь
же хорошо достигнуты посредством традиционнных технологий програм-
мирования.
4) Защиту, которой располагает программное обеспечение, можно обнаружить,
декодировать и затем обойти.
Вывод:
Вирусы в качестве защиты от вирусов не только ненадежны, но и опасны.
15.5 Аппаратная защита
Для защиты от манипуляций с данными уже сейчас существуют некоторые програм-
мные средства, которые должны предотвращать несанкционированный доступ к
данным или программам. Но поскольку программное обеспечение cамо по себе не
может препятствовать проникновению вирусов, действительно хорошую
защиту предлагают только комбинированные программно-аппаратные средства.
По крайней мере, складывается впечатление, что даже плата ELKEY фирмы
INFOSYS может предложить для персональных компьютеров необычно высокий
- 287 -
уровень защищенности.
Этот уровень достигается за счет аппаратного кодирования данных.
В Брауншвейге за эту тематику взялись доктор J.M. Wenzel и
Klaus Hoerhold. Ими были представлены следующие соображения:
Имунные системы
Еще в феврале 1986 многие эксперты по компьютерной технике считали,
что c технической стороны действенная защита от вирусов невозможна,
поэтому система может быть защищена исключительно с помощью организационных
(правила доступа и эксплуатации) и/или психологических (руководство сотруд-
никами) мероприятий.
Задача настоящего раздела - показать, что cуществуют весьма надежные
превентивные мероприятия, осуществляемые с помощью техники. Причем, ввиду
возрастающего значения индивидуальной обработки данных, должно возрасти
и внимание к созданию подобных технических средств.
Уровень развития программно-аппаратной защиты
Бесспорно, организационные мероприятия затрудняют проникновение вирусов,
однако не могут полностью исключить его. Для того, чтобы найти слабые
места в этих мероприятиях необходимо лишь время.
Когда же вирус проник в вычислительную систему,число мероприятий, ведущих
к полному уничтожению вируса и его мутаций, либо ограниченно, либо требует
бесконечно больших затрат времени и сил.
Следовательно,необходимо попытаться таким образом выполнить технические
мероприятия, чтобы их практически нельзя было обойти. Можно было бы, к
примеру, попытаться восприпятствовать проникновению вирусов или, если это
нереализуемо, обеспечить возможность полной ликвидации возникших повреждений.
Для этого предлагаются два программно-аппаратных метода, которые
относительно хорошо выполняют эти задачи. Рассмотрим их несколько подробнее.
Одна из возможностей состоит в том, чтобы перед установкой программ
или обработкой данных проверять, находятся ли они в первначальном,
определенном пользователем (т.е. свободном от вирусов) состоянии. Это
может оказаться эффективным лишь в том случае, если удается так
закодировать программу (или данные), чтобы при декодировании в момент
загрузки (считывания программ или данных) можно было бы установить,
были ли предприняты нелегальные изменения. Такие механизмы кодирования
уже разработаны и внедрены. Недостаток этого метода - это с одной
- 288 -
стороны необходимость в процедуре кодирования, которая зачастую приводит к
неприемлемым затратам времени. С другой стороны,те, кто знает в каком
месте вычислительной системы находится ключ, могут с помощью программы
вируса обойти механизм защиты. Кроме прочего такой способ, неприменим
для вирусов, резидентных в оперативной памяти, поскольку к моменту выполнения
(обработки) программы (данные) должны находиться в оперативной памяти в
декодированном виде. Кроме того он не предлагает никакой дополнительной
защиты против обмена с вновь сгенерированными ( зараженными)
программами и блоками данных такого же назначения . Используемые
при этом контрмеры (например, регулярный контроль состояния
программ и данных) защищают недостаточно надежно, поскольку программы
проверки или сравнения данных, со своей стороны могут быть заражены вирусом.
Другая, программно-ориентированная возможность защиты от вирусов состоит
в том, чтобы с помощью криптографических методов регулярно проверять контроль-
ные суммы программ и данных и регулярно, через очень короткие
временные интервалы, сравнивать их с эталонными значениями. Пожалуй, не
стоит останавливаться на практической невозможности использования подобного
подхода для работы с наборами данных. Метод исходит из необходимой предпосылки:
В случае вирусного заражения в распоряжении пользователя должны быть абсолютно
"здоровые" программы и данные для восстановления исходного
состояния. Кроме того, необходимо исходить из того, что вычислительная
система должна быть полностью остановлена и вновь инициализирована. Слабое
место этого метода заключается в том, чтобы каким-то образом (например,
с помощью сейфа) сохранять свободные от вирусов копии, на которых
программы и данные размещены обычным образом. Ввиду того, что в этом случае
большое значение играет человеческий фактор, метод не гарантирует
абсолютной безопасности.
Аппаратные механизмы защиты используются в настоящее время только для
областей, особо важных в смысле безопасности, поскольку его использование
влечет за собой нежелательные для многих пользователей (и особенно для поль-
зователей ПЭВМ) дополнения и изменения в действующих промышленных стандартах.
Правда, на практике такого рода средства защиты применяются, но только тогда,
когда надежность защиты важнее неудобств, связанных с несовместимостью вычисли-
тельных средств. При этом, как правило, речь идет о специальных процессорах,
предназначенных исключительно для декодирования программ или данных. Таким
образом, центральный процессор остается свободным для решения собственных задач.
По сравнению с подобным же образом функционирующими программно-ориентированны-
ми методами защиты преимущество заключается в том, что время ожидания при деко-
дировании становится чрезвычайно малым и появляется возможность предотвратить
- 289 -
отключение или обход механизма декодирования.
Тенденции развития
В принципе, можно сделать вывод о том, что против каждого, даже хорошо
продуманного и успешно реализованного программного механизма защиты,
всегда можно найти или придумать "противоядие". Проиллюстрировать этот
вывод можно примером из области домашних компьтеров - успехами "разру-
шителей" программного обеспечения в их соревновании с разработчиками
защитных средств.
Поэтому совершенно неизбежна тенденция развития средств аппаратной защиты
вычислительных систем, полностью исключающих внедрение вируса, либо позволяющих
после установленного факта заражения устранять возникшие повреждения
и не нарушающих совместимость систем в рамках промышленного стандарта.
Имеет смысл, к примеру, поставлять программы для восстановления
вычислительной системы только из ППЗУ. Такой подход предполагает, что
разработчики программного и аппаратного обеспечения в первую очередь обеспо-
коены удобствами пользователя и создают такое аппаратное обеспечение,
которое позволяет загружать специальное, для этого случая разработанное
программное обеспечение непосредственно из ППЗУ в оперативную память.
Соответствующая вычислительная система должна располагать удобны-
ми способами подключения и замены ППЗУ. Потребовалась бы и
соответствующая программа, которая позволила бы переносить
пользовательскую программу из ППЗУ в ОЗУ. Вместо дискеты пользователь
должен был бы в этом случае установить в вычислительную систему cоответству-
ющее "программное ППЗУ" и произвести загрузку.
Известно, что в настоящее время оптимизация платы ППЗУ предполагает не только
его миниатюризацию, но и элегантное выполнение ее в виде заменяемой
микрокристалльной схемы. Соответствующие устройства считывания (и
только считывания!) могли бы иметь чрезвычайно малые габариты и рационально
размещаться в корпусе ЭВМ.
Другим решением могла бы стать поставка ЭВМ вообще без фиксированно уста-
новленного ОЗУ. Пользователь имеет возможность закупать, в соответствие со
своими требованиями, чип-плату со свободным ОЗУ, с операционной системой или
с операционной системой, пользовательскими программами и, при необходимости,
дополнительным свободным ОЗУ.
Вычислительная система, созданная в соответствии с подобной концепцией,
обеспечивала бы стопроцентную защиту программ от заражения вирусом.
Поддерживается ли эта концепция изготовителем, будет ясно при появлении
- 290 -
на рынке новых поколений ЭВМ (например, IBM PS/2). Приведет ли это
к образованию новых промышленных стандартов - пока этот вопрос
остается открытым.
Однако предполагается, что применение вычислительной техники,
особенно персональных компьютеров, с аппаратными решениями
противовирусной защиты, могло бы оказаться сильно ограниченным.
Практический опыт обращения с комьютерами показывает, что
вычислительные программы, приобретение которых планируется, перед покупкой
необходимо всесторонне оттестировать. Это могло бы быть возможным при
официальных торговых контактах и оказало бы решительное влияние на
продажу программного продукта. Однако на сегодня имеется громадное множество
общепользовательского программного обеспечения, которое кажется
идеально подходящим для внедрения компьютерных вирусов. Поскольку
обычный пользователь компьютера, особенно персонального,
не может сам провести удаление этих вирусов, если закупленное им
программное обеспечение окажется зараженным, то в сомнительных случаях
он просто не смог бы больше работать с комьютером.
Решение
Чтобы обойти описанные недостатки существующих методов ограничения
распространения компьютерных вирусов, разработаны системы компьютерной защиты,
ориентированные преимущественно на ПЭВМ.
С их использованием опасность заражения компьютера снижается настолько, что
работа с компьютерами, особенно многопользовательскими, не затрудняется
какими-либо организационными или аппаратными требованиями.
Однако и сегодняшние технические возможности позволяют осуществить
реальную защиту от заражения программ вирусами.
При разработке системы компьютерной защиты были учтены два обязательных
требования. Первое: решение никоим образом не должно влиять на
совместимость по существующим в настоящее время стандартам, второе - решение,
которое, которое может быть представлено в распоряжение других пользователей,
должно быть реализовано с учетом имеющихся в настоящий момент технических