1. Trang chủ
  2. » Công Nghệ Thông Tin

vkladimirov a a wi fu phần 9 ppsx

47 223 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 8,65 MB

Nội dung

378 А КОНТРРАЗВЕДКА: СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЯ В БЕСПРОВОДНЫЕ СЕТИ о во фреймах типа Authenticate, которые посыпает Dstumbler, указан повторяющийся порядковый номер 11 (Oxlb); о во фрейме с запросом на присоединение порядковый номер равен 12 (ОхОс); о получив ответ на пробный запрос, Dstumbler пытается аутентифицироватъся и при- соединиться к обнаруженной точке доступа. Наверное, это единственная причина, по которой кто-то может захотеть воспользоваться Dstumbler для активного скани- рования (желание сорвать низко висящий плод). Еще один инструмент поиска беспроводных сетей с помощью активного сканирова- ния, с которым легко может столкнуться администратор или консультант по безопас- ности, - это сервис сканирования сетей в Windows XP. Так зачем нужна программа NetStumbler, если Windows XP и без нее умеет это делать? Упомянутый сервис посылает фреймы с пробными запросами, указывая в них широковещательный ESSID (ANY) и вто- рое уникальное значение ESSID. Именно этот второй ESSID и выдает пользователей Windows XP. В посылаемом пробном запросе Windows XP устанавливает специальное значение в части фрейма, занимающей все отведенное под ESSID поле (32 байт). Это значение состоит из случайных непечатаемых символов. В шестнадцатеричном виде оно выглядит так: 0x14 0x09 0x03 0x11 0x04 0x11 0x09 ОхОе 0x0d 0х0а ОхОе 0x19 0x02 0x17 0x19 0x02 0x14 Oxlf 0x07 0x04 0x05 0x13 0x12 0x16 0x16 0х0а 0x01 ОхОа ОхОе Oxlf Oxlc 0x12 Неизвестно, то ли это ошибка в Windows XP, то ли так и задумано. С точки зрения IDS, ско- рее, второе. Но имейте в виду, что неопытные пользователи Windows XP могут и не знать, что их система сканирует беспроводные сети и даже пытается к ним присоединиться. Поэтому то, что на первый взгляд представляется атакой, может быть просто пробелом в образовании. От- метим попутно, что то же самое относится к Windows-машинам и инфракрасным каналам. Если инфракрасный порт активирован, то система будет искать сети и хосты и пытаться подклю- читься к обнаруженным каналам, если это возможно. Взломщик может воспользоваться этой возможностью в своих интересах, превратив свой ноутбук в «инфракрасную ловушку» с целью атаковать подключающиеся хосты, не привлекая внимания их владельцев. А теперь обратимся к программе Wellenreiter и подделке МАС-адресов в беспроводных сетях. Некоторые возможности реализованной в Wellenreiter атаки методом полного пе- ребора на ESSID мы уже обсуждали. Вот фрагмент реального кода из старой версии Wellenreiter 1.6, который генерирует поддельные ESSID и МАС-адреса: system("$fromconf{iwpath} $fromconf{interface} essid 1 this_is_used_for_wellenreiter'"); system("$fromconf{ifconfig} $fromconf{interface} down"); my $brutessid = shift (@g_wordlist) ; my $mactouse = build_a_fakemac; system("$fromconf{ifpath} $fromconf{interface} hw ether $mactouse"); print STDOUT "\nl test now the essid: $brutessid"; system("$fromconf{iwpath} $fromconf{interface} essid $brutessid"); system("$fromconf{ifpath} $fromconf{interface} up"); return ($true); ПРИМЕРЫ И АНАЛИЗ ТИПИЧНЫХ СИГНАТУР АТАК НА БЕСПРОВОДНЫЕ СЕТИ 379 Подпрограмма build_a_f akemac для создания поддельных МАС-адресов выглядит так: sub build_a_fakemac { my $fakemac; # Выполнить четыре итерации следующего цикла. Это ошибка, должно быть # 5 итераций, чтобы сгенерировать 40-битовое значение. Эта процедура # генерирует МАС-адреса, которые ifconfig будет дополнять значением # hex 40. for (my $i =0;$i < 4;$i + +) { # $temp содержит случайное шестнадцатеричное значение от 0 до 255 my $temp = sprintf "%х", int(rand(255)); if (length ($temp) = = 1) { # если получилась одна цифра, добавить в начало нуль $temp = '0' . $temp; # дописать хранящееся в $temp шестнадцатеричное значение к # генерируемому МАС-адресу $fakemac = $fakemac . $temp; } # добавить в начало сгенерированного МАС-адреса 00, чтобы избежать # конфликта с зарезервированными или предназначенными для широкого # либо группового вещания адресами $fakemac = '00' . $fakemac; return ($fakemac); } Как видите, в качестве первого ESSID задается строка this_is_used_f or_wellenreiter / а потом начинается атака методом полного перебора (на самом деле атака по словарю, как сле- дует из предложения my $brutessid = shift (@g_wordlist) ;). Генерируемые МАС-ад- реса начинаются с символов 00 во избежание появления адресов, предназначенных для групповой рассылки. Программа Wellenreiter генерирует адреса с префиксами, не соответ- ствующими списку выделенных 0UI, опубликованному в RFC 1700. Отслеживая такой тра- фик и сравнивая 0UI с опубликованным списком, можно легко обнаружить атаку. Отметим, что тот же принцип применим к любой атаке, в ходе которой генерируются случайные МАС-адреса, если только применяемый инструмент не учитывает список 0UI. Примером такого «интеллектуального» инструмента является программа FakeAP, созданная группой Black Alchemy. Джошуа Райт написал на языке Perl сценарий maidwts.pl, который сравни- вает 0UI в МАС-адресе со списком, опубликованным IEEE, и выдает сообщение, если пре- фикс не соответствует никакому известному производителю. arhontus:~# perl maidwts.pl -h Usage: maidwts [флаги] -i, интерфейс -f, имя файла 380 А КОНТРРАЗВЕДКА: СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЯ В БЕСПРОВОДНЫЕ СЕТИ -с, счетчик -п, непрозрачный режим (nonpromisc) -t, таймаут -а, режим мониторинга (rfmonwlan) -z, стандартный Ethernet (stdethernet) -v, выдавать диагностику -h, справка е.х. "maidwts -с 500 -i ethl -а" Для перехвата в режиме 802.11 RFMON е.х. "maidwts -с 500 -i ethl -z" Для перехвата стандартных фреймов Ethernet Такая функциональность может стать полезным дополнением к вашей системе IDS. Что можно сказать по поводу обнаружения атак «человек посередине»? Драйвер AirJack в качестве ESSID устанавливает по умолчанию строку "AirJack". Поскольку инструмент fatajack для проведения DoS-атаки пользуется именно драйвером airjack_cs, то и прини- маемый по умолчанию ESSID будет таким же (это относится и к инструментам essid_jack и wlanjack). Атакуемый хост будет затоплен поддельными фреймами с запросом о прекра- щении сеанса, что очень скоро приведет к потере связи между хостом и точкой доступа. Однако лучшим способом обнаружения атак «человек посередине» на уровень 2 (как и лю- бого подлога на уровне 2) является анализ порядковых номеров фреймов 802.11. Порядковый номер фрейма 802.11 - это число, которое увеличивается на 1 для каждого нефрагментированного фрейма. Нумерация начинается с 0 и заканчивается на 4096, после чего счетчик сбрасывается в 0 и отсчет начинается заново. Подвох в том, что записать в это поле произвольное значение нельзя, даже если пользоваться инструментом, который самостоятельно конструирует фреймы (например, dinject из комплекта Wnet). Когда ата- кующий вмешивается в передачу, порядковые номера отправляемых им фреймов не будут соответствовать нумерации законных фреймов, циркулирующих в сети. Например, FakeAP генерирует трафик, притворяясь точкой доступа. Если смотреть только на ESSID и МАС- адреса, то отличить посылаемые FakeAP фреймы-маяки от настоящих невозможно. Но уве- личение порядковых номеров на единицу выдает трафик FakeAP с головой. Если бы в сети действительно было несколько точек доступа, то вы бы наблюдали несколько увеличиваю- щихся счетчиков, а не один с постоянно изменяющимися МАС-адресами и ESSID. В случае AirJack надо было бы сравнить с точкой отсчета порядковые номера фреймов, которыми обменивается точка доступа, и тот хост, который подвергся атаке с целью заста- вить его прекратить сеанс. В случае большой сети это непростая задача, особенно если в ней есть мобильные хосты, но все же решить ее можно. Если для законного трафика между кли- ентом и точкой доступа окно порядковых номеров простирается, скажем, от X до Z, то поряд- ковые номера поддельных фреймов будут далеко выходить за его пределы. Посмотрите на пример обнаружения такой атаки с помощью программы Ethereal приведенный Джошуа Рай- том в статье «Detecting Wireless LAN MAC Address Spoofing». Конечно, если сначала взломщик проведет DoS-атаку против беспроводного клиента или самой точки доступа, а затем притво- рится выбитым из сети хостом, то цепочка порядковых номеров также будет нарушена. Поэто- му получение эталонного образца цепочки порядковых номеров и последующий мониторинг и анализ этой характеристики оказываются прекрасным способом обнаружения и пресече- ния атак, связанных с подлогом. Но на практике некоторые беспроводные клиентские карты ВКЛЮЧИТЬ РАДАРЫ! РАЗВЕРТЫВАНИЕ СИСТЕМЫ IDS В ВАШЕЙ БЕСПРОВОДНОЙ СЕТИ 38 1 работают не в соответствии со стандартом 802.11 в части генерирования порядковых номе- ров. В частности, это относится к картам Lucent с версиями программно-аппаратного обес- печения до 8.10 - вот вам и еще одна причина вовремя устанавливать обновления. Кроме того, блуждающие хосты могут привести к ложным срабатываниям IDS, поскольку при пере- ходе из соты в соту последовательность номеров нарушается. Следовательно, в сетях с боль- шим числом мобильных пользователей анализ порядковых номеров фреймов становится бесполезен, так что в системе IDS эта возможность должна быть отключаемой. Анализируя имеющиеся примеры сигнатур различных атак, мы приходим к очевидному выводу: взломщик может без труда модифицировать или вообще избавиться от сигнатуры своего инструмента. Есть сообщения о пользователях программы NetStumbler, которые с помощью шестнадцатеричного редактора удаляли строки, обычно присутствующие во фреймах с пробным запросами. Значения ESSID, которые посылают такие инструменты, как Wellenreiter или AirJack, также легко изменить. Например, в файле airjack.c (на момент написания этой книги) посылаемый по умолчанию ESSID определен в строке 1694: memcpy(ai->essid + 1, "AirJack", 7) ; Следовательно, мы описали полный круг и вернулись к тому, с чего начали эту главу. Хорошая система IDS для беспроводных сетей должна сочетать как анализ сигнатур, так и обнаружение аномалий в работе сети. Включить радары! Развертывание системы IDS в вашей беспроводной сети Сколько существует на рынке систем IDS, в которых реализованы только что обсуждавши- еся рекомендации? Ни одной! Есть много решений, которые отслеживают недопустимые МАС-адреса и ESSID. Некото- рые из них даже реализованы в виде специальных аппаратных устройств. И хотя что-то всегда лучше, чем ничего, но, наш взгляд, такие «решения» - это пустая трата времени и денег. Они лишь вселяют ложное чувство защищенности. Давайте рассмотрим те из имею- щихся систем IDS, которые могут быть полезны или хотя бы модифицируемы. Тогда их, по крайней мере, можно будет переделать с учетом наших замечаний, чтобы они собирали дополнительные данные о работе сети. Коммерческие системы IDS для беспроводных сетей Из коммерческих решений хорошо известны программы AirDefense Guard (http://www. airdefense.net/products/airdefense_ids.shtm) и Isomair Wireless Sentry (http://www. isomair.com/products.html). Они основаны на размещении сенсоров на территории защи- щаемой сети и передаче всей собираемой ими информации на центральный сервер или консоль. Сервер может представлять собой специализированное устройство с безопасным Web-интерфейсом или Linux-машину, к которой подключена консоль управления на плат- форме Windows. Некоторые из упомянутых программ могут анализировать беспроводной трафик, отличный от стандарта 802.11, и даже радиопомехи в наблюдаемой полосе частот, что часто бывает полезно. 382 КОНТРРАЗВЕДКА: СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЯ В БЕСПРОВОДНЫЕ СЕТИ Надо сказать, что в зависимости от размера сети и зоны покрытия расстановка сенсоров системы IDS может иметь решающее значение. Чтобы мониторинг сети был эффективен, сен- соры должны покрывать всю территорию, из которой возможен беспроводной доступ. Чем выше приемная чувствительность сенсоров (в единицах dBm), тем лучше. Как минимум, сен- соры должны быть не менее чувствительны, чем трансиверы точки доступа (но даже это не гарантирует надежного обнаружения атак против хостов, находящихся на достаточном уда- лении от точки доступа). Серьезный недостаток всех коммерческих сенсоров, которые мы видели, - это невозможность подключить внешнюю антенну. Из-за этого увеличить даль- ность действия и чувствительность сенсоров становится весьма затруднительно. Ясно, что компании придется покупать больше низкочувствительных сенсоров с малым радиусом дей- ствия, чтобы покрыть всю сеть. Казалось бы, можно запросить большую цену за более мощ- ный сенсор с подходящей антенной. Но почему-то рынок тяготеет к первому варианту. Ко- нечно, можно переделать купленный сенсор, припаяв к нему антенну (и потерять право на гарантийный ремонт). Но, быть может, лучше смастерить собственный сенсор из старого ПК, ноутбука или даже КПК, мы еще вернемся к этой мысли ниже. WiSentry (http://www.wimetrics.com/products/download_wisentry.php) - это коммерчес- кое чисто программное решение, обеспечивающее мониторинг беспроводной сети и обна- ружение вторжений без специальных аппаратных сенсоров. WiSentry создает отдельный профиль для каждого беспроводного хоста. Профиль хранится в базе данных WiSentry и используется для того, чтобы отличить устройства, которым можно доверять, от всех про- чих. В этой программе есть конфигурируемая база данных тревожных событий, она под- держивает сети стандартов 802.11а, b и д. Еще один коммерческий продукт, который сочетает в себе средства для аудита безопаснос- ти и некоторые функции IDS, - это программа AirMagnet от компании Global Secure Systems (http://www.gsec.co.uk/products/_wireless_security.htm). Существуют ее версии для КПК, но- утбука (с картой Cisco Aironet) и комбинированные. Отличительной особенностью AirMagnet является наличие анализатора радиочастот в основном диапазоне ISM, что позволяет ей обна- руживать перекрытие каналов 802.11b/g в области приема, а также выявлять возможные по- мехи. AirMagnet может помечать зашифрованные по протоколу WEP пакеты со слабыми IV, а в последних версиях - также обнаруживать использование VPN в сканируемой сети. Коммерческие анализаторы протоколов 802.11, например NAI Sniffer Wireless и WildPacket AiroPeek, также реализуют некоторые возможности IDS. AiroPeek даже поддерживает удален- ные сенсоры RFGrabber, что делает ее похожей на распределенные системы типа AirDefense/ Isomair. В полной комплектации AiroPeek включает также набор инструментов для разработ- ки собственных фильтров на языках Visual Basic или C++. Следовательно, этот анализатор в какой-то мере поддается переделке, несмотря на закрытость исходных текстов. Настройка и конфигурирование IDS для беспроводных сетей с открытыми исходными текстами В оставшейся части этой главы мы будем говорить о системах IDS с открытым исходным текстом, которые можно подстроить под собственные нужды. Первым делом мы рассмотрим инструмент WIDZ, написанный Марком Осборном (Mark Osborne, псевдоним Loud Fat Bloke). Во время рабо- ты над этой книгой текущей была версия 1.5, которая поддерживала следующие функции: о обнаружение фальшивых точек доступа; о обнаружение атак с применением Air Jack; ВКЛЮЧИТЬ РАДАРЫ! РАЗВЕРТЫВАНИЕ СИСТЕМЫ IDS В ВАШЕЙ БЕСПРОВОДНОЙ СЕТИ 383 о обнаружение пробных запросов; о обнаружение фреймов с широковещательным ESSID ("ANY"); о помещение подозрительных МАС-адресов в список блокированных; о помещение подозрительных ESSID в список блокированных; о обнаружение атак путем затопления фреймами с запросом на присоединение. WIDZ 1.5 пользуется драйвером HostAP. Продукт состоит из двух программ: widz_apmon, которая обнаруживает точки доступа, не указанные в списке (в файле widz_ap.config), и widz_probemon, которая ведет мониторинг сети, пытаясь обнаружить подозрительный тра- фик. В текущей версии сигнал тревоги возникает в следующих ситуациях: о alertl. Срабатывает, если поле ESSID пусто. В этом случае вызывается сценарий Alert, который записывает в протокол следующие 100 пакетов из подозрительного источника; о alert2. Срабатывает, если в течение заданного промежутка времени происходит слишком много попыток присоединения; о alert3. Срабатывает, если МАС-адрес находится в файле badmac, который представ- ляет собой простой список адресов в шестнадцатеричном виде; о alert4. Срабатывает, если ESSID находится в файле badsids. Разумеется, этот перечень тревог слишком мал, но его можно легко расширить самостоятель- но. Чтобы воспользоваться программой widz_apmon, сначала поднимите беспроводной интер- фейс с помощью ifconfig, а затем выполните команду widz_apmon <sleep_time> wlanO, которая будет оповещать о фальшивых точках доступа в сети. Параметр sleep__time задает число секунд между сканированиями. Пользоваться программой widz_probemon столь же лег- ко. Сначала отредактируйте файлы probemon.conf, badmacs и badsids. Затем поднимите беспро- водной интерфейс, переведите его в режим RFM0N и запустите widz_probemon: arhontus:~# ifconfig wlanO up && iwpriv wlanO monitor 2 && widz_probemon wlanO > logfile & Сценарий Alert поставляемый в составе IDS, автоматически вызывается, как только будет об- наружена фальшивая точка доступа или подозрительный трафик. По умолчанию сценарий по- сылает сообщения syslog-серверу с помощью команды logger -p security. notice $1 и вы- водит тревожное сообщение на консоль. Можно вместо этого заставить его посылать сообщение по электронной почте, возбуждать SNMP-событие, добавлять недопустимый МАС-адрес в список контроля доступа и т.д. - дайте простор воображению. Есть открытая IDS и с более развитыми функциями; это программа wIDS, написанная Ми Кели (Mi Keli). Она не зависит от конкретной клиентской карты или драйвера, нужно лишь, чтобы беспроводной интерфейс работал в режиме RFM0N. В программу включен автома- тический дешифратор WEP (не забудьте только поместить WEP-ключ в файл Keys.1st) и средства для организации беспроводных приманок (к сожалению, пока использование WEP в приманке не поддерживается). Важнее, однако, что wIDS умеет делать следующее: о анализировать интервалы между маяками для каждой обнаруженной точки доступа; о анализировать порядковые номера фреймов 802.11; о обнаруживать пробные запросы, являющиеся признаком активного сканирования; о обнаруживать затопление запросами на присоединение; о обнаруживать затопление запросами на аутентификацию; о обнаруживать частые запросы на повторное присоединение; 384 КОНТРРАЗВЕДКА: СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЯ В БЕСПРОВОДНЫЕ СЕТИ о протоколировать трафик приманки в рсар-файл; о перенаправлять беспроводной трафик на проводной интерфейс. Последняя возможность очень интересна, поскольку позволяет перенаправить беспро- водной трафик на уровень 3 и использовать средства IDS более высокого уровня, например Snort для последующего анализа. Порядок запуска wIDS таков: arhontus:~# wIDS usage : ./wIDS [-s] -i device [-1 logfile -h honeypot] [-o device] флаги : -s :использовать syslog (LOG_ALERT) -i device :прослушиваемый интерфейс (ethO, wlanO ) (должен быть установлен прозрачный режим) -1 logfile :файл, в который сбрасываются пакеты, адресованные приманке -h honeypot :извещать о трафике, адресованном приманке (МАС-адрес точки доступа) -о device :устройство, на которое отправляется расшифрованный трафик для анализа системой IDS примечание : рекомендуется задавать флаг "-s". пример : ./wIDS -s -i ethl -о ethO ./wIDS -s -i wlanO -1 ./wIDS.tcpdump -h 00:02:2d:4b:7e:Oa Наконец, существует недавно появившаяся и многообещающая IDS для беспроводных сетей AirlDS. Она поддерживает карты с наборами микросхем Prism и Cisco Aironet, и для нее имеется графический интерфейс, написанный с использованием GTK+. Пока что инструмент находится на стадии бета-версии, но начиная с версии 0.3.1 будет поддерживать очень гибкое задание правил, внедрение трафика для пресечения взлома WEP и активную защиту. Для реализации заявленных функций AirlDS версии 0.3.1 и выше будет пользоваться сильно модифицирован- ными или полностью переписанными драйверами Prism (возможно, в духе AirJack) вместо «обычных» модулей prism_cs/airo_cs, которые применяются сейчас. Следите за ходом разра- ботки AirlDS на сайте http://www.intemetcomealive.com/clients/airids/general.php. Говоря о системах IDS, часто забывают очень мощную программу Kismet. Она прошла долгий путь развития от инструмента искателя сетей до полнофункциональной клиент- серверной системы IDS. В последних версиях Kismet реализованы рекомендации, сформу- лированные в статьях Джошуа Райта, на которые мы ссылались выше. Посмотрите в файле Changelog, какие функции IDS включены в имеющуюся у вас версию Kismet. He забывайте, что между стабильной и разрабатываемой версиями имеются существенные различия; не исключено, что в разрабатываемой версии реализованы те самые функции, которые вам особенно необходимы. Во время подготовки этой книги в последнюю разрабатываемую версию были включены следующие возможности: о обнаружение затоплений запросами на прекращение сеанса и отсоединение; о анализ порядковых номеров фреймов 802.11; о выявление тех, кто пользуется инструментом AirJack в наблюдаемой области; ВКЛЮЧИТЬ РАДАРЫ! РАЗВЕРТЫВАНИЕ СИСТЕМЫ IDS В ВАШЕЙ БЕСПРОВОДНОЙ СЕТИ 385 о обнаружение пробных запросов, посылаемых программой NetStumbter, и номера ее версии; о обнаружение атак по словарю на ESSID, проводимых с помощью Wellenreiter; о код Packetcracker для предупреждения о наличии протокола WEP, уязвимого для ата- ки FMS; о обнаружение клиентов, которые только посылают пробные запросы, но не присое- диняются к сети (MiniStumbler, Dstumbler и просто потерявшиеся или неправильно сконфигурированные хосты); о различение сетей 802.11 DSSS и FHSS; о запись фреймов с данными в именованный FIFO-канал для анализа внешней IDS, например Snort; о дешифрирование WEP на лету; о обнаружение повышенного уровня шума в канале; о обнаружение беспроводных сетей Lucent Outdoor Router/Turbocell/Karlnet, постро- енных не на базе стандарта 802.11. Наличие этих функций вкупе с архитектурой клиент-сервер, простой системой опове- щений (достаточо нажать клавишу W, чтобы открылось отдельное окно, в котором можно просмотреть поступившие предупреждения), великолепным механизмом структурирован- ного протоколирования данных, а также возможностью интеграции с удаленными сенсо- рами (например, Neutrino Distributed 802.11b Sensor - см. главу 5 о деталях конфигуриро- вания) делают Kismet очень привлекательной системой IDS. Дополнительную ценность ей придает возможность поддержки нескольких клиентских карт и расщепление диапазона сканируемых частот между этими картами. Несколько рекомендаций по конструированию самодельного сенсора для беспроводной IDS Можно самостоятельно сделать удаленный беспроводной сенсор на базе программы Kismet. Хотя старый ПК с ОС Linux или BSD выглядит и не так привлекательно, как тоню- сенькое устройство фирмы Network Chemistry или какой-нибудь другой (правда, всегда можно взять за основу КПК Zaurus или iPAQ!), но у самодельного сенсора масса достоинств. Прежде всего, он дешев: затраты могут свестись к приобретению адаптера PCMCIA-PCI и дополнительной клиентской карты. Кроме того, нам никогда не нравились всенаправлен- ные антенны с малым коэффициентом усиления, которыми оснащаются готовые сенсоры. А что вы скажете о самодельном сенсоре, подключенном к всенаправленной антенне с коэффициентом 14,5 dBi, которую можно приобрести на сайте http://www.fab-corp.com по очень умеренной цене? А всегда ли нужна именно всенаправленная антенна, если принять во внимание форму вашей сети? Может быть, лучше взять остронаправленную с большим коэффициентом усиления, если речь идет о протяженном двухточечном беспроводном мосте? Или вы хотите обнаруживать противника только рядом с концевыми точками мос- та, а не на всем протяжении канала? А повысить приемную чувствительность сенсора на 10-20 dBm не желаете? Еще одна интересная и полезная вещь - это интеграция системы IDS на уровне 2 с сис- темами на более высоких уровнях (Snort, IpLog, PortSentry) в одном устройстве. Можно ис- пользовать wIDS с флагом -о, именованные каналы, предоставляемые Kismet, или просто 386 А КОНТРРАЗВЕДКА: СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЯ В БЕСПРОВОДНЫЕ СЕТИ запускать из Kismet сценарии, управляющие IDS более высокого уровня, точно так же, как Kismet запускает программы play и festival для звуковой индикации событий в беспроводной сети. Snort не станет работать на беспроводном интерфейсе - проверьте сами. Но проблему легко решить с помощью Kismet. Мы предполагаем, что вы уже знакомы с программой Snort и внимательно изучили части книги, посвященные инсталляции, конфигурированию и рабо- те Kismet. Прежде всего, нужно изменить одну строку в файле kismet.conf. Найдите строку #f if o=/tmp/kismet_dump, раскомментарьте ее, сохраните файл и запустите коман- ду ki smet_server. После запуска Kismet заблокирует файл /tmp/kismet_dump до тех пор, пока им не займется Snort. Теперь запустим Snort. Сконфигурируйте ее по своему усмотре- нию, но при запуске укажите флаг - г / tmp / ki sme t_dump, чтобы данные читались из FIFO- канала, в который пишет Kismet. Можете еще установить и запустить программу ACID, если хотите видеть разукрашенный всеми цветами радуги протокол IDS. Вот и все! Наслаждай- тесь своей системой IDS для проводных и беспроводных сетей, которая во многих отношени- ях намного превосходит дорогостоящие коммерческие аналоги. Посудите сами, много ли вы знаете клиент-серверных гибко интегрируемых коммерческих IDS, поддерживающих одно- временно проводные и беспроводные сети? Разумеется, для анализа рсар-файлов, формируемых Kismet, можно воспользоваться до- полнительными средствами. Самый очевидный способ - взять программу Ethereal и при- менить фильтры для выбора сигнатур типичных атак. Так, фильтры для Ethereal, предназ- наченные для поиска сигнатур инструментов активного сканирования, описаны в статье Джошуа Райта «Layer 2 Analysis of WLAN Discovery Applications for Intrusion Detection». Мы их проверили и приводим здесь: о Netstumbler: (wlan.fc.type_subtype eq 32 and llc.oui eq 0x00601d and llc.pid eq 0x0001) and (data[4:4] eq 41:6c:6c:20 or data[4:4] eq 6c:46:72:75 or data[4:4] eq 20:20:20:20) о Dstumbler (активное сканирование): (wlan.seq eq 11 and wlan. fc.subtype eq 11) or (wlan.seq eq 12 and wlan.fc.subtype eq 00) о пробные запросы, посылаемые Windows XP: wlan. fс eq 0x0040 and wlan_mgt .tag.number eq 0 and wlan_mgt.tag.length eq 32 and wlan_mgt.tag.interpretation[0:4] eq 0c:15:0f:03 о пробные запросы, посылаемые Wellenreiter (при подборе ESSID методом полного перебора): wlan. f с eq 0x0040 and wlan_mgt .tag. number eq 0 and wlan_mgt.tag.length eq 29 and wlan_mgt.tag.interpretation eq "this_is_used_for_Wellenreiter" Конечно, есть еще много программ, посылающих фреймы 802.11, и для них тоже надо написать фильтры (мы занимаемся этим и приглашаем всех желающих присылать сигнату- ры новых атак на адрес wifoo@arhont.com). К таким программам относятся последние версии AirJack, Wepwedgie, Wnet dinj и reinj, Fake АР и ее модификации, а также voidll. ВКЛЮЧИТЬ РАДАРЫ! РАЗВЕРТЫВАНИЕ СИСТЕМЫ IDS В ВАШЕЙ БЕСПРОВОДНОЙ СЕТИ 387 Фильтры Ethereal для поиска сигнатур атак полезны и при изучении проблем безопаснос- ти, и для обнаружения вторжений. Еще большую помощь они смогут оказать в процедуре расследования инцидента, если вторжение все-таки произойдет (но помните, что нужно заранее позаботиться о безопасном хранении и контроле целостности рсар-файлов). На- конец, если вы любите приключения, попробуйте воспользоваться ими в сочетании с вы- ходными данными Kismet, чтобы организовать активную защиту и автоматически атако- вать или, по крайней мере, озадачить противника. Например, если в наблюдаемой области замечена программа NetStumbler, то при обнаружении фильтром соответствующего паке- та в протоколе Kismet можно запустить FakeAP с заранее заданным ESSID или МАС-адре- сом, игнорируемым Kismet (чтобы избежать возможного переполнения протоколов). Если по той или иной причине комбинация Kismet + Snort вам не по душе, можете поинте- ресоваться проектом Snort-Wireless. Это модифицированная версия Snort, которая «понимает» фреймы 802.11 и отправляет тревожные оповещения при обнаружении аномалий на уровне 2. В настоящее время Snort-Wireless обнаруживает трафик NetStumbler с помощью компо- нента AntiStumbler Preprocessor. Отредактируйте файл snort.conf, добавив директиву preprocessor ant is tumbler: probe_reqs [num] , probe_period [num] , expire_timeout [num], где: о probe_reqs - после какого числа пробных запросов поднимать тревогу; о probe_period - время (в секундах), в течение которого сохраняется счетчик пробных запросов с нулевым SSID; о expire_timeout - сколько должно пройти времени (в секундах), прежде чем об- наруженный противник будет удален из списка пользователей NetStumbler. Помимо этого, с помощью переменных CHANNELS и ACCESS_POINTS, также определяе- мых в файле snort.conf, поддерживается обнаружение фальшивых точек доступа и незави- симых (ad hoc) сетей. Сейчас многие возможности, реализуемые комбинацией Kismet + Snort, еще не включены в Snort-Wireless, но благодаря гибкости и возможности создавать правила, ориентированные на сети 802.11, точно так же, как и стандартные правила Snort, потенциал этого проекта весьма велик. Не забывайте, что во многих сенсорах IDS для беспроводных сетей, объявленных про- мышленным стандартом, для удаленного администрирования и передачи перехваченного трафика все еще используется telnet и протокол SMNPvl, не обеспечивающие ни шифрова- ния, ни контроля целостности данных. А про SNMP-сообщества, выбираемые по умолча- нию, помните? Нам встречались коммерческие сенсоры, в которых для удаленного управ- ления использовалось сообщество public/private, разрешающее чтение и запись! К сожалению, даже системные администраторы часто не меняют настройки сетевых устройств, выстав- ленные по умолчанию. Думается, что пройдет еще немало времени прежде, чем эти уст- ройства начнут поддерживать протокол SSHv2, не говоря уже об IPSec. С другой стороны, в самодельных сенсорах можно воспользоваться любыми способами защиты трафика и контроля доступа. Например, можно построить сеть из таких сенсоров, подключенных к центральному серверу IDS no VPN с топологией хост-сеть. Выше мы уже подробно расска- зывали, как развернуть такую сеть. Аппаратных платформ для конструирования сенсора много. Например, можно взять подходящую плату Soekris (http://www.soekris.com). Поскольку эти платы поддерживают аппаратное шифрование, то для описанных выше целей они вполне годятся. Соберите не- сколько беспроводных сенсоров на базе плат Soekris, оснастите их подходящими антеннами [...]... wicontrol wicontrol wicontrol wicontrol -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i iface [-о] iface -t tx_rate iface -n network_name iface -s station_name iface -c 0 I 1 iface -q SSID iface -p port_type iface -a access_point_density iface -m mac_address iface -d max_data_length iface -e 0 I 1 iface -k key [-v 1 I 2 I 3 I 4] iface -T 1 I 2 I 3 I 4 iface -r RTS_threshold iface -f frequency iface... wvlan_cs(4), netwave_cs(4) wavelan(4), wavelan_cs(4), 2 Утилита iwpriv Имя: iwpriv Конфигурирует дополнительные (специальные) параметры интерфейса беспроводной карты Порядок вызова: iwpriv iwpriv iwpriv iwpriv iwpriv iwpriv [interface] interface private-command [private-parameters] interface private-command [I] [private-parameters] interface all interface roam {on,off} interface port {ad-hoc,managed,N}... версии Wireless Extensions для данного инструмента и различных беспроводных карт Файлы: /proc/net/wireless См также: iwconfig(8)/ ifconfig(8), iwspy(8), iwpriv(8) 4 Утилита wicontrol Имя: wicontrol Конфигурирует устройства WaveLAN/IEEE Порядок вызова: wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol wicontrol... frequency iface -P 0 I 1 iface -S max_sleep_duration iface -Z (zero signal cache) iface -C (display signal cache) Описание: Управляет работой беспроводных сетевых устройств WaveLAN/IEEE посредством драйвера wi( 4) Большинство подлежащих изменению параметров относятся к стандарту IEEE 802.11, реализованному в WaveLAN Это, в частности, имя станции, которая может работать как в независимом (ad-hoc) режиме, так... iwspy(8), wavelan(4), wave- lan_cs(4), wvlan cs(4), netwave_cs(4) 3 Утилита iwlist Имя: iwlist Получает статистику работы указанных узлов беспроводной сети Порядок вызова: iwlist iwlist iwlist iwlist iwlist iwlist iwlist interface freq interface ар interface scan interface rate interface key interface power interface txpower СТРАНИЦЫ РУКОВОДСТВА ДЛЯ НЕКОТОРЫХ УТИЛИТ iwlist interface retry iwlist help... ethO Available private ioctl: setqualthr (89F0) : set 1 byte & get 0 gethisto (89F7) : set 0 & get 16 int Отсюда видно, что можно задать порог качества и вывести гистограмму, содержащую до 16 значений Для этого служат такие команды: iwpriv ethO setqualthr 20 iwpriv ethO gethisto Автор: Жан Туриль (jt@hpl.hp.com) Файлы: /ргос/net/wireless См также: ifconfig(8), iwconfig(8), iwlist(8), iwspy(8), wavelan(4),... или сенсоры IDS для сетей 802.Ha/b/g Если так, то мы достигли своей цели и не зря поработали - ведь в эфире носится столько интересных пакетов 1 Утилита iwconfig Имя: iwconfig Конфигурирует интерфейс беспроводной карты Порядок вызова: iwconfig [interface] iwconfig interface [essid X] [nwid N] [freq F] [channel C] [sens S] [mode M] [ap A] [nick NN] [rate R] [rts RT] [frag FT] [txpower T] [enc E] [key... картой Аргумент if асе - это логическое имя интерфейса, присвоенное устройству WaveLAN/ IEEE (wiO, wil и т.д.) Если этот аргумент опущен, предполагается wiO Параметры -/ if асе [-о] Выводит текущие параметры заданного интерфейсв WaveLAN/IEEE, получая от драйвера текущие настройки карты Если задан необязательный флаг -о, то wicontrol будет выводить не настройки карты, а значения статистических счетчиков... Возможны значения Adhoc (сеть состоит только из одной соты и не имеет точки доступа), Managed (узел соединяется с сетью, состоящей из нескольких точек доступа, с разрешенным роумингом), M a s t e r (узел берет на себя синхронизацию или выступает в роли точки доступа), R e p e a t e r (узел перенаправляет пакеты между другими узлами), Secondary (узел выступает в роли резервного хозяина (Master) или репитера),... поддерживаемые тем или иным интерфейсом Предполагается, что в документации по драйверам устройств эти команды и их действие описаны более подробно Параметры private-command [private-parameters] Выполняет заданную специальную команду (private-command) для указанного интерфейса У команды могут быть обязательные или необязательные аргументы, она может выводить какую-то информацию Подробности, по идее, должна . eq 12 and wlan.fc.subtype eq 00) о пробные запросы, посылаемые Windows XP: wlan. fс eq 0x0040 and wlan_mgt .tag.number eq 0 and wlan_mgt.tag.length eq 32 and wlan_mgt.tag.interpretation[0:4] eq. class="bi x1 y1 4a w15 h1e" alt=""

Ngày đăng: 13/08/2014, 12:21

TỪ KHÓA LIÊN QUAN