Технология Honeypot. Часть 2: Классификация Honeypot. 23 октября, 2006 Тарасенко Антон. kshimaro@gmail.com 1.1 Признаки, используемые при классификации В первой части было показано, что существует достаточно большое количество различных способов, чтобы построить и развернуть средство Honeypot. То, каким образом будет спроектирован Honeypot, зависит от задач, которые он должен решать. Если необходимо изучить мотивации поведения злоумышленников, методы их атак и средств – тогда требуется построить сложный Honeypot, который предоставляет злоумышленнику полноценную операционную систему, с которой он будет взаимодействовать, и обеспечить высокий уровень протоколирования. Если необходимо обнаружить несанкционированную активность, такую как сканирование системы, то для этих целей можно построить простой Honeypot, который будет имитировать минимальные возможности и операции сервисов, записывая лишь команды взаимодействия со злоумышленником. Если стоит задача обнаружить сетевого червя для анализа, тогда потребуется построить гибкий Honeypot, который будет взаимодействовать с червем, собирая элементы его активности. Данные примеры демонстрируют дифференцированную функциональность Honeypot. Кроме того, они подчеркивают те признаки, по которым можно классифицировать Honeypot. Данные признаки представлены на рисунке 1. Рис. 1. Признаки, классифицирующие Honeypot Процесс установки и настройки – характеризует время и усилия при установке и настройке Honeypot. Таким образом, чем сложнее Honeypot и чем обширнее задачи, которые перед ним ставятся – тем значительнее данный параметр. Увеличивающаяся функциональность, которая предоставляется злоумышленнику, требует установки и настройки большего количества сервисов и способности обработки большего числа команд. Простой процесс установки не включает в себя требований по конфигурированию или заданию дополнительных параметров работы средства Honeypot, средний – требует установки или выбора ограниченного числа параметров (например, выбор варианта имитируемого сервиса) для корректной работы средства, сложный – необходима достаточно детальная настройка (обычно сопряженная с установкой), задание большого числа дополнительных параметров функционирования средства Honeypot. Процесс использования и поддержки – характеризует время и усилия при использовании и поддержке Honeypot после процесса установки и настройки. Очевидным образом следует, что чем выше функциональность Honeypot, тем сложнее его использование, и тем больше времени и усилий требует его поддержка. Простой процесс использования и поддержки подразумевает минимальное количество времени, необходимое для поддержки средства, а также простоту в использовании (например, для корректного использования необходимо лишь запустить программу). Средний уровень добавляет в процесс использования дополнительные действия, направленные на настройку Honeypot в процессе функционирования, необходимость участия администратора для корректировки поведения и т.п. Сложный уровень включает в себя необходимые действия в использовании и последующей поддержке средства (например, обновление программного обеспечения, восстановление окружения для дальнейшего исследования после того, как было произведено взаимодействие). Сбор данных – характеризует объем данных, который Honeypot может собрать о злоумышленнике и его активности. Если Honeypot является специально подготовленной операционной системой, то данных о злоумышленнике и его действиях может быть собрано достаточно много. Если же Honeypot – имитация какого-либо системного сервиса, то количество данных сокращается. Последний вариант является примером простого сбора данных. Переменным сбором данным характеризуются средства Honeypot, где существуют дополнительные настройки по выбору собираемых событий. Расширенный сбор данных подразумевает средство Honeypot сильного взаимодействия. Уровень протоколирования – характеризует степень детализации, с которой будет произведено протоколирование. Чем выше уровень протоколирования, тем большую детализацию имеют записи протокола программы. Низкий уровень протоколирования определяется небольшим уровнем подробности собранных данных. Как правило, данным уровнем обладают средства Honeypot слабого взаимодействия, когда протоколируются только IP-адрес источника взаимодействия и данные, исходящие от злоумышленника. Средний уровень протоколирования может включать в себя протокол обеих сторон взаимодействия, а также дополнительные данные (например, конкретное время прихода данных, идентификаторы взаимодействий и т.п.). Высоким уровнем протоколирования обладают Honeypot сильного взаимодействия, когда средство берет на себя обязанность протоколировать все события, происходящие в системе при взаимодействии. Уровень имитации – характеризует степень имитации сервиса. Простой уровень имитации подразумевает практически полное отсутствие поддержки функциональности имитируемого сервиса (например, возможность выводить только приветственное сообщение при соединении). Средний уровень подразумевает достаточно подробную имитацию сервиса, с учетом особенностей его работы. Высокий уровень имитации предполагает полную реализацию всех функциональных возможностей сервиса (по сути, происходит приближение к эмуляции сервиса). При использовании реальных операционных систем уровень имитации – высокий. В данную характеристику также включается уровень имитации поведения при реакции на попытку атаки. Уровень риска – характеризует степень риска при использовании Honeypot. Чем больше функциональных возможностей предоставляет Honeypot, тем выше вероятность, что Honeypot может быть использован для атаки других систем или сервисов. Низкий уровень риска включает в себя возможную атаку только против имитируемого сервиса. Средним уровнем риска обладают средства Honeypot, имитирующие несколько сервисов одновременно. Высокий уровень риска – недостаток Honeypot сильного взаимодействия. В настоящее время существует классификация средств Honeypot по степени взаимодействия со злоумышленником [1,4]. Рисунок 2 иллюстрирует данную классификацию. Рис. 2. Классификация Honeypot по степени взаимодействия Как видно из рисунка, выделяются три основных вида Honeypot: слабого взаимодействия; среднего взаимодействия; сильного взаимодействия. Каждый из этих видов Honeypot предоставляет определенную функциональность, или уровень взаимодействия злоумышленника с системой. Таким образом, начиная от Honeypot слабого взаимодействия, функциональные возможности Honeypot расширяются, что и показывают переходящие стрелки. Вместе с функциональными возможностями изменяются и значения ранее приведенных признаков первой классификации для каждого вида Honeypot. 1.2 Honeypot слабого взаимодействия Средства Honeypot слабого взаимодействия обычно достаточно просто установить, настроить, использовать и поддерживать, потому что они имеют простую структуру и базовую функциональность. Как правило, данные Honeypot имитируют только часть сервисов. Злоумышленник ограничен во взаимодействии с этими сервисами. Например, Honeypot слабого взаимодействия может имитировать стандартный сервер Unix с несколькими запущенными сервисами, такими как telnet или FTP. Злоумышленник может создать соединение telnet к системе, получить баннер операционной системы и запрос login. После чего, злоумышленник может совершать попытки подбора пароля, которые будут записываться Honeypot, но настоящей операционной системы нет, и взаимодействие злоумышленника с системой на данном этапе заканчивается. Другим примером может служить имитируемый FTP-сервер, на который злоумышленник может войти под анонимной учетной записью и скачать файл с паролями. При этом существует только одна учетная запись – анонимная. И файл, естественно, будет не настоящим. Взаимодействие с Honeypot ограничено попытками произвести авторизацию, анонимным доступом и способностью скачать поддельный файл с паролями. Главная цель Honeypot слабого взаимодействия – обнаружение, в особенности, сканирований и несанкционированных попыток соединения. В силу того, что данные средства Honeypot предоставляют ограниченную функциональность, большинство из них представляются в виде программ. Программа может быть просто установлена на хост и настроена в соответствии с требованиями. Задачи администратора в данном случае – производить мониторинг предупреждений, которые генерирует Honeypot, а также отслеживать изменения имитируемого программного обеспечения. Так как Honeypot слабого взаимодействия просты, они имеют минимальный уровень протоколирования и наименьший уровень риска. Низкая функциональность приводит к уменьшению возможных действий для протоколирования и низкой вероятности допустить ошибку. Кроме того, реальная операционная система не предоставляется для взаимодействия злоумышленнику, поэтому Honeypot данного типа не может быть использован для атаки или исследования других систем. Риск также уменьшает тот факт, что Honeypot слабого взаимодействия достаточно легко использовать и поддерживать. Средства Honeypot подобного вида ограничены в количестве информации, которое они могут предоставить о злоумышленнике. Решения слабого взаимодействия предоставляют транзакционную информацию. Транзакционная информация – это данные, собранные об обстоятельствах атаки, но не о самой атаке. Для Honeypot слабого взаимодействия это следующее: время и дата атаки; IP-адрес и порт источника (злоумышленника); IP-адрес и порт назначения (средства Honeypot). Если имитируемые сервисы предоставляют какое-либо взаимодействие со злоумышленником, то существует возможность получить его активность. Какой объем активности может быть получен, зависит от возможностей и уровня имитации Honeypot слабого взаимодействия. Honeypot слабого взаимодействия направлены на сбор известного поведения. Злоумышленник взаимодействует обычным образом, а Honeypot имеет заранее определенные виды ответов. Honeypot слабого взаимодействия показывают плохой или даже отрицательный результат при взаимодействии с неизвестными или непредсказуемыми видами атак. В силу их простоты и небольшого риска, Honeypot слабого взаимодействия рекомендуется для индивидуального использования или для небольших организаций. Honeypot слабого взаимодействия также могут быть использованы для улучшения понимая данной технологии. 1.3 Honeypot среднего взаимодействия Средство Honeypot среднего взаимодействия предоставляет злоумышленнику больше возможностей, нежели Honeypot слабого взаимодействия, но имеет меньшую функциональность по сравнению с Honeypot сильного взаимодействия. Данные средства могут ожидать различную активность, и спроектированы давать несколько возможных ответов на действия злоумышленника. Например, если имитируется IIS Web Server, то Honeypot может быть сконфигурирован с различной функциональностью и поведением, чтобы обнаруживать определенного сетевого червя. Данный уровень взаимодействия уже выше, нежели у Honeypot слабого взаимодействия, где присутствует только HTTP-баннер. При этом имеется возможность собрать поведение червя для последующего анализа. Ему не предоставляется полноценная операционная система, что снижает риск. Существует только имитируемое приложение. Другим примером Honeypot среднего взаимодействия являются некоторые возможности операционной системы Unix, такие как “chroot”, или же в Windows – Virtual Machine Ware (VMWare). Они позволяют администратору разбивать окружение операционной системы, создавая виртуальные операционные системы внутри реальной. Виртуальная операционная система может контролироваться реальной операционной системой, но использование такой системы внешне очень схоже с настоящей. Смысл состоит в том, что злоумышленник будет взаимодействовать с поддельным окружением, таким образом, вся его активность может быть контролируема со стороны реальной операционной системы. Однако данный подход имеет несколько проблем. Во-первых, данное решение достаточно сложное, таким образом, на стадии работы или конфигурирования могут проявиться ошибки. Во-вторых, придать виртуальному окружению полную функциональность и взаимодействие с реальной операционной системой – трудоемкая задача. Чем больше функциональности и реалистичности придается виртуальному окружению, тем легче для злоумышленника обойти данное окружение и получить контроль над реальной операционной системой. Таким образом, большинство Honeypot среднего взаимодействия не предоставляют полной функциональности стандартной операционной системы. Honeypot среднего взаимодействия требует несколько больших усилий при установке и настройке, чем слабого взаимодействия. Обычно данные решения не поставляются в виде готовых программных решений. Для того чтобы ввести в эксплуатацию подобный вид Honeypot требуется детальная настройка функциональности по сравнению с Honeypot слабого взаимодействия. Использование и поддержка средств Honeypot среднего взаимодействия также более сложный процесс. Злоумышленники имеют большую долю взаимодействия с системой, поэтому требуется осуществить дополнительные меры безопасности. Необходимо разработать механизмы, которые дадут уверенность, что злоумышленник не сможет повредить другим системам, и увеличенная функциональность не окажется уязвимой. Кроме того, должна осуществляться регулярная поддержка Honeypot, выражающаяся в постоянном мониторинге новых уязвимостей. Honeypot среднего взаимодействия также более сложны и увеличивают степень риска. При этом они способны получить гораздо больше информации. В отличие от обычного сканирования портов, существует возможность записи активности сетевых червей и злоумышленников, изучения состояния системы после взлома (например, каким образом злоумышленник проник в систему и повысил права), а также в сборе программных средств злоумышленника. 1.4 Honeypot сильного взаимодействия Средства Honeypot сильного взаимодействия достаточно опасны. Они предоставляют большее количество информации о злоумышленниках, но требуют достаточное время для построения и поддержки. Кроме того, приносят самый высокий уровень риска. Цель Honeypot сильного взаимодействия – предоставить злоумышленнику доступ к реальной операционной системе, где ничего не имитируется или ограничивается. Удобства для изучения в данном случае невероятны. Существует возможность исследовать новые средства, обнаруживать новые уязвимости в операционных системах или приложениях, а также узнавать, каким образом злоумышленники связываются между собой. Для создания подобного окружения, в принципе, не требуется вносить какие-либо изменения в реальные операционные системы. Большинство стандартных сборок не имеют никаких отличий относительно существующих производственных систем в большинстве организаций. Единственная вещь, которая определяет эти системы как Honeypot, - это то, что они не имеют производственного значения. Их цель – быть исследованными, атакованными или скомпрометированными. Следует сделать вывод, что такое мощное средство приносит огромный уровень риска. После получения злоумышленником полного доступа, он начинает взаимодействовать с полнофункциональной операционной системой, которая предоставляет ему возможность осуществлять любые действия, например, атаковать другие системы или собирать внутренний трафик. Обширный объем работы должен заключаться в снижении этих рисков. В большинстве случаев Honeypot сильного взаимодействия располагаются в контролируемой среде, например, в сети - после межсетевого экрана. Способность контролировать злоумышленника происходит не от самого Honeypot, а от контролирующего сетевого устройства – чаще всего, межсетевого экрана. Межсетевой экран предоставляет злоумышленнику возможность атаковать средство Honeypot, но запрещает производить внешние атаки. Так как построенная архитектура достаточно сложна, то требуется детально определить базу правил межсетевого экрана. Из-за расширенного механизма контроля, установка и настройка Honeypot сильного взаимодействия требует достаточных усилий и времени. Кроме того, различные технологии обеспечения безопасности, например, ранее рассмотренные межсетевые экраны, а также системы обнаружения вторжений, могут быть также включены в построение Honeypot сильного взаимодействия. Однако поддержка данной системы будет усложнена обновлением баз правил межсетевого экрана и сигнатур атак системы обнаружения вторжений. При этом, чем большее взаимодействие разрешается злоумышленнику, тем больше вероятность ошибки на каком-то шаге. Но единожды корректно установленный и настроенный, Honeypot сильного взаимодействия может предоставить такую информацию, которую не сможет дать ни один из других типов Honeypot. Каждый из рассмотренных видов средств Honeypot имеет соответствующие значения признаков по первой классификации. В табл 1. представлено сопоставление классификаций по степени взаимодействия и по значениям признаков. Таблица 1. Процесс Процесс Уровень Сбор Honeypot установки использование взаимопротоколидействие и данных и поддержки рования настройки простой простой ограниченный низкий слабое средний средний переменный средний среднее сложный расширенный высокий сильное сложный Уровень Уровень имитации риска низкий средний высокий низкий средний высокий Функциональные требования к Honeypot 1.5 C учетом построенной классификации выдвигаются следующие функциональные требования к средствам Honeypot: 1. 2. 3. 4. 5. 6. 7. Возможность выбора варианта имитируемого сервиса (например, выбор различного FTP-сервера). Максимальное приближение к имитируемому сервису: o особенности работы; o реакция на стандартные/нестандартные команды или запросы; o поддержка реализованных дополнительных возможностей выбранного сервиса. Существование возможности (или условий) эмуляции взлома сервиса. Соответствие текущему (современному) набору уязвимостей. Под набором уязвимостей понимается совокупность известных уязвимостей для данного сервиса, а также набор вариантов аномального поведения при взаимодействии с имитируемым сервисом. Таким образом, Honeypot должен содержать наборы уязвимостей для каждого имитируемого сервиса и аналитический модуль принятия решений для установления факта взлома или наличия аномального поведения при взаимодействии с имитируемого сервисом. Существование базы данных для хранения наборов уязвимостей, с возможностью изменения и дополнения. Защита БД наборов уязвимостей от дополнительных угроз (возможность реализации атаки на другие, не имитируемые сервисы, в результате которой свойства целостности и конфиденциальности БД наборов уязвимостей будут нарушены). Одним из главных требований по данному пункту является требование размещения БД уязвимостей на другом хосте. Полное протоколирование взаимодействия потенциального нарушителя с Honeypot. Протокол должен содержать как информацию, которая была получена от нарушителя, так и ответ имитируемого сервиса, который был отослан нарушителю. Следующая часть статьи называется “Обзор существующих Honeypot”. Данная часть содержит обзор ныне существующих и использующихся средств Honeypot. Данные средства были специально классифицированы с использованием критериев второй части, что позволит Вам увидеть плюсы и минусы каждого средства, а также цели и окружение для их развертывания, дабы выбрать наиболее подходящее для вашей организации. Список использованных источников в данной части: 1. Lance Spitzner. Honeypots: Tracking Hackers. Addison Wesley, 2002. 2. Honeypots: Monitoring and Forensics, 2002. Доступно с http://honeypots.sourceforge.net. 3. Lance Spitzner. Dynamic Honeypots, 2003. Доступно с http://www.securityfocus.com/infocus/1731. 4. The Honeynet Project. Know Your Enemy: Learning about Security Threats, 2003. Оптические патчкорды, пигтэйлы Оптические шнуры любой длины: SC, FC, ST, LC, MTRJ, MU. Цена от 75руб.