Как и у Honeyd, основное предназначение Specter состоит в обнаружении. Однако, на этом их сходство заканчивается, эти два honeypots различны как день и ночь. Многие сильные стороны Honeyd являются слабыми у Specter, в то время как многие слабые стороны Honeyd являются сильными у Specter. Поэтому их очень интересно сравнить. Помните, однако, что для большинства honeypots является истинным утверждение, что среди них нет лучше или хуже, все зависит от того, какие цели вы преследуете.
Михаил Разумов, по материалам SecurityFocus
Это – третья статья из серии статей про honeypots. В первых двух статьях мы обсудили honeypot с открытым кодом Honeyd и его развертывание в Интернет. В этой статье мы рассмотрим другой honeypot, коммерческое решение Specter.
Как и у Honeyd, основное предназначение Specter состоит в обнаружении. Однако, на этом их сходство заканчивается, эти два honeypots различны как день и ночь. Многие сильные стороны Honeyd являются слабыми у Specter, в то время как многие слабые стороны Honeyd являются сильными у Specter. Поэтому их очень интересно сравнить. Помните, однако, что для большинства honeypots является истинным утверждение, что среди них нет лучше или хуже, все зависит от того, какие цели вы преследуете.
Specter – это коммерческий продукт, разработанный и продаваемый швейцарской компанией Netsec. Specter – одно из немногих honeypot-решений для среды Windows. Он разработан для коммерческих организаций, как небольших, так и огромных корпораций. Как вы увидите позже, им чрезвычайно легко пользоваться: множественными honeypot можно управлять удаленно, и он имеет всесторонний механизм предупреждений. Разработанный для Windows, он работает на NT, Win2000 и XP. Эта статья описывает Specter версии 6.0. Specter – так называемый производственный honeypot с низким уровнем взаимодействия. Honeypots с низким уровнем взаимодействия эмулируют сервисы: они ограничивают количество действий, которые плохие парни могут совершить с honeypot. Это взаимодействие ограничивается тем, насколько подробно эмулируются сервисы. В отличие от honeypots с высоким уровнем взаимодействия, не существует реальной операционной системы, к которой получают доступ плохие парни. Преимуществом honeypots с низким уровнем взаимодействия является то, что их проще устанавливать (как вы увидите дальше) и они менее рискованны. Один из рисков honeypots состоит в том, что взломщик может получить контроль над системой и использовать ее для атак на другие компьютеры. Honeypots с низким уровнем взаимодействия уменьшают этот риск, так как ограничивают действия, которые могут производить с honeypot взломщики. Недостатком таких honeypots является то, что они не могут собирать расширенную информацию (такую как IRC чаты, email, и т.п.). Однако, это и не является целью Specter. Это производственный honeypot: его цель в обеспечении безопасности организации путем обнаружения неавторизованной активности, а не в сборе сведений об атакующих.
Как все honeypots, Specter основан на том принципе, что не является используемым приложением; поэтому любая сетевая активность по отношению к нему является неавторизованной. Всякий раз, когда возникает взаимодействие с honeypot, это по определению наверняка является злонамеренной активностью. Это делает его чрезвычайно эффективным для обнаружения атак, особенно во внутренних сетях. Он быстро предупредит вас, если плохой парень нарушит ваш защитный периметр, или если у вас обнаружится сотрудник или партнер, ищущий что-то там, где не положено. Specter работает путем прослушивания определенных TCP сервисов. Когда атакующий взаимодействует с одним из этих сервисов, Specter перехватывает всю его активность, и генерирует предупреждение. В настоящий момент Specter не имеет возможности обнаруживать ICMP, UDP, или любой нестандартный IP-трафик. Specter –это не прибор. Это программа, которую вы устанавливаете на компьютер, аналогично другим приложениям, таким как Microsoft Office или Winamp. Specter наблюдает за IP адресом, присвоенным компьютеру. В отличие от некоторых других honeypots, Specter не может контролировать неиспользуемое IP пространство. Это ограничивает количество IP адресов, которые вы можете контролировать с его помощью.
В настоящий момент Specter может контролировать 14 TCP портов. Из этих 14 портов 7 являются тем, что Specter называет ловушки (traps), а оставшиеся 7 – сервисы. Ловушки – ничто иное, как прослушиватели порта: при попытке подсоединения, оно регистрируется и разрывается. Сервисы более продвинуты; они реально взаимодействуют с атакующим, эмулируя приложение. Уровень эмуляции зависит от каждого сервиса. Например, HTTP сервис эмулирует простой Веб-сервер, с заданными статичными веб-страницами. FTP сервер позволяет атакующему войти и исполнить некоторые основные ftp команды. Эти 7 ловушек и 7 сервисов перечислены в таблице ниже.
Таблица 1. Сервисы и ловушки, контролируемые Specter
Traps |
Services |
DNS |
FTP |
IMAP4 |
TELNET |
SUN-RPC |
SMTP |
SSH |
FINGER |
SUB-7 |
HTTP |
BOK2 |
NETBUS |
Generic |
POP3 |
Specter имеет множество опций, которые расширяют возможности семи сервисов, которые он прослушивает (вы не можете менять настройки семи ловушек, так как они ничего не делают, кроме регистрации и прерывания соединения). Первая из этих возможностей – эмуляция операционной системы. Specter может эмулировать до тринадцати операционных систем. Эта возможность может широко использоваться, так как вы можете установить образ операционной системы, которая используется в вашей организации. Если в вашей сети используются преимущественно Windows системы, вы можете заставить honeypot эмулировать компьютер Windows. Если у вас есть Solaris или Linux, вы просто можете выбрать соответствующую операционную систему. Делая так, что honeypot отображает те же системы и приложения, что используются внутри организации, он смешается с реальными системами, увеличивая возможности обнаружения.
Specter делает это, меняя поведение сервисов, основываясь на операционной системе, которую вы выберите. Например, если вы выберите, что honeypot будет компьютером Windows, то сервисы будут вести себя так, чтобы соответствовать компьютеру Windows. HTTP сервис будет вести себя как IIS Web server; приглашение в FTP сообщит, что это система Windows. Если вы выберите Linux honeypot, то HTTP сервис будет вести себя как Apache Web server, а FTP приглашение будет гласить, что это wu-ftpd FTP сервер. То же самое относится и к другим сервисам, таким как Telnet или SMTP. Помните, что нужно выбирать сервисы, характерные для операционной системы. Немногие из UNIX систем имеют Netbus или Sub-7, таким образом, если вы эмулируете систему Linux, вы можете не захотеть включить эти сервисы. Аналогично, если вы создаете Windows honeypot, вы можете не включать сервисы, характерные для Unix, такие как SSH или Finger.
Существует одно ограничение при эмуляции операционной системы: Specter не эмулирует IP стек. Это означает, что если вы эмулируете систему Solaris, honeypot будет по-прежнему иметь IP стек Windows (точнее, той ОС Windows, которую вы используете для honeypot). Атакующий может использовать утилиту определения отпечатков (такую как Nmap) для определения, что несмотря на то, что то, что у вас запущено, представляется Apache или Solaris FTP сервером, они имеют Windows IP стек. Это противоречие может отпугнуть от honeypot. Однако, этой проблемы не будет, если система, которую вы эмулируете, соответствует той, на которой установлено ПО Specter (например Specter, установленный в системе WinXP и эмулирующий компьютер WinXP).
Это ограничение может оказаться не столь большой проблемой, как кажется. Во-первых, многие взломщики не тратят время и силы на анализ цели с этой стороны. Во-вторых, помните, что цель honeypot – обнаружение неавторизованной активности. Если атакующий сканирует honeypot, анализируя эмулированные сервисы и IP стек, к этому моменту уже все поздно: honeypot сделал свое дело и обнаружил атакующего. Если вам требуется более продвинутое решение, которое может эмулировать IP стек, вы можете подумать о Honeyd или Honeynets.
Вы можете изменять «индивидуальность» семи сервисов. Например, вы можете выбрать «open», что указывает сервису действовать как незащищенная система. FTP сервер действует как открытый анонимный сервер, позволяющий вам загрузить фальшивый файл паролей. Или SMTP сервер может действовать как open relay (что является превосходным средством для обнаружения спамеров, ищущих почтовые relays). Вы можете выбрать «secure», тогда honeypot будет действовать как защищенная система. Тот же FTP сервис более не будет позволять анонимный вход, а SMTP сервис более не будет предоставлять почтовый relay. Можно также использовать индивидуальную характеристику «aggressive». Это означает, что когда сервис обнаруживает, что кто-то делает то, что не должен (например, анонимный FTP вход), сервис прервет соединение, и затем выдаст предупреждение взломщику, что его активность была обнаружена, а организация предупреждена. Это превосходное средство отпугнуть взломщика.
Помните о том, что это эмулированные сервисы, а не реальные. А раз так, они ограничены в своих возможностях. У вас есть некоторые опции для конфигурирования их поведения. Например, вы можете добавить несколько своих Web страниц к HTTP сервису, или добавить эккаунты эмулированному POP сервису. Однако, эти сервисы не предоставляют полной функциональности. Например, сервис Telnet предоставляет запрос имени пользователя и пароля, но взломщик никогда не увидит реальный shell, в который можно войти.
Одна из наиболее уникальных возможностей Specter - "intelligence gathering" (сбор сведений). Пока атакующий зондирует honeypot, Specter в ответ может активно опрашивать систему взломщика и собирать о ней информацию. Это может быть потенциально полезно, так как может предоставить информацию, полученную во время атаки. Возможности опроса включают scan, finger, или traceroute удаленной системы. Хотя нужно быть осторожнее при использовании этих возможностей. Хотя они могут оказаться полезными при получении информации о взломщике, они могут также предупредить его о существовании honeypot, или нечаянно повредить другую систему.
Без сомнения, главное достоинство Specter – это простота в его использовании. Даже моя бабушка смогла бы установить и сконфигурировать honeypot минут за 15. Это один из самых простых honeypot, что я когда-либо видел. Установка проста: он использует стандартный инсталлятор Windows, который делает все за вас. Для конфигурирования honeypot, нужно просто запустить программу Specter, которая предоставит вам GUI для задания всех опций. Вы помечаете опции, которые вам нужны, и затем запускаете honeypot. В правом верхнем углу GUI есть строка состояния, показывающая нам, запущен ли honeypot и какие сервисы он прослушивает. Полное описание GUI лежит за рамками этой статьи, так что я оставлю вам самим разобраться в этом (вы можете разобраться в этом секунд за 30). Ниже представлен скриншот GUI. Чтобы еще больше облегчить конфигурирование, возле каждой опции есть кнопка «?». Чтобы понять, что делает данная опция, нужно просто нажать на знак вопроса, и появится объяснение, что это за опция, как она работает и зачем нужна. Никаких поисков в запутанных меню помощи. Превосходно подойдет даже для полного идиота, который хочет получить все за 5 минут.
Рисунок 1. Скриншот GUI Specter
Есть несколько опций, которые вам понадобится сконфигурировать для работы. Первая – это предупреждения. Одна из сильных сторон Specter – это встроенные возможности удаленного предупреждения. На мой взгляд, это очень важно. Чем скорее honeypot проинформирует, что происходит неавторизованная активность, тем больше его ценность. Одна из худших вещей, которая может случиться с вами, это если honeypot обнаружит атаку в вашей внутренней сети вечером в пятницу, но вы не получите предупреждения, пока не придете на работу утром в понедельник. По умолчанию, Specter регистрирует всю активность в свою собственную базу данных (обычные ASCII файлы каждой атаки). Каждая атака в первую очередь появляется в окне предупреждений в правом верхнем углу GUI. Затем каждую атаку можно подробно проанализировать с помощью Log Analyzer. Это дает вам возможность просмотреть все атаки, или какие-то определенные, выбранные по времени, сервису или IP адресу.
Кроме этого, вы можете заставить Specter подключаться к удаленному syslog серверу, использующему syslogd, или к локальному Event Log. Для предупреждений в реальном времени, Specter пошлет подробное предупреждение на email адрес, или короткое предупреждение на мобильный телефон или пейджер. Короткие предупреждения хороши для того, чтобы проинформировать вас о том, что происходит что-то плохое. Подробные предупреждения не только говорят о том, что происходит что-то плохое, но и о том, что именно, предоставляя вам достаточно информации для соответствующей реакции. Например, ниже представлены два предупреждения одной и той же активности: кто-то сканирует и заходит на анонимный FTP сервер. В коротком предупреждении мы видим, как кто-то проверяет FTP сервис. В длинном предупреждении, мы видим, что этот кто-то зашел на анонимный FTP сервер и пытается скачать файл паролей (нехороший хакер).
Date: Mon, 31 Mar 2003 15:07:24 -0600 From: SPECTER on OUTPOST To: lance@honeynet.org Subject: FTP connection (hacker.honeypots.com) - Attempt 1/2 (FTP/Total) FTP connection from 192.168.1.1 (hacker.honeypots.com) (FTP attempts:1, Total attempts: 2) on Mon Mar 31 15:07:46 2003 Date: Mon, 31 Mar 2003 15:08:07 -0600 From: SPECTER on OUTPOST-01 To: lance@honeynet.org Subject: FTP connection (hacker.honeypots.com) - Attempt 1/2 (FTP/Total) FTP connectionHost : 192.168.1.1 (hacker.honeypots.com) Login : anonymous Pass : evilattacker@hello.comTime : Mon Mar 31 15:07:46 2003 Log:Client connecting: 192.168.1.1 Client tries anonymous Login --->331 Guest login ok, send your complete e-mail address as password. Client sent PASS 'evilattacker@hello.com' --->230 User anonymous logged in. Client sent SYST --->215 UNIX Type: L8 (Linux) Client changed type to I --->200 Type set to I. Client set port to 50739, IP to 192.168.1.1 --->200 PORT command successful. Client wants to fransfer file passwd --->501 File not found. Client closed connection --->221 Goodbye. Closing connection with 192.168.1.1
Specter имеет и другую приятную возможность: опцию "heartbeat" (сердцебиение), которая означает, что honeypot будет отправлять вам email с заданным интервалом времени. Это хорошо подходит для honeypot, установленном в спокойной сети. Heartbeat напоминает вам, что honeypot все еще работает. Последним шагом перед запуском honeypot, должна быть защита самой системы. Как honeypot, Specter минимизирует риск, эмулируя сервисы. Эти эмулированные сервисы берут на себя активность взломщиков. Однако, Specter ничего не делает для обеспечения безопасности самой системы. Если вы установите Specter на незащищенную Windows систему (например, с открытыми файловыми shares, или легко угадываемым паролем Администратора), тогда honeypot может быть скомпрометирован и использован для атак на другие системы. Когда устанавливаете Specter, нужно убедиться, что вы используете лучшие рекомендации по защите самой системы (включая установку последних патчей безопасности).
Когда приходит время установки, вы должны уяснить, для чего вы используете honeypot. Для обнаружения, Specter лучше всего работает во внутренних сетях. Если вы установите Specter во внешних сетях или на периметре, он скажет вам то, что вы и так знаете: плохие парни обстреливают вашу организацию. Specter наиболее полезен для обнаружения неавторизованной активности в ваших внутренних, или доверительных сетях. Specter также имеет GUI для удаленного администрирования. Это отдельная программа, которая запускается на любой Windows системе, и затем соединяется с вашим honeypot Specter. GUI удаленного администрирования выглядит почти так же, как и сам honeypot, единственное отличие состоит в том, что вы не можете удаленно анализировать предупреждения или атаки – это можно делать только локально на самом honeypot. Если вы включите удаленное администрирование (по умолчанию оно отключено), не забудьте изменить порт для управления. Вы вряд ли захотите, чтобы номер порта стал отпечатком наличия Specter.
При всех достоинствах Specter, главной слабостью, пожалуй, является ограничение определения активности только по 14 TCP портам. Взломщики могут проявлять активность на других портах и даже на других IP протоколах. Поэтому я рекомендую использовать Specter совместно с другими технологиями, чтобы увеличить возможности honeypot. Также я рекомендую запускать Windows версию Snort на вашем honeypot при использовании Specter. Он дает вам две вещи. Во-первых, перехватывает более детальную информацию обо всех атаках. Вы можете использовать Snort не только для обнаружения атак, но и для перехвата всех пакетов с данными в бинарный лог-файл. Эта информация может оказаться критичной при анализе атаки, или неавторизованной активности в дальнейшем. Вторая вещь, которую делает Snort, это перехват и регистрация активности по всем IP протоколам и портам, которые не прослушивает Specter. Это увеличивает возможности обнаружения. Для того, чтобы перехватить максимум информации с помощью Snort, Я рекомендую конфигурационные файлы Snort, используемые Honeynet Project. Вы можете подробнее почитать об этом в разделе Honeynet Tools.
Целью этой статьи был обзор коммерческого honeypot Specter для систем Windows. Specter – чрезвычайно простой в использовании и при этом многофункциональный honeypot, который может контролировать до 14 TCP портов.
Первое — находим постоянно, второе — ждем вас