Rambler's Top100
Статьи ИКС № 12 2005
Наталья БАЗАРЕНКО  01 декабря 2005

Атаки на уровне приложений, или Новый вызов для МСЭ

Наиболее «продвинутые» хакеры с успехом сканируют открытые порты МСЭ и получают прямой доступ к приложениям корпоративной сети. Отдельный интерес для них представляют сервисы HTTP (TCP порт 80) и HTTPS (TCP порт 443), которые во многих сетях открыты именно на уровне приложений модели OSI (Open Systems Interconnection). В то же время устройства контроля доступа не могут эффективно идентифицировать злонамеренные действия, направленные на эти сервисы. Но наиболее серьезные угрозы через Интернет исходят от атак, построенных на использовании уязвимостей приложений.

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

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

Согласно модели OSI данные между устройствами сети на разных уровнях передаются в соответствии с работающими на них протоколами. При этом прикладной уровень (или приложений Application Layer) в действительности не является приложением пользователя, а отражает набор сервисов, которые позволяют программным продуктам взаимодействовать на сети. Кроме того, следует отметить, что не всегда используемые в приложениях протоколы строго соответствуют модели OSI, и зачастую функции сеансового и представительского уровней объединены с прикладным (уровни 5, 6 и 7).

Множество МСЭ (в частности, построенные на основе технологии Stateful Inspection, разработанной и запатентованной компанией Check Point) поддерживают достаточный арсенал инструментов для защиты от разных сетевых угроз. Поэтомубольшинство атак представляют собой попытки воспользоваться уязвимостями сетевых приложений и уже не ставят целью поразить непосредственно МСЭ. Эта важная тенденция в современной «методологии» атак требует от МСЭ не только наличия функций контроля доступа и защиты от атак сетевого уровня, но и «понимания» поведения приложений с целью предотвращения угроз или случайных ошибок на более высоком уровне.

Такой расширенный взгляд на решения для обеспечения информационной безопасности (ИБ) предлагает одна из технологий защиты – Application Intelligence, которая встроена в известные средства Check Point FireWall-1 и SmartDefense и реализует новые функции, позволяющие обнаруживать и предотвращать атаки на уровне приложений.

Уровень приложений: необходимые условия

С точки зрения хакеров, прикладной уровень привлекателен для атак по нескольким причинам. Во первых, он хранит конечную цель хакеров – актуальные данные о пользователях. Во-вторых, включает в себя множество протоколов (HTTP, CIFS, VoIP, SNMP, SMTP, SQL, FTP, DNS и т. д.), а значит, обстановка располагает к применению большого количества потенциальных методов атак. И в-третьих, определить и предотвратить атаку на уровне приложений значительно труднее, чем на более низких уровнях, поскольку именно здесь больше всего уязвимостей.



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

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

Например, трафик VoIP обычно поддерживается протоколами H.323 и SIP. Работа этих протоколов бывает совокупной, а результат способен повлиять на множество коммуникационных портов в конфигурации корпоративной сети, поддерживающих связь по VoIP. Некорректная реализация этих протоколов часто влечет за собой уязвимости при установке сервиса VoIP и как следствие – может привести к таким неприятностям, как перенаправление звонков (когда звонок, предназначенный одному абоненту, перенаправляется другому), подмене абонентов и даже к DoS-атаке. Шлюзы безопасности должны гарантировать полную согласованность управляющих команд H.323 и SIP соответствующим стандартам и документам RFC (Requests for Comments), а также корректную структуру и правильную последовательность прибытия передаваемых пакетов. Необходимо также, чтобы МСЭ проверял содержимое пакетов, проходящих через каждый разрешенный порт для гарантии целостности и неизменности информации внутри пакета.

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

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

Примером может служить атака, базирующаяся на использовании HTTP для взаимодействия по методу Peer-to-Peer (P2P). P2P – это модель однорангового взаимодействия, согласно которой каждая сторона имеет одинаковые свойства и любая сторона может инициировать сеанс связи. P2P-приложения делятся на две основные категории: для быстрого обмена сообщениями (Instant Messaging), основная задача которых заключается в обеспечении коммуникаций в режиме реального времени, и для совместного использования ресурсов (File Sharing Networks), чья основная задача – поддерживать разделяемость ресурсов (в том числе и часто используемого для трафика HTTP 80-го порта). Несмотря на то что существует возможность создавать собственные протоколы типа P2P, зачастуютакое одноранговое взаимодействие строится на базе протокола НТТР. В таких ситуациях МСЭ, осуществляющий лишь проверку протоколов на соответствие стандартам, разрешит открытие и установку Р2Р-сессии (так как сессия использует стандарт НТТР). Поскольку протокол НТТР, как правило, применяется для передачи web-трафика, то Р2Р-сессия на базе НТТР должна быть заблокирована или промаркирована МСЭ.

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

Еще пример необходимости выявления аномалий – атаки типа прохождение через директории (Directory Traversal). Они позволяют хакерам получить доступ к файлам и директориям, которые находятся вне зоны общего доступа, с помощью запуска зловредного кода (например, на web-сервере) с целью получить неавторизованный доступ к ресурсам. Большинство таких атак используют символы «..» внутри файловой системы. МСЭ должны блокировать запросы, в URL-адресах которых встречаются обращения к директориям, даже если они абсолютно корректны с точки зрения синтаксиса команды. Ведь они таят потенциальную угрозу. Так, запрос, использующий URL: http://www. server.com/first/second/../../.. следует обязательно блокировать, поскольку с его помощью можно проникнуть в корневой каталог.

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

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

Иллюстрацией подобной ситуации может служить атака с помощью межсайтового скриптинга (Cross Site Scripting attacks, XSS). Скрипты зачастую служат самым типичным «носителем» механизма создания атаки на уровне приложений. Несмотря на то что большинство скриптов безвредны, ни о чем не подозревающие пользователи могут (иногда даже случайно!) запустить выполнение именно злонамеренного кода. Такие «вредные» скрипты зачастую спрятаны в ссылки, на первый взгляд совершенно безобидные или замаскированные в почтовые сообщения. Наиболее часто они применяются в атаках типа межсайтовый скриптинг, цель которых – кража так называемых cookies (небольшие фрагменты данных о предыстории обращения пользователя к www-серверу, автоматически создаваемые на машине пользователя), из которых затем извлекаются персональные данные пользователя и/или сертификаты. Чаще всего атака методом межсайтового скриптинга запускается скриптом, внедренным в HTTP-запрос, который пользователь непреднамеренно отправляет на доверенный сайт. Шлюз безопасности web-сервера обязан обнаруживать и блокировать HTTP-запросы, в которых заключены опасные скриптокоды.

Злонамеренный код способен проникнуть во внутреннюю сеть, встроившись в URL, поэтому МСЭ должен ограничить или блокировать потенциально опасные URL. Например, такое приложение, как почтовый клиент (e-mail client) может автоматически выполнить URL, встроенный в HTML-страницу. Если URL был опасным, то вероятны неприятные последствия различной тяжести как в пользовательской системе, так и во всей сети.

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

Контроль операций на уровне приложений. Злонамеренные коды часто попадают во внутреннюю сеть не только за счет коммуникаций на прикладном уровне. Сами приложения вполне способны выполнять неавторизованные действия, которые следует идентифицировать и контролировать. С этойцелью в МСЭ предусматриваются такие проверки, как контроль доступа (access control) и ограниченное использование (legitimate usage).

На этом уровне безопасности от средств защиты требуется способность различать действия приложений, вплоть до простейших операций. Например, функция контроля сетевых сервисов Microsoft учитывает функциональность CIFS (Microsoft-based Common Internet File System), которая, помимо других возможностей, поддерживает операции с разделением ресурсов (файлов, принтеров). Шлюз безопасности для защиты этих сервисов должен уметь дифференцировать и блокировать операции совместной работы с файлами, исходящие от пользователей или систем, не имеющих соответствующей авторизации, и разрешать совместные операции с принтерами, исходящие от одного и того же пользователя.

Надежный МСЭ способен устанавливать ограничения на доступ к файлам с определенными именами и контролировать FTP-команды, потенциально несущие угрозы (PUT, GET, SITE, REST и MACB). Например, политика безопасности может содержать ограничения на использование всех файлов, в названии которых присутствует слово payroll.

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

Ниже уровень, но не опасность

Сетевой уровень. Предотвращение возможности злонамеренного управления протоколами (например, IP, ICMP) на этом уровне – важнейшее требование к многоуровневым шлюзам безопасности. Наиболее часто средством распространения атак здесь служит протокол IP, набор сервисов которого принадлежит данному уровню модели OSI. Существует множество атак сетевого уровня, но наиболее яркие примеры – IP-фрагментация и smurf-атака.

Разбиение IP-пакета, или IP-фрагментация, часто применяется для маскировки атак. Эта техника базируется на гибком механизме, присущем самому IP-протоколу (RFC 791 и RFC 815). Пакет, несущий атаку, принудительно разбивается на множество IPпакетов, чтобы обойти МСЭ, который, как правило, не выполняет повторную сборку IP-фрагментов. С помощью фрагментации IP-пакетов (формирование незаконченных последовательностей пакетов) можно осуществить DoS-атаку в случае переполнения устройств, которые осуществляют сборку пакетов в кадры.

Протокол ICMP позволяет одному из узлов сети отправлять широковещательные пакеты (пинговать) другим сетевым узлам с целью определения их рабочего состояния. Но эта возможность часто провоцирует smurf-атаки (разновидность DoS). И все из-за того, что стандарт ICMP не предусматривает сравнения посылаемых запросов и откликов на них. Атакующий направляет пингующие запросы (подставив ложный IP-адрес отправителя) на широковещательный IP-адрес. Запрос, естественно, достигает всех IP-адресов сети, и в результате все компьютеры сети начинают посылать ответ по этому ни в чем не повинному «ложному» IP-адресу отправителя. Слишком большое число пингующих запросов и откликов переполняет сеть и тем самым нарушает и ее работу, и компьютера, чей адрес был использовандля атаки.

Такой тип атак можно блокировать путем отбрасывания или игнорирования откликов, не соответствующих запросам. Именно так, в частности, поступает механизм Check Point’s Stateful ICMP.

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

Атаки типа DoS, задействующие протоколы UDP и ICMP, могут вызвать полное прекращение работы приложений, поддерживающих протоколы семейства TCP (SMTP, HTTP, FTP и др.). Межсетевые экраны способны защитить от подобных атак, если они резервируют некоторую часть таблицы состояния ТСРсоединений. Если в этом случае не-ТСР-соединения начинают потреблять слишком много ресурсов, ТСРсоединения не пострадают, поскольку будут обрабатываться за счет специально зарезервированных или выделенных ресурсов.

Механизм атаки «сканирование портов» уже обозначен в ее названии: хакеры сканируют диапазон портов на целевом хосте в надежде обнаружить и использовать слабые места в активных приложениях. Проверка, которая производится в ходе сканирования портов, – угроза, почти всегда приводящая к атаке. Шлюз безопасности должен уметь инициировать предупреждение об опасности и блокировать или прекращать соединение, установленное источником сканирования.

***


Межсетевые экраны давно и прочно заняли главенствующее место в системе защиты, в основном за счет способности блокировать атаки на сетевом уровне. Такой успех незамедлительно сказался на «творчестве» хакеров – они разработали методологии для более изощренных атак, избрав в качестве конечной цели приложения и их уязвимости, а также протоколы, лежащие в основе работы ПО. Для надежной защиты сети от подобных угроз необходима такая система ИБ, которая, контролируя доступ к информационным ресурсам, обеспечивала бы их защиту на различных уровнях модели OSI, включая сетевой и уровень приложений.

Технология Application Intelligence, интегрированная в продукты Check Point FireWall-1 NG и SmartDefense, дает в руки специалистов ИБ набор дополнительных возможностей для обнаружения и предотвращения атак на уровне приложений. Действующий список блокируемых типов атак размещен на сайте: www.checkpoint.com/appint.
Поделиться:
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!