- •Безопасность
- •Аппаратное обеспечение
- •Программное обеспечение
- •Линии связи и сети
- •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. Объектно-ориентированные концепции
- •Структура объектов
- •Классы объектов
- •Наследование
- •Полиморфизм
- •Включение
- •Список литературы
15.3. Взломщики
Одной из наиболее известных угроз для безопасности являются злоумышленники (другим видом угрозы являются вирусы), которых обычно называют хакерами или кракерами. На ранних стадиях изучения вторжений Андерсон (Anderson) [ANDE80] идентифицировал следующие классы взломщиков.
Притворщик. Лицо, не обладающее полномочиями по использованию компьютера, которое проникает в систему, несмотря на контроль доступа системы, и использует учетную запись законного пользователя.
Правонарушитель. Законный пользователь, получающий доступ к данным, программам или ресурсам, к которым у него нет доступа, или тот, у которого есть такой доступ, но он злоупотребляет своими привилегиями.
Тайный пользователь. Лицо, завладевшее управлением в режиме суперпользователя и использующее его, чтобы избежать аудита и преодолеть контроль доступа, или чтобы подавлять сбор данных по аудиту.
Притворщик — это, скорее всего, постороннее лицо; правонарушителем чаще всего бывает непосторонний человек; в роли тайного пользователя могут выступать и те, и другие.
Последствия атак злоумышленников могут быть самыми различными — от незначительных до серьезных. В начале шкалы взломщиков располагаются те, которые просто хотят использовать сети и узнать, что и где находится. На противоположном конце размещаются индивидуумы, пытающиеся прочитать служебные данные, выполнить несанкционированное изменение данных или разрушить систему.
Методы вторжения
Целью злоумышленника является получение доступа к системе или расширение спектра привилегий, доступных ему в системе. Вообще говоря, для этого пользователю нужно получить информацию, которая должна быть защищена. В большинстве случаев эта информация имеет вид пользовательских паролей. Зная пароли некоторых других пользователей, злоумышленник может войти в систему и проверить, какими привилегиями обладают эти законные пользователи.
Обычно в системе должен поддерживаться файл, с помощью которого авторизованным пользователям ставятся в соответствие пароли. Если этот файл хранится без всяких предосторожностей, то к нему легко получить доступ и узнать пароли. Файл с паролями можно защитить одним из перечисленных способов.
Одностороннее шифрование. Пароли пользователей хранятся в системе только в зашифрованной форме. Когда пользователь вводит пароль, система шифрует его и сравнивает с хранящимся значением. На практике система обычно выполняет одностороннее (необратимое) преобразование, при котором пароль используется для того, чтобы сгенерировать ключ для функции шифрования, в результате которого получается слово фиксированной длины. Контроль доступа. Доступ к файлу с паролями ограничен одной учетной записью или малым числом учетных записей пользователей.
Если применяется одна или обе эти меры предосторожности, потенциальному злоумышленнику придется затратить некоторые усилия, чтобы узнать пароль. В [ALVA90] перечислены методы взлома пароля (сведения получены на основании обзора литературы и опросов некоторых взломщиков).
Попытка применить пароли стандартных учетных записей, которые устанавливаются по умолчанию при поставке системы. Многие администраторы не утруждают себя их изменением.
Настойчивый перебор всех коротких паролей (длиной от одного до трех символов).
Перебор слов из подключенного к системе словаря или специального списка слов, чаще всего применяемых в качестве пароля. Примеры таких списков можно найти на хакерских досках объявлений.
Сбор такой информации о пользователях, как их полные имена, имена их супругов и детей, фотографии офиса, названия книг в офисе, хобби пользователей.
Использование в качестве вероятного пароля номеров телефона пользователя, его номера социального обеспечения, даты рождения или номеров комнат.
Использование в качестве вероятного пароля номерных знаков автомобиля.
Обход ограничений доступа с помощью троянских коней (описанных в разделе 15.4).
Перехват сообщений, которыми обмениваются удаленный пользователь иузел системы.
Первые шесть методов являются разновидностями отгадывания пароля. Если злоумышленник должен проверять правильность догадки методом прямого перебора с попыткой входа, эта процедура является для него утомительной; к тому же в этом случае легко принять контрмеры. Например, система может просто отвергать любую попытку регистрации, в которой было испробовано более трех неправильных паролей. В этом случае злоумышленнику, перепробовавшему три пароля, нужно вновь соединяться с узлом, чтобы повторить попытку. При таких обстоятельствах взломщику не имеет смысла перебирать большое количество паролей. Однако он, скорее всего, и не станет применять такие грубые методы. Например, получив доступ с привилегиями низкого уровня к зашифрованному файлу с паролями, он может попытаться скопировать этот файл, а затем использовать механизм шифрования данной системы на свободной машине, чтобы узнать пароль, предоставляющий большие привилегии.
Атаки с отгадыванием пароля применимы и эффективны при условии, что возможен автоматический перебор большого количества вариантов, который можно провести так, чтобы не выдать себя. Далее в этом разделе мы должны будем еще раз вернуться к теме противодействия атакам с отгадыванием паролей.
Седьмому из вышеперечисленных методов атаки — атаке с помощью троянских коней — часто бывает особенно трудно противостоять. Пример такой программы приведен в [ALVA90]. Допустим, пользователь с низкими привилегиями написал игровую программу и предложил ее сетевому администратору, чтобы тот мог поиграть в свободное время. Однако в программе есть небольшой секрет. Запустив ее, действительно можно играть в игру, но она также содержит код, который на фоне этого копирует незашифрованный файл с паролями, для доступа к которому нужны привилегии администратора. Поскольку игра запущена администратором и пользуется его привилегиями, то она имеет доступ и к файлу с паролями.
Восьмой из вышеперечисленных видов атак, подключение к линии, связан с физической безопасностью. Ей можно противостоять с помощью методов шифрования в каналах связи.
Теперь обратимся к обсуждению двух основных контрмер: предотвращению и выявлению. Предотвращение является заветной целью специалистов по безопасности. Трудность состоит в том, что защищающемуся нужно противостоять всем видам возможных атак, в то время как взломщик может попытаться найти самое слабое звено в цепи защиты, и обратить все силы на него. Выявление связано с обнаружением атаки либо до того, как она удастся, либо после того.