Безопасность объединенных коммуникаций. Рекомендации Polycom

Google против межсетевых экранов

Как сообщается в 21 номере "PCWeek/RE" за 2001 год, из-за временного отключения межсетевого экрана в Южном политехническом университете Атланты поисковая машина Google проиндексировала внутреннюю сеть этого вуза и смогла получить доступ к файлам о студентах - домашним адресам, номерам социального страхования и т. д.

Общее непонимание состоит в том, что межсетевой экран не распознает атаки и не блокирует их. Межсетевой экран (МСЭ) - это устройство, которое сначала запрещает все, а потом разрешает только "хорошие" вещи. То есть при установке межсетевого экрана первым делом запрещаются все соединения между защищаемой и открытой сетями. Затем администратор добавляет специфичные правила, которые позволяют определенному трафику проходить через МСЭ. Типичная конфигурация МСЭ запретила бы весь входящий трафик ICMP, оставив разрешенным только исходящий трафик и некоторый входящий трафик на базе UDP- и TCP-протоколов (например, HTTP, DNS, SMTP и т. д.). Это позволит сотрудникам защищаемой организации работать с Internet и запретит доступ злоумышленников к внутренним ресурсам. Однако не стоит забывать, что МСЭ - это просто системы, основанные на правилах, которые разрешают или запрещают прохождение трафика через них. Даже МСЭ, использующие технологию "stateful inspection", не позволяют с точностью сказать, присутствует ли атака в трафике или нет. Они могут лишь уведомить, соответствует ли трафик правилу.

Можно провести хорошую аналогию с физическим миром. Межсетевой экран - это просто ограждение вокруг вашей сети, которое не может обнаружить, когда кто-то роет подкоп под него. МСЭ просто ограничивает доступ к некоторым точкам за вашим ограждением. А чтобы не быть голословными, приведем несколько примеров, когда межсетевые экраны не спасут вас от злоумышленников [Лукацкий1-01].

Атаки через туннели в межсетевом экране

Туннелирование является методом инкапсуляции (маскирования) сообщений одного типа (которые могут быть блокированы фильтрами МСЭ) внутри сообщений другого типа , Атаки через "туннели" возникают вследствие наличия соответствующих свойств у многих сетевых протоколов. МСЭ фильтрует сетевой трафик и принимает решения о пропуске или блокировании пакетов, опираясь на информацию об используемом сетевом протоколе. Обычно правила предусматривают соответствующую проверку с целью определения того, задействован или нет конкретный протокол. Например, если на МСЭ разрешены 25-й и 80-й порты, то тем самым разрешается пропуск во внутреннюю сеть почтового (SMTP) и Web- (HTTP) трафика. Именно этот принцип обработки и используется квалифицированными злоумышленниками. Вся несанкционированная деятельность осуществляется в рамках разрешенного протокола, создавая тем самым в нем туннель, по которому злоумышленник и реализует атаку. Например, такой дефект в межсетевых экранах используется при реализации атаки LOKI, которая позволяет туннелировать различные команды в запросы ICMP Echo Request и реакции на них в ответы ICMP Echo Reply, что существенно изменяет размер поля данных по сравнению со стандартным.

Для межсетевого экрана и любого другого традиционного средства сетевой безопасности данные действия выглядят вполне обычно. Например, вот как отображается передача файла паролей в 1СМР-"туннеле" анализатором протоколов TCPdump.
Другим примером туннельных атак можно назвать атаки на уровне приложений, которые связаны с практикой использования уязвимостей в приложениях путем отправки пакетов, непосредственно связанных с этими приложениями.

Рис. 1.3. Атака через туннели в межсетевом экране

Самый простой пример, демонстрирующий применение таких туннелей, - Internet-черви и макровирусы, заносимые в корпоративную сеть в виде вложений (attachments) в сообщения электронной почты. Если межсетевой экран разрешает прохождение SMTP-трафика (автору не приходилось видеть МСЭ, который бы этого не делал), то во внутреннюю сеть может попасть и "вирусная инфекция". Приведем более сложный пример. Например, Web-сервер, функционирующий под управлением программного обеспечения компании Microsoft (Internet Information Server), защищается межсетевым экраном, на котором разрешен только 80-й порт. На первый взгляд, обеспечивается эффективная защита. Но только на первый взгляд. Если используется IIS версии 3.0, то обращение по адресу http://www.domain.ru/default.asp. (с точкой на конце) позволяет злоумышленнику получить доступ к содержимому ASP-файла, который может хранить конфиденциальные данные (например, пароль доступа к базе данных). И даже если вы установили самую последнюю версию IIS 5.0.

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

Атаки, осуществляемые в обход межсетевого экрана

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

Пример из смежной области

21 февраля 1990 года аналитик по бюджету Мэри Пирхем (Mary Pircham) пришла на работу. Однако она не смогла пройти на свое рабочее место даже после набора четырехзначного кода и произнесения кодового слова в системе безопасности. Желая все же войти, Мэри открыла дверь черного хода при помощи пластиковой вилки и карманной отвертки. Новейшая защитная система, которую обошла Мэри Пирхем, рекламировалась как "безотказная и надежная" и стоила 44 тыс. долларов [Вакка1-97].

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

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

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

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

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

  • сетевом уровне , когда фильтрация происходит на основе адресов отправителя и получателя пакетов, номеров портов транспортного уровня модели OSI и статических правил, заданных администратором;

  • сеансовом уровне (также известные как stateful) - отслеживающие сеансы между приложениями, не пропускающие пакеты нарушающих спецификации TCP/IP, часто используемых в злонамеренных операциях - сканировании ресурсов, взломах через неправильные реализации TCP/IP, обрыв/замедление соединений, инъекция данных.

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

  • stateless (простая фильтрация), которые не отслеживают текущие соединения (например, TCP), а фильтруют поток данных исключительно на основе статических правил;

  • stateful, (фильтрация с учётом контекста), с отслеживанием текущих соединений и пропуском только таких пакетов, которые удовлетворяют логике и алгоритмам работы соответствующих протоколов и приложений. Такие типы сетевых экранов позволяют эффективнее бороться с различными видами DoS-атак и уязвимостями некоторых сетевых протоколов. Кроме того, они обеспечивают функционирование таких протоколов, как H.323, SIP, FTP и т.п., которые используют сложные схемы передачи данных между адресатами, плохо поддающиеся описанию статическими правилами, и, зачастую, несовместимых со стандартными, stateless сетевыми экранами.
Как обходят межсетевые экраны.

    1. ^ Угроза изнутри. Не всегда угрозы идут только с внешней стороны МСЭ, из сети Internet. Большое количество потерь связано как раз с инцидентами защиты со стороны внутренних пользователей (по статистике - до 80% инцидентов исходят изнутри). Необходимо уточнить, что межсетевой экран только просматривает трафик на границах между внутренней сетью и сетью Internet. Если трафик, использующий "бреши" в защите, никогда не проходит через межсетевой экран, то МСЭ и не находит никаких проблем.

    Пример на слайде

  1. Туннели . Межсетевой экран фильтрует трафик и принимает решения о пропуске или блокировании сетевых пакетов, опираясь на информацию об используемом протоколе. Как правило, правила предусматривают соответствующую проверку с целью определения того, разрешен или нет конкретный протокол. Например, если на МСЭ разрешен 25 и 80 порты, то тем самым разрешается пропуск во внутреннюю сеть почтового (SMTP) и Web (HTTP) трафика. Именно этот принцип обработки и используется квалифицированными злоумышленниками. Вся несанкционированная деятельность осуществляется в рамках разрешенного протокола, создавая тем самым в нем туннель, по которому злоумышленник и реализует атаку. Самый простой пример, демонстрирующий применение туннелей - Internet-черви и макровирусы, заносимые в корпоративную сеть в виде вложений (attachments) в сообщения электронной почты. Если межсетевой экран разрешает прохождение SMTP-трафика (а мне не приходилось видеть МСЭ, который бы этого не делал), то во внутреннюю сеть может попасть и "вирусная инфекция".

    Распространенной современной атакой на скрытые каналы является атака Loki. Эта атака использует протокол ICMP для передачи данных, хотя этот протокол не был разработан для использования таким образом, он предназначен лишь для отправки сообщений о текущем статусе и ошибках. Но кто-то разработал специальный инструмент (Loki), который позволяет злоумышленнику записывать данные сразу после заголовка ICMP.
    Это позволяет злоумышленнику организовать связь с другой системой посредством скрытого канала. Часто такая атака оказывается весьма успешной, поскольку большинство межсетевых экранов настроены на разрешение входящего и исходящего трафика ICMP. Это скрытый канал, т.к. он использует для связи протокол, который не был разработан для этого. Подробную информацию об атаке Loki можно найти на http://xforce.iss.net/xforce/xfdb/1452 .


  2. Шифрование. Очень часто из уст многих отечественных разработчиков средств VPN можно услышать, что разработанное им средство построения виртуальных частных сетей способно решить многие проблемы безопасности. Они упирают на то, что раз защищаемая сеть общается со своими оппонентами (удаленными офисами, партнерами, заказчиками и т.д.) только по VPN-соединению, то никакая "зараза" в нее не проникнет. Отчасти это так, но только при условии, что и оппоненты также ни с кем не общаются по незащищенным каналам. А это уже представить себе трудно. И поскольку большинство организаций используют шифрование для защиты внешних сетевых соединений, интерес злоумышленника будет направлен к тем местам в сети, где информация, представляющая для него интерес, вероятно, не является защищенной, то есть к узлам или сетям, с которым установлены доверенные отношения. И даже в случае создания VPN-соединений между сетью, защищаемой при помощи МСЭ с функциями VPN, и доверенной сетью, злоумышленник сможет с той же эффективностью реализовывать свои атаки. Мало того, эффективность его атак будет еще выше, поскольку зачастую требования по безопасности к доверенным узлам и сетям намного ниже всех остальных узлов. Злоумышленник сможет проникнуть в доверенную сеть, а уж затем из нее осуществлять свои несанкционированные действия по отношению к цели своей атаки.


  3. ^ Уязвимости в межсетевых экранах. Атаковав МСЭ и выведя его из строя, злоумышленники могут спокойно, не боясь быть обнаруженными, реализовывать свои преступные замысли по отношению к ресурсам защищаемой сети. Например, с начала 2001 года было обнаружено немало уязвимостей в реализации различных известных межсетевых экранов.

  4. ^ Подмена адреса - это способ сокрытия реального адреса злоумышленника. Однако он может использоваться и для обхода защитных механизмов межсетевого экрана. Такой простейший способ, как замена адреса источника сетевых пакетов на адрес из защищаемой сети, уже не может ввести в заблуждение современные межсетевые экраны. Все они используют различные способы защиты от такой подмены. Однако сам принцип подмены адреса остается по-прежнему актуальным. Например, злоумышленник может подменить свой реальный адрес на адрес узла, у которого установлены доверенные отношения с атакуемой системой и реализовать атаку типа "отказ в обслуживании" на нее.
  • Категоря: Без рубрики
  • Большинство корпоративных сетей ограждено по периметру недемократично настроенными брандмауэрами, защищающими внутренних пользователей от самих себя и отпугивающими начинающих хакеров. Между тем, для опытного взломщика даже качественный и грамотно настроенный брандмауэр - не преграда.

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

    На рынке доминируют два типа брандмауэров - пакетные фильтры, также называемые шлюзами фильтрации пакетов (packet filter gateway), и программные прокси (application proxy). Примером первого типа является Firewall от компании Check Point, а второго - Microsoft Proxy Server.

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

    Программные прокси представляют собой обычные прокси-сервера, прослушивающие заданные порты (например, 25, 110, 80) и поддерживающие взаимодействие с заранее оговоренным перечнем сетевых сервисов. В отличие от фильтров, передающих IP-пакеты \»как есть\», прокси самостоятельно собирают TCP-пакеты, выкусывают из них пользовательские данные, наклеивают на них новый заголовок и вновь разбирают полученный пакет на IP, при необходимости осуществляя трансляцию адресов. Если брандмауэр не содержит ошибок, обмануть его на сетевом уровне уже не удастся; к тому же, он скрывает от атакующего структуру внутренней сети - снаружи остается лишь брандмауэр. А для достижения наивысшей защищенности администратор может организовать на брандмауэре дополнительные процедуры авторизации и аутентификации, «набрасывающиеся» на противника еще на дальних рубежах обороны. Это были достоинства. Что же касается недостатков, то программные прокси ограничивают пользователей в выборе приложений. Они работают намного медленнее пакетных фильтров и здорово снижают производительность (особенно на быстрых каналах).

    Брандмауэры обоих типов обычно включают в себя более или менее урезанную версию системы определения вторжений (Intruder Detection System, IDS), анализирующую характер сетевых запросов и выявляющую потенциально опасные действия — обращение к несуществующим портам (характерно для сканирования), пакеты с TTL, равным единице, (характерно для трассировки) и т.д. Все это существенно затрудняет атаку, и хакеру приходится действовать очень осторожно, поскольку любой неверный шаг тут же выдаст его с поторохами. Однако интеллектуальность интегрированных систем распознавания достаточна невелика, и большинство уважающих себя администраторов перекладывает эту задачу на плечи специализированных пакетов, таких, как Real Secure от Internet Security System.

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

    Пакетные фильтры в общем случае позволяют закрывать все входящие/исходящие TCP-порты, полностью или частично блокировать некоторые протоколы (например, ICMP), препятствовать установке соединений с данными IP-адресами и т.д. Правильно сконфигурированная сеть должна состоять, по меньшей мере, из двух зон: внутренней корпоративной сети (corporative network), огражденной брандмауэром и населенной рабочими станциями, сетевыми принтерами, intranet-серверами, серверами баз данных и прочими ресурсами подобного типа; а также демилитаризованной зоны (demilitarized zone, или, сокращенно, DMZ), в которой расположены публичные сервера, доступные из интернета. Брандмауэр, настроенный на наиболее драконический уровень защищенности, должен:
    закрывать все порты, кроме тех, что принадлежат публичным сетевым службам (HTTP, FTP, SMTP и т.д.);
    пакеты, приходящие на заданный порт, отправлять тем и только тем узлам, на которых установлены соответствующие службы (например, если WWW-сервер расположен на узле А, а FTP-сервер на узле B, то пакет, направленный на 80 порт узла B, должен блокироваться брандмауэром);
    блокировать входящие соединения из внешней сети, направленные в корпоративную сеть (правда, в этом случае пользователи сети не смогут работать с внешними FTP-серверами в активном режиме);
    блокировать исходящие соединения из DMZ-зоны, направленные во внутреннюю сеть (исключая FTP- и DNS-сервера, которым исходящие соединения необходимы);
    блокировать входящие соединения из DMZ-зоны, направленные во внутреннюю сеть (если этого не сделать, то атакующий, захвативший управление одним из публичных серверов, беспрепятственно проникнет и в корпоративную сеть).
    блокировать входящие соединения в DMZ-зону из внешней сети по служебным протоколам, часто использующимся для атаки (например, ICMP; правда, полное блокирование ICMP создает большие проблемы, в частности, перестает работать ping и становится невозможным автоматическое определение наиболее предпочтительного MTU);
    блокировать входящие/исходящие соединения с портами и/или IP-адресами внешней сети, заданными администратором.

    Фактически роль брандмауэра сводится к ограждению корпоративной сети от всяких любопытствующих, блуждающих по просторам инета. Тем не менее, прочность этого ограждения только кажущаяся. Если клиент корпоративной сети использует уязвимую версию браузера или клиента электронной почты (а большая часть программного обеспечения уязвима!), атакующему достаточно заманить его на троянизированную WEB-страничку или послать ему письмо с вирусом внутри, и через короткое время локальная сеть окажется поражена. Даже если исходящие соединения из корпоративной сети запрещены, shell-код сможет воспользоваться уже установленным TCP-соединением, через которое он был заброшен на атакованный узел, передавая хакеру управление удаленной системой.

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

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

    Большинство брандмауэров отбрасывают пакеты с истечением TTL (Time To Live - время жизни), блокируя тем самым трассировку маршрута, чем разоблачают себя. Аналогичным образом поступают и некоторые маршрутизаторы, однако, как уже говорилось выше, между маршрутизатором и пакетным фильтром нет принципиальной разницы.

    Отслеживание маршрута обычно осуществляется утилитой traceroute, поддерживающей трассировку через протоколы ICMP и UDP, причем ICMP блокируется гораздо чаще. Выбрав узел, заведомо защищенный брандмауэром (например, www.intel.ru), попробуем отследить к нему маршрут командой traceroute -I wwww.intel.ru.

    $traceroute -I wwww.intel.ru

    Трассировка маршрута к bouncer.glb.intel.com

    1 1352 ms 150 ms 150 ms 62.183.0.180

    2 140 ms 150 ms 140 ms 62.183.0.220

    3 140 ms 140 ms 130 ms 217.106.16.52

    4 200 ms 190 ms 191 ms aksai-bbn0-po2-2.rt-comm.ru

    5 190 ms 211 ms 210 ms msk-bbn0-po1-3.rt-comm.ru

    6 200 ms 190 ms 210 ms spb-bbn0-po8-1.rt-comm.ru

    7 190 ms 180 ms 201 ms stockholm-bgw0-po0-3-0-0.rt-comm.ru

    8 180 ms 191 ms 190 ms POS4-0.GW7.STK3.ALTER.NET

    9 190 ms 191 ms 190 ms 146.188.5.33

    10 190 ms 190 ms 200 ms 146.188.11.230

    11 311 ms 310 ms 311 ms 146.188.5.197

    12 291 ms 310 ms 301 ms so-0-0-0.IL1.DCA6.ALTER.NET

    13 381 ms 370 ms 371 ms 152.63.1.137

    14 371 ms 450 ms 451 ms 152.63.107.150

    15 381 ms 451 ms 450 ms 152.63.107.105

    16 370 ms 461 ms 451 ms 152.63.106.33

    17 361 ms 380 ms 371 ms 157.130.180.186

    18 370 ms 381 ms 441 ms 192.198.138.68

    19 * * * Превышен интервал ожидания для запроса.

    20 * * * Превышен интервал ожидания для запроса.

    Смотри: трассировка доходит до узла 192.198.138.68, а затем умирает, что указывает либо на брандмауэр, либо на недемократичный маршрутизатор. Чуть позже мы покажем, как можно проникнуть сквозь него, а пока выберем для трассировки другой узел, например, www.zenon.ru

    $traceroute -I www.zenon.ru

    Трассировка маршрута к distributed.zenon.net

    с максимальным числом прыжков 30:

    1 2444 ms 1632 ms 1642 ms 62.183.0.180

    2 1923 ms 1632 ms 1823 ms 62.183.0.220

    3 1632 ms 1603 ms 1852 ms 217.106.16.52

    4 1693 ms 1532 ms 1302 ms aksai-bbn0-po2-2.rt-comm.ru

    5 1642 ms 1603 ms 1642 ms 217.106.7.93

    6 1562 ms 1853 ms 1762 ms msk-bgw1-ge0-3-0-0.rt-comm.ru

    7 1462 ms 411 ms 180 ms mow-b1-pos1-2.telia.net

    8 170 ms 180 ms 160 ms mow-b2-geth2-0.telia.net

    9 160 ms 160 ms 170 ms 213.248.78.178

    10 160 ms 151 ms 180 ms 62.113.112.67

    11 181 ms 160 ms 170 ms css-rus2.zenon.net

    Трассировка завершена.

    На этот раз трассировка проходит нормально. Выходит, что никакого брандмауэра вокруг zenon\’а нет? Очень может быть, но для уверенного ответа нам требуется дополнительная информация. Узел 195.2.91.193 принадлежит сети класса С (три старших бита IP-адреса равны 110), и, если эта сеть не защищена брандмауэром, большинство ее узлов должно откликаться на ping, что в данном случае и происходит. Сканирование выявляет 65 открытых адресов. Следовательно, либо маршрутизатора здесь нет, либо он беспрепятственно пропускает наш ping.

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

    Утилита nmap позволяет обнаруживать некоторые из брандмауэров, устанавливая статут порта во \»firewalled\». Такое происходит всякий раз, когда в ответ на SYN удаленный узел возвращает ICMP-пакет типа 3 с кодом 13 (Admin Prohibited Filter) с действительным IP-адресом брандмауэра в заголовке (nmap его не отображает; пиши собственный сканер или, используя любой снифер, самостоятельно проанализируй возвращаемый пакет). Если возвратится SYN/ACK - сканируемый порт отрыт. RST/ACK указывает на закрытый или заблокированный брандмауэром порт. Не все брандмауэры генерируют RST/ACK при попытке подключения к заблокированным портам (Check Point Firewall - генерирует), некоторые отсылают ICMP-сообщение, как было показано выше, или ничего не посылают вообще.

    Большинство брандмауэров поддерживает удаленное управление через интернет, открывая один или несколько TCP-портов, уникальных для каждого брандмауэра. Так, например, Check Point Firewall открывает 256, 257 и 258 порты, а Microsoft Proxy - 1080. Некоторые брандмауэры явным образом сообщают свое имя и версию программного продукта при подключении к ним по netcat (или telnet), в особенности этим грешат прокси-сервера. Последовательно опрашивая все узлы, расположенные впереди исследуемого хоста, на предмет прослушивания характерных для брандмауэров портов, мы в большинстве случаев сможем не только выявить их присутствие, но и определить IP-адрес! Разумеется, эти порты могут быть закрыты как на самом брандмауэре (правда, не все брандмауэры это позволяют), так и на предшествующем ему маршрутизаторе (но тогда брандмауэром будет нельзя управлять через интернет).
    Сканирование и трассировка через брандмауэр

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

    Утилита Firewalk представляет собой классический трассер, посылающий TCP- или UDP-пакеты, с таким расчетом, чтобы на узле, следующем непосредственно за брандмауэром, их TTL обращался в ноль, заставляя систему генерировать сообщение ICMP_TIME_EXCEEDED. Благодаря этому Firewalk уверенно работает даже там, где штатные средства уже не справляются, хотя крепко защищенный брандмауэр ей, конечно, не пробить и атакующему приходится использовать более продвинутые алгоритмы.

    Будем исходить из того, что с каждым отправляемым IP-пакетом система увеличивает его ID на единицу (как это чаще всего и случается). С другой стороны, согласно спецификации RFC-793, описывающей TCP-протокол, всякий хост, получивший посторонний пакет, который не относится к установленным TCP-соединениям, должен реагировать на него посылкой RST. Для реализации атаки нам понадобится удаленный узел, не обрабатывающий в данный момент никакого постороннего трафика и генерирующий предсказуемую последовательность ID. В хакерских кругах такой узел называется немым (dump). Обнаружить немой хост очень просто - достаточно лишь отправить ему серию IP-пакетов и проанализировать ID, возвращенный в заголовках. Запомним (запишем на бумажку) ID последнего пакета. Затем выберем жертву и отправим ей SYN-пакет, указав в обратном адресе IP немого узла. Атакуемый узел, думая, что немой хост хочет установить с ним TCP-соединение, ответит: SYN/ACK. Немой хост, словив посторонний SYN/ACK, возвратит RST, увеличивая свой счетчик ID на единицу. Отправив немому хосту еще один IP-пакет и проанализировав возвращенный ID, мы сможем узнать, посылал ли немой хост жертве RST-пакет или нет. Если посылал, значит, атакуемый хост активен и подтверждает установку TCP-соединения на заданный порт. При желании хакер может просканировать все интересующие его порты, не рискуя оказаться замеченным, ведь вычислить его IP практически невозможно - сканирование осуществляется \»руками\» немого узла и с точки зрения атакуемого выглядит как обычное SYN-сканирование.

    Предположим, что немой хост расположен внутри DMZ, а жертва находится внутри корпоративной сети. Тогда, отправив немому хосту SYN-пакет от имени жертвы, мы сможем проникнуть через брандмауэр, поскольку он будет думать, что с ним устанавливает соединение внутренний хост, а соединения этого типа в 99,9% случаях разрешены (если их запретить, пользователи корпоративной сети не смогут работать со своим же собственными публичными серверами). Естественно, все маршрутизаторы на пути от хакера к немому хосту не должны блокировать пакет с поддельным обратным адресом, в противном случае пакет умрет задолго до того, как доберется до места назначения.

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

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

    Сборку фрагментированных TCP-пакетов поддерживают только самые качественные из брандмауэров, а все остальные анализируют лишь первый фрагмент, беспрепятственно пропуская все остальные. Послав сильно фрагментированный TCP-пакет, \»размазывающий\» TCP-заголовок по нескольким IP-пакетам, хакер скроет от брандмауэра Acknowledgment Number и он не сможет определить принадлежность TCP-пакета к соответствующей ему TCP-сессии (быть может, он относится к легальному соединению, установленному корпоративным пользователем). Если только на брандмауэре не активирована опция \»резать фрагментированные пакеты\», успех хакерской операции гарантирован. Блокирование фрагментированных пакетов создает множество проблем и препятствует нормальной работе сети. Теоретически возможно блокировать лишь пакеты с фрагментированным TCP-заголовком, однако далеко не всякий брандмауэр поддерживает столь гибкую политику настройки. Атаки данного типа, называемые Tiny Fragment Attack, обладают чрезвычайно мощной проникающей способностью и потому являются излюбленным приемом всех хакеров.

    Атаки с использованием внутренней маршрутизации (она же маршрутизация от источника, или source routing) намного менее актуальны, но мы все же их рассмотрим. Как известно, IP-протокол позволяет включать в пакет информацию о маршрутизации. При отправке IP-пакета жертве навязанная хакером маршрутизация чаще всего игнорируется, и траектория перемещения пакета определяется исключительно промежуточными маршрутизаторами, но ответные пакеты возвращаются по маршруту, обратному указанному в IP-заголовке, что создает благоприятные условия для его подмены. Более упрощенный вариант атаки ограничивается одной лишь подменой IP-адреса отправителя. Грамотно настроенные маршрутизаторы (и большинство клонов UNIX) блокируют пакеты с внутренней маршрутизацией. Пакеты с поддельными IP-адресами представляют несколько большую проблему, однако качественный брандмауэр позволяет отсеивать и их.

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

    Пользователи внутренней сети, огражденной недемократичным брандмауэром, серьезно ограничены в своих возможностях. Про невозможность работы с FTP-серверами в активном режиме мы уже говорили. Также могут быть запрещены некоторые протоколы и закрыты необходимые тебе порты. В клинических случаях администраторы ведут черных списки IP-адресов, блокируя доступ к сайтам \»нецелесообразной\» тематики.

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

    Также можно воспользоваться протоколом SSH (Secure Shell), изначально спроектированным для работы через брандмауэр и поддерживающим шифрование трафика (на тот случай, если брандмауэр вздумает искать в нем \»запрещенные\» слова типа \»sex\», \»hack\» и т.д.). SSH-протокол может работать по любому доступному порту, например, 80, и тогда с точки зрения брандмауэра все будет выглядеть как легальная работа с WEB-сервером. Между тем, SSH является лишь фундаментом для остальных протоколов, из которых в первую очередь хотелось бы отметить telnet, обеспечивающий взаимодействие с удаленными терминалами. Заплатив порядка 20$ за хостинг любому провайдеру, ты получишь аккаунт, поддерживающий SSH и позволяющий устанавливать соединения с другими узлами сети (бесплатные хостинги этой возможности чаще всего лишены или накладывают на нее жесткие ограничения).

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

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

    Популярный сканер портов, позволяющий обнаруживать некоторые типы брандмауэров. Бесплатен. Исходные тексты доступны. На сайте http://www.insecure.org/nmap море технической информации по проблеме.
    FireWalk

    Утилита для трассировки сети через брандмауэр, работающая на TCP/UDP-протоколах и основанная на TTL. Бесплатна. http://www.packetfactory.net/firewalk. Перед использованием рекомендуется ознакомиться с документацией http://www.packetfactory.net/firewalk/firewalk-final.pdf.
    HPING

    Утилита, реализующая сканирование через немой хост. Мощное оружие для исследования внутренней сети по-за брандмауэром. Бесплатна и хорошо документирована. http://www.hping.org/papers.html.
    SSH-клиент

    Secure Shell клиент, используемый пользователями внутренней сети для преодоления запретов и ограничений, наложенных брандмауэром. Бесплатен. Распространяется вместе с исходными текстами. http://www.openssh.com.
    FFAQ

    Подробный FAQ по брандмауэрам на английском языке. www.interhack.net/pubs/fwfaq/firewalls-faq.pdf. Его русский перевод, не отличающейся особой свежестью, лежит на ln.com.ua/~openxs/articles/fwfaq.html.
    Firewalls

    Конспект лекций по брандмауэрам (на английском языке) от тайваньского профессора Yeali S. Sun. http://www.im.ntu.edu.tw/~sunny/pdf/IS/Firewall.pdf
    OpenNet

    Огромный портал по сетевой безопасности, содержащий в том числе и информацию о дырах в популярных брандмауэрах (на русском и английском языках). http://www.opennet.ru

    Брандмауэры подвержены большому количеству DoS-атак, таких, как эхо-шторм или SYN-flood, которым они в принципе неспособны противостоять.

    Брандмауэр - это маршрутизатор, проски-север и система обнаружения вторжений в одном флаконе.

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

    В большинстве случаев сквозь кирпичную стену брандмауэра можно пробить ICMP-тоннель, обернув передаваемые данные ICMP-заголовком.

    Брандмауэр можно атаковать не только извне, но и изнутри корпоративной сети.

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

    Брандмауэры, открывающие 53 порт (служба DNS) не только на приемнике (например, Check Point Firewall), но и на источнике, позволяют хакеру просканировать всю внутреннюю сеть.

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

    Некоторые брандмауэры подвержены несанкционированному просмотру файлов через порт 8010 и запросы типа http://www.host.com::8010/c:/ или http://www.host.com::8010//.
    Служба DCOM нуждается в широком диапазоне открытых портов, что существенно снижает степень защищенности системы, обессмысливая использование брандмауэра.

4.13.2. Обход сетевого экрана

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

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

На большинстве сетевых экранов очень легко реализовать атаку DoS. Когда мы рассматривали технологию этой атаки (см. разд. 1.1.6 ), то говорили о том, что она легко организуется в двух случаях:

1. Мощность вашего канала больше, чем у противника.

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

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

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

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

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

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

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

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

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

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

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

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

В 1999 году я написал статью "Firewall - не панацея", которая рассказывала о различных недостатках, присущих технологии, используемой в межсетевых экранах (МСЭ). Я надеялся, что отечественные поставщики и, особенно разработчики, перестанут "дурить голову" заказчикам, утверждая, что именно их межсетевой экран - это панацея от всех бед, и он решит все проблемы заказчика, обеспечив надежную защиту всех ресурсов корпоративной сети. Однако этого не произошло, и я вновь хочу вернуться к этой теме. Тем более что, как показывает мой опыт чтения лекций по защите информации, этот вопрос живо интересует специалистов, которые уже используют межсетевые экраны (firewall) в своих организациях.

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

Людям свойственно ошибаться

Как известно, межсетевые экраны, как и другие средства защиты, настраиваются людьми. А людям свойственно ошибаться, даже специалистам по защите информации. Именно этот факт и используется многими злоумышленниками. Достаточно найти всего лишь одну слабину в настройках межсетевого экрана и все, можно считать, что "ваше дело табак". Это подтверждается и различными исследованиями. Например, собранная в 1999 году ассоциацией ICSA (http://www.icsa.net) статистика показывает, что до 70% всех межсетевых экранов уязвимы из-за неправильной конфигурации и настройки. Я не хочу говорить о некомпетентности или низкой квалификации администратора МСЭ (хотя эти причины отнюдь не редки), - опишу другой примера. Сразу после института я попал в отдел автоматизации одной крупной компании. Защита Internet обеспечивалась межсетевым экраном, которым "рулил" администратор отдела защиты информации. Мне не раз приходилось сталкиваться с ситуацией, когда к этому администратору подходили друзья из других отделов компании и просили на время разрешить им доступ к серверам с игрушками. Однажды я был свидетелем вопиющего случая. К администратору МСЭ подошел начальник отдела по работе с партнерами и потребовал дать ему доступ к одному из Internet-ресурсов. На ответ, что это невозможно, начальник пригрозил устроить администратору "веселую жизнь", после чего последнему пришлось выполнить распоряжение и изменить настройки межсетевого экрана. Самое удивительное, что со временем ситуация не улучшается. Недавно мы проводили обследование в одной из организаций и обнаружили там точно такую же ситуацию. На межсетевом экране был открыт доступ по протоколам ICQ, RealAudio и т.д. Стали выяснять - оказалось, это было сделано по просьбе сотрудника одного из отдела, с которым у администратора сложились дружеские отношения.

"Нормальные герои всегда идут в обход"

Фрагмент песни из детского фильма "Айболит-69" как нельзя лучше иллюстрирует следующую проблему, присущую межсетевым экранам. Зачем пытаться проникнуть к защищаемым ресурсам через защитные средства, когда можно попытаться обойти их? Это можно проиллюстрировать примером из смежной области. В среду, 21 февраля 1990 г. Мэри Пирхем, аналитик по бюджету одной американской компании, пришла на работу. Однако она не смогла пройти на свое рабочее место даже после набора четырехзначного кода и произнесения кодового слова в системе контроля доступа. Желая все-таки попасть на работу, Мэри обошла здание и открыла дверь черного хода при помощи пилки для ногтей и пластмассовой расчески. Новейшая защитная система, которую обошла Мэри Пирхем, рекламировалась как "безотказная и надежная" и стоила несколько десятков тысяч долларов. Аналогично и с межсетевыми экранами, только роль черного хода может выполнять модем. Знаете ли вы, сколько в вашей сети установлено модемов и для чего они используются? Не отвечайте сразу утвердительно, подумайте. При обследовании одной сети начальники отдела защиты информации и автоматизации рвали на себе рубаху, утверждая, что они знают все до единого модема, установленные в их сети. Запустив систему анализа защищенности Internet Scanner, мы действительно обнаружили указанные ими модемы, используемые для обновления баз данных бухгалтерской и юридической систем. Однако было обнаружено и два неизвестных модема. Один использовался сотрудником аналитического отдела с целью получения доступа к рабочим каталогам из дома. Второй модем использовался для доступа в Internet, в обход межсетевого экрана.