ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА
МОДЕЛИРОВАНИЯ АТАК НА
WEB-СЕРВЕР
ДЛЯ АНАЛИЗА УЯЗВИМОСТЕЙ КОМПЬЮТЕРНЫХ СИСТЕМ
*

И.В. Котенко, М.В. Степашкин

СПИИРАН, { ivkote@iias.spb.su, stepashkin@computer.edu.ru }

Abstract - The paper considers an approach to construction of Web-server attack simulator based on using ontology of network attacks, advanced mechanisms and strategies of attack realization, as well as information repository of vulnerabilities and exploits. Network attacks to Web-server are characterized. The ontology of these attacks is described. The general structure of the attack simulator is presented. The attack generation mechanisms are discussed.

 


1. Введение

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

Важным аспектом обеспечения безопасности Web-серверов является создание механизмов и средств защиты Web-сервера от действий злоумышленников. Одним из таких средств являются системы тестирования защищенности (анализа уязвимостей) Web-сервера.

Примерами систем анализа уязвимостей являются ISS Internet Scanner, XSpider, LanGuard, ShadowSecurityScanner, XFocus X-Scan, Nessus и др. По степени активности воздействий, оказываемых на исследуемую информационную систему, системы анализа уязвимостей классифицируются на пассивные и активные.

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

Системы активного анализа уязвимостей (системы моделирования атак) имитируют реализацию различных сетевых атак на исследуемую информационную систему [1]. Кроме тестирования безопасности, они могут быть также использованы для обучения систем обнаружения вторжений с целью приобретения необходимых данных о возможных вторжениях.

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

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

2. Описание атак на Web-сервер

Атака на Web-сервер – это реализация воздействий на сервер, которые прямо или косвенно могут нанести ущерб его безопасности. Для практической реализации системы моделирования атак на web-сервер необходимо разработать онтологию атак на Web-сервер, т.е. создать модель предметной области, отделенной от специфики предполагаемой реализации и включающей только множество базовых понятий и отношений.

Составной частью разработки онтологии атак является их классификация [2]. По стадиям реализации атаки на Web-сервер можно разбить на группы, обеспечивающие осуществление следующих основных фаз: (1) разведка; (2) внедрение на хост; (3) повышение привилегий; (4) реализация угрозы; (5) сокрытие следов; (6) создание потайных ходов.

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

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

Повышение привилегий основано на сборе информации (например, за счет использования программ srvinfo и regdump, поиска паролей в bat-файлах и др.), использовании утилит getadmin и sechole, выполнении ложных запросов к портам LPC, взломе баз данных SAM, использовании троянских коней и именованных конвейеров и др.

Этап реализации угрозы может базироваться на ошибке IISTranslate: f”, изъянах в сценариях Phf, MDAC RDS IIS 4.0, CGI систем Irix, webhits.dll, Cold Fusion, PHP, wwwcount.cgi, iishack сервера IIS 4.0, showcode.asp, codebrws.asp, неверной интерпретации точки и использовании альтернативных потоков данных в ASP, применении скрытых дескрипторов; прямом добавлении информации из форм ввода в файл и многих других.

Сокрытие следов включает в себя отключение аудита, очистку журналов регистрации событий, скрытие файлов (attrib, потоки в файлах NTFS).

На стадии создания потайных ходов осуществляется установка утилит удаленного администрирования (remote.exe, winVNC, Remote Administrator и пр.), установка доступа к командной оболочке с помощью netcat, использование NetBust и BackOrifice 2000, прикрепление троянских программ к исполняемым файлам в процессе запуска системы и т.п.

3. Онтология атак на Web-сервер

Представленный выше подход к классификации атак на web-сервер позволил разработать онтологию атак. В этой онтологии понятия вышележащего уровня связываются с соответствующими понятиями смежного нижележащего уровня при помощи отношений трех видов: “Part of” – отношение декомпозиции (“Целое – часть”); “Kind of” – отношение специализации (“Понятие – класс понятия”); “Seq of” – отношение порядка выполнения (“Операция – этап реализации”). Каждый сетевой пакет связан отношением “Example of” (“Тип объекта – экземпляр объекта”) со своей конкретной реализацией.

Каждый узел онтологии представляется следующим образом: <маркер узла>: <название узла (интерпретация)> (<идентификатор узла>) (<Пояснение (может отсутствовать)>). Например, самый верхний узел рассматриваемой онтологии, имеющий название “Атака на Web-сервер” (Attack on the web-server), идентифицируется следующим образом: A: Attack on the web-server (1), где A – маркер узла, Attack on the web-server – название узла, (1) – идентификатор узла.

4. Структура системы моделирования атак на Web-сервер

Предлагаемая структура системы моделирования атак на web-сервер представлена на рис.1. Числа на рис.1 задают возможную последовательность использования элементов системы при генерации атак.


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

Основными компонентами информационного хранилища системы является база знаний об уязвимостях, которым подвержены


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

5. Механизмы генерации атак

Последовательность функционирования системы моделирования атак на Web-сервер представлена на рис.2 с помощью стрелок.

Рассмотрим процесс функционирования системы на конкретном примере. Пусть необходимо полученить права администратора на сервере с IP-адресом 10.0.0.1.

В этом случае подцели этапов реализации атаки могут быть следующими: (1) получение учетной записи с правами обычного пользователя; (2) повышение привилегий до прав администратора. Другой альтернативой для реализации этой атаки является получение файла с паролями /etc/passwd, содержащего пароль администратора.

На этапе разведки система может получить следующие данные: (1) сканирование портов показало наличие двух портов, которые находятся в режиме прослушивания (21, 80); (2) с помощью активного анализа стека с большой степенью вероятности была определена ОС (Linux); (3) соединение с ftp-сервером позволило идентифицировать его как “wu-ftpd 2.6.0”; (4) наконец, удалось определить web-сервер (apache 1.3.1).

Исходя из заданного намерения, модуль выбора уязвимостей находит в БЗ, что пользователь может получить права администратора, передав ftp-серверу данные, содержащие строку “|31c031db 31c9b046 cd80 31c031db|”. Таким образом, основная задача (передача хакеру файла с паролями) решается в случае получения хакером прав пользователя для ftp-сервера.

Получить права пользователя можно методом подбора пароля в лоб. Тогда упрощенно последовательность действий во время атаки будет выглядеть следующим образом: (1) подбор пароля к ftp-серверу в лоб (результат – имя легитимного пользователя и его пароль); (2) повышение привилегий и получение файла с паролями. Для этого необходимо выполнить следующие действия: произвести соединение с ftp-сервером, указав имя пользователя и пароль, найденные на первом этапе, и отправить серверу данные, содержащие строку “|31c031db 31c9b046 cd80 31c031db|”. Результат – в рамках данного сеанса хакер имеет привилегии администратора и может беспрепятственно получить файл с паролями, после чего необходимо завершить сеанс работы с ftp-сервером.

6. Заключение

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

Литература

1.     Gorodetski V., Kotenko I. Attacks against Computer Network: Formal Grammar-based Framework and Simulation Tool // Recent Advances in Intrusion Detection. Switzerland. Proceedings. Lecture Notes in Computer Science, V.2516. 2002.

2.     Степашкин М.В., Котенко И.В. Классификация атак на Web-сервер // VIII Санкт-Петербургская Международная Конференция “Региональная информатика-2002” Материалы конференции. Часть 1. СПб., 2002.



* Работа выполнена при финансовой поддержке РФФИ (проект № 01-01-00108)