Лукацкий А.В.
Введение
Развитие современных информационных технологий ведет к
тому, что происходит постепенный переход к объединению
автономных
компьютеров и локальных сетей в единую корпоративную сеть
организации. Помимо явных преимуществ такой переход несет
с собой и ряд проблем, специфичных для корпоративных сетей.
С этими проблемами приходится сталкиваться как специалистам
служб безопасности, так и сотрудникам управлений автоматизации.
К причинам, приводящим к возникновению таких проблем, можно
отнести:
- Сложность и разнородность используемого программного
и аппаратного обеспечения. В настоящий момент очень трудно
встретить сети, построенные на основе только одной сетевой
операционной системы (ОС). Опыт показывает, что в российских
организациях используется следующий вариант построения
корпоративной
сети: рабочие станции под управлением ОС MS DOS, Windows
95 и Windows NT, а в качестве сетевой операционной системы
используется Novell Netware и Windows NT. Системы обширного
семейства UNIX пока не получили широкого распространения
в России. Большое число конфигурационных параметров используемого
программного и аппаратного обеспечения затрудняет его эффективную
настройку и эксплуатацию.
- Большое число узлов корпоративной сети, их территориальная
распределенность и отсутствие времени для контроля всех
настроек. Уже не редкость, когда узлы, объединенные в корпоративную
сеть, разбросаны по разным территориям не только одного
города,
но и региона. Эта особенность, а также отсутствие времени
на контроль всех настроек, не позволяет администраторам
лично и своевременно контролировать деятельность пользователей
системы на всех узлах корпоративной сети и соответствия
настроек
программного и аппаратного обеспечения заданным значениям.
- Подключение корпоративной сети к сети глобальной Internet
и доступ внешних пользователей (клиентов, партнеров и пр.)
в корпоративную сеть. Данная причина приводит к тому, что,
зачастую, очень трудно определить границы сети и всех,
подключенных к ней пользователей, что может привести к
попыткам несанкционированного
доступа к защищаемой информации.
Одной из важных проблем, возникающей вследствие действия
названных причин, является увеличение числа уязвимостей
корпоративной сети. Поэтому для их устранения и обеспечения
надлежащего
уровня защищенности информации, циркулирующей в корпоративной
сети, применяются различные механизмы и средства обеспечения
безопасности. Соответствующая настройка этих средств зависит
от технологии обработки информации, принятой в организации,
порядка и правил обращения с защищаемой информацией. Совокупность
таких правил, законов и практических рекомендаций по обеспечению
безопасности, охватывающих все особенности процесса обработки
информации, называется политикой безопасности. К средствам,
обеспечивающим политику безопасности и, соответственно,
защиту технологии обработки информации, можно отнести межсетевые
экраны, системы обнаружения атак, системы шифрования трафика,
системы контроля "мобильного кода" (Java, ActiveX)
и т.п. В данной серии статей будут рассмотрены типичные средства
защиты, применяемые в большинстве организаций. Однако надо
заметить, что эти средства "не подвешены в воздухе",
их применение и эффективность зависит от многих факторов,
в частности от того, какое нарушение политики безопасности
произошло. Именно это определило структуру статей. Сначала
будут описаны типовые сценарии атак на ресурсы информационной
системы, а затем средства, защищающие от них.
Прежде чем начать, необходимо сделать небольшое отступление.
Технические средства, даже самые дорогие и эффективные,
- это далеко не все, что надо для построения надежной системы
защиты. Для этого надо применять комплексный подход, состоящий
из нескольких этапов:
1. Информационное обследование, которое в свою очередь
включает в себя:
- Категорирование информационных ресурсов по степени ценности
и важности; • Анализ наиболее опасных и наиболее вероятных
угроз;
- Построение модели нарушителя;
- Разработка организационно-распорядительных документов,
регламентирующих вопросы защиты информации в организации
(Концепция информационной безопасности, План защиты и т.д.);
- и т.д.
2. Приобретение, установка и настройка средств защиты,
в соответствии с результатами предыдущего этапа.
3. Обучение персонала положениям политики безопасности.
4. Постоянное обновление политики безопасности и реконфигурация
средств защиты, в соответствии с текущей ситуацией.
Информационная система
Для каждой категории компании (финансовая, страховая, торговая
и т.п.) существует своя типовая информационная система
(ИС), состоящая из компонент, решающих свои специфичные
задачи,
но в общем случае ИС включает в себя 4 уровня (рис.1.):
1. Уровень прикладного программного обеспечения (ПО), отвечающий
за взаимодействие с пользователем. Примером элементов ИС,
работающих на этом уровне, можно назвать текстовый редактор
WinWord, редактор электронных таблиц Excel, почтовая программа
Outlook и т.д.
2. Уровень системы управления базами данных (СУБД), отвечающий
за хранение и обработку данных информационной системы.
Примером элементов ИС, работающих на этом уровне, можно
назвать СУБД
Oracle, MS SQL Server, Sybase и даже MS Access.
3. Уровень операционной системы (ОС), отвечающий за обслуживание
СУБД и прикладного программного обеспечения. Примером элементов
ИС, работающих на этом уровне, можно назвать ОС Microsoft
Windows NT, Sun Solaris, Novell Netware.
4. Уровень сети, отвечающий за взаимодействие узлов информационной
системы. Примером элементов ИС, работающих на этом уровне,
можно назвать протоколы TCP/IP, IPS/SPX и SMB/NetBIOS.

Типовая информационная система небольшой компании (small
office), которые широко распространены у нас в России,
независимо от ее категории выглядит так, как это показано
на рис.2.
Рабочие станции работают под управлением операционной системы
Windows 9x или NT. В качестве файлового сервера, на котором
хранятся различные документы, дистрибутивы программного
обеспечения, базы данных 1С:Бухгалтерия и т.д. используются
сервера Windows
NT и Novell Netware. Основным сервером (контроллером домена)
является компьютер под управлением Windows NT Server или
Novell Netware. База данных SQL хранится на отдельном сервере
под управлением MS SQL Server, хотя могут быть и другое
программное обеспечение (например, Oracle или Sybase).
Организация может
и использует в своей работе сеть Internet. Причем использование
не ограничивается электронной почтой и "хождением" по
Web-серверам. Организация имеет свое представительство
в сети Internet при помощи Web- и FTP- серверов, которые
находятся
на территории Internet-провайдера. Для защиты внутренних
ресурсов корпоративной сети от посягательств внешних злоумышленников
используется proxy-сервер MS Proxy Server или Novell BorderManager,
который блокирует доступ внешних пользователей во внутреннюю
сеть. Доступ в Internet осуществляется по Dialup-соединению
через модем. Знакомая ситуация, неправда ли? По такому
классическому сценарию строятся практически все сети с
выходом в Internet.
Исходя из названных элементов ИС, можно выделить 3 основных
возложенных на нее задачи:
1. Функциональные операции, связанные с деятельностью компании.
2. Хранение данных (документов, программного обеспечения,
баз данных и т.п.).
3. Internet-сервис (Web-серфинг, электронная почта и т.п.).

Применением proxy-сервера все защитные функции, как правило,
и ограничиваются. Поэтому у злоумышленников имеется широчайший
спектр возможностей по нарушению политики безопасности,
которые могут быть осуществлены на всех четырех вышеназванных
уровнях
ИС. Например, для получения несанкционированного доступа
к финансовой информации в базе данных MS Access злоумышленники
могут попытаться реализовать одну из следующих возможностей:
1. Прочитать записи БД из MS Excel, который позволяет получать
доступ к записям MS Access (уровень прикладного ПО).
2. Прочитать нужные данные средствами СУБД MS Access (уровень
СУБД).
3. Прочитать файлы базы данных с расширением *.mdb непосредственно
на уровне операционной системы.
4. Отправить по сети пакеты со сформированными запросами
на получение необходимых данных от СУБД (уровень сети).
Для того чтобы построить эффективную систему защиты информационных
ресурсов необходимо выделить наиболее критичные участки
ИС. Для типовой информационной системы, изображенной на
рис.2.
такими участками являются:
- Контроллер домена (primary и backup) под управлением
Windows NT или Novell Netware;
- MS Proxy Server под управлением Windows NT или Novell
Border Manager;
- Почтовый сервер под управлением MS Exchange;
- Файловые сервера под управлением Windows NT и Netware;
- Сервер базы данных под управлением MS SQL Server;
- Сеть передачи данных.
Кроме этого, в ИС существуют менее критичные элементы -
рабочие станции под управлением Windows 9x и Windows NT.
Итак, не вдаваясь подробно в первый этап построения эффективной
системы защиты, рассмотрим основные атаки на критичные
участки ИС и способы их предотвращения. Будут описаны наиболее
распространенные
и типичные атаки. Возможно в других статьях будет уделено
внимание и более изощренным и редким атакам. Сразу необходимо
отметить, что основным источником абсолютного большинства
угроз являются авторизованные пользователи (сотрудники,
клиенты, партнеры и т.д.). И неумолимая статистика идет
наперекор
сложившимся "традициям". До 75%-80% всех компьютерных
инцидентов связано именно со "своими", с теми,
кому принято доверять. Эти пользователи, по незнанию, ошибке
или злому умыслу, могут занести в информационную систему
вирус, удалить тот или иной файл, или выполнить иные несанкционированные
действия.
По статистике, опубликованной институтом SANS к наиболее
часто используемым атакам можно отнести:
1. Несанкционированный доступ к паролю и конфиденциальной
информации.
2. Несанкционированное удаленное выполнение команд вследствие
ошибок типа "переполнение буффера".
3. Нарушение прав доступа.
4. Атаки типа "отказ в обслуживании".
5. Загрузка враждебного содержания (программ типа "троянский
конь", мобильного кода Java и ActiveX, вирусов).
Рассмотрим более подробно эти атаки, подверженные им компоненты
ИС, а также применяемые меры, позволяющие обнаружить эти
атаки, блокировать их и предотвратить их распространение.
Несанкционированный доступ к паролю
Эта атака заключается в краже или подборе пароля законного
пользователя ИС. Причем реализовываться она может на любом
из названных компонентов ИС. Первоначально злоумышленник
может получить доступ к паролю пользователя с незначительными
правами (например, guest), но конечной целью злоумышленника
является получение пароля администратора контроллера домена,
что позволит получить контроль над всеми компонентами ИС.
Кража пароля может осуществляться следующими путями:
- Подсматривание за пользователями во время ввода ими пароля.
При этом надо помнить, что механизм замены пароля при вводе
звездочками, реализованный во многих программах, не всегда
спасает. Существуют свободно распространяемые программы,
которые позволяют, скопировав замененный на звездочки пароль
в буфер обмена, вернуть его к "нормальному" виду.
В качестве другого примера подсматривания пароля можно привести
классический фильм "Хакеры", в котором один из
молодых хакеров узнавал пароли, только следя за движениями
пальцев пользователя на клавиатуре.
- Получение пароля из командной строки (например, при выполнении
командного файла или скрипта сетевой аутентификации). В
качестве примера можно назвать механизм аутентификации
при удаленном
управлении в Novell Netware, при котором в загрузочный
файл AUTOEXEC.NCF включается следующая команда:
LOAD REMOTE <пароль>
- Изучение "мусора" и иных источников (записных
книжек, распечаток и т.п.). Опять обращаясь к фильму "Хакеры" вспомним,
как юноша и девушка копались в мусорном ящике, ища пароли
в распечатках и других выброшенных бумагах.
- Кража внешнего носителя пароля (дискеты, таблетки "Touch
Memory", смарт-карты и т.п.).
- Перехват пароля программной закладкой (например, троянским
конем "NetBus" или "BackOrifice") или
в процессе передачи по каналу связи. Последний вариант
достаточно часто используется злоумышленниками. Например,
перехват пароля
пользователя, осуществляющего аутентификацию на сервере
Novell Netware или перехват пароля, передаваемого в открытом
виде
в рамках протоколов Telnet, FTP, HTTP, SMTP и т.д.
Подбор пароля является вторым способом несанкционированного
получения пароля пользователя информационной системы. Для
этого можно использовать либо "ручные" методы
на основе знания дополнительной информации о пользователе,
либо
автоматизированные методы, что намного более эффективно.
Например, программа типа L0phtCrack для Windows NT, которая
осуществляет подбор паролей как удаленно, через сеть, так
и локально. В последнем случае скорость подбора существенно
возрастает (рис.3.).
Для защиты паролей от злоумышленников могут быть применены
различные меры, начиная от организационных, запрещающих
вход посторонних людей в помещения с вычислительной техникой
или
уничтожение всех бумаг и распечаток, и заканчивая различными
техническими мерами. Для защиты от получения пароля из
командной строки (см. вышеописанный пример) в Novell Netware
может
использоваться следующая строка в файле AUTOEXEC.NCF:
LOAD REMOTE -E <ключ>
Для защиты от перехвата пароля, передаваемого по каналам
связи, необходимо использовать шифрование. Причем шифрование
может быть "встроенным" в операционную систему
(команда SET ALLOW UNENCRYPTED PASSWORDS = ON в Novell
Netware) или реализовываться при помощи дополнительных
средств (программа
PGP) или механизмов (защищенный HTTP-протокол - HTTPS).
Для защиты от программ типа L0phtCrack необходимо использовать
шифрование сетевого трафика или запретить удаленный доступ
к системному реестру Windows NT.
Несанкционированное выполнение команд
Данная атака хотя и считается одной из самых распространенных,
но свою известность она получила в связи с распространенностью
ОС Unix. Хотелось бы только указать, что и для ОС Windows
NT известны случаи реализации этой атаки. Например, ранние
версии Microsoft Internet Information Server неправильно
обрабатывали длинные URL (более 255 символов), что приводило
к выполнение команд, задаваемых в таком URL. Реализовываться
такая атака может на любом из компонентов информационной
системы, за исключением сети передачи данных. Однако, наиболее
часто она реализуется на серверах под управлением Unix
или Web- и SMTP-серверах.
Для защиты от такого рода атак необходимо периодически
отслеживать информационные бюллетени по безопасности, публикуемые
различными
организациями, работающими в области безопасности, например,
X-Force (http:/xforce.iss.net). Это достаточно дешевый
и простой способ, позволяющий своевременно узнавать об
уязвимостях
в программном обеспечении, которые позволяют использовать "переполнение
буфера". Однако в крупных, территориально-распределенных
сетях такой контроль малоэффективен. В этом случае необходимо
использовать средства анализа защищенности, которые ищут
уязвимости и устраняют их, или средства обнаружения атак,
идентифицирующие факт реализации атак (подробно о системах
обнаружения атак можно прочитать в статье "Системы обнаружения
атак. Взгляд изнутри" /"Электроника: НТБ",
№5, 1999/)
Нарушение прав доступа
Превышение прав доступа - это также самое распространенное
нарушение политики безопасности. Неправильно заданные права
доступа к ресурсам (файлам, каталогам, логическим и сетевым
дискам, модемам, компьютерам и т.д.) элементов ИС позволяет
злоумышленнику или просто нерадивому сотруднику натворить
немало бед. Например, неконтролируемое использование модемов
сводит "на нет" использование таких защитных средств,
как proxy-сервер и межсетевой экран (firewall). Неправильное
задание прав доступа к исполняемым файлам или скриптам автозагрузки
позволяет нарушителю вольно или невольно внедрить в сеть
закладку или вирус. Несколько лет назад была широко распространена
ситуация, когда при помощи скрипта подключения к серверу
Novell Netware на него внедрялся вирус OneHalf, в дальнейшем
в течение дня заражавший более 70% компьютеров всей организации.
Использование на контроллере домена Windows NT общедоступных
(shared) ресурсов и неправильное задание прав доступа к ним
может привести к возможности кражи файла паролей пользователей
ИС и дальнейшего их "взлома".
Данные атаки могут быть достаточно легко предотвращены
или, как минимум обнаружены, при помощи правильной и продуманной
конфигурации элементов ИС, а также встроенных в операционную
систему защитных механизмов. Например, настройка прав доступа
ко всем ресурсам компьютера, на котором установлен контроллер
домена, позволит защититься от многих атак на уровне ОС,
СУБД и прикладного ПО. Настройка этих прав реализуется
при
помощи, например:
- программы User Manager, входящей в состав ОС Windows
NT, или nwadmin и syscon, входящей в состав Novell Netware;
- вкладки Security подпункта Properties меню File программы
Windows NT Explorer или программы Filer, входящей в состав
Novell Netware.
Обязательным условием эффективной системы защиты является
регистрация всех событий в соответствующем журнале (Event
Log для Windows NT или журналы аудита для Netware). Просматривать
этот журнал необходимо не реже одного раза в сутки или
настроить его таким образом, чтобы в случае возникновения
нештатных
ситуаций происходило оповещение администратора безопасности
или сети.
Атаки типа "отказ в обслуживании"
Наиболее интересным и часто описываемым в прессе типом
нарушений, являются атаки типа "отказ в обслуживании" ("denial
of service"), которые заключаются во временном или
постоянном нарушении функционирования любых компонентов
ИС. Примером
таких атак можно назвать широко известную атаку WinNuke
или SynFlood, смысл которых заключается в посылке нарушителем
неправильно сформированного сетевого пакета или посылке
большого
числа специальных пакетов, обработка которых занимает все
ресурсы контроллера домена, что не позволяет выполняться
другим, санкционированным запросам.
Врезка: атака SYN-Flood
Для установления соединения между узлами сети по протоколу
TCP устанавливается виртуальное соединение. Запрос на соединение
осуществляется посылкой одного узла (например, клиента)
TCP-пакета с установленным флагом SYN другому узлу (например,
серверу).
Сервер отвечает на этот пакетом с установленными флагами
SYN и ACK и после подтверждения от клиента устанавливается
виртуальное соединение. В том случае, если от клиента не
пришло подтверждение, то сервер в течение некоторого времени
выделяет ресурсы под соединение и ждет ответа от клиента.
Атака SYN-Flood заключается в посылке большого числа SYN-пакетов
на установление соединения без соответствующего подтверждения.
Тем самым возможна ситуация, когда сервер выделяет слишком
много ресурсов на несуществующие соединения и уже не может
обрабатывать все другие соединения, тем самым, нарушая
функционирование узла.

Для защиты компонентов ИС от атак типа "отказ в обслуживании" могут
применяться специальные системы обнаружения атак или межсетевые
экраны, которые обнаруживают большое число атак, в т.ч. и
совершаемых авторизованными пользователями, а как уже отмечалось,
абсолютное большинство атак осуществляется именно "своими".
В качестве примера средства обнаружения атак на уровне сети
можно назвать систему RealSecure компании ISS, о которой
уже упоминалось в статье "Системы обнаружения атак.
Взгляд изнутри" ("Электроника: НТБ", №5,
1999). Эта система устанавливается на узел под управлением
Windows
NT или Solaris и не только обнаруживает все атаки в информационной
системе, но и предотвращает их влияние на функционирование
ее элементов. Аналогичным образом действует и межсетевые
экраны, однако, защищая от меньшего числа атак.
Загрузка враждебного содержания
Под враждебным содержанием обычно понимаются программы
типа "троянский
конь", мобильный код (Java и ActiveX), а также вирусы.
Однако вирусы и защита от них - это тема отдельной статьи,
которая сейчас не будет рассматриваться. Основное внимание
будет уделено первым двум типам враждебного содержания.
Злоумышленник при помощи апплетов Java, управляющих элементов
ActiveX или сценариев JavaScript может реализовать следующие
угрозы:
- модификация информации при передаче ее по сети или в
процессе обработки и хранения на компьютере пользователя;
- нарушение конфиденциальности информации;
- уничтожение информации;
- нарушение работоспособности компьютера ("denial of
service");
- несанкционированное использование ресурсов компьютера;
- запись произвольных данных на локальный компьютер;
- раздражение пользователя и т.п.
Как средство для проведения атак мобильный код может быть
реализован в виде:
- вируса, который вторгается в вашу систему и уничтожает
данные на локальных дисках, постоянно модифицируя свой
код, затрудняя тем самым свое обнаружение и удаление;
- агента, перехватывающего пароли, номера кредитных карт
и т.п.;
- программы, копирующей конфиденциальные файлы, содержащие
деловую и финансовую информацию и пр.
Можно заметить, что некоторые из угрозы сами по себе уже
являются атаками и были рассмотрены выше. Маскироваться
такие программы могут под анимационные баннеры, интерактивные
игры,
звуковые файлы и т.п.
Наиболее часто (из-за своей простоты) мобильный код Java,
ActiveX или JavaScript реализует атаки типа "отказ в
обслуживании". Может осуществляться путем:
- создание высокоприоритетных процессов, выполняющих несанкционированные
действия;
- генерация большого числа окон;
- "захват" большого объема памяти и важных системных
классов;
- загрузки процессора бесконечным циклом;
- и т.п.
Пример, приведенный во врезке 2, содержит HTML-страницу
со сценарием на языке JavaScript, который приводит к циклическому
созданию окна и невозможности его закрытия. Для завершения
цикла приходится выходить из броузера путем завершения
задачи
в Task Manager (для ОС Windows NT).
Врезка 2. Пример атаки "отказ в обслуживании" при
помощи мобильного кода
< HTML>
< HEAD>
<
TITLE>Демонстрация атаки Denial of Service</TITLE>
< /HEAD>
< BODY>
< CENTER>
<
H1>Демонстрация атаки Denial of Service</H1>
<
HR>Как дела?<BR>
< /HR>
< /CENTER>
< SCRIPT>
while(1){alert("Не все то золото, что блестит!")}
< /SCRIPT>
< /HTML>
Программы типа "троянский конь" сейчас у всех на
слуху и о них можно говорить также долго и много, как и о
вирусах (многие даже считают "троянцев" разновидностью
вирусов). Хочется сказать следующее, что в настоящий момент
существует более 50 основных "троянских коней",
которые выполняют огромное число функций, начиная от перехвата
ввода с клавиатуры и кражи паролей и заканчивая удаленным
управлением узлом, на котором он установлен. Основная опасность
от такого рода программ заключается в том, что они работают
незаметно (или почти незаметно) для пользователя.
По сведениям российских провайдеров они каждый день фиксируют попытки использования "троянцев", крадущих пароли от незащищающих себя пользователей. Наиболее известными "троянскими конями" считаются Back Orifice и NetBus (рис.5.). Эти две программы выполняют множество функций и в некоторых организациях его даже используют в качестве средства удаленного сетевого администрирования.
Для защиты от враждебного мобильного кода могут быть предложены различные механизмы. Самый простой из которых - правильная конфигурация узлов информационной системы. Запрет использования Java, ActiveX и JavaScript в броузерах на рабочих станциях защитит от многих проблем, а постоянное обновление программного обеспечения (особенно Microsoft) при помощи patch'ей позволит быть уверенным, что злоумышленники не смогут воспользоваться уязвимостями в броузерах, почтовых программах и т.д. Запрет несанкционированного изменения системного реестра (в т.ч. и удаленного) не позволит многим "троянцам" запускаться на компьютере. В сети Internet также существуют свободно распространяемые средства, обнаруживающие и удаляющие многие из известных "троянов". К числу таких средств можно назвать NukeNabber или TrojanCleaner.
К другим средствам, обнаруживающим и блокирующим враждебный
код, можно отнести:
- межсетевые экраны, которые могут блокировать применение
Java и ActiveX;
- антивирусные системы, обнаруживающие программы типа "троянский
конь";
- системы контроля мобильного кода Java и ActiveX (например,
продукты компании Finjan, Security-7 Software или Digivity);
- системы обнаружения атак;
- системы анализа защищенности.
Выводы
Зачастую встроенные механизмы операционной системы не позволяют
предотвратить и даже обнаружить некоторые атаки. В этом
случае рекомендуется использовать дополнительные средства
защиты. Причем такие средства могут быть как свободно распространяемыми
(freeware), так и коммерческими продуктами. Какие из этих
средств лучше, надо решать в каждом конкретном случае по-своему.
В случае нехватки денег на приобретение средств защиты
конечно приходится обращать свое внимание на бесплатные
средства. Однако администратор, использующий такие средства,
принимает на себя все риски, связанные с некачественной
реализацией защитных функций, отсутствием технической поддержки
и т.д. Из коммерческих российских средств, реализующих
большое число защитных функций можно назвать системы семейства
SecretNet, разработанные Научно-инженерным предприятием "Информзащита",
и обеспечивающим защиту от многих из рассматриваемых атак
для ОС Windows 3.x/9x/NT, Novell Netware 3.x/4.x/5.0 и
Unix.
В небольшой статье очень трудно рассказать обо всех возможных
атаках и способах защиты от них. Однако о наиболее распространенных
из них, по моему мнению, мне удалось рассказать. Необходимо
еще раз отметить, что чисто техническими средствами решить
задачу построения комплексной и эффективной системы защиты
невозможно. Необходим комплекс организационных, законодательных,
физических и технических мер.