Обзор утилит безопасности из списка Top 100 Network Security Tools
Введение
За время использования компьютеров и компьютерный сетей было написано множество программ различного назначения. Часть из них разработана в целях связанных с безопасностью и предназначена как для обеспечения и мониторинга, так и для нарушения безопасности. Однако, как правило, эти программы могут использоваться в обоих направлениях, в зависимости от того в чьих руках они находятся.
Для успешной работа в сфере безопасности кроме знания нормативных документов также необходимо знать и уметь пользоваться многими утилитами безопасности. Это полезно как для осуществления мониторинга и различных проверок, так и для понимания принципов работы «противостоящей стороны» и разбора инцидентов.
В 2003 году автор сетевого сканера nmap известный как Fyodor составил (и сейчас поддерживает его в актуальном состоянии) список под названием "Top 100 Network Security Tools". Он подготовлен по опросу проведенному автором и в соответствии со своим названием содержит рейтинг из 100 наиболее популярных утилит безопасности.
Настоящая статья посвящена обзору наиболее «интересных и полезных» программ из списка "Top 100 Network Security Tools". Выбор конкретных утилит из списка является личным мнением автора и может не совпадать с вашим ;)
«Границы рассмотрения»
Список "Top 100 Network Security Tools" (далее просто список) содержит достаточно большое количество утилит и некоторые из них дублируют функционал. В этой статье будут рассмотрены только некоторые из них, те которые известны автору лучше других, их список приведен в следующей таблице. Кроме того, в ней сделана попытка отнести эти программы к одному из приведенных классов.
В класс «Тестирование» включены программы которые главным образом могут использоваться для мониторинга защищенности или для осуществления компьютерных атак. В классе «Обнаружение» программы используемые в противоположных целях.
Утилита
Тестирование
Обнаружение
Nessus
*
Wireshark
*
Snort
*
Metasploit Framework
*
Hping2
*
Tcpdump
*
Basic network utils
*
Dsniff
*
Sysinternals
*
Fragroute/Fragrouter
*
VMware
Далее рассматривается каждая утилита в отдельности.
Nessus это сетевой сканер уязвимостей. С его помощью можно идентифицировать рабочие места и другое оборудование подключенное к сети и определить их уязвимости.
Архитектура
Nessus является программным продуктом и имеет архитектуру клиент/сервер. Взаимодействие между компонентами защищается SSL.
Клиент устанавливается на рабочее место администратора, с его помощью осуществляется управление сканированиями. Существуют GUI и CLI клиенты под различные ОС, включая Linux и Windows. Клиенты распространяются под различными лицензиями.
Сервер выполняет сканирование в соответствии с командами поступающими от клиента. Он устанавливается отдельно, его расположение выбирается в зависимости от целей сканировая. Сервер существует под различные ОС в т.ч для Windows распространяется бесплатно для личного использования и платно для коммерческого.
Информация об уязвимостях хранится в специальной базе данных — фактически она представляет собой набор скриптов на специальном языке. Каждый такой скрипт содержит описательную часть и набор процедур, которые должен выполнить сканер для проверки на уязвимость.
Комментарий
Существует достаточно большое количество сетевых сканеров. Как правило, Nessus`у в противоположность ставится XSpider. И в обзорах, как правило, последний побеждает. Однако у Nessus есть и явные преимущества. Например, возможность самостоятельного пополнения базы данных уязвимостей, в том числе собственными проверками на уязвимость, и бесплатное использование в личных целях.
Сценарии использования
Nessus может использоваться на этапе определения уязвимостей информационных систем в процессе обеспечения их безопасности. Использование некоторых тестов на уязвимость может вызвать отказ в обслуживании.
Использование всего набора доступных проверок во время атаки маловероятно, поскольку это наверняка вызовет срабатывание систем обнаружения и предотвращения атак.
Wireshark это сетевой снифер, с его помощью можно провести анализ данных циркулирующих в сети.
Архитектура
Wireshark распространяется под лицензией GPL и может использоваться под различными операционными системами.
Как и подавляющее большинство сниферов в *nux (а также некоторые в Windows) этот пользуется библиотекой PCAP. Благодаря этому он совместим с некоторыми другими утилитами безопасности и может применяться с ними в различных комбинациях.
Пакет Wireshark включает в себя несколько программ:
Wireshark;
tshark;
утилиты для работы с файлами PCAP.
Программы Wireshark и tshark являются аналогами друг друга, отличие в том что первая имеет графический интерфейс, а вторая предназначена для использования в командной строке.
С помощью утилит можно объединять, преобразовывать и создавать (собирать данные) сетевые дампы.
Для выборки нужных пакетов в Wireshark использует 2 типа фильтров. Первый фильтр это стандартный BPF filter, он используется библиотекой PCAP на этапе получения данных из сети или файлов. Второй используется для отображения собранных пакетов и является оригинальным фильтром Wireshark.
Комментарии
Наверное, Wireshark является самым развитым сетевым снифером. К тому же он бесплатный и существует для всех операционных систем. Кроме того, он обладает удобным интерфейсом, распознает большое количество протоколов различного уровня, автоматически анализирует их, распознает и выделяет ошибки и сетевые проблемы, содержит встроенные инструменты анализа и т.д. Единственное чего в нем нет (или мне не удалось это найти) это отключения функций анализа. Иногда это мешает.
Сценарии использования
По определению Wireshark используется для анализа данных. В зависимости от того кто проводит анализ, его целями может быть идентификация проблем в сети или поиск не защищенных пользовательских паролей.
Snort может применяться как в роли обычного синифера, так и в роли системы обнаружения вторжений.
Архитектура
Snort распространяется под лицензией GPL и существует под различные операционные системы. Сигнатуры для Snort распространяются различными способами, в том числе и бесплатно.
В составе Snort можно выделить 3 основных компоненты: систему регистрации пакетов, систему обнаружения и систему журналирования.
Система регистрации принимает пакеты из сети и готовит их для анализа. Затем осуществляется их проверка в соответствии с имеющимися сигнатурами в системе обнаружения, а в случае успеха подключается система журналирования. Последняя может работать в нескольких режимах, начиная от записи в SYSLOG и завершая бинарным выводом, используемым другими программами.
Главным образом, Snort обнаруживает вторжения, или более точно инциденты, в соответствии с заранее определенными сигнатурами. Последние могут быть написаны самостоятельно или получены от производителя.
Комментарии
При работе со Snort, кроме качества сигнатур, особое внимание следует уделять производительности системы. По этому, рекомендуется выносить базу данных журналов на отдельную систему и использовать barnyard2 и BASE. С помощью этих программ с датчика снимается нагрузка по журналированию событий, кроме того, хранение событий в БД (BASE) облегчает последующую их обработку.
Программа Metasploit Framework, или точнее рабочая среда, предназначена для разработки, тестирования и использования эксплоитов или иначе говоря средств использования уязвимостей.
Архитектура
Metasploit Framework является проектом с открытым исходным кодом. Он представляет собой интегрированную рабочую среду облегчающую процесс идентификации и использования уязвимостей целевой системы. В состав программы, входят различные программные коды, которые могут выполняться на уязвимой системе, и предоставит атакующему необходимые функции, например, консоль удаленной системы.
Комментарии
До Metasploit основным средством распространения эксплоитов были исходные коды программ. По этому для их использования и модификации требовались навыки программирования. С появлением Metasploit Framework процесс генерации необходимой атаки существенно упростился, фактически свелся к вводу в командную строку программы нескольких команд.
Сценарии использования
На домашнем программы сказано, что она может использоваться в целях тестирования и проверки обновлений. Однако, Metasploit Framework чистое средство нападения. Сценарий его использования предполагает идентификацию уязвимой системы, например с помощью Nessus, с последующим ее использованием в Metasploit для получение доступа.
С помощью Hping2 можно сформировать пакеты протоколов IP/TCP/UDP/ICMP с заданными параметрами и определенным полем данных. Кроме этого, hping2 принимает и выводит на экран ответные пакеты от целевой системы.
Программа распространяется с GPL лицензией.
Сценарии использования
Hping2 может использоваться вместо ping или traceroute в случаях когда их применение заблокировано межсетевыми экранами и не возможно. Также с ее помощью может проводится тестирование правил межсетевых экранов.
Как и все прочие сниферы, tcpdump предназначен для анализа сетевого трафика.
Архитектура
Программа распространяется с BSD лицензией.
Tcpdump исключительно терминальная программа. Он использует библиотеку PCAP, соответственно для фильтрации отображаемого трафика используется фильтр BPF.
Комментарии
Tcpdump один из самых известных и распространенных сниферов. Он по умолчанию включается в состав многих дистрибутивов различных операционных систем.
В отличии от Wireshark Tcpdump не производит дополнительную обработку пакетов данных и выводит их на терминал «как есть».
Сценарии использования
Сценарии использования аналогичны Wireshark, поскольку это программы одного класса.
Основные сетевые утилиты
Назначение
В состав основных сетевых утилит входят ping, telnet, dig, traceroute, whois, netstat. Они предназначены для тестирования и получения информации о сети передачи данных.
Архитектура
Утилиты не зависят друг от друга и могут использоваться отдельно. Большинство из них присутствуют во всех операционных системах, хотя могут отличаться в деталях функционирования.
Комментарии
Благодаря простоте и широкому распространению данными утилитами умеют пользоваться многие пользователи. Однако в некоторых условиях их применение ограничено, и тогда вместо них могут применять более сложные программы вроде hping2 вместо ping и traceroute.
Сценарии использования
Как правило эти программы используются для тестирования сети и идентификации проблем в ней. Однако они с тем же успехом могут использоваться в целях построения сети.
Пакет программ dsniff предназначен для реализации атак «человек по середине», нацеленных на различные сетевые протоколы, в т.ч. на сетевой обмен защищенный шифрованием.
Архитектура
Dsnif является проектом с открытым исходным кодом.
В состав пакета программ входят утилиты:
arpspoof — отравление ARP-кэша целевой системы, перехват данных на уровне Ethernet;
dnsspoof — подмена DNS-ответов;
dsniff — перехватчик паролей многих протоколов, таких как telnet, smtp, pop, smtp. Http и т.д.;
webspy — отображение в браузере перехваченных URL.
Комментарии
Атака «человек по середине», также иногда называется как «мартышка по середине» и сокращается как MitM (man/mankey in the middle).
В ряде сценариев совместно с Dsniff должны применяться другие программы, например Fragrouter, поскольку иначе будет прерван обмен между атакуемыми системами.
Сценарии использования
Как правило, поставленные задачи предполагают одновременное или последовательное использование нескольких утилит пакета. Например, задача перехвата сессии SSHv1 потребует использования: arpspoof, dnsspoof и sshmitm.
В пакет утилит Sysinternals входят различные программы с помощью которых можно определить текущее состояние хоста. Под этим понимается идентификация процессов, используемые ими библиотеки и ресурсы, открытые файлы и сетевые соединения и т.п.. Кроме того, в пакет входят консольные утилиты управления ОС.
Архитектура
В настоящее время Sysinternals поглощена Microsoft, соответственно все утилиты распространяются в соответствии с моделью принятой этой компанией.
Пакет представляет собой набор независимых консольных и графических программ. Все они не требуют установки и могут запускаться с отключаемых носителей.
Комментарии
В отличии от *nix, операционные системы Microsoft Windows имеют в своем составе «минимальный минимум» диагностических средств. Наличие утилит Sysinternals вызвано необходимостью и приходится очень кстати.
Сценарии использования
Поскольку данные утилиты позволяют определить состояние хоста, то они будут полезные для ручного поиска, получения информации о функционировании и удаления вредоносных программ. Например, некоторые утилиты (Process Explorer и его консольные заменители) могут использоваться на honeypot.
Утилиты предназначены для сокрытия трафика от систем обнаружения вторжения. Разница между ними состоит в том, что одна работает с трафиком исходящим с атакующей машины, а вторая обеспечивает маршрутизацию проходящего трафика.
Архитектура
Для сокрытия вредоносного трафика могут использоваться различные техники. Например, простейшая из них — фрагментация.
Программы распространяются с открытым исходным кодом.
Комментарии
Большинство современных систем обнаружения и предотвращения вторжений имеют в своем составе специальные модули (нормализаторы или препроцессоры), которые выполняют функции по восстановлению потока данных перед проведением анализа. По этому в большинстве случаев использование этих утилит будет не эффективно.
Сценарии использования
Fragroute и fragrouter должны использоваться вместе с другими программами, например с Metasploit Framework или Dsniff, как вспомогательная утилита.
VMware производит средства виртуализации и поддержания виртуальной инфраструктуры. С их помощью можно оптимизировать инфраструктуру и развернуть несколько серверов на одном шасси.
Архитектура
Средства виртуализации VMware в основном распространяются как программные пакеты устанавливаемые на ОС общего назначения.
Комментарии
Продукция VMWare достаточно надежная чтобы использоваться в больших компаниях и обеспечивать бесперебойное функционирование систем. Однако она, в основном, платная. Но есть также и бесплатные продукты, это Server и ESX Server для серверов и Player для рабочих станций.
VMware Player имеет ограничения использования, однако Server/ESX Server обладают достаточным функционалом для создания и использования различных виртуальных сред.
Сценарии использования
VMware Player может использоваться на рабочих местах пользователей для доступа в незащищенные сети или к опасным ресурсам. При этому угроза существует только для виртуальной машины и инцидент безопасности может быть легко исправлен с помощью восстановления одного из снимков.
VMware Server/ESX Server может использоваться в рабочих средах, для упрощения управления и снижения затрат на оборудования.
Средства виртуализации, в следствии быстрого восстановления виртуальных машин и простоты контроля их состояния, также удобно использовать при проведении исследований или в целях тестирования. Например VMware Server может быть использован для размещения honeypot входящих в состав honeynet.
Вместо заключения
Приведенный обзор далеко не полный. Наверное, некоторые могут сказать, что в него можно добавить netcat и pwdump или заменит Vmware на VitrualBox или даже VirtualPC. Однако, приведенные программы и утилиты долгое время удовлетворяют большинство моих рабочих и личных потребностей. Кроме того, могу заметить, что не так важно с помощью чего вы будете решать свои задачи, главное чтобы вы их решали.