Файл: Обзор методов и средств анализа сетевого трафика и поиска аномалий трафика.pdf
Добавлен: 30.04.2023
Просмотров: 442
Скачиваний: 16
СОДЕРЖАНИЕ
Глава 1. Характеристика аномалий в автоматизированной системе и сетевом трафике
Глава 2. Обзор методов регистрации сетевого трафика
2.1 Методы мониторинга основанные на маршрутизаторе
Глава 3. Обзор инструментов анализа сетевого трафика
Глава 4. Сбор информации о сетевом трафике и его анализ
Другая причина, по которой снифферы перестали быть настолько опасными, как раньше, заключается в том, что в сейчас наиболее важные данные передаются в зашифрованном виде. Открытые, незашифрованные службы быстро исчезают из сети. Например, при посещении web-сайтов все чаще используется протокол SSL (Secure Sockets Layer); вместо открытого FTP используется SFTP (Secure FTP), а для других служб, которые не применяют шифрование по умолчанию, все чаще применяются виртуальные частные сети (VPN).
Анализ захваченного сниффером трафика позволяет:
- Определить вирусный, паразитный и закольцованный трафик, присутствие которого приводит в увеличению загрузку сетевого оборудования и каналов связи (снифферы в данных условичх малоэффективны; чаще всего, с этой целью применяют сбор различной статистики серверами и активным сетевым оборудованием и её последующий анализ).
- Находить в сети вредоносное и несанкционированное программное обеспечение, к примеру, использование сетевых сканеров, флудеры, троянских программ, клиентов P2P сетей, чаще всего делают при помощи специализированных снифферов - мониторов сетевой активности.
- Перехватить любой незашифрованный, а в иных случаях и зашифрованный, трафик пользователя с целью получения паролей и другой информации.
- Локализовать неисправность сети или ошибку конфигурирования сетевых служб.
3.2 tcpdump.
tcpdump (от TCP и англ. dump — свалка, сбрасывать) — утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.
Для выполнения программы требуется наличие прав суперпользователя и прямой доступ к устройству (так, например, запуск из Jail во FreeBSD невозможен).
К недостатка можно отнести отсутствие графического пользовательского интерфейса - Рисунок 5.
Рисунок 5. Вывод tcpdump на консоль.
Программа состоит из двух основных частей: части захвата пакетов (обращение к библиотеке, libpcap (Unix)) и части отображения захваченных пакетов (которая на уровне исходного кода является модульной и для поддержки нового протокола достаточно добавить новый модуль).
Часть захвата пакетов (при запуске) передаёт «выражение выбора пакетов» (идущее после всех параметров командной строки) напрямую библиотеке захвата пакетов, которая проверяет выражение на синтаксис, компилирует его (во внутренний формат данных), а затем копирует во внутренний буфер программы сетевые пакеты, проходящие через выбранный интерфейс и удовлетворяющие условиям в выражении.
Часть отображения пакетов выбирает захваченные пакеты по одному из буфера, заполняемого библиотекой, и выводит их (в воспринимаемом человеком виде) на стандартный вывод построчно, в соответствии с заданным (в командной строке) уровнем детальности.
Если задан подробный вывод пакетов, программа проверяет для каждого сетевого пакета, имеется ли у неё модуль расшифровки данных, и, в случае наличия, соответствующей подпрограммой извлекает (и отображает) тип пакета в протоколе или передаваемые в пакете параметры.
3.3 Wireshark.
Wireshark (ранее — Ethereal) — программа-анализатор трафика для компьютерных сетей Ethernet и некоторых других.
Функциональность, которую предоставляет Wireshark, очень схожа с возможностями программы tcpdump, однако Wireshark имеет графический пользовательский интерфейс и гораздо больше возможностей по сортировке и фильтрации информации – Рисунок 6. Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени, переводя сетевую карту в неразборчивый режим (promiscuous mode).
Рисунок 6. Основное окно Wireshark.
Анализатор сетевого трафика можно сравнить с измерительным устройством, которое используется для просмотра того, что происходит внутри сетевого кабеля, как например вольтметр используется электриками для того чтобы узнать что происходит внутри электропроводки (но, конечно, на более высоком уровне). В прошлом такие инструменты были очень дорогостоящими и проприетарными. Однако, с момента появления такого инструмента как Wireshark ситуация изменилась. Wireshark – это один из лучших анализаторов сетевого трафика, доступных на сегодняшний момент.
Программа распространяется под свободной лицензией GNU GPL и использует для формирования графического интерфейса кроссплатформенную библиотеку GTK+.
Wireshark — это приложение, которое «знает» структуру самых различных сетевых протоколов, и поэтому позволяет разобрать сетевой пакет, отображая значение каждого поля протокола любого уровня.[11]
Wireshark работает на основе библиотеки pcap. Библиотека Pcap (Packet Capture) позволяет создавать программы анализа сетевых данных, поступающих на сетевую карту компьютера. Разнообразные программы мониторинга и тестирования сети, сниферы используют эту библиотеку. Она написана для использования языка С/С++ так что другие языки, такие как Java, .NET и скриптовые языки использовать не рационально. Для Unix-подобных систем используют libpcap библиотеку, а для Microsoft Windows NT используют WinPcap библиотеку. Программное обеспечение сетевого мониторинга может использовать libpcap или WinPcap, чтобы захватить пакеты, путешествующие по сети и в более новых версиях для передачи пакетов в сети.
Libpcap и WinPcap также поддерживают сохранение захваченных пакетов в файл и чтение файлов содержащих сохранённые пакеты. Программы написанные на основе libpcap или WinPcap могут захватить сетевой трафик, анализировать его. Файл захваченного траффика сохраняется в формате, понятном для приложений, использующих Pcap.
3.4 Snort.
Snort — свободная сетевая система предотвращения вторжений (IPS) и обнаружения вторжений (IDS) с открытым исходным кодом, способная выполнять регистрацию пакетов и в реальном времени осуществлять анализ трафика в IP-сетях.
Выполняет протоколирование, анализ, поиск по содержимому, а также широко используется для активного блокирования или пассивного обнаружения целого ряда нападений и зондирований, таких как попытки атак на переполнение буфера, скрытое сканирование портов, атаки на веб-приложения, SMB-зондирование и попытки определения операционной системы. Программное обеспечение в основном используется для предотвращения проникновения, блокирования атак, если они имеют место.
Может работать совместно с другим программным обеспечением, например, SnortSnarf, sguil, OSSIM и BASE (обеспечивающим визуальное представление данных вторжения). С дополнениями от Bleeding Edge Threats поддерживает антивирусное сканирование потоков пакетов ClamAV и анализ сетевых аномалий SPADE на сетевом и транспортном уровнях сети, возможно, с учётом истории изменений.
Глава 4. Сбор информации о сетевом трафике и его анализ
4.1 Использование программы Wireshark для анализа трафика
Для того чтобы осуществить сбор данных о сетевом трафике воспользуемся программным средством Wireshark. Данный продукт представляет собой сетевой сканер (сниффер пакетов). Позволяет перехватывать сетевые пакеты и предоставляет о них полную информацию. Внешний вид программного продукта представлен на рисунке 7.
Рисунок 7. Главное окно программы Wireshark.
Для сканирования выбираем тип сетевого подключения в разделе Capture и затем нажимаем кнопку Start. Если у пользователя возникли какие либо вопросы по использованию программы, то он может найти всю информацию в разделе Capture Help. Пункт меню Files позволит открыть уже сформированные программой лог файлы, содержащие сохраненные результаты предыдущих сканирований. Раздел Online предоставляет информацию о программе в сети Интернет.
Если пользователь хочет настроить параметры сканирования ему необходимо в меню выбрать пункт Capture > Options, где он может выполнить все необходимые настройки, и затем ему останется только нажать кнопку Start. Окно данного меню представлено на рисунках 8 и 9.
Рисунок 8. Выбор сетевого интерфейса.
Рисунок 9. Настройки параметров сканирования.
Рассказывать обо всех пунктах выше представленного меню не стоит, поскольку все галочки и кнопки подписаны и назначение их интуитивно понятно.
После того как произведены все необходимые настройки можно приступать к процессу сканирования. Остановить сканирование можно в любой момент остановить, нажав на кнопке Stop вверху экрана программы. Пример сканирования сети представлен на рисунке 10.
Рисунок 10. Пример сканирования сетевого трафика.
Из рисунка видно что программа показывает очередность захвата пакетов, его время, IP-адреса источника и приемника пакетов, тип протокола, длину пакета и сопроводительную информацию. Так же в окне ниже расположена более подробная информация о каждом пакете. И в самом нижнем окне показано содержимое каждого пакета. Хочется отметить, что при желании пользователь может настраивать расположение и саму видимость этих окон, а также менять отображение содержимого в этих окнах по своему желанию.
Для данной работы было выполнено два сканирования. Вначале сканировалась нормальная деятельность пользователя в сети. Полученные данные по сетевому трафику стали интерпретироваться, как нормальная деятельность пользователя в сети.
Для получения аномального сетевого трафика была выполнена загрузка файл большого объема, что позволило сымитировать подобие DOS атаки, приводящего к перегрузке сети. Для сканирования был выбран интервал времени в 260 секунд, в принципе он может быть любым.
Для визуализации были построены графики нормального и аномального сетевого трафика. Для этого был использован стандартный инструмент Wireshark - IO Graphs.
Графики нормального и аномального сетевого трафика представлены на рисунках 11 и 12 соответственно.
Рисунок 11. График нормального сетевого трафика
Рисунок 12. График аномального сетевого трафика
4.2 Фильтры Wireshark
Перебирать пакеты вручную чтобы найти нужные очень неудобно, особенно при активном потоке. Поэтому для такой задачи лучше использовать фильтры. Для ввода фильтров под меню есть специальная строка. Можно нажать Expression, чтобы открыть конструктор фильтров, но там их очень много поэтому рассмотрим самые основные:
- ip.dst - целевой ip адрес;
- ip.src - ip адрес отправителя;
- ip.addr - ip отправителя или получателя;
- ip.proto - протокол;
- tcp.dstport - порт назначения;
- tcp.srcport - порт отправителя;
- ip.ttl - фильтр по ttl, определяет сетевое расстояние;
- http.request_uri - запрашиваемый адрес сайта.
Для указания отношения между полем и значением в фильтре можно использовать такие операторы:
- == - равно;
- != - не равно;
- < - меньше;
- > - больше;
- <= - меньше или равно;
- >= - больше или равно;
- matches - регулярное выражение;
- contains - содержит.
Для объединения нескольких выражений можно применять:
- && - оба выражения должны быть верными для пакета;
- || - может быть верным одно из выражений.
Теперь рассмотрим подробнее на примерах несколько фильтров и попытаемся рассмотреть все знаки отношений.
Сначала отфильтруем все пакеты, отправленные на 95.163.77.88 (www.roskazna.ru). Для этого набираем строку ip.dst == 95.163.77.88 в поле фильтра и нажимаем Apply. Для удобства фильтры wireshark можно сохранять, с помощью кнопки Save:
Рисунок 13. Пакеты отправленные на ip 95.163.77.88
Чтобы получить не только отправленные пакеты, но и полученные в ответ от этого узла можно объединить два условия:
ip.dst == 95.163.77.88 || ip.src == 95.163.77.88
Рисунок 14. Обмен пакетами с ip 95.163.77.88
Отфильтровав Content-Type, можно выбрать все картинки, которые были загружены, для этого необходимо выполнить анализ трафика wireshark, пакеты, которого содержат слово image:
http.content_type contains image
Рисунок 15. Вывод пакетов, содержащих изображения
Так же Wireshark может использоваться для обнаружения проблем в сети. Для этого в левом нижнем углу окна есть круглая кнопка, при нажатии на нее открывается окно Expet Tools. В нем Wireshark собирает все сообщения об ошибках и неполадках в сети, Того же результата можно добиться, пройдя в меню Analyze – Expert Info.: