Пример конфигураций функций анти dos. Классификация сетевых атак

  • 30.04.2021
20.06.05 37.3K

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

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

Введение

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

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

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

Кроме того, широкое распространение Интернета позволяет хакерам обмениваться информацией в глобальном масштабе. Простой поиск по ключевым словам типа «хакер », «взлом », «hack », «crack » или «phreak » даст вам тысячи сайтов, на многих из которых можно найти вредоносные коды и способы их использования.

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

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

Классификация сетевых атак

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

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

Через много лет, после множества рекламаций (Request for Comments, RFC ), наконец стали внедряться средства безопасности для IP. Однако ввиду того, что изначально средства защиты для протокола IP не разрабатывались, все его реализации стали дополняться разнообразными сетевыми процедурами, услугами и продуктами, снижающими риски, присущие этому протоколу. Далее мы кратко рассмотрим типы атак, которые обычно применяются против сетей IP, и перечислим способы борьбы с ними.

Сниффер пакетов

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

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

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

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

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

Снизить угрозу сниффинга пакетов можно с помощью следующих средств :

Аутентификация . Сильные средства аутентификации являются важнейшим способом защиты от сниффинга пакетов. Под «сильными » мы понимаем такие методы аутентификации, которые трудно обойти. Примером такой аутентификации являются однократные пароли (One-Time Passwords, OTP ).

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

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

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

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

Антиснифферы . Третий способ борьбы со сниффингом заключается в установке аппаратных или программных средств, распознающих снифферы, работающие в вашей сети. Эти средства не могут полностью ликвидировать угрозу, но, как и многие другие средства сетевой безопасности, они включаются в общую систему защиты. Антиснифферы измеряют время реагирования хостов и определяют, не приходится ли хостам обрабатывать лишний трафик. Одно из таких средств, поставляемых компанией LOpht Heavy Industries, называется AntiSniff.

Криптография . Этот самый эффективный способ борьбы со сниффингом пакетов хотя и не предотвращает перехвата и не распознает работу снифферов, но делает эту работу бесполезной. Если канал связи является криптографически защищенным, то хакер перехватывает не сообщение, а зашифрованный текст (то есть непонятную последовательность битов). Криптография Cisco на сетевом уровне базируется на протоколе IPSec, который представляет собой стандартный метод защищенной связи между устройствами с помощью протокола IP. К другим криптографическим протоколам сетевого управления относятся протоколы SSH (Secure Shell) и SSL (Secure Socket Layer) .

IP-спуфинг

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

Атаки IP-спуфинга часто являются отправной точкой для прочих атак. Классический пример - атака DoS, которая начинается с чужого адреса, скрывающего истинную личность хакера.

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

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

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

Угрозу спуфинга можно ослабить (но не устранить) с помощью перечисленных ниже меров:

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

    Правда, это помогает бороться с IP-спуфингом, когда санкционированными являются только внутренние адреса; если же санкционированными являются и некоторые адреса внешней сети, данный метод становится неэффективным;

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

    Данный тип фильтрации, известный под названием RFC 2827, может выполнять и ваш провайдер (ISP). В результате отбраковывается весь трафик, который не имеет исходного адреса, ожидаемого на определенном интерфейсе. К примеру, если ISP предоставляет соединение с IP-адресом 15.1.1.0/24, он может настроить фильтр таким образом, чтобы с данного интерфейса на маршрутизатор ISP допускался только трафик, поступающий с адреса 15.1.1.0/24.

Отметим, что до тех пор, пока все провайдеры не внедрят этот тип фильтрации, его эффективность будет намного ниже возможной. Кроме того, чем дальше от фильтруемых устройств, тем труднее проводить точную фильтрацию. Например , фильтрация RFC 2827 на уровне маршрутизатора доступа требует пропуска всего трафика с главного сетевого адреса (10.0.0.0/8), тогда как на уровне распределения (в данной архитектуре) можно ограничить трафик более точно (адрес - 10.1.5.0/24).

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

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

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

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

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

  • TCP SYN Flood;
  • Ping of Death;
  • Tribe Flood Network (TFN) и Tribe Flood Network 2000 (TFN2K);
  • Trinco;
  • Stacheldracht;
  • Trinity.

Прекрасным источником информации по вопросам безопасности является группа экстренного реагирования на компьютерные проблемы (Computer Emergency Response Team, CERT), опубликовавшая отличную работу по борьбе с атаками DoS.

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

В случае использования некоторых серверных приложений (таких как Web-сервер или FTP-сервер) атаки DoS могут заключаться в том, чтобы занять все соединения, доступные для этих приложений, и держать их в занятом состоянии, не допуская обслуживания рядовых пользователей. В ходе атак DoS могут использоваться обычные Интернет-протоколы, такие как TCP и ICMP (Internet Control Message Protocol ).

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

Данный тип атак трудно предотвратить, так как для этого требуется координация действий с провайдером. Если не остановить у провайдера трафик, предназначенный для переполнения вашей сети, то сделать это на входе в сеть вы уже не сможете, поскольку вся полоса пропускания будет занята. Когда атака данного типа проводится одновременно через множество устройств, мы говорим о распределенной атаке DoS (distributed DoS, DDoS ).

Угроза атак типа DoS может быть снижена тремя способами:

  • Функции антиспуфинга . Правильная конфигурация функций антиспуфинга на ваших маршрутизаторах и межсетевых экранах поможет снизить риск DoS. Эти функции как минимум должны включать фильтрацию RFC 2827. Если хакер не сможет замаскировать свою истинную личность, он вряд ли решится провести атаку.
  • Функции анти-DoS . Правильная конфигурация функций анти-DoS на маршрутизаторах и межсетевых экранах способна ограничить эффективность атак. Эти функции часто ограничивают число полуоткрытых каналов в любой момент времени.
  • Ограничение объема трафика (traffic rate limiting) . Организация может попросить провайдера (ISP) ограничить объем трафика. Этот тип фильтрации позволяет ограничить объем некритического трафика, проходящего по вашей сети. Типичным примером является ограничение объемов трафика ICMP, который используется только для диагностических целей. Атаки (D)DoS часто используют ICMP.

Парольные атаки

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

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

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

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

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

При использовании обычных паролей старайтесь придумать такой, который было бы трудно подобрать. Минимальная длина пароля должна быть не менее восьми символов. Пароль должен включать символы верхнего регистра, цифры и специальные символы (#, %, $ и т.д.).

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

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

Для администратора существует несколько методов борьбы с подбором паролей. Один из них заключается в использовании средства L0phtCrack , которое часто применяют хакеры для подбора паролей в среде Windows NT. Это средство быстро покажет вам, легко ли подобрать пароль, выбранный пользователем. Дополнительную информацию можно получить по адресу http://www.l0phtcrack.com/ .

Атаки типа Man-in-the-Middle

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

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

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

Атаки на уровне приложений

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

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

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

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

  • читайте лог-файлы операционных систем и сетевые лог-файлы и/или анализируйте их с помощью специальных аналитических приложений;
  • подпишитесь на услуги по рассылке данных о слабых местах прикладных программ: Bugtrad (http://www.securityfocus.com ).

Сетевая разведка

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

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

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

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

  1. пользуйтесь самыми свежими версиями операционных систем и приложений и самыми последними коррекционными модулями (патчами);
  2. кроме системного администрирования, пользуйтесь системами распознавания атак (IDS) - двумя взаимодополняющими друг друга технологиями ID:
    • сетевая система IDS (NIDS) отслеживает все пакеты, проходящие через определенный домен. Когда система NIDS видит пакет или серию пакетов, совпадающих с сигнатурой известной или вероятной атаки, она генерирует сигнал тревоги и/или прекращает сессию;
    • система IDS (HIDS) защищает хост с помощью программных агентов. Эта система борется только с атаками против одного хоста.

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

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

Злоупотребление доверием

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

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

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

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

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

Переадресация портов

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

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

Хотя при этом не нарушается ни одно правило, действующее на экране, внешний хост в результате переадресации получает прямой доступ к защищенному хосту. Примером приложения, которое может предоставить такой доступ, является netcat. Более подробную информацию можно получить на сайте http://www.avian.org .

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

Несанкционированный доступ

Несанкционированный доступ не может быть выделен в отдельный тип атаки, поскольку большинство сетевых атак проводятся именно ради получения несанкционированного доступа. Чтобы подобрать логин Тelnet, хакер должен сначала получить подсказку Тelnet на своей системе. После подключения к порту Тelnet на экране появляется сообщение «authorization required to use this resource» («Для пользования этим ресурсом нужна авторизация »).

Если после этого хакер продолжит попытки доступа, они будут считаться несанкционированными. Источник таких атак может находиться как внутри сети, так и снаружи.

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

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

Вирусы и приложения типа «троянский конь»

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

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

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

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

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

При написании статьи использованы материалы, предоставленные компанией Cisco Systems.

Хорошо Плохо

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

Модели атак

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

Стандартная модель атаки основана на принципе один к одному (рис.1) или же один ко многим (рис.2). Такие атаки реализуются от одного источника. Сетевые методы защиты (экраны, DLP) основаны как раз на такую модель атаки. В разных узлах защищаемой сети ставятся сенсоры системы защиты, которые передают данные на центральный модуль управления. Однако такая модель не справится с распределенными атаками.

Рисунок — 2

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

Рисунок — 4

Этапы реализации атак

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

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

  • для отказа в обслуживании, анализируется атакуемая сеть, ищутся слабые места
  • для хищения данных, определяется внимание незаметной атаке

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

  • изменение TTL
  • запись маршрута

По первому способу работают программы tracert для Windows и traceroute для Unix. Они реализуют поле TIME to Live в заголовке IP-пакета, которое меняется относительно пройденных маршрутизатором сетевым пакетом. Также сетевую топологию можно определить с помощью протокола SNMP или же протокола RIP.

Идентификации узла обычно определяют с помощью утилиты ping команды ECHO_REQUEST протокола ICMP. Узел доступен, когда придет ответное сообщение ECHO_REPLY. Такой метод идентификации имеет два недостатка:

  • Использование ICMP-запросов разрешает с легкость выявить их источник, а значит и обнаружить злоумышленника.
  • Множество сетевых устройств блокируют ICMP-пакеты, не пропускают во внутрь, или не выпускают наружу.

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

Сканирование портов . Идентификация сервисом реализуется путем обнаружения открытых портов. Программы для сканирования можно посмотреть в Сканировать К примеру:

  • открытый 80-й порт говорит, что в наличии есть Web-сервера
  • 25-й порт — почтовый сервер SMTP
  • 31377 — серверной части троянского коня BackOrifice
  • 12345 или 12346 — -//- NetBus

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

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

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

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

Классификация атак

Атаки можно делить на активные и пассивные, умышленные и неумышленные или внутренние или внешние. Что бы не путать эти псевдо классификации, есть универсальное деление атак:

  • Локальное проникновение — Атака, которая реализует НСД к узлу на котором она запущена
  • Удаленное проникновение — Атаки, которые разрешают реализовать удаленное управление компьютером через сеть
  • Сетевые сканеры — приложения, которые анализируют и обнаруживают сервисы, которые можно использовать как уязвимые места
  • Локальные отказ в обслуживании (ddos) — атаки, разрешающие перегрузить или нарушить функционирование компьютера.
  • Взломщики паролей — Программы которые подбирают пароли пользователей
  • Сканеры уязвимостей — Программы, которые анализируют уязвимости на узлах сет
  • Анализаторы протоколов (sniffers) — программы прослушивают сетевой трафик

Компания Internet Security Systems Inc. сократила классификацию до:

  • Сбор информации
  • Попытки НСД
  • Отказ в обслуживании
  • Подозрительная активность
  • Системные атаки

Первые 4 категории можно отнести к удаленным атакам, а последнюю к локальным. Нужно отметить, что в такую классификацию не отнесли целый класс пассивных атак — прослушивание, ложный DNS, подмена ARP и др.).

Закладки в аппаратном обеспечении

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

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

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

Также локальные атаки на ПК который соединен с локальной сетью играют важную роль. Они могут создавать . Такие атаки могут быть на firmware, или получение доступа на этапе загрузке ОС. То есть можно загрузить live-cd/usb версию ОС с чутка другими параметрами, которые разрешат войти в сеть.

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

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

Краткий список действий для повышения защиты информационной системы от локальных атак

  • Использовать максимально безопасные настроенные конфиги
  • Проводить анализ присутствия процесса сканирования портов
  • Блокировать или удалять аккаунты по умолчанию
  • Вовремя обновлять элементы системы
  • Поддерживать политику с правилами к сложности пароля и ограничениями попыток ввода
  • Наделять пользователей ровно тем уровнем доступа, что ему нужен для работы
  • Защитить базу паролей пользователей от разного рода воздействия
  • Вести учет ПО и его настроек на всех компьютерах
  • Регулярно делать резервные копии
  • Реализовать сохранение регистрационных журналов в режиме, который исключает возможность их редактирования

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

  • Реализуйте защиту на противостоянии не конкретной атаке, а одного типу атак.
  • Нужно следить за новинками о новых атаках, и о противодействиях их.
  • Установка защиты на разных уровнях, так сказать эшелонная защита.
Билет 1. Основные понятия и определения информационной безопасности: атаки, уязвимости, политика безопасности, механизмы и сервисы безопасности. Классификация атак. Модели сетевой безопасности и безопасности информационной системы

Уязвимость - слабое место в системе, с использованием которого может быть осуществлена атака .

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

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

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

Механизм безопасности - программное и/или аппаратное средство, которое определяет и/или предотвращает атаку .

Сервис безопасности - сервис, который обеспечивает задаваемую политикой безопасность систем и/или передаваемых данных, либо определяет осуществление атаки . Сервис использует один или более механизмов безопасности.
^

Модель сетевой безопасности.Классификация сетевых атак


Все атаки можно разделить на два класса: пассивные и активные .

I. Пассивная атака

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

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

^ II. Активная атака

Отказ в обслуживании - DoS-атака (Denial of Service)

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

^ Модель безопасности информационной системы

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

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

Другим типом нежелательного доступа является размещение в вычислительной системе чего-либо, что воздействует на прикладные программы и программные утилиты, такие как редакторы, компиляторы и т.п. Таким образом, существует два типа атак :


  1. Доступ к информации с целью получения или модификации хранящихся в системе данных.

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

^ Сервисы безопасности , которые предотвращают нежелательный доступ, можно разбить на две категории:


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

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

В основу безопасности информационной системы должны быть положены следующие основные принципы:


  1. Безопасность информационной системы должна соответствовать роли и целям организации, в которой данная система установлена.

  2. Обеспечение информационной безопасности требует комплексного и целостного подхода.

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

  4. Информационная безопасность должна быть экономически оправданной.

  5. Ответственность за обеспечение безопасности должна быть четко определена.

  6. Безопасность информационной системы должна периодически переоцениваться.

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

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

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

Устраним уязвимости информационной системы - устраним и возможность реализации атак.

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

Модели атак

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

В модели распределенной атаки используются иные принципы. В отличие от традиционной модели в распределенной модели используются отношения (рис.3) и (рис.4).

Распределенные атаки основаны на "классических" атаках типа "отказ в обслуживании ", а точнее на их подмножестве, известном как Flood-атаки или Storm-атаки (указанные термины можно перевести как "шторм", "наводнение" или "лавина"). Смысл данных атак заключается в посылке большого количества пакетов на атакуемый узел. Атакуемый узел может выйти из строя, поскольку он "захлебнется" в лавине посылаемых пакетов и не сможет обрабатывать запросы авторизованных пользователей. По такому принципу работают атаки SYN-Flood, Smurf, UDP Flood, Targa3 и т.д. Однако в том случае, если пропускная способность канала до атакуемого узла превышает пропускную способность атакующего или атакуемый узел некорректно сконфигурирован, то к "успеху" такая атака не приведет. Например, с помощью этих атак бесполезно пытаться нарушить работоспособность своего провайдера. Но распределенная атака происходит уже не из одной точки Internet, а сразу из нескольких, что приводит к резкому возрастанию трафика и выведению атакуемого узла из строя. Например, по данным России-Онлайн в течение двух суток, начиная с 9 часов утра 28 декабря 2000 г. крупнейший Internet-провайдер Армении "Арминко" подвергался распределенной атаке. В данном случае к атаке подключились более 50 машин из разных стран, которые посылали по адресу "Арминко" бессмысленные сообщения. Кто организовал эту атаку, и в какой стране находился хакер - установить было невозможно. Хотя атаке подвергся в основном "Арминко", перегруженной оказалась вся магистраль, соединяющая Армению с всемирной паутиной. 30 декабря благодаря сотрудничеству "Арминко" и другого провайдера - "АрменТел" - связь была полностью восстановлена. Несмотря на это компьютерная атака продолжалась, но с меньшей интенсивностью.

Этапы реализации атак

Можно выделить следующие этапы реализации атаки:

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

Cбор информации - это основной этап реализации атаки. Именно на данном этапе эффективность работы злоумышленника является залогом "успешности" атаки. Сначала выбирается цель атаки и собирается информация о ней (тип и версия операционной системы, открытые порты и запущенные сетевые сервисы, установленное системное и прикладное программное обеспечение и его конфигурация и т.д.). Затем идентифицируются наиболее уязвимые места атакуемой системы, воздействие на которые приводит к нужному злоумышленнику результату. Злоумышленник пытается выявить все каналы взаимодействия цели атаки с другими узлами. Это позволит не только выбрать тип реализуемой атаки, но и источник ее реализации. Например, атакуемый узел взаимодействует с двумя серверами под управлением ОС Unix и Windows NT. С одним сервером атакуемый узел имеет доверенные отношения, а с другим - нет. От того, через какой сервер злоумышленник будет реализовывать нападение, зависит, какая атака будет задействована, какое средство реализации будет выбрано и т.д. Затем, в зависимости от полученной информации и желаемого результата, выбирается атака, дающая наибольший эффект. Например:
SYN Flood, Teardrop, UDP Bomb - для нарушения функционирования узла;
CGI-скрипт - для проникновения на узел и кражи информации;
PHF - для кражи файла паролей и удаленного подбора пароля и т.п.

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

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

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

1. Сбор информации

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

Изучение окружения

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

Идентификация топологии сети

Существует два основных метода определения топологии сети, используемых злоумышленниками:

  1. изменение TTL (TTL modulation),
  2. запись маршрута (record route).

По первому методу работают программы traceroute для Unix и tracert для Windows. Они используют поле Time to Live ("время жизни") в заголовке IP-пакета, которое изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Для записи маршрута ICMP-пакета может быть использована утилита ping . Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, защита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т.д.

Многие из этих методов используются современными системами управления (например, HP OpenView, Cabletron SPECTRUM, MS Visio и т.д.) для построения карт сети. И эти же методы могут быть с успехом применены злоумышленниками для построения карты атакуемой сети.

Идентификация узлов

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

Это самый простой метод идентификации узлов. Однако он имеет два недостатка.

  1. Многие сетевые устройства и программы блокируют ICMP-пакеты и не пропускают их во внутреннюю сеть (или наоборот не пропускают их наружу). Например, MS Proxy Server 2.0 не разрешает прохождение пакетов по протоколу ICMP. В результате возникает неполная картина. С другой стороны, блокировка ICMP-пакета говорит злоумышленнику о наличии "первой линии обороны" - маршрутизаторов, межсетевых экранов и т.д.
  2. Использование ICMP-запросов позволяет с легкостью обнаружить их источник, что, разумеется, не может входить в задачу злоумышленника.

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

Идентификация сервисов или сканирование портов

Идентификация сервисов, как правило, осуществляется путем обнаружения открытых портов (port scanning). Такие порты очень часто связаны с сервисами, основанными на протоколах TCP или UDP. Например:

  • открытый 80-й порт подразумевает наличие Web-сервера,
  • 25-й порт - почтового SMTP-сервера,
  • 31337-й - серверной части троянского коня BackOrifice,
  • 12345-й или 12346-й - серверной части троянского коня NetBus и т.д.
Для идентификации сервисов и сканирования портов могут быть использованы различные программы, в т.ч. и свободно распространяемые. Например, nmap или netcat.

Идентификация операционной системы

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

Другой, менее эффективный и крайне ограниченный, способ идентификации ОС узлов - анализ сетевых сервисов, обнаруженных на предыдущем этапе. Например, открытый 139-й порт позволяет сделать вывод, что удаленный узел, вероятнее всего, работает под управлением ОС семейства Windows. Для определения ОС могут быть использованы различные программы. Например, nmap или queso.

Определение роли узла

Предпоследним шагом на этапе сбора информации об атакуемом узле является определение его роли, например, выполнении функций межсетевого экрана или Web-сервера. Выполняется этот шаг на основе уже собранной информации об активных сервисах, именах узлов, топологии сети и т.п. Например, открытый 80-й порт может указывать на наличие Web-сервера, блокировка ICMP-пакета указывает на потенциальное наличие межсетевого экрана, а DNS-имя узла proxy.domain.ru или fw.domain.ru говорит само за себя.

Определение уязвимостей узла

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

2. Реализация атаки

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

  • проникновение;
  • установление контроля.

Проникновение

Проникновение подразумевает под собой преодоление средств защиты периметра (например, межсетевого экрана). Реализовываться это может быть различными путями. Например, использование уязвимости сервиса компьютера, "смотрящего" наружу или путем передачи враждебного содержания по электронной почте (макровирусы) или через апплеты Java. Такое содержание может использовать так называемые "туннели" в межсетевом экране (не путать с туннелями VPN), через которые затем и проникает злоумышленник. К этому же этапу можно отнести подбор пароля администратора или иного пользователя при помощи специализированной утилиты (например, L0phtCrack или Crack).

Установление контроля

После проникновения злоумышленник устанавливает контроль над атакуемым узлом. Это может быть осуществлено путем внедрения программы типа "троянский конь" (например, NetBus или BackOrifice). После установки контроля над нужным узлом и "заметания" следов, злоумышленник может осуществлять все необходимые несанкционированные действия дистанционно без ведома владельца атакованного компьютера. При этом установление контроля над узлом корпоративной сети должно сохраняться и после перезагрузки операционной системы. Это может быть реализовано путем замены одного из загрузочных файлов или вставка ссылки на враждебный код в файлы автозагрузки или системный реестр. Известен случай, когда злоумышленник смог перепрограммировать EEPROM сетевой карты и даже после переустановки ОС он смог повторно реализовать несанкционированные действия. Более простой модификацией этого примера является внедрение необходимого кода или фрагмента в сценарий сетевой загрузки (например, для ОС Novell Netware).

Цели реализации атак

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

Классификация атак

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

  1. Удаленное проникновение (remote penetration) . Атаки, которые позволяют реализовать удаленное управление компьютером через сеть. Например, NetBus или BackOrifice.
  2. Локальное проникновение (local penetration) . Атака, которая приводит к получению несанкционированного доступа к узлу, на котором она запущена. Например, GetAdmin.
  3. Удаленный отказ в обслуживании (remote denial of service) . Атаки, которые позволяют нарушить функционирование или перегрузить компьютер через Internet. Например, Teardrop или trin00.
  4. Локальный отказ в обслуживании (local denial of service) . Атаки, которые позволяют нарушить функционирование или перегрузить компьютер, на котором они реализуются. Примером такой атаки является "враждебный" апплет, который загружает центральный процессор бесконечным циклом, что приводит к невозможности обработки запросов других приложений.
  5. Сетевые сканеры (network scanners) . Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Например, система nmap.
  6. Сканеры уязвимостей (vulnerability scanners) . Программы, которые ищут уязвимости на узлах сети и которые могут быть использованы для реализации атак. Например, система SATAN или ShadowSecurityScanner.
  7. Взломщики паролей (password crackers) . Программы, которые "подбирают" пароли пользователей. Например, L0phtCrack для Windows или Crack для Unix.
  8. Анализаторы протоколов (sniffers) . Программы, которые "прослушивают" сетевой трафик. При помощи этих программ можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т.д. Например, Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.

Компания Internet Security Systems, Inc. еще больше сократила число возможных категорий, доведя их до 5:

  1. Сбор информации (Information gathering).
  2. Попытки несанкционированного доступа (Unauthorized access attempts).
  3. Отказ в обслуживании (Denial of service).
  4. Подозрительная активность (Suspicious activity).
  5. Системные атаки (System attack).

Первые 4 категории относятся к удаленным атакам, а последняя - к локальным, реализуемом на атакуемом узле. Можно заметить, что в данную классификацию не попал целый класс так называемых "пассивных" атак ("прослушивание" трафика, "ложный DNS-сервер", "подмена ARP-сервера" и т.п.).

Классификация атак, реализованная во многих системах обнаружения атак, не может быть категоричной. Например, атака, реализация которой для ОС Unix (например, переполнение буфера statd) может иметь самые плачевные последствия (самый высокий приоритет), для ОС Windows NT может быть вообще не применима или иметь очень низкую степень риска. Кроме того, существует неразбериха и в самих названиях атак и уязвимостей. Одна и та же атака, может иметь разные наименования у разных производителей систем обнаружения атак.

Одной из лучших баз уязвимостей и атак является база данных X-Force, находящаяся по адресу: http://xforce.iss.net/. Доступ к ней может осуществляться как путем подписки на свободно распространяемый список рассылки X-Force Alert, так и путем интерактивного поиска в базе данных на Web-сервере компании ISS.

Заключение

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

Средства обнаружения компьютерных атак

Технология обнаружения атак должна решать следующие задачи:

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

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

  • Контроль эффективности межсетевых экранов. Например, установка системы обнаружения атак после межсетевого экрана (внутри корпоративной сети) позволяет обнаружить атаки, пропускаемые МСЭ и, тем самым, определить недостающие правила на межсетевом экране.
  • Контроль узлов сети с неустановленными обновлениями или узлов с устаревшим программным обеспечением.
  • Блокирование и контроль доступа к определенным узлам Internet. Хотя системам обнаружения атак далеко до межсетевых экранов и систем контроля доступа к различным URL, например, WEBsweeper, они могут выполнять частичный контроль и блокирование доступа некоторых пользователей корпоративной сети к отдельным ресурсам Internet, например, к Web-серверам порнографического содержания. Это бывает необходимо тогда, когда в организации нет денег на приобретение и межсетевого экрана и системы обнаружение атак, и функции МСЭ разносятся между системой обнаружения атак, маршрутизатором и proxy-сервером. Кроме того, системы обнаружения атак могут контролировать доступ сотрудников к серверам на основе ключевых слов. Например, sex, job, crack и т.д.
  • Контроль электронной почты. Системы обнаружения атак могут использоваться для контроля неблагонадежных сотрудников, использующих электронную почту для выполнения задач, не входящих в их функциональные обязанности, например, рассылка резюме. Некоторые системы могут обнаруживать вирусы в почтовых сообщениях и, хотя до настоящих антивирусных систем им далеко, они все же выполняют эту задачу достаточно эффективно.

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

Классификация систем обнаружения атак

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

  1. host-based , то есть обнаруживающие атаки, направленные на конкретный узел сети,
  2. network-based , то есть обнаруживающие атаки, направленные на всю сеть или сегмент сети.

Системы обнаружения атак, контролирующие отдельный компьютер, как правило, собирают и анализируют информацию из журналов регистрации операционной системы и различных приложений (Web-сервер, СУБД и т.д.). По такому принципу функционирует RealSecure OS Sensor. Однако в последнее время стали получать распространение системы, тесно интегрированные с ядром ОС, тем самым, предоставляя более эффективный способ обнаружения нарушений политики безопасности. Причем такая интеграция может быть реализовано двояко. Во-первых, могут контролироваться все системные вызовы ОС (так работает Entercept) или весь входящий/исходящий сетевой трафик (так работает RealSecure Server Sensor). В последнем случае система обнаружения атак захватывает весь сетевой трафик напрямую с сетевой карты, минуя операционную систему, что позволяет уменьшить зависимость от нее и тем самым повысить защищенность системы обнаружения атак.

Системы обнаружения атак уровня сети собирают информацию из самой сети, то есть из сетевого трафика. Выполняться эти системы могут на обычных компьютерах (например, RealSecure Network Sensor), на специализированных компьютерах (например, RealSecure for Nokia или Cisco Secure IDS 4210 и 4230) или интегрированы в маршрутизаторы или коммутаторы (например, CiscoSecure IOS Integrated Software или Cisco Catalyst 6000 IDS Module). В первых двух случаях анализируемая информация собирается посредством захвата и анализа пакетов, используя сетевые интерфейсы в беспорядочном (promiscuous) режиме. В последнем случае захват трафика осуществляется с шины сетевого оборудования.

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

Практически все системы обнаружения атак основаны на сигнатурном подходе.

Достоинства систем обнаружения атак

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

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

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

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

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

И, наконец, системы обнаружения атак, функционирующие на сетевом уровне, не зависят от операционных систем, установленных в корпоративной сети, так как они оперируют сетевым трафиком, которым обмениваются все узлы в корпоративной сети. Системе обнаружения атак все равно, какая ОС сгенерировала тот или иной пакет, если он в соответствие со стандартами, поддерживаемыми системой обнаружения. Например, в сети могут работать ОС Windows 98, Windows NT, Windows 2000 и XP, Netware, Linux, MacOS, Solaris и т.д., но если они общаются между собой по протоколу IP, то любая из систем обнаружения атак, поддерживающая этот протокол, сможет обнаруживать атаки, направленные на эти ОС.

Совместное применение систем обнаружения атак на уровне сети и уровне узла повысит защищенность вашей сети.

Сетевые системы обнаружения атак и межсетевые экраны

Наиболее часто сетевые системы обнаружения атак пытаются заменить межсетевыми экранами, уповая на то, что последние обеспечивают очень высокий уровень защищенности. Однако не стоит забывать, что межсетевые экраны - это просто системы, основанные на правилах, которые разрешают или запрещают прохождение трафика через них. Даже межсетевые экраны, построенные по технологии "", не позволяют с уверенностью сказать, присутствует ли атака в контролируемом ими трафике или нет. Они могут сказать, соответствует ли трафик правилу или нет. Например, МСЭ сконфигурирован так, чтобы блокировать все соединения кроме TCP-соединений на 80 порту (то есть HTTP-трафик). Таким образом, любой трафик через 80-ый порт законен с точки зрения МСЭ. С другой стороны, система обнаружения атак также контролирует трафик, но ищет в нем признаки атаки. Ее мало заботит, для какого порта предназначен трафик. По умолчанию весь трафик для системы обнаружения атак подозрителен. То есть, несмотря на то, что система обнаружения атак работает с тем же источником данных, что и МСЭ, то есть с сетевым трафиком, они выполняют дополняющие друг друга функции. Например, HTTP-запрос "GET /../../../etc/passwd HTTP/1.0". Практически любой МСЭ разрешает прохождение данного запроса через себя. Однако система обнаружения атак легко обнаружит эту атаку и блокирует ее.

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

Межсетевой экран - не панацея!

Варианты реакций на обнаруженную атаку

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

  • Уведомление на консоль (включая резервную) системы обнаружения атак или на консоль интегрированной системы (например, межсетевого экрана).
  • Звуковое оповещение об атаке.
  • Генерация управляющих последовательностей SNMP для систем сетевого управления.
  • Генерация сообщения об атаке по электронной почте.
  • Дополнительные уведомления на пейджер или факс. Очень интересная, хотя и редко применяемая возможность. Оповещение об обнаружении несанкционированной деятельности посылается не администратору, а злоумышленнику. По мнению сторонников данного варианта реагирования, нарушитель, узнав, что его обнаружили, вынужден прекратить свои действия.
  • Обязательная регистрация обнаруживаемых событий. В качестве журнала регистрации могут выступать:
    • текстовый файл,
    • системный журнал (например, в системе Cisco Secure Integrated Software),
    • текстовый файл специального формата (например, в системе Snort),
    • локальная база данных MS Access,
    • SQL-база данных (например, в системе RealSecure).
    Надо только учитывать, что объемы регистрируемой информации требуют, как правило, SQL-базу - MS SQL или Oracle.
  • Трассировка событий (event trace), т.е. запись их в той последовательности и с той скоростью, с которыми их реализовывал злоумышленник. Затем администратор в любое заданное время может прокрутить (replay или playback) необходимую последовательность событий с заданной скоростью (в реальном режиме времени, с ускорением или замедлением), чтобы проанализировать деятельность злоумышленника. Это позволит понять его квалификацию, используемые средства атаки и т.д.
  • Прерывание действий атакующего, т.е. завершение соединения. Это можно сделать, как:
    • перехват соединения (session hijacking) и посылка пакета с установленным флагом RST обоим участникам сетевого соединения от имени каждого из них (в системе обнаружения атак, функционирующей на уровне сети);
    • блокировка учетной записи пользователя, осуществляющего атаку (в системе обнаружения атак на уровне узла). Такая блокировка может быть осуществлена либо на заданный промежуток времени, либо до тех пор, пока учетная запись не будет разблокирована администратором. В зависимости от привилегий, с которыми запущена система обнаружения атак, блокировка может действовать как в пределах самого компьютера, на который направлена атака, так и в пределах всего домена сети.
  • Реконфигурация сетевого оборудования или межсетевых экранов. В случае обнаружения атаки на маршрутизатор или межсетевой экран посылается команда на изменение списка контроля доступа. Впоследствии все попытки соединения с атакующего узла будут отвергаться. Как и блокировка учетной записи злоумышленника, изменение списка контроля доступа может быть осуществлено или на заданный интервал времени или до того момента, как изменение будет отменено администратором реконфигурируемого сетевого оборудования.
  • Блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.

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

В курсе рассматриваются следующие атаки и способы борьбы с ними.

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

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



Смягчить угрозу сниффинга пакетов можно с помощью следующих средств:

Аутентификация. Сильные средства аутентификации являются первым способом защиты от сниффинга пакетов. Под «сильным» мы понимаем такой метод аутентификации, который трудно обойти. Примером такой аутентификации являются однократные пароли (OTP - One-Time Passwords). ОТР - это технология двухфакторной аутентификации. Типичным примером двухфакторной аутентификации является работа обычного банкомата, который опознает вас, во-первых, по вашей пластиковой карточке и, во-вторых, по вводимому ПИН-коду. Для аутентификации в системе ОТР также требуется ПИН-код и ваша личная карточка. Под «карточкой» (token) понимается аппаратное или программное средство, генерирующее (по случайному принципу) уникальный одномоментный однократный пароль. Если злоумышленник узнает этот пароль с помощью сниффера, эта информация будет бесполезной, потому что в этот момент пароль уже будет использован и выведен из употребления. Заметим, что этот способ борьбы со сниффингом эффективен только для борьбы с перехватом паролей. Снифферы, перехватывающие другую информацию (например, сообщения электронной почты), не теряют своей эффективности.

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

Анти-снифферы. Третий способ борьбы со сниффингом заключается в установке аппаратных или программных средств, распознающих снифферы, работающие в сети. Эти средства не могут полностью ликвидировать угрозу, но, как и многие другие средства сетевой безопасности, они включаются в общую систему защиты. Так называемые «анти-снифферы» измеряют время реагирования хостов и определяют, не приходится ли хостам обрабатывать «лишний» трафик.

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

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

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

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

Другой подход состоит в том, что злоумышленник заранее угадывает порядковые номера TCP, которые используются атакованной машиной. В этом случае ему не нужно получать пакет SYN-ACK, так как он просто генерирует и отправляет пакет АСК с предугаданным порядковым номером. В первых реализациях стеков IP использовались предугадываемые схемы вычисления порядковых номеров, поэтому они были чувствительны к подложным TCP-потокам данных. В современных реализациях предугадать порядковый номер уже более сложно. Средство построения сетевых схем NMAP обладает возможностью оценивать сложность предугадывания порядковых номеров систем, которые подвергаются сканированию.

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

Наконец, злоумышленник может не иметь намерения отвечать на пакет SYN-ACK, который возвращается от "жертвы". На это может быть две причины. Возможно, взломщик производит полуоткрытое сканирование портов, известное под названием SYN-сканирование. В этом случае его интересует только начальный ответ от машины, которая подвергается нападению. Комбинации флажков RST-ACK означает, что сканируемый порт закрыт, а комбинация SYN-ACK - что открыт. Цель достигнута, следовательно, нет необходимости отвечать на этот пакет SYN-ACK. Также возможен вариант, когда осуществляется лавинообразный SYN-взлом. В этом случае взломщик не только не отвечает на пакеты SYN-ACK или RST-ACK, но вообще не интересуется типом пакетов, полученных от взломанной системы.

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

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

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

Угрозу спуфинга можно ослабить (но не устранить) с помощью следующих мер:

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

Фильтрация RFC 2827. Попытки спуфинга чужих сетей пользователями защищаемой сети пресекаются, если отбраковывается любой исходящий трафик, исходный адрес которого не является одним из IP-адресов защищаемой организации. Этот тип фильтрации, известный под названием «RFC 2827», может выполнять и ваш провайдер (ISP). В результате отбраковывается весь трафик, который не имеет исходного адреса, ожидаемого на определенном интерфейсе. К примеру, если ISP предоставляет соединение с IP-адресом 15.1.1.0/24, он может настроить фильтр таким образом, чтобы с данного интерфейса на маршрутизатор ISP допускался только трафик, поступающий с адреса 15.1.1.0/24. Заметим, что до тех пор, пока все провайдеры не внедрят этот тип фильтрации, его эффективность будет намного ниже возможной. Кроме того, чем дальше от фильтруемых устройств, тем труднее проводить точную фильтрацию. Так, например, фильтрация RFC 2827 на уровне маршрутизатора доступа требует пропуска всего трафика с главного сетевого адреса (10.0.0.0/8), тогда как на уровне распределения (в данной архитектуре) можно ограничить трафик более точно (адрес - 10.1.5.0/24).

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

Отказ в обслуживании (Denial of Service - DoS). DoS, без всякого сомнения, является наиболее известной формой атак. Кроме того, против атак такого типа труднее всего создать стопроцентную защиту. Простота реализации и огромный причиняемый вред привлекают к DoS пристальное внимание администраторов, отвечающих за сетевую безопасность. Наиболее известные разновидности атак являются: TCP SYN Flood; Ping of Death; Tribe Flood Network (TFN) и Tribe Flood Network 2000 (TFN2K); Trinco; Stacheldracht; Trinity.

Источником информации по этим атакам является группа экстренного реагирования на компьютерные проблемы (CERT - Computer Emergency Response Team), опубликовавшая работу по борьбе с атаками DoS.

Атаки DoS отличаются от атак других типов. Они не нацелены на получение доступа к вашей сети или на получение из этой сети какой-либо информации. Атака DoS делает сеть недоступной для обычного использования за счет превышения допустимых пределов функционирования сети, операционной системы или приложения. В случае использования некоторых серверных приложений (таких как web-сервер или FTP-сервер) атаки DoS могут заключаться в том, чтобы занять все соединения, доступные для этих приложений, и держать их в занятом состоянии, не допуская обслуживания обычных пользователей. В ходе атак DoS могут использоваться обычные Интернет-протоколы, такие как TCP и ICMP (Internet Control Message Protocol).

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

Угроза атак типа DoS может снижаться тремя способами:

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

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

Ограничение объема трафика (traffic rate limiting). Организация может попросить провайдера (ISP) ограничить объем трафика. Этот тип фильтрации позволяет ограничить объем некритического трафика, проходящего по вашей сети. Обычным примером является ограничение объемов трафика ICMP, который используется только для диагностических целей. Атаки (D) DoS часто используют ICMP.

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

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

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

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

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

Атаки типа «Man-in-the-Middle». Для атаки типа «Man-in-the-Middle» злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера в любую другую сеть, может, к примеру, получить сотрудник этого провайдера. Для атак этого типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Атаки проводятся с целью кражи информации, перехвата текущей сессии и получения доступа к частным сетевым ресурсам для анализа трафика и получения информации о сети и ее пользователях, для проведения атак типа DoS, искажения передаваемых данных и ввода несанкционированной информации в сетевые сессии.

Эффективно бороться с атаками типа Man-in-the-Middle можно только с помощью криптографии. Если злоумышленник перехватит данные зашифрованной сессии, у него на экране появится не перехваченное сообщение, а бессмысленный набор символов. Заметим, что если злоумышленник получит информацию о криптографической сессии (например, ключ сессии), это может сделать возможной атаку Man-in-the-Middle даже в зашифрованной среде.

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

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