Сегодня я хочу поговорить на тему,
которая на первый взгляд может показаться лишенной смысла, но не всегда
все так, как нам кажется, верно? Я хочу рассказать о методике
пассивного анализа сети. Если мы можем произвести пассивный анализ всех
узлов сети составить ее топологию, то у нас есть доступ к ней с
определенными правами. Следует резонный вопрос, а почему мы не знакомы
со строением сети , хотя имеем в нет высокие права. Вот на этом и
основывается мысль о бессмысленности вопроса. Конечно, отчасти это
утверждение верное, но не мне говорить о разнообразности ситуаций,
которые случаются. Вполне возможно, что знания пригодятся, да и вообще
развиваться необходимо не от потребности, а постоянно и для себя.
Поэтому, я очередной раз проверяю на прочность клавиатуру своего
ноутбука . Говорю
я как обычно за сотрудника отдела безопасности. Зачем же ибшнику
топология сети, если его задача безопасность делать? Связь тут самая
прямая. Сотрудник отдела безопасности должен знать полную топологию,
все используемые в сети протоколы, узлы, маршрутизаторы, а так же хосты
и их функции. Именно это позволит ему создать стойкую систему
безопасности с оптимальной функциональностью, простотой реализации и
постой контроля со стороны администратора безопасности. Это и
неудивительно, ведь все компоненты тесно переплетаются и упущение из
виду одного из них приведет к нежелательным последствиям.
Я уже говорил о ситуациях и о том, что
бывают они разные, поэтому никогда не знаешь, что пригодится тебе
завтра, а про что и вспоминать ближайшее время не придется.
Речь пойдет о пассивном анализе,
который заключается в анализе трафика, сборке пакетов исходящих от улов
сети для определения из составляющих, активных соединений, работающих
протоколов, используемых портов и т.п. Пассивный анализ сети очень
легко определяется, однако он уже довольно долгое время является одним
из самых распространенных методов для определения топологи сети и
построения карт. Пассивный анализ так же позволяет определить
операционную систему, которая установлена на изучаемом хосте, по
средствам протокола 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 вместо произвольно выбранных эфемерных
портов.
Ну и напоследок отмечу, что пассивный
анализ позволяет системному администратору быть постоянно в курсе
ситуации, которая имеет место в локальной сети. Это, пожалуй, самый
большой плюс техники пассивного анализа сети. При этом осведомленность
не несет за собой дополнительной нагрузки на пропускную способность
сети, что делает перспективу еще более вкусной.
На этом я хотел бы закончить и подвести
итоги. В начале статьи я говорил то том, что неизвестен тот факт
понадобятся ли нам полученные знания на практике или же, познакомившись
с техникой пассивного анализа более близко нежели в моей статье, не
получится, что драгоценное время потрачено зря. На мой взгляд, этого не
будет, т.к. изучив эту технику вы получите не просто знания об анализе
сети, вы получите знания об анализе пакетов, а они уже пригодятся в
вашей профессиональной деятельности точно, да и в обычной жизни тоже. А
я на этой оптимистической и воодушевляющей ноте закончу свой материал.