Анализаторы сетевых пакетов. Сетевой анализатор трафика сниффер

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

Сейчас на рынке представлено большое количество вариаций программного обеспечения для анализа сетевого трафика. Причем некоторые из них способны вызвать ностальгические воспоминания у специалистов «старой школы»; они используют терминальный шрифт и интерфейс командной строки, и на первый взгляд кажутся сложными в использовании. Другие решения, наоборот, — выделяются простотой установки и ориентированы на аудиторию с визуальным восприятием (они буквально перенасыщены различными графиками). Ценовой диапазон этих решений также весьма существенно отличается — от бесплатных до решений с весьма дорогой корпоративной лицензией.

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

SolarWinds Network Bandwidth Analyzer

Данное решение позиционируется производителем как программный пакет из двух продуктов — Network Performance Monitor (базовое решение) и NetFlow Traffic Analyzer (модульное расширение). Как заявляется, они имеют схожие, но все же отличающиеся функциональные возможности для анализа сетевого трафика, дополняющие друг друга при совместном использовании сразу двух продуктов.

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

Модульное расширение NetFlow Traffic Analyzer больше сконцентрировано на анализе самого трафика. В то время, как функциональность базового программного решения Network Performance Monitor больше предназначена для получения общего представления о производительности сети, в NetFlow Traffic Analyzer фокус внимания направлен на более детальный анализ процессов, происходящих в сети. В частности, эта часть программного пакета позволит проанализировать перегрузки или аномальные скачки полосы пропускания и предоставит статистику, отсортированную по пользователям, протоколам или приложениям. Обратите внимание, что данная программа доступна только для среды Windows.

Wireshark

Является относительно новым инструментом в большой семье решений для сетевой диагностики, но за это время он уже успел завоевать себе признание и уважение со стороны ИТ-профессионалов. С анализом трафика WireShark справляется превосходно, прекрасно выполняя для вас свою работу. Разработчики смогли найти золотую середину между исходными данными и визуальным представлением этих данных, поэтому в WireShark вы не найдете перекосов в ту или иную сторону, которым грешат большинство других решений для анализа сетевого трафика. WireShark прост, совместим и портативен. Используя WireShark, вы получаете именно то, что ожидаете, и получаете это быстро.

WireShark имеет прекрасный пользовательский интерфейс, множество опций для фильтрации и сортировки, и, что многие из нас смогут оценить по достоинству, анализ трафика WireShark прекрасно работает с любым из трех самых популярных семейств операционных систем — *NIX, Windows и macOS. Добавьте ко всему вышеперечисленному тот факт, что WireShark — программный продукт с открытым исходным кодом и распространяется бесплатно, и вы получите прекрасный инструмент для проведения быстрой диагностики вашей сети.

tcpdump

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

Изначально программное решение tcpdump разработано для среды *NIX, но на данный момент он также работает с несколькими портами Windows. Он обладает всей базовой функциональностью, которую вы ожидаете увидеть в любом анализаторе трафика — захват, запись и т.д., — но требовать чего-то большего от него не стоит.

Kismet

Анализатор трафика Kismet — еще один пример программного обеспечения с открытым исходным кодом, заточенного для решения конкретных задач. Kismet не просто анализирует сетевой трафик, он предоставляет вам гораздо более расширенные функциональные возможности. К примеру, он способен проводить анализ трафика скрытых сетей и даже беспроводных сетей, которые не транслируют свой идентификатор SSID! Подобный инструмент для анализа трафика может быть чрезвычайно полезен, когда в вашей беспроводной сети есть что-то, вызывающее проблемы, но быстро найти их источник вы не можете. Kismet поможет вам обнаружить неавторизированную сеть или точку доступа, которая работает, но имеет не совсем правильные настройки.

Многие из нас знают не понаслышке, что задача становится более сложной, когда дело доходит до анализа трафика беспроводных сетей, поэтому наличие под рукой такого специализированного инструмента, как Kismet, не только желательно, но и, зачастую, необходимо. Анализатор трафика Kismet станет прекрасным выбором для вас, если вы постоянно имеете дело с большим количеством беспроводного трафика и беспроводных устройств, и вы нуждаетесь в хорошем инструменте для анализа трафика беспроводной сети. Kismet доступен для сред * NIX, Windows под Cygwin и macOS.

EtherApe

По своим функциональным возможностям EtherApe во многом приближается к WireShark, и он также является программным обеспечением с открытым исходным кодом и распространяется бесплатно. Однако то, чем он действительно выделяется на фоне других решений — это ориентация на графику. И если вы, к примеру, результаты анализа трафика WireShark просматриваете в классическом цифровом виде, то сетевой трафик EtherApe отображается с помощью продвинутого графического интерфейса, где каждая вершина графа представляет собой отдельный хост, размеры вершин и ребер указывают на размер сетевого трафика, а цветом отмечаются различные протоколы. Для тех людей, кто отдает предпочтение визуальному восприятию статистической информации, анализатор EtherApe может стать лучшим выбором. Доступен для сред *NIX и macOS.

Cain and Abel

У данного программного обеспечения с весьма любопытным названием возможность анализа трафика является скорее вспомогательной функцией, чем основной. Если ваши задачи выходят далеко за пределы простого анализа трафика, то вам стоит обратить внимание на этот инструмент. С его помощью вы можете восстанавливать пароли для ОС Windows, производить атаки для получения потерянных учетных данных, изучать данные VoIP в сети, анализировать маршрутизацию пакетов и многое другое. Это действительно мощный инструментарий для системного администратора с широкими полномочиями. Работает только в среде Windows.

NetworkMiner

Решение NetworkMiner — еще одно программное решение, чья функциональность выходит за рамки обычного анализа трафика. В то время как другие анализаторы трафика сосредотачивают свое внимание на отправке и получении пакетов, NetworkMiner следит за теми, кто непосредственно осуществляет эту отправку и получение. Этот инструмент больше подходит для выявления проблемных компьютеров или пользователей, чем для проведения общей диагностики или мониторинга сети как таковой. NetworkMiner разработан для ОС Windows.

KisMAC

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

Заключение

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

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

Подписывайтесь на рассылку, делитесь статьями в соцсетях и задавайте вопросы в комментариях!

Всегда на связи, Игорь Панов.

В этой статье мы рассмотрим, что такое анализ сетевого трафика для мониторинга и управления производительностью сетевых приложений, а также коснёмся различий между анализом сетевого трафика в режиме реального времени и ретроспективным анализом трафика (Retrospective Network Analysis, RNA).

Введение

Есть такой маркетинговый приём: выбрать востребованное на рынке свойство продукта или услуги и заявить, что у твоего продукта или услуги это востребованное свойство тоже есть. Всем нужна белизна зубов – заявим, что и наша зубная паста отбеливает зубы.

С управлением производительностью приложений (APM, Application Performance Management, также Application Performance Monitoring) та же история. Сегодня практически каждый производитель систем сетевого управления заявляет, что его продукты позволяют управлять производительностью приложений. Конечно, «пони тоже кони», но давайте разберёмся, что же такое APM и какой функциональностью должен обладать инструментарий, чтобы носить это гордое имя.

Признаки зрелого APM-решения

Для очень многих измерение времени реакции бизнес-приложения и управление его производительностью – это практически одно и то же. На самом деле, это не совсем так. Измерять время реакции – это необходимо, но этого недостаточно.

APM – это сложный процесс, который включает в себя также измерение, оценку и документирование метрик, относящихся к ИТ-инфраструктуре, и, самое главное, обеспечивающий возможность увязки друг с другом качества работы приложений и качества работы ИТ-инфраструктуры. Другими словами, нужно не только определить, что приложение работает плохо, но и найти «виноватого». Для этого, кроме измерения времени реакции, нужно отслеживать ошибки приложений, контролировать диалог клиентов с серверами, видеть тренды. И всё это нужно делать одновременно для всего активного сетевого оборудования (коммутаторы, маршрутизаторы и т.д.), всех серверов, а также каналов связи.

В приведённой ниже таблице перечислены 10 ключевых признаков зрелого APM-решения.

Ключевой признак Комментарий
1. Комплексный мониторинг Для быстрого определения «масштабов бедствия» и корневых причин сбоев необходимо одновременно контролировать метрики, характеризующие работу приложений, и метрики, характеризующие работу всей ИТ-инфраструктуры без исключения.
2. Высокоуровневые отчёты Необходимы для понимания качества предоставления ИТ-сервисов в масштабе всего предприятия. Должны включать предустановленные панели (dashboards), отчёты, пороговые значения, базовые линии, шаблоны сообщений о сбоях. Обязательно должна быть возможность детализации информации (drill down).
3. Возможность настроить безопасный обмен данными Для быстрого устранения проблем и планирования мощностей необходима кооперация между различными отделами ИТ-Службы. Поэтому зрелое APM-решение должно обеспечивать возможность безопасного обмена данными. Это относится как к real time данным, так и к результатам статистической, экспертной и других обработок.
4. Непрерывный захват сетевых пакетов Контролируя объекты по SNMP, WMI и т.п., безусловно, можно оценить качество работы приложений, но увидеть всю картину целиком и понять, что и почему произошло – сложно. Более правильно – постоянно захватывать весь сетевой трафик полностью (не только заголовки), а когда происходит какое-то, требующее расследование событие, то анализировать содержимое захваченных сетевых пакетов.
5. Детальная информация о работе приложений Анализировать только время реакции приложения – недостаточно. Чтобы быстро диагностировать сбои, нужна информация о запросах (которые делает приложение), как они выполняются, коды возникающих ошибок и другая информация.
6. Экспертный анализ Серьёзный экспертный анализ существенно ускоряет диагностику проблем, т.к., во-первых, позволяет автоматизировать процесс анализ информации, во-вторых, если проблема известна, позволяет сразу получить готовое решение.
7. Сквозной (multiple segment / multihop) анализ Поскольку всё больше бизнес-приложений работают в облаке или через WAN, нужно уметь видеть все задержки и ошибки, возникающие в каждом сегменте сети, через который проходит сетевой трафик (один и тот же пакет). Только так можно быстро локализовать корневую причину сбоя.
8. Гибкие базовые линии Гибкие (настраиваемые) базовые линии позволяют эффективно контролировать как внутренние, так и облачные приложения. Для облачных приложений пороговые значения контролируемых метрик (прописываемые в SLA) обычно статические (известны заранее) и устанавливаются вручную. Для внутренних приложений лучше подходят динамические базовые линии, т.е. изменяемые автоматически с течением времени, в зависимости о производительности работы приложения.
9. Возможность реконструкции информационных потоков При анализе проблем, связанных с плохим качеством передачи голоса и видео, а также проблем в области информационной безопасности, важно иметь возможность воспроизвести сетевую активность и работу приложения в тот момент (а также до и после), когда произошло критическое событие.
10. Масштабируемость Думается, комментарии излишни.

Анализ сетевого трафика



Опытные ИТ-специалисты скажут, за перечисленными выше признаками торчат уши APM-решения, основанного на анализе сетевого трафика. Это действительно так.

Компания Network Instruments выделяет четыре типа решений для управления производительностью приложений:

  • решения, основанные на синтетических транзакциях (GUI-роботы)
  • решения, использующие программные агенты на стороне сервера
  • решения, использующие программные агенты на стороне клиента
  • решения, основанные на анализе сетевого трафика
Решения, основанные на анализе сетевого трафика, стоят в этом списке особняком.

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

Анализатор сетевого трафика обычно состоит из нескольких зондов и консоли удалённого администрирования. Зонды подключаются к SPAN-портам, что позволяет APM-решению, основанному на анализе сетевого трафика, пассивно слушать трафик, не потребляя ни ресурсы сервера (как это делают программные агенты на стороне сервера и синтетические транзакции), ни клиента (как это делают агенты на стороне клиента) и не создавая дополнительного трафика (как это делают синтетические транзакции и агенты на стороне клиента).

В основе собственно анализа лежит декодирование сетевых протоколов всех уровней, включая уровень приложения. Например, Observer от Network Instruments поддерживает декодирование и анализ всех семи уровней OSI-модели для таких приложений и сервисов, как SQL, MS-Exchange, POP3, SMTP, Oracle, Citrix, HTTP, FTP и др.

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

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

Второй важный момент. У всех четырёх типов решений, перечисленных Network Instruments, есть свои преимущества и своя область применения, в которой они справляются с задачами лучше других. Например, самую подробную информацию о приложении позволяют собрать программные агенты, получающие информацию непосредственно из приложения на стороне сервера или клиента через ARM-образный API. Эта информация очень полезна на этапе разработке и первоначальной обкатки приложения, но будет избыточна в процессе нормальной эксплуатации.

С другой стороны, как GUI-роботы с синтетическими транзакциями, так и программные агенты собирают данные о состоянии конкретного приложения (или нескольких приложений). Применение программных агентов с внедрением в код вообще предъявляет довольно высокие требования – вендор должен встроить в приложение поддержку конкретного инструмента мониторинга или предоставить API. Для того чтобы узнать контекст, в котором выполняется приложение, необходимо использовать другие инструменты (возможно, включённые в ту же комплексную систему мониторинга, возможно – отдельные).

Традиционная парадигма сетевого мониторинга – это централизованный сбор, объединение и анализ данных, получаемых из внешних источников информации. Это SNMP-агенты, WMI-провайдеры, различные логи и т.п. Задача системы мониторинга – собрать эти данные, в удобном виде их показать, проанализировать с использованием сервисно-ресурсной модели, и, таким образом, понять, что происходит. Так работают практически все системы мониторинга, в том числе система мониторинга ProLAN .

Анализатор сетевых протоколов позволяет увидеть сразу контекст.

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

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

Ретроспективный анализ сетевого трафика



Анализ сетевого трафика может проводиться двумя способами:
  • анализ трафика в режиме реального времени (на лету)
  • ретроспективный анализ трафика
Ретроспективный анализ трафика предполагает, что весь трафик или какая-то его часть сначала записывается на диск, а потом анализируется.

Рассмотрим, как это работает и зачем это нужно, на примере GigaStor – решения для записи и ретроспективного анализа трафика от Network Instruments. Это программно-аппаратный комплекс, имеющий в своём составе аппаратный зонд, полнодуплексную сетевую карту, хранилище данных и локальную консоль управления. Для удалённого администрирования понадобится интеграция с другими продуктами Network Instruments – уже упомянутым Observer или Observer Reporting Server. Сетевая карта позволяет захватывать трафик из сетей скоростью до 40 Гб/с, а дисковые массивы – хранить до 5 ПБ данных (альтернатива – выгрузка в SAN до 576 ТБ).

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

Анализ сетевого трафика

Анализ трафика является одним из способов получения паролей и идентификаторов пользователей в сети Internet. Анализ осуществляется с помощью специальной программы - анализатора пакетов (sniffer), перехватывающей все пакеты, передаваемые по сегменту сети, и выделяющей среди них те, в которых передаются идентификатор пользователя и его пароль.

Во многих протоколах данные передаются в открытом, незашифрованном виде. Анализ сетевого трафика позволяет перехватывать данные, передаваемые по протоколам FTP и TELNET (пароли и идентификаторы пользователей), HTTP (Hypertext Transfer Protocol - протокол передачи гипертекстовых файлов - передача гипертекста между WEB-сервером и браузером, в том числе и вводимые пользователем в формы на web-страницах данные), SMTP, POP3, IMAP, NNTP (электронная почта и конференции) и IRC - Internet Relay Chat (online-разговоры, chat). Так могут быть перехвачены пароли для доступа к почтовым системам с web-интерфейсом, номера кредитных карт при работе с системами электронной коммерции и различная информация личного характера, разглашение которой нежелательно.

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

Анализ сетевого трафика позволяет:

  • 1. Во-первых, изучить логику работы распределенной ВС, то есть получить взаимно однозначное соответствие событий, происходящих в системе, и команд, пересылаемых друг другу ее объектами, в момент появления этих событий (если проводить дальнейшую аналогию с инструментарием хакера, то анализ трафика в этом случае заменяет и трассировщик). Это достигается путем перехвата и анализа пакетов обмена на канальном уровне. Знание логики работы распределенной ВС позволяет на практике моделировать и осуществлять типовые удаленные атаки, рассмотренные в следующих пунктах на примере конкретных распределенных ВС.
  • 2. Во-вторых, анализ сетевого трафика позволяет перехватить поток данных, которыми обмениваются объекты распределенной ВС. Таким образом, удаленная атака данного типа заключается в получении на удаленном объекте несанкционированного доступа к информации, которой обмениваются два сетевых абонента. Отметим, что при этом отсутствует возможность модификации трафика и сам анализ возможен только внутри одного сегмента сети. Примером перехваченной при помощи данной типовой удаленной атаки информации могут служить имя и пароль пользователя, пересылаемые в незашифрованном виде по сети.

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

Подмена доверенного объекта или субъекта распределенной ВС

Одной из проблем безопасности распределенной ВС является недостаточная идентификация и аутентификация ее удаленных друг от друга объектов. Основная трудность заключается в осуществлении однозначной идентификации сообщений, передаваемых между субъектами и объектами взаимодействия. Обычно в распределенных ВС эта проблема решается следующим образом: в процессе создания виртуального канала объекты РВС обмениваются определенной информацией, уникально идентифицирующей данный канал. Такой обмен обычно называется «рукопожатием» (handshake). Однако, отметим, что не всегда для связи двух удаленных объектов в РВС создается виртуальный канал. Практика показывает, что зачастую, особенно для служебных сообщений (например, от маршрутизаторов) используется передача одиночных сообщений, не требующих подтверждения.

Как известно, для адресации сообщений в распределенных ВС используется сетевой адрес, который уникален для каждого объекта системы (на канальном уровне модели OSI - это аппаратный адрес сетевого адаптера, на сетевом уровне - адрес определяется в зависимости от используемого протокола сетевого уровня (например, IP-адрес). Сетевой адрес также может использоваться для идентификации объектов распределенной ВС. Однако сетевой адрес достаточно просто подделывается и поэтому использовать его в качестве единственного средства идентификации объектов недопустимо.

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

  • · атака при установленном виртуальном канале,
  • · атака без установленного виртуального канала.

В случае установленного виртуального соединения атака будет заключаться в присвоении прав доверенного субъекта взаимодействия, легально подключившегося к объекту системы, что позволит атакующему вести сеанс работы с объектом распределенной системы от имени доверенного субъекта. Реализация удаленных атак данного типа обычно состоит в передаче пакетов обмена с атакующего объекта на цель атаки от имени доверенного субъекта взаимодействия (при этом переданные сообщения будут восприняты системой как корректные). Для осуществления атаки данного типа необходимо преодолеть систему идентификации и аутентификации сообщений, которая, в принципе, может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитные счетчики пакетов и сетевые адреса станций. Однако на практике, например, в ОС Novell NetWare 3.12-4.1 для идентификации пакетов обмена используются два 8-битных счетчика - номер канала и номер пакета; в протоколе TCP для идентификации используются два 32-битных счетчика.

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

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

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

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

Внедрение в распределенную ВС ложного объекта путем использования недостатков алгоритмов удаленного поиска

В распределенной ВС часто оказывается, что ее удаленные объекты изначально не имеют достаточно информации, необходимой для адресации сообщений. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические (IP-адрес, например) адреса объектов РВС. Для получения подобной информации в распределенных ВС используются различные алгоритмы удаленного поиска, заключающиеся в передаче по сети специального вида поисковых запросов, и в ожидании ответов на запрос с искомой информацией. После получения ответа на запрос, запросивший субъект РВС обладает всеми необходимыми данными для адресации. Руководствуясь полученными из ответа сведениями об искомом объекте, запросивший субъект РВС начинает адресоваться к нему. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить SAP-запрос в ОС Novell NetWare, ARP- и DNS-запрос в сети Internet.

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

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

Ложный объект РВС - активное воздействие, совершаемое с целью нарушения конфиденциальности и целостности информации, которое может являться атакой по запросу от атакуемого объекта а также безусловной атакой. Данная удаленная атака является как внутрисегментной, так и межсегментной, имеет обратную связь с атакуемым объектом и осуществляется на канальном и прикладном уровнях модели OSI.

Использование ложного объекта для организации удаленной атаки на распределенную ВС

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

Селекция потока информации и сохранение ее на ложном объекте РВС

Одной из атак, которую может осуществлять ложный объект РВС, является перехват передаваемой между субъектом и объектом взаимодействия информации. Важно отметить, что факт перехвата информации (файлов, например) возможен из-за того, что при выполнении некоторых операций над файлами (чтение, копирование и т.д.) содержимое этих файлов передается по сети, а, значит, поступает на ложный объект. Простейший способ реализации перехвата - это сохранение в файле всех получаемых ложным объектом пакетов обмена.

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

Модификация информации

Одной из особенностей любой системы воздействия, построенной по принципу ложного объекта, является то, что она способна модифицировать перехваченную информацию. Следует особо отметить, что это один из способов, позволяющих программно модифицировать поток информации между объектами РВС с другого объекта. Ведь для реализации перехвата информации в сети необязательно атаковать распределенную ВС по схеме «ложный объект». Эффективней будет атака, осуществляющая анализ сетевого трафика, позволяющая получать все пакеты, проходящие по каналу связи, но, в отличие от удаленной атаки по схеме «ложный объект», она не способна к модификации информации.

  • · модификация передаваемых данных;
  • · модификация передаваемого кода.

Одной из функций, которой может обладать система воздействия, построенная по принципу «ложный объект», является модификация передаваемых данных. В результате селекции потока перехваченной информации и его анализа система может распознавать тип передаваемых файлов (исполняемый или текстовый). Соответственно, в случае обнаружения текстового файла или файла данных появляется возможность модифицировать проходящие через ложный объект данные. Особую угрозу эта функция представляет для сетей обработки конфиденциальной информации.

Другим видом модификации может быть модификация передаваемого кода. Ложный объект, проводя семантический анализ проходящей через него информации, может выделять из потока данных исполняемый код. Известный принцип неймановской архитектуры гласит, что не существует различий между данными и командами. Следовательно, для того, чтобы определить, что передается по сети - код или данные, необходимо использовать определенные особенности, свойственные реализации сетевого обмена в конкретной распределенной ВС или некоторые особенности, присущие конкретным типам исполняемых файлов в данной локальной ОС.

Представляется возможным выделить два различных по цели вида модификации кода:

  • · внедрение РПС (разрушающих программных средств);
  • · изменение логики работы исполняемого файла. В первом случае при внедрении РПС исполняемый файл модифицируется по вирусной технологии: к исполняемому файлу одним из известных способов дописывается тело РПС, а также одним из известных способов изменяется точка входа так, чтобы она указывала на начало внедренного кода РПС. Описанный способ, в принципе, ничем не отличается от стандартного заражения исполняемого файла вирусом, за исключением того, что файл оказался поражен вирусом или РПС в момент передачи его по сети! Такое возможно лишь при использовании системы воздействия, построенной по принципу «ложный объект». Конкретный вид РПС, его цели и задачи в данном случае не имеют значения, но можно рассмотреть, например, вариант использования ложного объекта для создания сетевого червя - наиболее сложного на практике удаленного воздействия в сетях, или в качестве РПС использовать сетевые шпионы.

Во втором случае происходит модификация исполняемого кода с целью изменения логики его работы. Данное воздействие требует предварительного исследования работы исполняемого файла и, в случае его проведения, может принести самые неожиданные результаты. Например, при запуске на сервере (например, в ОС Novell NetWare) программы идентификации пользователей распределенной базы данных ложный объект может так модифицировать код этой программы, что появится возможность беспарольного входа с наивысшими привилегиями в базу данных.

Подмена информации

Ложный объект позволяет не только модифицировать, но и подменять перехваченную им информацию. Если модификация информации приводит к ее частичному искажению, то подмена - к ее полному изменению.

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

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

Отказ в обслуживании

Одной из основных задач, возлагаемых на сетевую ОС, функционирующую на каждом из объектов распределенной ВС, является обеспечение надежного удаленного доступа с любого объекта сети к данному объекту. В общем случае в распределенной ВС каждый субъект системы должен иметь возможность подключиться к любому объекту РВС и получить в соответствии со своими правами удаленный доступ к его ресурсам. Обычно в вычислительных сетях возможность предоставления удаленного доступа реализуется следующим образом: на объекте РВС в сетевой ОС запускаются на выполнение ряд программ-серверов (например, FTP -сервер, WWW-сервер и т.п.), предоставляющих удаленный доступ к ресурсам данного объекта. Данные программы-серверы входят в состав телекоммуникационных служб предоставления удаленного доступа. Задача сервера состоит в том, чтобы, находясь в памяти операционной системы объекта РВС, постоянно ожидать получения запроса на подключение от удаленного объекта. В случае получения подобного запроса сервер должен по возможности передать на запросивший объект ответ, в котором либо разрешить подключение, либо нет (подключение к серверу специально описано очень схематично, так как подробности в данный момент не имеют значения). По аналогичной схеме происходит создание виртуального канала связи, по которому обычно взаимодействуют объекты РВС. В этом случае непосредственно ядро сетевой ОС обрабатывает приходящие извне запросы на создание виртуального канала (ВК) и передает их в соответствии с идентификатором запроса (порт или сокет) прикладному процессу, которым является соответствующий сервер.

Очевидно, что сетевая операционная система способна иметь только ограниченное число открытых виртуальных соединений и отвечать лишь на ограниченное число запросов. Эти ограничения зависят от различных параметров системы в целом, основными из которых являются быстродействие ЭВМ, объем оперативной памяти и пропускная способность канала связи (чем она выше, тем больше число возможных запросов в единицу времени).

Основная проблема состоит в том, что при отсутствии статической ключевой информации в РВС идентификация запроса возможна только по адресу его отправителя. Если в распределенной ВС не предусмотрено средств аутентификации адреса отправителя, то есть инфраструктура РВС позволяет с одного объекта системы передавать на другой атакуемый объект бесконечное число анонимных запросов на подключение от имени других объектов, то в этом случае будет иметь успех типовая удаленная атака «Отказ в обслуживании». Результат применения этой удаленной атаки - нарушение на атакованном объекте работоспособности соответствующей службы предоставления удаленного доступа, то есть невозможность получения удаленного доступа с других объектов РВС - отказ в обслуживании!

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

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

Типовая удаленная атака «Отказ в обслуживании» является активным воздействием, осуществляемым с целью нарушения работоспособности системы безусловно относительно цели атаки. Данная УА является однонаправленным воздействием как межсегментным, так и внутрисегментным, осуществляемым на транспортном и прикладном уровнях модели OSI.

трафик пароль защита сетевой

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

Рассмотрим в следующих пунктах типовые удаленные атаки и механизмы их реализации.

7.3.1 Анализ сетевого трафика

Специфичное для распределенных ВС типовое удаленное воздействие, заключающееся в прослушивании канала связи. Назовем данное типовое удаленное воздействие анализом сетевого трафика (или, сокращенно, сетевым анализом).

Анализ сетевого трафика позволяет:

1) изучить логику работы распределенной ВС, то есть получить взаимно однозначное соответствие событий, происходящих в системе, и команд, пересылаемых друг другу ее объектами, в момент появления этих событий (если проводить дальнейшую аналогию с инструментарием хакера, то анализ трафика в этом случае заменяет и трассировщик). Это достигается путем перехвата и анализа пакетов обмена на канальном уровне. Знание логики работы распределенной ВС позволяет на практике моделировать и осуществлять типовые удаленные атаки.

2) провести анализ сетевого трафика.

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

По характеру воздействия анализ сетевого трафика является пассивным воздействием (класс 1.1). Осуществление данной атаки без обратной связи (класс 4.2) ведет к нарушению конфиденциальности информации (класс 2.1) внутри одного сегмента сети (класс 5.1) на канальном уровне OSI (класс 6.2). При этом начало осуществления атаки безусловно по отношению к цели атаки (класс 3.3).

7.3.2 Подмена доверенного объекта или субъекта распределенной ВС

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

Как известно, для адресации сообщений в распределенных ВС используется сетевой адрес, который уникален для каждого объекта системы (на канальном уровне модели OSI - это аппаратный адрес сетевого адаптера, на сетевом уровне - адрес определяется в зависимости от используемого протокола сетевого уровня (например, IP-адрес). Сетевой адрес также может использоваться для идентификации объектов распределенной ВС. Однако сетевой адрес достаточно просто подделывается и поэтому использовать его в качестве единственного средства идентификации объектов недопустимо.

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

Атака при установленном виртуальном канале,

Атака без установленного виртуального канала.

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

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

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

Посылка ложных управляющих сообщений может привести к серьезным нарушениям работы распределенной ВС (например, к изменению ее конфигурации. Подмена доверенного объекта РВС является активным воздействием (класс 1.2), совершаемым с целью нарушения конфиденциальности (класс 2.1) и целостности (класс 2.2) информации, по наступлению на атакуемом объекте определенного события (класс 3.2). Данная удаленная атака может являться как внутрисегментной (класс 5.1), так и межсегментной (класс 5.2), как с обратной связью (класс 4.1), так и без обратной связи (класс 4.2) с атакуемым объектом и осуществляется на сетевом (класс 6.3) и транспортном (класс 6.4) уровнях модели OSI.

7.3.3 Ложный объект распределенной ВС

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

В том случае, если инфраструктура сети такова, что для взаимодействия объектов необходимо использование алгоритмов удаленного поиска, то это также позволяет внедрить в систему ложный объект. Итак, существуют две принципиально разные причины, обуславливающие появление типовой удаленной атаки "Ложный объект РВС».

1 стадия атаки

1.Внедрение в распределенную ВС ложного объекта путем навязывания ложного маршрута

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

торам обмениваться информацией друг с другом (RIP (Routing Internet Protocol), OSPF (Open Shortest Path First)), уведомлять хосты о новом маршруте - ICMP (Internet Control Message Protocol), удаленно управлять маршрутизаторами (SNMP (Simple Network Management Protocol)). Важно отметить, что все описанные выше протоколы позволяют удаленно изменять маршрутизацию в сети Internet, то есть являются протоколами управления сетью.

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

Реализация данной типовой удаленной атаки состоит в несанкционированном использовании протоколов управления сетью для изменения исходных таблиц маршрутизации.

Для изменения маршрутизации атакующему необходимо послать по сети определенные данными протоколами управления сетью специальные служебные сообщения от имени сетевых управляющих

устройств (например, маршрутизаторов). В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которой обмениваются два объекта распределенной ВС, и атака перейдет во вторую стадию, связанную с приемом, анализом и передачей сообщений, получаемых от дезинформированных объектов РВС. Навязывание объекту РВС ложного маршрута - активное воздействие (класс 1.2), совершаемое с любой из целей из класса 2, безусловно по отношению к цели атаки (класс 3.3). Данная типовая удаленная атака может осуществляться как внутри одного сегмента (класс 5.1), так и межсегментно (класс 5.2), как с обратной связью (класс 4.1), так и без обратной связи с атакуемым объектом (класс 4.2) на транспортном (класс 6.3) и прикладном (класс 6.7) уровне модели OSI.

2. Внедрение в распределенную ВС ложного объекта путем использования недостатков алгоритмов удаленного поиска

В распределенной ВС часто оказывается, что ее удаленные объекты изначально не имеют достаточно информации, необходимой для адресации сообщений. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические (IP-адрес, например) адреса объектов РВС. Для получения подобной информации в распределенных ВС используются различные алгоритмы удаленного поиска , заключающиеся в передаче по сети специального вида поисковых запросов, и в ожидании ответов на запрос с искомой информацией. После получения ответа на запрос, запросивший субъект РВС обладает всеми необходимыми данными для адресации. Руководствуясь полученными из ответа сведениями об искомом объекте, запросивший субъект РВС начинает адресоваться к нему. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить SAP-запрос в ОС

Novell NetWare , ARP- и DNS-запрос в сети Internet.

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

Другой вариант внедрения в РВС ложного объекта использует недостатки алгоритма удаленного по-

иска и состоит в периодической передаче на атакуемый объект заранее подготовленного ложного ответа без приема поискового запроса. В самом деле, атакующему для того, чтобы послать ложный ответ, не всегда обязательно дожидаться приема запроса (он может, в принципе, не иметь подобной возможности перехвата запроса). При этом атакующий может спровоцировать атакуемый объект на передачу поискового запроса, и тогда его ложный ответ будет немедленно иметь успех. Данная типовая удаленная атака чрезвычайно характерна для глобальных сетей, когда у атакующего из-за нахождения его в другом сегменте относительно цели атаки просто нет возможности перехватить поисковый запрос. Ложный объект РВС - активное воздействие (класс 1.2), совершаемое с целью нарушения конфиденциальности (класс 2.1) и целостности информации (класс 2.2), которое может являться атакой по запросу от атакуемого объекта (класс 3.1), а также безусловной атакой (класс 3.3). Данная удаленная атака является как внутрисегментной (класс 5.1), так и межсегментной (класс 5.2), имеет обратную связь с атакуемым объектом (класс 4.1) и осуществляется на канальном (класс 6.2) и прикладном (класс 6.7) уровнях модели OSI.

2 стадия атаки

3. Использование ложного объекта для организации удаленной атаки на распределенную ВС

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

3.1. Селекция потока информации и сохранение ее на ложном объекте РВС

Одной из атак, которую может осуществлять ложный объект РВС, является перехват передаваемой между субъектом и объектом взаимодействия информации. Важно отметить, что факт перехвата ин-

формации (файлов, например) возможен из-за того, что при выполнении некоторых операций над файлами (чтение, копирование и т. д.) содержимое этих файлов передается по сети, а, значит, поступает на ложный объект. Простейший способ реализации перехвата - это сохранение в файле всех получаемых ложным объектом пакетов обмена.

3.2 Модификация информации

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

что это один из способов, позволяющих программно модифицировать поток информации между объ-

ектами РВС с другого объекта. Ведь для реализации перехвата информации в сети необязательно атаковать распределенную ВС по схеме «ложный объект». Эффективней будет атака, осуществляющая анализ сетевого трафика, позволяющая получать все пакеты, проходящие по каналу связи, но, в отличие от удаленной атаки по схеме «ложный объект», она не способна к модификации информации. Далее рассмотрим два вида модификации информации:

Модификация передаваемых данных;

Модификация передаваемого кода.

Одной из функций, которой может обладать система воздействия, построенная по принципу «ложный объект», является модификация передаваемых данных. В результате селекции потока перехваченной информации и его анализа система может распознавать тип передаваемых файлов (исполняемый или текстовый). Соответственно, в случае обнаружения текстового файла или файла данных появляется возможность модифицировать проходящие через ложный объект данные. Особую угрозу эта функция представляет для сетей обработки конфиденциальной информации.

Другим видом модификации может быть модификация передаваемого кода. Ложный объект, проводя семантический анализ проходящей через него информации, может выделять из потока данных исполняемый код. Известный принцип неймановской архитектуры гласит, что не существует различий между данными и командами. Следовательно, для того, чтобы определить, что передается по сети - код или данные, необходимо использовать определенные особенности, свойственные реализации сетевого обмена в конкретной распределенной ВС или некоторые особенности, присущие конкретным типам исполняемых файлов в данной локальной ОС.

Представляется возможным выделить два различных по цели вида модификации кода:

Внедрение РПС (разрушающих программных средств);

Изменение логики работы исполняемого файла.

В первом случае при внедрении РПС исполняемый файл модифицируется по вирусной технологии: к исполняемому файлу одним из известных способов дописывается тело РПС, а также одним из известных способов изменяется точка входа так, чтобы она указывала на начало внедренного кода РПС. Описанный способ, в принципе, ничем не отличается от стандартного заражения исполняемого файла вирусом, за исключением того, что файл оказался поражен вирусом или РПС в момент передачи его по сети! Такое возможно лишь при использовании системы воздействия, построенной по принципу "ложный объект». Конкретный вид РПС, его цели и задачи в данном случае не имеют значения, но можно рассмотреть, например, вариант использования ложного объекта для создания сетевого червя - наиболее сложного на практике удаленного воздействия в сетях, или в качестве РПС использовать сетевые шпионы.

Во втором случае происходит модификация исполняемого кода с целью изменения логики его работы. Данное воздействие требует предварительного исследования работы исполняемого файла и, в случае его проведения, может принести самые неожиданные результаты. Например, при запуске на сервере (например, в ОС Novell NetWare) программы идентификации пользователей распределенной базы данных ложный объект может так модифицировать код этой программы, что появится возможность беспарольного входа с наивысшими привилегиями в базу данных.

3.3 Подмена информации

Ложный объект позволяет не только модифицировать, но и подменять перехваченную им информацию. Если модификация информации приводит к ее частичному искажению, то подмена - к ее полному изменению.

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

Принципы работы пакетных снифферов

Дальнейшем в рамках данной статьи мы будем рассматривать только программные снифферы, предназначенные для сетей Ethernet. Сниффер — это программа, которая работает на уровне сетевого адаптера NIC (Network Interface Card) (канальный уровень) и скрытым образом перехватывает весь трафик. Поскольку снифферы работают на канальном уровне модели OSI, они не должны играть по правилам протоколов более высокого уровня. Снифферы обходят механизмы фильтрации (адреса, порты и т.д.), которые драйверы Ethernet и стек TCP/IP используют для интерпретации данных. Пакетные снифферы захватывают из провода все, что по нему приходит. Снифферы могут сохранять кадры в двоичном формате и позже расшифровывать их, чтобы раскрыть информацию более высокого уровня, спрятанную внутри (рис. 1).

Для того чтобы сниффер мог перехватывать все пакеты, проходящие через сетевой адаптер, драйвер сетевого адаптера должен поддерживать режим функционирования promiscuous mode (беспорядочный режим). Именно в этом режиме работы сетевого адаптера сниффер способен перехватывать все пакеты. Данный режим работы сетевого адаптера автоматически активизируется при запуске сниффера или устанавливается вручную соответствующими настройками сниффера.

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

Ограничения использования снифферов

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

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

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

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

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

Другая причина, по которой снифферы перестали быть настолько опасными, как раньше, заключается в том, что в настоящее время наиболее важные данные передаются в зашифрованном виде. Открытые, незашифрованные службы быстро исчезают из Интернета. К примеру, при посещении web-сайтов все чаще используется протокол SSL (Secure Sockets Layer); вместо открытого FTP используется SFTP (Secure FTP), а для других служб, которые не применяют шифрование по умолчанию, все чаще используются виртуальные частные сети (VPN).

Итак, те, кто беспокоится о возможности злонамеренного применения пакетных снифферов, должны иметь в виду следующее. Во-первых, чтобы представлять серьезную угрозу для вашей сети, снифферы должны находиться внутри самой сети. Во-вторых, сегодняшние стандарты шифрования чрезвычайно затрудняют процесс перехвата конфиденциальной информации. Поэтому в настоящее время пакетные снифферы постепенно утрачивают свою актуальность в качестве инструментов хакеров, но в то же время остаются действенным и мощным средством для диагностирования сетей. Более того, снифферы могут с успехом использоваться не только для диагностики и локализации сетевых проблем, но и для аудита сетевой безопасности. В частности, применение пакетных анализаторов позволяет обнаружить несанкционированный трафик, обнаружить и идентифицировать несанкционированное программное обеспечение, идентифицировать неиспользуемые протоколы для удаления их из сети, осуществлять генерацию трафика для испытания на вторжение (penetration test) с целью проверки системы защиты, работать с системами обнаружения вторжений (Intrusion Detection System, IDS).

Обзор программных пакетных снифферов

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

Обычно окно любого сниффера с графическим интерфейсом состоит их трех областей. В первой из них отображаются итоговые данные перехваченных пакетов. Обычно в этой области отображается минимум полей, а именно: время перехвата пакета; IP-адреса отправителя и получателя пакета; MAC-адреса отправителя и получателя пакета, исходные и целевые адреса портов; тип протокола (сетевой, транспортный или прикладного уровня); некоторая суммарная информация о перехваченных данных. Во второй области выводится статистическая информация об отдельном выбранном пакете, и, наконец, в третьей области пакет представлен в шестнадцатеричном виде или в символьной форме — ASCII.

Практически все пакетные снифферы позволяют производить анализ декодированных пакетов (именно поэтому пакетные снифферы также называют пакетными анализаторами, или протокольными анализаторами). Сниффер распределяет перехваченные пакеты по уровням и протоколам. Некоторые анализаторы пакетов способны распознавать протокол и отображать перехваченную информацию. Этот тип информации обычно отображается во второй области окна сниффера. К примеру, любой сниффер способен распознавать протокол TCP, а продвинутые снифферы умеют определять, каким приложением порожден данный трафик. Большинство анализаторов протоколов распознают свыше 500 различных протоколов и умеют описывать и декодировать их по именам. Чем больше информации в состоянии декодировать и представить на экране сниффер, тем меньше придется декодировать вручную.

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

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

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

Поделиться: