Maximize
Bookmark

VX Heavens

Library Collection Sources Engines Constructors Simulators Utilities Links Forum

Программные и аппаратные средства защиты информации для персональных компьютеров

Игорь Карасик
КомпьютерПресс N 3/1992, стр. 37-46
ISSN 0868-6157
Март 1992

[Вернуться к списку] [Комментарии (0)]

Специализированные системы аппаратной и программной защиты можно разделить достаточно условно на три большие области:

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

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

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

Такие доказательства - это или вариации на тему парольной защиты, или различные биометрические системы. Для удаленных пользователей сейчас наиболее распространены системы "обратного вызова". Эти устройства при первом доступе к ним внешнего пользователя не дают контакта с вызываемым компьютером, а требуют назвать пароль или еще каким-нибудь образом идентифицировать себя. Если пароль назван правильно или идентификация пользователя успешна, ему возвращается номер телефона, ассоциированный с этим пользователем. Устройство обратного вызова запрашивает указанный номер телефона для подключения и выполнения нормальной процедуры login. Такие устройства выпускает, например, фирма B&B Electronics в Оттаве. Схемы "раздачи" паролей или обмен ключами легальных пользователей в развитых сетях могут быть очень изощренными и обеспечивать самые разные потребности пользователей в безопасном общении (телеконференции). Реализации таких схем приводят к появлению в сети специализированных серверов паролей (проект CERBERUS). В то же время парольная защита характеризуется определенными недостатками, связанными с особенностями человеческой психики, поэтому фирмы пытаются найти другие способы идентификации пользователя, не связанные с указанием пароля. Эти аппаратно-программные системы проверяют самые разные биометрические характеристики (подпись, узор линий на пальце, узор сосудов на глазном дне, манеру работы на клавиатуре) для того, чтобы обеспечить эффективные гарантии идентификации локального или удаленного пользователя. Одной из популярных в правительственных учреждениях США является карта COMSPEC-11 фирмы American Computer Security, которая обеспечивает интерфейс с самыми различными биометрическими устройствами типа электронных подписей, идентификаторов кожного узора, а также контроль доступа к каналам больших компьютеров, шифрование архивных и резервных копий данных, защиту от копирования локальных файлов. Эта плата стоит довольно дорого, однако программное обеспечение в комплекте с этой платой - на порядок дороже. К сожалению, более подробная информация об особенностях этого интересного оборудования и программного обеспечения автору неизвестна.

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

  1. Фирма Electronic Signature Lock из Орегона поставляет пакет программ ESL, который анализирует манеру пользователя работать на клавиатуре во время набора своего имени и пароля (парольная защита не исключается полностью!). Конечно, эта манера изменяется со временем или зависит от состояния здоровья и т.д. Утверждается, что используемые статистические алгоритмы столь изощренны, что позволяют учитывать эти неизбежные вариации. Фирма утверждает, что вероятность неверной идентификации пользователя, если он знает правильный пароль, менее 10-6. Существует более совершенный вариант пакета CESL, который непрерывно отслеживает манеру пользователя работать на клавиатуре и может определить, когда за клавиатурой оказался не тот человек, что предъявлял полномочия на доступ. К сожалению, информация об этом пакете недостаточно подробна: нет даже намеков на то, во что выливается это слежение по части машинных ресурсов, насколько это усложняет работу пользователя, насколько пакет совместим с другим программным обеспечением.
  2. Разработка фирмы Datamedia. Серия ее компьютеров Netmate оборудована специальным устройством Securecard reader считывателем карт безопасности. Применение таких считывателей довольно популярно на Западе, например, в РС-Watchmane используется считыватель обычных кредитных или ID-карт для авторизации пользователя в дополнение к паролю. Карты безопасности по исполнению - вариант кредитных карт; на них на магнитном носителе с помощью специальной аппаратуры, которая имеется только в распоряжении администратора, делается запись о пользователе: его имя, пароль и описываются все полномочия, которые он получает при входе в систему. В частности, на карте записано, сколько раз пользователь может пытаться указать пароль при входе. Таким образом, случайная потеря карты безопасности или ее кража не позволяет злоумышленнику получить доступ к компьютеру: если имя пользователя еще можно узнать не привлекая внимания, то пароль ему неизвестен. Только сознательная передача карты безопасности кому-то одновременно с разглашением пароля может открыть доступ к компьютеру постороннему лицу.

    Администратор системы создает карту безопасности для легальных пользователей. На этой карте, помимо уже перечисленной информации, описывается профиль пользователя. В него включаются, например: возможность доступа к программе SETUP, то есть фиксируются такие характеристики компьютера, как экран, количество и типы дисков; также определяется, какие из локальных устройств (гибкие диски, жесткие диски, последовательные и параллельные порты) доступны этому пользователю, с каких локальных или сетевых устройств он может загружаться. Предусмотрена и трансляция паролей: тот пароль, который назначается пользователю, как правило, легко запоминающийся, но вовсе не тот, с которым работает система.

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

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

Очень простым, но весьма эффективным средством обеспечения безопасности данных и защиты от вирусов является специальная конструкция компьютера, благодаря которой воровство данных или заражение файлов или файловых систем вирусами становится невозможным. Так например, фирма Earth Computer из Калифорнии делает серию компьютеров EarthStation, приспособленных для работы в локальной сети, но не имеющей шинных разъемов, то есть принципиально нерасширяемых (изготовителей компьютеров такого типа довольно много во всем мире). Главная (и единственная!) плата этого компьютера расположена в клавиатуре. Управление клавиатурой, видеоадаптер и сетевой адаптер объединены на этой плате. Даже монитор предлагается покупать отдельно. В компьютере находится специальный вариант BIOS, позволяющий загружать DOS по локальной сети. Нельзя отказать разработчикам таких компьютеров в остроумии: если некуда положить ворованное, то лучше и не красть; относительно заражения вирусами проблема решается так же, как с воровством, - на компьютере нечего заражать. С червяками, конечно, сложнее: они могут проникать на этот "уродец" и безусловно могут отбирать ресурсы на собственное размножение.

Большинство фирм, однако, защищают свое оборудование с помощью одного из вариантов парольной защиты более или менее интегрированной с оборудованием. К их числу относятся, например, фирмы Compaq и Hewlett-Packard. Правда, для них этот вид деятельности не является основным, и те варианты защиты, которые фирмы предоставляют клиентам, не слишком совершенны (особенно это относится к компьютерамм Vectra фирмы Hewlett-Packard). Разработка Compaq упоминается здесь лишь из уважения к фирме и потому, что похожие элементы защиты часто встречаются в компьютерах различных фирм. Compaq разработала для своик моделей DeskPro специальную версию BIOS, содержащую элементы защиты от несанкционированного использования компьютера. Так, при загрузке компьютера при включении питания еще во время процедуры POST требуется указать правильный пароль, чтобы машина продолжала работу (такую возможность защиты компьютера предоставляют многие фирмы, более того, часто возможность реализована в BIOS, но не описана в документации, некоторые вирусы могут записывать в поле пароля случайную информацию, и однажды пользователь обнаруживает, что его машина неплохо защищена от него). Сам пароль хранится в области CMOS и при большом желании, безусловно, может быть стерт (фирма Hewlett-Packard предусматривает хранение в специальной области CMOS предыдущей конфигурации компьютера, и по нажатию кнопки эта конфигурация может быть восстановлена в обычной области CMOS), но для затруднения доступа к "внутренностям" компьютера фирма снабжает корпус качественным замком (физический уровень защиты). Кроме этой возможности в BIOS реализованы программы, поддерживающие следующие области разделения доступа: возможность быстрого запирания компьютера, защита серверного состояния компьютера, защита жесткого диска, гибкого диска, последовательного и параллельного портов (и эти возможности защиты реализованы только в BIOS фирмы Compaq). Запуск защитных программ из BIOS регулируется переключателями на плате компьютера (аппаратный уровень защиты).

Упомянутые выше аппаратные доработки плат, усовершенствования BIOS, конечно, нужно всемерно приветствовать, поскольку они улучшают условия работы на персональном компьютере с точки зрения безопасности, приучают пользователя к "порядку" и одновременно ограничивают возможность случайного заражения, но проблему комплексной защиты от вирусов, увы не решают.

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

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

Система разграничения доступа NetWare - чисто программная, очень продуманная как с точки зрения администратора: легко и удобно вводить нового пользователя в систему, создавая для него систему полномочий и областей доступа; так и с точки зрения пользователя: разграничение доступа достаточно "прозрачно" во время работы и, к тому же, надежно разделяет пользователей. О степени продуманности системы разграничения доступа говорит, например, следующая возможность: закрыть для определенной категории пользователей часть файловой системы в некоторое время суток, дни недели и т.д. Так естественно решается проблема игр: хочешь играть - задерживайся после работы. Эта система разграничения доступа довольно долго "держалась" под напором хакеров, что, видимо, связано с относительно малой популярностью NetWare (по сравнению с DOS) и относительной неразвитостью локальных сетей под управлением NetWare (сети UNIX компьютеров соединяют десятки, сотни и тысячи серверов; для NetWare количество серверов в локальной сети редко превышает несколько штук).

По сообщению PC WEEK Vol. 7, No. 44, от 5 ноября 1990 года, появился сетевой вирус в среде NetWare, который обходит защиту от записи на сервере, позволяя писать на сервер с узлов сети, не обладающих такими правами. По словам PC WEEK, фирма Novell пока не распространяет по этому поводу никаких подробностей. Более того, очевидно, проблема обеспечения безопасности в сетях далека от разрешения. Летом этого года в LAN Times появилось много публикаций о пакетах, повышающих безопасность, совершенствующих разделение доступа, отслеживающих состояние сетей Novell. У некоторых пакетов отчетливый антивирусный уклон, поскольку они могут, например, запретить запуск или копирование программ с локальных дисков.

Другой системой разграничения доступа, с которой автору пришлось работать, является WATCHDOG, изготавливаемая фирмой Fisher International Systems из Флориды.

Система претендует на некую универсальность, во всяком случае фирма рассматривает в документации возможности применения WatchDog в средах UNIX, OS/2, Windows, DOS, в дополнении к NetWare. Существуют варианты системы, поддерживаемые аппаратно.

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

Система очень продуманна с точки зрения повышения безопасности: предусмотрены возможность "насильственной" смены пароля каждые несколько дней; проверка нового пароля на "новизну" (нельзя использовать пароль, уже бывший в употреблении на конкретном компьютере); возможность быстрого блокирования и разблокирования клавиатуры по предъявлению особого пароля, когда пользователь в процессе работы ненадолго отлучается, и стало быть, есть вероятность работы, пусть недолгой, неавторизованного лица, если какое-то время пользователь не работает на клавиатуре, - он насильственно "выгоняется" из WatchDog'а; возможность разделения файловой системы на логические области, вход в которые осуществляется по предъявлению специальных полномочий; возможность использовать различные программные средства (в основном развитые) по предъявлению специальных полномочий. Система продуманна в отношении трудности "вскрытия" защиты. Основным ее элементом является драйвер, использующий для своей работы информацию, сосредоточенную в нескольких десятках файлов, располагаемых WatchDog на диске.

Продуманность секретности, однако, не сочетается с удобством работы для пользователя, хотя фирма и предлагает использовать ее генератор меню. Кстати, многие системы разграничения доступа пытаются как-то компенсировать неудобства, причиняемые пользователю системой разграничения, с помощью разнообразных меню. Этим пользуются и WatchDog, и PC-Watchman, и NetWare, и Disk Oganaser, и многие другие изготовители программ для разграничения доступа.

Хотелось бы отметить, что использование любого генератора меню или работа в среде такого генератора, пусть даже не рассчитанного на серьезное разграничение доступа, повышает "вирусоустойчивость". Дело в том, что пользователю "ненавязчиво навязывается" определенный стиль работы, неявно ограничивается круг программ, с которым происходит работа, создаются помехи или неудобства для запуска программ с гибких дисков, что резко снижает вероятность непреднамеренного заражения (см. например, описание Lazy Susan, материалы фирмы Getc Software).

Идеологически WatchDog работает так: изменяет форматы системных таблиц на жестком диске так, что обычная система(-ы) не в состоянии опознать и работать с таким жестким диском. Сама WatchDog работает с измененными таблицами, используя драйвер, который корректирует таблицы, но требует прежде предъявления имени и пароля для доступа к ресурсам компьютера. Как уже упоминалось, существуют различные уровни защиты. Создатели WatchDog понимают, что изменения в системных таблицах не являются настоящим препятствием для хакера. Автор имел опыт общения с WatchDog такого рода: однажды в результате непродуманных действий был заперт жесткий диск. После нескольких дней работы, не зная о WatchDog ничего, удалось открыть файловую систему на жестком диске для чтения. Теперь уже можно проделать такую же работу за час-полтора.

Поэтому в системе предусмотрена и более серьезная мера защиты информации: некоторые области могут быть зашифрованы с применением DES-алгоритма.

Аппаратные средства, которые могут быть использованы вместе с WatchDog, состоят из одной платы WatchDog ArmorTM. Все, что обеспечивает это оборудование, сводится к следующему:

Следует отметить, что при всей привлекательности и трудности преодоления защита с помощью шифрования обладает некоторыми негативными чертами, которые в нашей стране особенно существенны. Применение этого уровня защиты означает для персонала (видимо, это персонал, ответственный за обеспечение секретности) новую жизнь, полную жестко регламентированных предопределенных действий. Необходимо обеспечить ежедневную службу backup, поскольку ошибки в чтении отдельных секторов или кластеров защищенной шифрованием области могут приводить к потере информации из всей области. Отсюда повышенные требования к качеству дисков, на которых расположена шифрованная область; абсолютные требования к качеству и регулярности службы backup; повышенный риск, по меньшей мере, дополнительные потери времени на восстановление информации в случае сбоев. Эти факторы существенны при работе с любым программным обеспечением или аппаратурой, обеспечивающей криптографический уровень защиты данных, и не связаны с особенностями пакета WatchDog. Рекомендовать применение такой защиты можно только при наличии качественного, надежно работающего оборудования, и желательно организовать надежную, автоматическую службу backup и наличии действительной потребности в столь сложной защитеданных.

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

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

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

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

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

Обычный вопрос при построении таких систем "хорошей" защиты: как обеспечить независимое функционирование оборудования, легкость монтирования и размонтирования. Первоначально такая аппаратура размещалась внутри компьютера. Так, ранние версии Novell защищались с помощью keycard, вставлявшейся в разъем шины сервера. Такое решение нельзя признать очень удачным: для монтирования-размонтирования нужно открывать компьютер; понапрасну теряется дефицитный разъем.

Современная аппаратура защиты располагается, подключаясь к наружным разъемам параллельного или последовательного порта. Рекламируют подобную продукцию многие, но неясно, что это: собственные оригинальные разработки, содержащие нетривиальные идеи, или вариации разработок одной фирмы. Во всяком случае, представители фирмы FAST Electronic Gmbh, утверждали, что кристаллы, используемые в их изделии, очень сложны и изготавливаются двумя-тремя фирмами в мире.

Использование изделий, аналогичных продуктам фирмы FAST, позволяет любое программное обеспечение - от операционных систем до пакетов прикладных программ - быстро и эффективно сделать уникальным. То есть сильно затруднить универсальную порчу кода аналогичного программного обеспечения и, тем самым, блокировать репликацию системных вирусов, распространение червяков или, по крайней мере, вызвать остановку или зависание операционной системы, что является "хорошим" сигналом для пользователя о неблагополучной ситуации. Универсальная возможность изменения работы остается на уровне функций, а это все же поддается контролю. К сожалению, таким образом невозможно блокировать "деятельность" вирусов в прикладных пакетах, но использование средств более развитых, чем нынешние, дает хорошую основу для контроля неизменности кода прикладного пакета, без чего немыслима защита от вирусов в прикладных пакетах.

Переходя к специализированным аппаратным средствами защиты от вирусов, червяков и прочего вредоносного программного обеспечения, хотелось бы отметить следующее: все эти средства рассчитаны на борьбу с системными вирусами и, к сожалению, информация скудна, а та, которая есть, - вся о защите от вирусов в DOS. Между тем, возможно написание вирусов и на языке прикладных программ; известны вирусы в среде Lotus 1-2-3, на языке BAT-файлов в DOS; известны вирусы на языке Shell в Unix (Xenix). То, что это исследовательские вирусы, - существа дела не меняет, настолько они просты и естественны. То есть могут легко появиться и в результате сознательных действий, и в результате неосознанной ошибки. Аппаратуры для борьбы с такими вирусами, конечно, никто никогда не создавал и, если аппаратные средства как-то защищают от такого рода вирусов, то это побочный результат работы соответствующей защиты.

Речь идет о том, что мы называем "проблемой копирования". Любая программная система должна включать какие-то средства для копирования текстов, файлов, данных... Естественно стремление к тому, чтобы указанное средство было удобным, это немедленно порождает вирусные ситуации. Задача саморепликации любого текста сильно упрощается, если имеется доступ к этому самому тексту. Практически для всех современных операционных систем стандартом является передача в самом первом параметре имени исполняемого файла, то есть доступ к тексту! Если для DOS имеются осложнения технического характера, связанные с соглашениями об именах исполняемых файлов, которые не позволяют написать коротенький универсальный самореплицирующийся код, то для Unix - эта задача тривиальна. Например, код

	cp $0 $1

прекрасно вставляется в любой командный файл и делает этот файл при запуске с параметром размножающимся, то есть вирусным. Какое оборудование может препятствовать размножению таких командных файлов?! С точки зрения системы все совершенно корректно, единственно, что может вызвать какие-то возражения у системы, - место в файловой системе, куда указано записать копию командного файла.

Но вернемся к аппаратным средствам защиты от системных вирусов в DOS.

Аппаратные средства защиты от вирусов можно разделить на системно-зависимые и системно-независимые. Неявно мы, конечно, ведем речь об IBM-совместимых персональных компьютерах, для которых защита от вирусов - наиболее острый вопрос; с другой стороны, массовость этого типа компьютеров делает оправданными усилия по разработке специализированных аппаратных средств защиты от вирусов. Более того, для других типов компьютеров (Macintosh, рабочие станции, серверы, mainframe под операционными системами типа UNIX) разработка системно-независимых аппаратных средств защиты, очевидно, затруднена - уж очень подвижна и "развесиста" файловая система. Операционные же системы на этих компьютерах работают, как правило, в защищенном режиме, в который переключают процессор на самых ранних этапах загрузки, а это дает какую-то гарантию неизменности операционной обстановки, да и сами операционные системы более жестко проверяют состояние своих внутренних областей: векторов прерываний, буферов, системных таблиц. Для таких компьютеров и операционных систем многие проблемы возникают во многом из-за неадекватного состояния файловой системы. Наличие файлов и каталогов, открытых для записи кому угодно, программ, которые может использовать кто угодно, отсутствие авторизации или короткие пароли пользователей. Эти проблемы решаются различными программными инструментами администратора системы: пакеты UXA, Alert/Inform, Quest.

Известную аппаратную защиту от вирусов в DOS можно разделить на два типа:

Первая, очевидно, только системно-зависима; вторая - может быть и системно-зависимой, и системно-независимой.

Понятно, что защита первого типа - более гибкая и удобная с точки зрения пользователя, но ее легче обмануть и вирусу; защита второго типа - менее гибкая и более надежная и универсальная.

Защита второго типа, по нашему мнению, наиболее перспективна для защиты от вирусов и с точки зрения надежности, и системно-независимые варианты защиты - с точки зрения универсальности и по отношению к системному обеспечению, и к прикладному. Накладные расходы на работу специфической аппаратуры тоже приемлемые. Есть претензии по части гибкости защиты, но при правильном отборе программного обеспечения, при разумных затратах на настройку файловой системы и программного обеспечения результаты для персональных компьютеров прогнозируются хорошие. Как уже говорилось, сложно представить себе использование такой схемы защиты в развитой конфигурации mini- или mainframe-компьютера при очень подвижной, разветвленной файловой системе, когда динамически монтируются/размонтируются многочисленные файловые системы.

Отметим очевидные достоинства и недостатки использования аппаратурной защиты первого типа для борьбы с вирусами.

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

Что делают платы перлюстрации? Защита этого типа действует примерно так же, как действуют программные мониторы, то есть просматривают 21 прерывание и пытаются выявить незаконные действия, только перехват этого прерывания и дополнительная проверка условий запроса сервиса DOS реализованы аппаратно. Конечно, такая реализация позволяет избавиться от кое-каких проблем (например, некоторые программные мониторы и вирусы используют "поплавковый" механизм для более надежной привязки к 21 прерыванию, состоящий в том, что перехватываются еще некоторые прерывания, например, прерывания от системного таймера; когда такие программы работают на компьютере одновременно, могут возникать тупиковые ситуации, зависания и т.п.). Неприятность, однако, состоит в том, что сейчас вирусы часто используют прерывание 2Е или модифицируют код обработчика 21 прерывания DOS, и неясно, насколько адекватно аппаратура обрабатывает такие разные (и все более и более разные) ситуации. И уж, конечно, эта защита бессильна против макровирусов, то есть вирусов, живущих в среде прикладных пакетов: с точки зрения DOS все запросы функций 21 прерывания одинаково корректны.

Одной из лучших, по впечатлению очевидцев (В.Бончева), является плата Tender Byte Франца Вельдмана (Frans Veldman) из Нидерландов, которая реализует просмотр того же же 21-го прерывания и поэтому более уязвима для программных усовершенствований вирусов.

И за рубежом, и у нас есть средства аппаратной защиты второго типа. Только по рекламе известны: Disk DefenderTM (Director Technologies, Inc.); Guard CardTM (NorthBank Corporation), программно-аппаратный комплекс Intellectual Write Protector (BIS Corporation).

Остановимся на Disk Defender, который реализует грубую, но действенную аппаратурную защиту. Плата Disk Defender представляет собой дополнительный контроллер, который располагается между стандартным MFM-контроллером и жестким диском. Эта плата защищает содержимое всего жесткого диска или его части, блокируя выдачу команд записи на жесткий диск. Управление защитой осуществляется с внешнего пульта управления, который подключается к плате и может размещаться довольно далеко (до 1,5 метров). Переключателями на панели пульта устанавливается область (в цилиндрах), защищаемая на диске, и вариант защиты: от доступа, от чтения, от записи. При отключении пульта действует последняя установка.

Поскольку плата осуществляет перлюстрацию физических команд, выдаваемых даже не на контроллер, а на физическое устройство, защита работает независимо от программного обеспечения и операционной системы, независимо от усилий, предпринимаемых вирусами, троянскими конями, червяками со стороны компьютера. Программа на компьютере может использовать системные вызовы, может использовать BIOS или даже непосредственно обращаться к контроллеру диска, работая с портами, - защита с легкостью блокирует все эти действия. Эта защита столь же надежна, как и применение только считываемых носителей, например, CD-ROM, но более удобна и совершенна. Защита, конечно, универсальна в том смысле, что блокирует распространение и системных, и макро- и любых других вирусов, но только в защищенных областях диска. Правда, заодно в этих областях становятся невозможны и правка текстовых файлов редактором, и трансляция программ, и многое-многое дру- гое. Еще один недостаток этой защиты состоит в том, что защищаемая область - физическое место на диске, какие каталоги, файлы, какая часть файловой структуры окажется в этой физической области - вопрос кропотливой настройки файловой системы.

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

Недостаточная гибкость побуждает разработчиков аппаратной защиты второго типа создавать более совершенные варианты защиты. Например, отечественная разработка IWP (А.В. Водяник и др.) имеет развитые программные средства; другие проектируемые системы также предполагается сделать значительно более гибкими и программно управляемыми... Но немедленно теряется универсальность защиты по отношению к операционной среде: раз мы знаем что-то кроме физических адресов на диске - мы немедленно оказываемся связанными со стандартами той файловой системы, которую собираемся защищать. Наиболее сильная сторона аппаратной защиты второго типа - программное управление аппаратурой защиты, без чего немыслима гибкая, адаптивная защита носителя - парадоксальным образом оказывается самой слабой ее стороной. Как только мы открыли дорогу программному управлению аппаратурой, у нас исчезли гарантии того, что аппаратура будет функционировать только так, как нам того хочется. Пусть это маловероятно, но все-таки возможно программно отменить все аппаратные ограничения на обмен или перенастроить эти ограничения, поскольку это возможно на программном уровне. В конце концов, до появления вирусов любая операционная система работала с магнитными носителями без всяких ограничений. С появлением вирусов выяснилось, что возможны такие искажения программ операционной системы, которые внешне почти незаметны, но приводят к радикальному изменению системы с исполняемыми файлами и файловыми системами. Что мешает так же незаметно изменить функционирование программно-управляемой аппаратной защиты? Конечно, это специализированное оборудование, специальные программы для управления этим оборудованием, однако элемент физической непреодолимости защиты исчез.

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

Имеется программный вариант защиты диска, состоящий из двух программ: IWP.ЕХЕ и MAP.ЕХЕ. Последняя программа предназначена для создания карты защищенных файлов, которая записывается в файл IWP.MAP в корневом каталоге (в файле фигурирует и запись в каталоге и цепочка FAT), Программа IWP.ЕХЕ - резидентная и следит за запросами на запись, проходящими через драйвер диска. Все запросы на запись проверяются по карте IWP.MAP на корректность и подавляются, если обнаружена попытка записи в закрытый файл. Заметим, что области на диске здесь уже логическое понятие, это правильно и хорошо, но в то же время любое изменение в файле IWP.MAP может привести к непредсказуемым последствиям. Перлюстрируются обращения в порты контроллера диска, и обращения не из BIOS считаются опасными. Аппаратная часть называется PWC (Port Watch Card). Имеются два варианта платы. Наиболее совершенный вариант позволяет использовать систему паролей для доступа к жесткому и гибким дискам, CMOS; в обоих случаях обращение к портам контролируется аппаратно. Пароли для более сложной платы могут быть перестроены программно (PWD.ЕХЕ).

Последнее, о чем хотелось бы упомянуть в контексте борьбы с вирусами, - это слежение за работой вычислительной системы. Слежение может быть разного уровня реализации (программное, аппаратное, программно-аппаратное), разного уровня подробности (обращения к физическим портам, адресам памяти, ресурсам; отслеживание логических ресурсов, использования программ, каналов и т.п.). Отслеживание, сбор статистики и обработка этой статистики не решают задачу активной обороны, но являются очень хорошим диагностическим средством. Обычно средства слежения фиксируют такое количество взаимосвязанных событий, что невозможно скрыть следы и проникновения в систему, и отключения системы слежения. В лучшем случае удается так исказить данные системы слежения, что они, на первый взгляд, выглядят корректными. Но при внимательном, подробном анализе всегда обнаруживаются маленькие шероховатости, неувязки, несогласованность данных. Поэтому сбор статистики оказывается основой, вокруг которой так или иначе концентрируются самые разные способы борьбы или обнаружения вирусов, пиратских проникновений в систему хакеров. Отношение к статистическим данным должно быть простым: крупные, кричащие несоответствия скорее всего говорят об ошибках персонала и особенной опасности не представляют; напротив, мелкие расхождения должны становиться предметом самого придирчивого расследования, поскольку они и являются, скорее всего, свидетельством сознательного нелегального проникновения в систему. Для операционной системы DOS сбор какой бы то ни было статистики не характерен (встроенных средств для этого в системе нет), для UNIX, VM, MVS и других многопользовательских систем, - это является стандартом. Некоторые генераторы меню в DOS (Lazy SUSAN, например) позволяют собирать статистику. Эта статистика не является столь исчерпывающей и многоплановой, как в многопользовательских системах, она и не может быть такой - сама "операционка" много проще, сложных событий и ситуаций просто не бывает. Но уже простейшая статистика, регистрирующая время начала работы, время запуска и время работы различных программ и процедур, дает хорошую основу для анализа работы системы. Поэтому различные системы отслеживания, сбора статистики, особенно специально спроектированные с целью аккуратной фиксации специфически вирусных (или подозрительных, квазивирусных) событий, при всех накладных расходах, которые они порождают, являются важным и полезным средством в борьбе за безопасность компьютерных систем. Особенно важными эти системы оказываются в локальных и глобальных сетях. Впрочем, в этой среде развитие систем сбора статистики, отслеживания событий стимулировалось задолго до начала вирусной эры и совсем другими потребностями, но, хоть и борьба с вирусами - побочный результат, - сами системы в борьбе против вирусов необычайно полезны.

Любопытные данные можно найти в Computerworld Focus on Integration (June 5, 1989, Crime Time, Ann Dooley, рр. 30-32.). Там приведена таблица методов, которыми пользуются различные организации в США (то есть люди, действительно имеющие реальный выбор средств и могущие его делать в зависимости и от стоимости, и от стоящих задач) для защиты рабочих станций на базе PC или отдельных персональных компьютеров этих средств, составленная по результатам телефонного опроса 214 фирм. Речь идет, конечно, не о защите от вирусов, а о безопасности вообще, и все-таки... Вот эта таблица:

Парольная защита 99%
Слежение за работой 73%
Физическая изоляция компьютеров 63%
Остальные 24%
Аппаратная защита 13%
Модемы с обратным вызовом 6%
Различные методы опознания личности (сетчатка глаза, голос и т.д.) 4%

Как видно из этой таблицы, единственного, самого надежного метода нет; как правило, используется та или иная комбинация методов защиты, которая и дает, с точки зрения администрации, приемлемые результаты. Более того, относительная непопулярность аппаратной защиты говорит о плохом соотношении стоимость/надежность для аппаратных средств. И, напротив, такие относительно дешевые, простые средства, как минимальная парольная защита, физическая изоляция компьютеров, сбор статистики работы, оказываются достаточными с точки зрения администраторов систем. Если по отношению к двум последним мероприятиям возражений не возникает, - по отношению к парольной защите нужны определенный скептицизм и настороженность: как мы уже видели, сама по себе парольная защита проблему безопасности не решает, но лишь создает иллюзию защиты. Насколько тонким вопросом является применение парольной защиты, может показать следующая история. В одной из американских клиник был установлен компьютер. В связи с тем, что информация о состоянии здоровья там конфиденциальная, была установлена сложная парольная система разграничения доступа. Видимо, интерфейс с человеком был недостаточно продуман, и врачи решили проблему общения с компьютером следующим образом: к каждому терминалу был прикреплен листок с инструкцией, в которой описывалась процедура вхождения в систему и был приведен полный список паролей...

Между тем парольная защита становится все популярнее. Фирма Helett-Packard недавно анонсировала продолжение своей серии Vectra как компьютеров для работы "без проблем". Важным элементом этой серии является двухуровневая парольная защита, встроенная в BIOS, а это, как мы видели, создает хороший базис, но отнюдь не решает всех проблем парольной защиты.

[Вернуться к списку] [Комментарии (0)]
deenesitfrplruua