2
СЕТИ ЭВМ
И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
ЛОЖНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ ДЛЯ ИССЛЕДОВАНИЯ И ОТВЛЕЧЕНИЯ АТАК
Н.М. Лукьянов, А.М. Дергачев
В статье рассматриваются проблемы массового использования ложных вычислительных систем для исследования и отвлечения атак на вычислительную систему. В ней рассматривается возможность применения таких систем совместно с сетевыми экранами и системами обнаружения вторжений. В задачи исследования входила разработка прототипа ложной вычислительной системы и пробная эксплуатация в составе реальной вычислительной сети, а также оценка работоспособности этого прототипа по результатам испытаний.
В связи с постоянно растущим числом корпоративных сетей, сетевых сервисов и пользователей Интернет самым острым образом встает вопрос о безопасном функционировании информационных систем.
По данным БиБиСи, количество зараженных компьютеров, подключенных к Сети, по состоянию на январь 2007 составляет 25% от общего числа [18]. За последние 6 лет число критических уязвимостей операционных систем и приложений увеличилось в 8 раз и в 2006 году составило 8,064 (данные CERT). Попеременно или день в день выходят и объявления об уязвимости, и вирусы, использующие эту уязвимость. Программы, обеспечивающие злоумышленникам несанкционированный контроль над компьютером, называемые ботами, также вносят вклад в усугубление киберугроз.
Вся защита на сегодняшний день основана на блокировании и принятии контрмер против наиболее распространенных типов атак. Однако при появлении очередного нового метода атаки или ранее не известной уязвимости (так называемой «уязвимости нулевого дня») защищающаяся сторона оказывается уязвимой.
Поэтому применяются новые средства мониторинга и активной защиты, такие как система обнаружения вторжения и системы предотвращения вторжения. Однако они также обладают рядом недостатков: они могут фиксировать ложные тревоги и требуют постоянного обновления сигнатур.
Именно такая сложная ситуация с существующими средствами защиты сетей и побуждает искать дополнительные средства защиты и отвлечения атак. Идея создания специальной среды для изучения действий атакующего впервые встречается в публикации Билла Чесвика (Bill Cheswick) «An evening with Berferd», описывающей действия администратора после обнаружения попытки проникновения. В этой ситуации для отслеживания действий злоумышленника была создана замкнутая среда при помощи широко используемых в UNIX технологий chroot и jail. С тех пор такие системы принято называть «honeypot» (от английского «бочонок с медом», «приманка») или ложные вычислительные системы (ЛоВС). В отличие от систем обнаружения и предотвращения вторжений, технология ложных вычислительных систем предлагает заманивать атакующих в систему и анализировать их действия с самого начала. Ложная система представляется атакующему как настоящая. Главная ее задача - отвлечение внимания атакующей стороны от реальной цели и получение как можно более полной информации об атакующих.
На сегодняшний день существует небольшое количество ЛоВС, и они не могут использоваться в масштабе предприятия. У ложных систем существует множество нерешенных проблем. Прежде всего - это сложность настройки и поддержки системы -
Введение
разрозненность компонентов, отсутствие готовых к работе систем, затраты аппаратных ресурсов. Также не решена проблема сбора и обработки данных. Результаты работы системы не всегда понятны, поскольку существует несколько источников данных, у каждого из которых - свой собственный интерфейс пользователя.
Для решения этих проблем можно предложить следующие пути. С помощью виртуализации систем можно исключить избыточность оборудования и сократить трудоемкость развертывания систем, разработать специальных программных агентов сбора и обработки данных, а также единый вариант представления данных на основе веб-интерфейса.
Классификация ЛоВС
В общем случае ЛоВС можно классифицировать по степени взаимодействия со злоумышленником. Выделяются два основных вида систем - слабого и сильного взаимодействия.
ЛоВС слабого взаимодействия, как правило, имитируют некоторую часть сетевых сервисов. Злоумышленник ограничен во взаимодействии с этими сервисами. Главная цель ЛоВС слабого взаимодействия - обнаружение сканирований и несанкционированных попыток соединения. ЛоВС может быть просто установлена и настроена в соответствии с требованиями с помощью скриптов или сценариев. Задачи администратора в данном случае - производить мониторинг предупреждений, которые генерирует ЛоВС, а также отслеживать изменения имитируемого сервиса. Такие ЛоВС полезны при массовых атаках роботов, на Интернет-порталах, сетях беспроводной передач данных, когда массовость обращений к сервису компенсируется его низким уровнем взаимодействия со злоумышленником.
ЛоВС сильного взаимодействия предоставляют большее количество информации о злоумышленниках, но требуют достаточное время для построения и поддержки. Цель ЛоВС сильного взаимодействия - предоставить злоумышленнику доступ к реальной операционной системе, где ничего не имитируется или ограничивается. Существует возможность исследовать новые средства, обнаруживать неизвестные уязвимости в операционных системах или приложениях, а также узнавать, каким образом злоумышленники связываются между собой.
Обычно ЛоВС сильного взаимодействия располагаются в контролируемой среде, например, в сети - после сетевого экрана. Способность контролировать злоумышленника происходит не только от самой ЛоВС, но и от контролирующего сетевого устройства - сетевого экрана. Сетевой экран предоставляет злоумышленнику возможность атаковать ЛоВС, но запрещает производить внешние атаки.
Использование виртуальных машин
В последнее время серверная виртуализация получила широкое распространение, и технологии, такие как VMware, сейчас очень популярны. Виртуализация серверов -это размещение нескольких независимых операционных систем на одном физическом компьютере, эмуляция сетевых интерфейсов и коммуникационного оборудования.
Виртуализация ложных вычислительных систем предполагает выполнение на одном физическом сервере нескольких ОС, каждая из которых может быть использована как для эмуляции отдельных служб, так и в качестве полноценных ложных систем сильного взаимодействия. Предустановленные образы ложных систем позволяют решить проблему сложности развертывания и обслуживания ЛоВС, что так необходимо при масштабном применении системы.
На рис. 1 можно увидеть, как на одном сервере размещаются три ложные системы - две ложных системы слабого взаимодействия и одна ложная система сильного взаимодействия. Используется полная виртуализация на базе виртуальных машин УМШаге.
Рис. 1. Принцип полной виртуализации ЛоВС
Гостевые операционные системы, запущенные на основной системе, представляются атакующему как реальные независимые системы. Все пакеты, поступающие на внешний интерфейс основной системы, передаются на гостевые операционные системы - виртуальные ЛоВС. Через свои интерфейсы ЛоВС не имеют доступа к производственной сети и управляющим системам, что обеспечивает необходимый уровень безопасности. В случае взлома гостевой ОС атакующий не сможет использовать такую систему для последующих атак.
Анализ и обработка данных
Для систем слабого взаимодействия сбор данных организуется с помощью службы журналирования БуБ1о§, а данные ложных систем сильного взаимодействия отправляют с помощью специального скрытого модуля ядра БеЬек.
Работа БеЬек основана на подмене системного вызова геаё(). Таким образом, эта утилита может записывать все данные, к которым через вызов геаё() имел доступ атакующий. Например, БеЬек может контролировать системные отчеты ББИ-сессий, восстанавливать файлы, скопированные с помощью БСР, а также перехватывать все пароли, используемые злоумышленниками. Собранные данные скрытно пересылаются с клиента на сервер БеЬек. Скрытие от хакера исходящих пакетов достигается путем модификации сетевого стека ОС.
Для централизованной регистрации событий ложных систем слабого и среднего взаимодействия необходимо перенаправлять все регистрируемые события из локального хранилища ложной вычислительной системы в центральное хранилище. Для этого необходимо настроить службу журналирования событий БуБ1о§ таким образом, чтобы
все зарегистрированные события ложной системы отправлялись на удаленную систему регистрации событий.
Программный агент сбора и обработки данных, находящийся на шлюзе ЛоВС, преобразует данные с ложных систем слабого и сильного взаимодействия к единому формату для дальнейшего сопоставления данных из других источников, таких как, например, систем обнаружения вторжений. После этого уже однородные данные могут анализироваться готовыми средствами анализа данных.
Рис. 2. Сбор и обработка данных
Испытание системы
Для оценки работоспособности и получения практических результатов работы системы на основе рассмотренных выше компонент был создан прототип (см. рис. 3). Он состоял из двух серверов. Первый сервер являлся шлюзом в Интернет, а также собирал данные о работе ложных систем. У него было три сетевых интерфейса.
Все пакеты, поступающие на внешний интерфейс шлюза, обрабатывались системой обнаружения вторжений и передавались на виртуальные ложные системы, расположенные на втором сервере. Через свои интерфейсы ложные системы не имели доступа к производственной сети и управляющим системам. Информация о работе ложных систем поступала и обрабатывалась на сервере обработки данных.
Рис. 3. Прототип системы
Рис. 4. Статистика соединений
Данный прототип ложных вычислительных систем был размещен в реальной производственной сети. Он состоял из 2 ложных систем слабого взаимодействия, имитирующих серверы на ОС Linux и Windows, и 1 ложной системы сильного взаимодействия на базе систем Linux RedHat.
Испытания системы проводились 1 месяц, в течение которого было зафиксировано 27483 соединений (см. рис. 4). Порт с наибольшим количеством соединений - это порт 80. Соединения на этот порт - преимущественно попытки атаки на веб-сервер Microsoft IIS, который имитирует ложная система слабого взаимодействия. Также очень большое количество соединений производилось по порту 139, атаку на который проводит вирус Sasser.
Данный график также показывает, что ложная система была множество раз атакована вирусом - червем под названием MS Blast, который использует порты 139 и 4444.
Было произведено 3670 попыток соединения со службой удаленного администрирования VNC, в основном в надежде на отсутствие пароля или с попытками его перебора. Меньшее количество соединений у портов служб базы данных MySQL - 754. Со службой удаленного администрирования Windows машин Remote Administrator соединялись 441 раз, также как и в случае с VNC для перебора пароля. Со службами удаленного доступа SSH и веб-службой удаленного администрирования Webmin соединялись 379 и 337 раз соответственно.
Заключение
В результате исследований был предложен и описан целый ряд решений, призванных устранить недостатки существующих ложных вычислительных систем. Результаты исследований и проведенных испытаний подтверждают правильность выбора решений и архитектуры системы.
В построенной системе используется 2 типа ложных систем - слабого и сильного взаимодействия. Системы слабого взаимодействия имитируют отдельные службы, такие системы обычно используются для обнаружения сканирований и попыток несанкционированных соединений. Системы сильного взаимодействия - это настоящие, полностью открытые для взаимодействия операционные системы. Комбинация ложных систем разных типов взаимодействия позволяет быстро и точно копировать поведение реальных систем.
Применение технологии виртуализации дало возможность совместного размещения ложных систем разного уровня взаимодействия на одном и том же физическом сервере, а также позволило оперативно создавать и развертывать ложные системы по имеющемуся шаблону. Виртуализация также стала еще одним препятствием для атакующих в случае взлома ложных систем.
Использование программных агентов сбора и обработки данных и модели данных, не зависимой от источника, позволило преобразовывать данные с ложных систем слабого и сильного взаимодействия к единому формату для дальнейшего сопоставления данных из других источников, таких как, например, систем обнаружения вторжений. Использование схемы с центральной базой данных и возможность полностью импортировать данные из всех ЛоВС позволяет затрачивать гораздо меньше человеческих ресурсов при развертывании и обслуживании большого количества ЛоВС. Использование единого веб-интерфейса пользователя, который отображает данные об атаке с различных источников с максимальной детализацией, облегчает процесс управления и мониторинга системой.
Описанные выше решения основных проблем ЛоВС позволят использовать эти системы не только в академических целях, но и в масштабах предприятия. И, наконец, самое главный результат - это положительный опыт эксплуатации системы, получен-
ный в результате продолжительных испытаний в реальной вычислительной сети, находящейся в промышленной эксплуатации.
Литература
1. Reto Baumann, Christian Plattner. Honeypots. Swiss Federal Institute of Technologie Zurich, Febrary 2002.
2. Grimes Roger A. Honeypots for Windows // Apress, 2005. ISBN 1590593359
3. Jones R. Honeynets: An Educational Resource for IT Security / Proceedings of ACM SIGITE, Salt Lake City Utah, 2004.
4. Honeynet Project. Know Your Enemy: Learning about Security Threats (2nd Edition). Ad-dison-Wesley Professional, 2004.
5. Michael O'Leary, Shiva Azadegan, Jay Lakhani. Development of a Honeynet Laboratory: a Case Study. Towson University, January 2006.
6. Джонс M. Т. Виртуальный Linux. Обзор методов виртуализации, архитектур и реализаций // IBM developer Works, 2007.