- •Безопасность
- •Аппаратное обеспечение
- •Программное обеспечение
- •Линии связи и сети
- •15.2. Защита
- •Защита памяти
- •Контроль доступа, ориентированный на пользователя
- •Контроль доступа, ориентированный на данные
- •15.3. Взломщики
- •Методы вторжения
- •Защита паролей
- •Уязвимость паролей
- •Контроль доступа
- •Стратегии выбора паролей
- •Выявление вторжений
- •15.4. Зловредное программное обеспечение
- •Зловредные программы
- •Логические бомбы
- •Троянские кони
- •Природа вирусов
- •Виды вирусов
- •Макровирусы
- •Подходы к борьбе с вирусами
- •Обобщенное дешифрование
- •Цифровая иммунная система
- •15.5. Системы с доверительными отношениями
- •Защита от троянских коней
- •15.6. Безопасность операционной системы windows 2000
- •15.7. Резюме, ключевые термины и контрольные вопросы
- •Контрольные вопросы
- •15.8. Рекомендуемая литература
- •Приложение. Шифрование
- •Стандартное шифрование
- •Стандарт шифрования данных
- •Тройной алгоритм шифрования данных
- •Улучшенный стандарт шифрования
- •Шифрование с открытым ключом
- •А.2. Архитектура протоколов tcp/ip
- •Уровни протокола tcp/ip
- •Приложения tcp/ip
- •Б.1. Мотивация
- •Б.З. Преимущества объектно-ориентированного подхода
- •Б.2. Объектно-ориентированные концепции
- •Структура объектов
- •Классы объектов
- •Наследование
- •Полиморфизм
- •Включение
- •Список литературы
Логические бомбы
Логические бомбы — один из самых ранних видов программ, представляющих угрозу. Они являются предшественниками вирусов и червей. Логическая бомба — это код, помещенный в какую-то легальную программу и устроенный так, что при определенных условиях он "взрывается". Условием, использующимся для включения логической бомбы, может быть наличие или отсутствие определенных файлов, определенный день недели или дата, а также запуск приложения определенным пользователем. В одном известном случае [SPAF89] логическая бомба проверяла идентификационный номер сотрудника компании, который был автором этой бомбы, а затем включалась, если этот идентификатор не фигурировал в двух последовательных начислениях заработной платы. Включившись, бомба могла изменить или удалить данные или целые файлы, стать причиной остановки машины или причинить какой-нибудь другой вред. Поразительным примером применения логической бомбы стал случай, произошедший в библиотечной системе графства Монтгомери, в Мэриленде [TIME90]. Подрядчик, которому поручили разработку компьютеризованной абонементной системы, поместил в нее логическую бомбу. При наступлении определенной даты эта бомба могла вывести систему из строя, если заказчик отказывался платить. Когда библиотека задержала выплату денег из-за того что абонентская система имела плохое время отклика, подрядчик признался в существовании бомбы и пригрозил, что если деньги не будут перечислены, то он даст бомбе сработать.
Троянские кони
Троянский конь — это полезная или кажущаяся таковой программа или процедура, в которой спрятан код, способный в случае срабатывания выполнить некоторую нежелательную или вредную функцию.
Троянские кони могут использоваться для выполнения тех функций, которые несанкционированный пользователь не мог бы выполнить непосредственно. Например, некий пользователь-злоумышленник хочет получить доступ к файлам другого пользователя. Для этого он может написать программу, которая при запуске изменяла бы права доступа к файлам вызвавшего ее пользователя так, чтобы эти файлы могли прочитать все другие пользователи. Затем, поместив эту программу в общий каталог и присвоив ей имя, похожее на имя какой-нибудь полезной утилиты, автор программы мог бы добиться того, чтобы интересующий его пользователь запустил ее. Примером маскирующей программы может быть программа, которая якобы выводит листинг файлов пользователя в нужном формате. После того как ничего не подозревающий пользователь запустит программу, ее автор сможет получить доступ к информации, которая находится в файлах этого пользователя. Примером трудно обнаруживаемого троянского коня является компилятор, измененный таким образом, чтобы при компиляции он вставлял в определенные программы (например, программы регистрации в системе) дополнительный код [ТНОМ84]. С помощью такого кода в программе регистрации можно создать люк, позволяющий автору входить в систему с помощью специального пароля. Такого троянского коня нельзя обнаружить в исходном коде программы регистрации.
Троянские кони также широко используются для уничтожения данных. Все выглядит так, будто программа выполняет полезную функцию (например, программа-калькулятор), но при этом она может незаметно удалять файлы пользователя.
Вирусы
Вирус — это программа, которая может "заражать" другие программы, изменяя их; к числу изменений относится копирование программы-вируса в программу, которая затем может заразить другие программы.
Биологические вирусы представляют собой крошечные обломки генетического кода (ДНК или РНК), которые могут перенимать структуру живых клеток и хитростью вовлечь их в производство тысяч точных копий первоначального вируса. Подобно своему биологическому прототипу компьютерный вирус содержит в своем коде рецепт того, как точно копировать самого себя. Попав в компьютер, типичный вирус временно берет на себя управление операционной системой компьютера. Затем при любом контакте зараженного компьютера с незараженным фрагментом программного обеспечения в новую программу внедряется новоиспеченная копия вируса. Таким образом, ничего не подозревающие пользователи могут передавать заражение от одного компьютера другому в процессе переписывания программ с одного диска на другой или их пересылки по сети. Сетевая среда, предоставляющая возможность получать доступ к приложениям и системным сервисам, которые находятся на других компьютерах, создает идеальные условия для распространения вирусов. Далее в этом разделе вирусы изучаются подробнее.
Черви
Сетевые программы-черви используют сетевые соединения, чтобы переходить из одной системы в другую. Однажды активизировавшись в системе, сетевой червь может вести себя как компьютерный вирус, порождать троянских коней или выполнять любые другие разрушительные или деструктивные действия.
Для самовоспроизведения сетевой червь использует некоторое транспортное средство. В качестве примеров можно привести следующие:
Электронная почта. Червь рассылает свою копию другим системам по элек тронной почте,
Возможности удаленного запуска программ. Червь запускает свою копию на другой системе.
Возможность удаленной регистрации. Червь входит в удаленную систему под видом пользователя, а затем с помощью стандартных команд копирует себя из одной системы в другую.
Затем новая копия программы-червя запускается на удаленной системе, где копия продолжает распространяться таким же образом.
Сетевой червь обладает такими же характеристиками, что и компьютерный вирус: фаза покоя, фаза размножения и фаза выполнения. В фазе размножения обычно выполняются такие функции.
Поиск других систем для заражения путем проверки списков узлов или других хранилищ адресов удаленных систем.
Установление связи с удаленной системой.
Копирование самого себя в удаленную систему и запуск новой копии.
Перед тем как копировать себя на какую-то систему, сетевой червь может также попытаться определить, инфицирована ли эта система. Кроме того, в многозадачной системе он может маскироваться, присваивая своим копиям имена системных процессов или какие-то другие имена, которые будет трудно заметить системному оператору.
Сетевым червям так же трудно противостоять, как и вирусам. Однако продуманные и правильно реализованные меры безопасности, предусматривающие как безопасность сетей, так и безопасность отдельных систем, сводят угрозу проникновения червей к минимуму.
Зомби
Зомби — это программа, которая скрытно соединяется с другим подключенным в Internet компьютером, а затем использует этот компьютер для запуска атак, что усложняет отслеживание пути к создателю программы-зомби. Зомби используются при атаках с отказом в обслуживании, которые обычно направлены против выбранных в качестве мишени Web-узлов. Зомби распространяются на сотни компьютеров, принадлежащих ничего не подозревающим третьим лицам, а затем используются для поражения выбранного в качестве мишени Web-узла при помощи огромного увеличения сетевого трафика.