возможностей.
В основе мероприятий против внедрения компьютерных вирусов лежит
задача устраннения выявленных недостатков существующих решений,
направленных против программных вирусов. Одним из решений является
представленный здесь метод ограничения распространения компьютерных
вирусов с помощью оптических накопительных дисков.
- 291 -
Метод использует то обстоятельство, что один раз записанные на оптический
диск программы и данные в дальнейшем не изменяют ни своего расположения,
ни содержания (WORM-техника), что контролируется специальным аппаратным
обеспечением.
Таким образом, если изготовителем записана на диск свободная от вирусов
операционная система, нужны еще определенные технические средства, чтобы
ввести компьютер с оптическими дисками в эксплуатацию. Следовательно, вирус
не может изменить операционной системы или внедриться в нее.
Для того, чтобы исключить опасность нежелательного пополнения операционной
системы, последнюю снабжают тестирующими программами, которые ориентированы
на индивидуальные идентификаторы, например, на идентификатор оптического
диска для подробно описанного здесь возможного решения.
Работа с индивидуальным идентификатором оптического диска состоит в
том, чтобы разместить на нем любую дорожку таким образом, чтобы ни ее содержи-
мое, ни ее положение больше не изменялось. Затем операционная система
берет на себя задачу автоматического сравнения относительного расположения
операционной системы и индивидуального идентификатора средства накопления,
так что при запуске компьютера с помощью свободной от вирусов операционной
системы уже не может возникнуть заражения.
Если индивидуальный идентификатор запоминающего устройства обрабатывается
с помощью того же оборудования чтения и записи, что и операционная
система, то слабым для проникновения компьютерных вирусов местом
остается лишь возможность замены всего ЗУ целиком, с вводом
в него предварительно скопированного индивидуального идентификатора и изменен-
ной операционной системы. Технически это достаточно трудоемко и
вряд ли возможно, поскольку индивидуальный идентификатор может быть выполнен
как неизменяемый и некопируемый признак, например, как механическая
примесь в материалe накопителя или его оттенок.
Безопасные системы
В следующем решении доступ к оптическому диску выполняется лишь
после сравнивания идентификатора с фиксированно размещенным ключом,
специально изготовленным для конкретного оптического диска устройством.
Доступ для чтения записанных на диске программ и данных разрешается только
в случае совпадения идентификатора и ключа. Считывающее устройство может
быть не оптическим. Отличие от известных, работающих с системами отпечатков
пальцев, методов копирования состоит таким образом в том, чтобы уже при
промышленном изготовлении оптического диска и поставляемого вместе с ним
- 292 -
специального устройства считывания идентификаторов (при этом не имеются
в виду головки чтения/записи данных) однократно и неизменяемо вводить
идентификатор непосредственно в материал носителя.
Тем самым операционная система оказалась бы надежно защищена от копьютерных
вирусов. Программным путем устанавливают защиту от изменения операционной
системы из других программ, записанных в ОЗУ.
Если компьютер после запуска еще свободен от вирусов, можно вводить
купленные, заведомо незараженные прикладные программы (в запечатанных
поставщиком упаковках).
Операционные системы и прикладные программы загружаются
исключительно с оптических дисков и, таким образом,
защищены от вирусов до тех пор, пока имеются их оригиналы.
Собственно данные, для которых после комплектования устанавливается,
что они должны быть сохранены (например, технические чертежи,
изготовленные с помощью систем автоматизированного проектирования) могут
быть защищены таким образом.
Если же на оптическом диске размещается "зараженная" программа, то это
потенциально опасно лишь при использовании многократно перезаписываемых
средств накопления, таких, например, как магнитные диски или дискеты.
На оптическом, однократно записываемом диске программа не может быть
передвинута, измененна или стерта. Запоминание новой программы и данных
на однократно записываемом оптическом диске должно тем не менее осуществ-
ляться только после проверки на отсутствие вирусов и может выполняться
с помощью незараженной операционной системы непосредственно на дискету.
Таковы в общем и целом результаты технологических разработок
в Брауншвейге. Прототип вычислительного устройства, защищенного таким
образом, в настоящее время тестируется в Брауншвейге с целью доведения
до уровня коммерческого сбыта. Эта разработка может означать для многих,
если не для всех, пользователей решение серьезной проблемы.
15.6 Программа обнаружения изменений
Программа "Alteration Searcher" осуществляет поиск и подавление вирусов по
единственному их свойству, характерному для всех видов вирусов
- привнесение изменений в программное обеспечение. В "Alteration Searcher"
реализуется давно проверенная концепция защиты от последствий
нежелательных манипуляций и повреждений данных в совершенно новой форме.
Программа реализует следующие функции:
- 293 -
- проверка изменений состояния программ или данных;
- проверка на вновь введенные программы или данные;
- проверка на стертые или защищенные программы или данные.
Для того, чтобы эти функции можно было использовать, необходимо
анализировать все данные и программы, с которыми не разрешены манипуляции.
К такого рода данным относятся:
1. Дата
2. Время
3. Длина
4. Содержание
5. Аттрибуты.
Дополнительно фиксируется количество файлов и подкаталогов в каждом
каталоге. Все файлы могут быть снабжены краткими текстовыми примечаниями.
Эти тексты могут оказаться, при некоторых обстоятельствах, полезными
для обнаружения источника манипуляций.
В процессе контроля проверяется, не изменилось ли состояние массовой
памяти. Эта проверка охватывает, в зависимости от выбора с помощью меню,
все значимые для MS-DOS области данных и программ. Они учитываются при
распознавании дефектных секторов внутри файла. Для того, чтобы сделать
проверку возможно более удобной в обслуживании, процесс проверки можно также
записать в виде командного файла, для того чтобы исключить дополнительные
задания. Все отмеченные при этом изменения протоколируются в редактируемом
и распечатываемом LOG-файле. Программа полностью написана на ассемблере и
обеспечивает, посредством последовательного отказа от управляющих символов
экрана, совместимость с любым компьютером, поддерживающим MS-DOS.
Правда, это обеспечивается, в сегодняшних условиях, несколько необычным
использованием меню.
"Alteration Searcher" может охватить все, возможные в MS-DOS структуры
каталогов (максимальная распознаваемая глубина вложенности - до 32
подкаталогов).
В зависимости от конкретной потребности в защите, можно выбирать между
укороченным и полным тестами. Прикладной алгоритм контроля работает с
автомодифицирумыми таблицами, с помощью которых для каждой программы
генерируется 128-ми разрядная контрольная сумма. Хотя с помощью
"Alteration Searcher" повреждения обнаруживаются, но восстанав-
- 294 -
ливаются они лишь с ограничениями, а потому для CeBIT'88 была разработана
перспективная концепция:
1. Постановка задачи
Разработка этой системы направлена на то, чтобы по возможности ограни-
чить повреждения,вызываемые ошибками аппаратного или программного обеспе-
чения, а также предусмотренными и непредусмотренными вмешательствами.
Поскольку в среде MS-DOS невозможна реализация защитной оболочки
(Security Shell), которая сделала бы невозможными эти вмешательства без
существенных изменений в аппаратном обеспечении ЭВМ, а так же без
ухудшения ее характеристик и совместимости, основное внимание
при разработке этой системы было уделено поиску, ограничению и устранению
повреждений. Каждое изменение состояния данных или программ, которые
имеют значение для выполнения системных заданий, необходимо как
можно скорее обнаружить и устранить, не ограничивая при этом функций системы.
2. Принцип функционирования
Для того, чтобы добиться постоянной безопасной работы необходимо,
перед разблокированием системы для пользователя, убедиться, что:
a) все важные функции аппаратуры имеются;
б) все важные данные и/или программы существуют;
в) имеющиеся данные и/или программы корректны;
г) никакого постороннего программного обеспечения в систему не вводилось.
Далее необходимо обеспечить, чтобы работа с дефектным программным
обеспечением выполнялась только специально допущенным персоналом.
Имеет смысл учитывать подобные nребования и для ввода новых или
изменения старых программ или данных.
Поскольку постоянные проверки всех системно-значимых данных
не реализуемы из-за неприемлемых затрат времени, а компьютер не в состоянии
самостоятельно решить, является ли находящиеся в обработке данные значимыми
для системы или нет проверка выполняется при каждой начальной загрузке сис-
темы. Вмешательство в этот процесс аппаратно-защищено и может быть пред-
принято только персоналом, обладающим специальными правами.
Только если определно, что никаких изменений или повреждений не было,
система разблокируется для пользователя.
- 295 -
Решение, какие данные имеют значение для безопасной работы, прини-
мается авторизованно при первой установке программного обеспечения в
систему.
Программы проверки защищены от какого-либо вмешательства аппаратно
(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. Наиболее неблагоприятный случай
Наиболее неблагопрятный случай в подобного рода защищенной системе
означает повторную генерацию данных и программ с момента последней проверки,
т.е. на практике, поскольку загрузка - это всегда проверка, - с
- 296 -
момента последней перезагрузки системы. Поскольку ЭВМ, как правило, по
ночам выключается, абсолютным максимумом подобного несчастного случая