Анализ локальной сети пассивным методом

Сегодня я хочу поговорить на тему, которая на первый взгляд может показаться лишенной смысла, но не всегда все так, как нам кажется, верно? Я хочу рассказать о методике пассивного анализа сети. Если мы можем произвести пассивный анализ всех узлов сети, составить ее топологию, то у нас есть доступ к ней с определенными правами. Следует резонный вопрос, а почему мы не знакомы со строением сети, хотя имеем в ней высокие права? Вот на этом и основывается мысль о бессмысленности вопроса.

Конечно, отчасти это утверждение верное, но не мне говорить о разнообразии ситуаций, которые могут случиться. Вполне возможно, что знания пригодятся, да и вообще развиваться необходимо не от потребности, а постоянно и для себя. Поэтому я очередной раз проверяю на прочность клавиатуру своего ноутбука :). Говорю я, как обычно, за сотрудника отдела безопасности. Зачем же ибшнику топология сети, если его задача безопасность делать? Связь тут самая прямая. Сотрудник отдела безопасности должен знать полную топологию, все используемые в сети протоколы, узлы, маршрутизаторы, а также хосты и их функции. Именно это позволит ему создать стойкую систему безопасности с оптимальной функциональностью, простотой реализации и постом контроля со стороны администратора безопасности. Это и неудивительно, ведь все компоненты тесно переплетаются, и упущение из виду одного из них приведет к нежелательным последствиям.

Я уже говорил о том, что ситуации бывают разные, поэтому никогда не знаешь, что пригодится тебе завтра, а про что и вспоминать в ближайшее время не придется.

Речь пойдет о пассивном анализе, который заключается в анализе трафика, сборке пакетов, исходящих от узлов сети для определения из составляющих, активных соединений, работающих протоколов, используемых портов и т.п. Пассивный анализ сети очень легко определяется, однако он уже довольно долгое время является одним из самых распространенных методов для определения топологи сети и построения карт. Пассивный анализ также позволяет определить операционную систему, которая установлена на изучаемом хосте, посредством протокола TCP/IP. Для этого используется технология, которую впервые реализовал Майкл Залевский в своей утилите p0f v 2.0.8, которая до сих пор активно используется многими сетевыми
администраторами.

Практика и теория

Пассивный метод анализа очень похож на активный. Различия в том, что активный метод подразумевает бомбардировку узла сети пакетами, а пассивный просто собирает ответы, исходящие от активных узлов сети. Таким образом, активную часть процесса анализа выполняет не сам анализатор, а другое приложение (рис.1).

По сравнению с активным методом анализа сети, пассивный имеет ряд преимуществ. Первым и, пожалуй, самым весомым является не генерирование "холостого трафика" в сети при анализе, что положительно сказывается на пропускной способности, особенно, если она физически невелика. Также пассивный анализ не провоцирует системы обнаружения вторжений, так как работает, анализируя естественный трафик. Кроме того, он способен в некоторых случаях обнаруживать брандмауэры и даже охарактеризовывать хосты, находящиеся за ними. Однако при всех положительных сторонах имеются и недостатки, как же без них :). Пожалуй, главный недостаток — это сравнительно неудобное развертывание системы анализа, так как от администратора требуется расположить аппаратный или программный трафик таким образом, чтобы через него проходил полезный трафик, в противном случае ничего не получится.

Чтобы получить более четкое представление, посмотрим на программный анализатор трафика Ethereal (рис.2), который призван существенно упростить анализ пакетов администратором сети. Программа быстро классифицирует пакеты и распределяет по группам. Также отлично реализованы фильтры, позволяющие сделать выборку пакетов, опираясь на определенные характеристики. Так как трафик анализируется впоследствии непосредственно системным администратором, то последнему необходимо знать, какие, собственно, службы работают с какими портами, а иначе все мероприятие будет бессмысленным.

Каждая служба обычно работает со стандартным для нее портом, такие порты назначаются Internet Assigned Numbers Authority и описаны в RFC для TCP/IP служб. Что касается протоколов не столь распространенных или вовсе используемых вредоносным программным обеспечением или взломщиками, то их изучить можно, прибегнув к помощи Internet Storm Center.

Еще одна тонкость пассивного анализа заключается в разделении клиента и сервера. Это можно сделать, обратившись к некоторой статистике спецификаций пакетов, исходящих от сервера. Обычно сервер шлет пакеты на порт, принадлежащий службе. Например, если имеется TCP запрос и он отправлен на 80 порт, значит, вы имеете дело с web-сервером.

Имеется возможность получить и некоторую информацию об инсталлированной на хост операционной системе. Это возможно благодаря тому, что TCP/IP fingerprinting работает практически идентично как в пассивном, так и в активном режимах. Возможность определить ОС дает тот факт, что в различных системах по-разному реализован TCP/IP стэк. Имеются четыре параметра, которые постоянно меняются в зависимости от установленной операционной системы, к ним относятся TOS, размер окна, TTL, DF. Именно анализ этих значений позволит нам судить о работающей на хосте операционке. Программа p0f 2.0 эти параметры расширяет и дает еще более точный и четкий результат (рис.3).

При повторном запуске p0f 2.0 мы получим результат обработки трафика web-сервера, который, как оказалось, работает на фрюше (рис.4).

Возможности использования

Теперь предлагаю попробовать определить те ситуации и варианты, в которых пассивный анализ локальной сети может пригодиться. Проведем своего рода конкретизацию.

Первым делом хотел бы выделить полезность техники пассивного анализа при предотвращении атак взломщиков либо вредоносного программного обеспечения. Данная техника подразумевает анализ трафика администратором, а значит, выделение и, впоследствии, исключение паразитного трафика, причиной которому может быть и атака. Также положительную роль пассивный анализ сыграет и при реагировании на взлом или атаку. В такой ситуации он позволит дать достаточно стабильную оценку ситуации и получить возможный ответ на вопрос о реализации и проведении атаки.

Пассивный анализ может стать ключевым звеном в организации защиты от утечки информации. Это возможно благодаря постоянному контролю пакетов, при этом контролю со стороны человека, что существенно снижает ошибки и ложные срабатывания.

Пассивный анализ позволяет выявить неразрешенные службы и другие аномальные поведения пользователей в сети практически мгновенно. Простой сбор пакетов с помощью Ethereal или любой другой программы наблюдения за сетью будет определять наличие передачи потоков данных, открытых файлов в Peer-to-peer сетях, игровой активности и другие источники несанкционированного использования сети. Самый простой способ сделать это - использовать Ethereal с фильтром пакетов на определенный IP-адрес внутренней сети, а затем отсортировать по портам TCP или UDP. В большинстве случаев вы увидите общий набор служб, которые легко идентифицировать как благоприятные. Эти TCP порты, как правило, используются операционными системами для работы в сети и типичными службами (DNS, FTP, HTTP и т.д.). Главное - это сравнить источники, определенные вами как авторизованные ресурсы, с полученными в результате пассивного анализа. В конце концов, почему бы Трояну не использовать порт 80 вместо произвольно выбранных эфемерных портов.

Ну и напоследок отмечу, что пассивный анализ позволяет системному администратору быть постоянно в курсе ситуации, которая имеет место в локальной сети. Это, пожалуй, самый большой плюс техники пассивного анализа сети. При этом осведомленность не влечет за собой дополнительной нагрузки на пропускную способность сети, что делает перспективу еще более "вкусной".

На этом я хотел бы закончить и подвести итоги. В начале статьи я говорил о том, что неизвестно, понадобятся вам полученные знания на практике или же, познакомившись с техникой пассивного анализа более близко, нежели в моей статье, получится, что драгоценное время потрачено зря. На мой взгляд, последнего не будет, так как изучив эту технику, вы получите не просто знания об анализе сети, вы получите знания об анализе пакетов, а они уж пригодятся в вашей профессиональной деятельности точно, да и в обычной жизни тоже. А я на этой оптимистической и воодушевляющей ноте закончу свой материал.

Евгений Кучук, q@sa-sec.org SASecurity gr.


Компьютерная газета. Статья была опубликована в номере 03 за 2009 год в рубрике безопасность

©1997-2024 Компьютерная газета