Защита от компьютерных атак. Компьютерная атака. Рис.1. В заимодействие метотодов обнаружения атак на системном и сетевом уровнях

С помощью таких программ, как WinNuke, Papa Smurf и Teardrop злоумышленники могут атаковать ваши компьютеры и нанести вам ущерб. Согласно опросу за 1999 год Института Компьютерной Безопасности и ФБР о компьютерных преступлениях 57 процентов опрошенных организаций сообщили, что считают соединения их сетей с Интернет "местом, откуда часто организуются атаки". 30 процентов опрошенных сообщило, что имели место случаи проникновения в их сети, а 26 процентов сказали, что в ходе атак происходила кража конфиденциальной информации. Федеральный центр по борьбе с компьютерными преступдениями в США - FedCIRC сообщил, что в 1998 году атакам подверглось около 130000 государственных сетей с 1100000 компьютерами. Классификация компьютерных атак Когда мы говорим "компьютерная атака", мы имеем в виду запуск людьми программ для получения неавторизованного доступа к компьютеру. Формы организации атак весьма разнообразны, но в целом все они принадлежат к одной из следующих категорий: Удаленное проникновение в компьютер: программы, которые получают неавторизованный доступ к другому компьютеру через Интернет (или локальную сеть) Локальное проникновение в компьютер: программы, которые получают неавторизованный доступ к компьютеру, на котором они работают. Удаленное блокирование компьютера: программы, которые через Интернет (или сеть) блокируют работу всего удаленного компьютера или отдельной программы на нем (для восстановления работоспособности чаще всего компьютер надо перезагрузить) Локальное блокирование компьютера: программы, которые блокируют работу компьютера, на котором они работают Сетевые сканеры: программы, которые осуществляют сбор информации о сети, чтобы определить, какие из компьютеров и программ, работающих на них, потенциально уязвимы к атакам. Сканеры уязвимых мест программ: программы, проверяют большие группы компьютеров в Интернете в поисках компьютеров, уязвимых к тому или иному конкретному виду атаки. Вскрыватели паролей: программы, которые обнаруживают легко угадываемые пароли в зашифрованных файлах паролей. Сейчас компьютеры могут угадывать пароли так быстро, что казалось бы сложные пароли могут быть угаданы. Сетевые анализаторы (снифферы): программы, которые слушают сетевой трафик. Часто в них имеются возможности автоматического выделения имен пользователей, паролей и номеров кредитных карт из трафика. Как защититься от большинства компьютерных атак Защита сети от компьтерных атак - это постоянная и нетривиальная задача; но ряд простых средств защиты смогут остановить большинство попыток проникновения в сеть. Например, хорошо сконфигурированный межсетевой экран и антивирусные программы, установленные на всех рабочих станциях, смогут сделать невозможными большинство компьютерных атак. Ниже мы кратко опишем 14 различных средств защиты, реализация которых поможет защитить вашу сеть. Оперативная установка исправлений для программ (Patching) Компании часто выпускают исправления программ, чтобы ликвидировать неблагоприятные последствия ошибок в них. Если не внести исправления в программы, впоследствии атакующий может воспользоваться этими ошибками и проникнуть в ваш компьютер. Системные администраторы должны защищать самые важные свои системы, оперативно устанавливая исправления для программ на них. Тем не менее, установить исправления для программ на всех хостах в сети трудно, так как исправления могут появляться достаточно часто. В этом случае надо обязательно вносить исправления в программы на самых важных хостах, а кроме этого установить на них другие средства защиты, описанные ниже. Обычно исправления должны получаться ТОЛЬКО от производителей программ. Обнаружение вирусов и троянских коней Хорошие антивирусные программы - незаменимое средство для повышения безопасности в любой сети. Они наблюдают за работой компьютеров и выявляют на них вредоносные программы. Единственной проблемой, возникающей из-за них, является то, что для максимальной эффективности они должны быть установлены на всех компьютерах в сети. На установку антивирусных программ на всех компьютерах и регулярное обновление антивирусных баз в них может уходить достаточно много времени - но иначе это средство не будет эффективным. Пользователей следует учить, как им самим делать эти обновления, но при этом нельзя полностью полагаться на них. Помимо обычной антивирусной программе на каждом компьютере мы рекомендуем, чтобы организации сканировали приложения к электронным письмам на почтовом сервере. Таким образом можно обнаружить большинство вирусов до того, как они достигнут машин пользователей. Межсетевые экраны Межсетевые экраны (firewalls) - это самое важное средство защиты сети организации. Они контролируют сетевой трафик, входящий в сеть и выходящий из нее. Межсетевой экран может блокировать передачу в сеть какого-либо вида трафика или выполнять те или иные проверки другого вида трафика. Хорошо сконфигуированный межсетевой экран в состоянии остановить большинство известных компьютерных атак. Вскрыватели паролей (Password Crackers) Хакеры часто используют малоизвестные уязвимые места в компьютерах для того, чтобы украсть файлы с зашифрованными паролями. Затем они используют специальные программы для вскрытия паролей, которые могут обнаружить слабые пароли в этих зашифрованных файлах. Как только слабый пароль обнаружен, атакующий может войти в компьютер, как обычный пользователь и использовать разнообразные приемы для получения полного доступа к вашему компьютеру и вашей сети. Хотя это средство используются злоумышленниками, оно будет также полезно и системным администраторам. Они должны периодически запускать эти программы на свои зашифрованные файлы паролей, чтобы своевременно обнаружить слабые пароли. Шифрование Атакующие часто проникают в сети с помощью прослушивания сетевого трафика в наиболее важных местах и выделения из него имен пользователей и их паролей. Поэтому соединения с удаленными машинами, защищаемые с помощью пароля, должны быть зашифрованы. Это особенно важно в тех случаях, если соединение осуществляется по Интернет или с важным сервером. Имеется ряд коммерческих и бесплатных программ для шифрования трафика TCP/IP (наиболее известен SSH). Сканеры уязвимых мест Это программы, которые сканируют сеть в поисках компьютеров, уязвимых к определенным видам атак. Сканеры имеют большую базу данных уязвимых мест, которую они используют при проверке того или иного компьютера на наличие у него уязвимых мест. Имеются как коммерческие, так и бесплатные сканеры. Грамотное конфигурирование компьютеров в отношении безопасности Компьютеры с заново установленными операционными системами часто уязвимы к атакам. Причина этого заключается в том, что при начальной установке операционной системы обычно разрешаются все сетевые средства и часто разрешаются небезопасным образом. Это позволяет атакующему использовать много способов для организации атаки на машину. Все ненужные сетевые средства должны быть отключены. Боевые диалеры(war dialer) Пользователи часто обходят средства защиты сети организации, разрешая своим компьютерам принимать входящие телефонные звонки. Пользователь перед уходом с работы включает модем и соответствующим образом настраивает программы на компьютере, после чего он может позвонить по модему из дома и использовать корпоративную сеть. Атакующие могут использовать программы-боевые диалеры для обзвонки большого числа телефонных номеров в поисках компьютеров, обрабатывающих входящие звонки. Так как пользователи обычно конфигурируют свои компьютеры сами, они часто оказываются плохо защищенными и дают атакующему еще одну возможность для организации атаки на сеть. Системные администраторы должны регулярно использовать боевые диалеры для проверки телефонных номеров своих пользователей и обнаружения сконфигурированных подобным образом компьютеров. Имеются как коммерческие, так и свободно распространяемые боевые диалеры. Рекомендации по безопасности (security advisories) Рекомендации по безопасности - это предупреждения, публикуемые группами по борьбе с компьютерными преступлениями и производителями программ о недавно обнаруженных уязвимых местах. Рекомендации обычно описывают самые серьезные угрозы, возникающие из-за этих уязвимых мест и поэтому являются занимающими мало времени на чтение, но очень полезными. Они описывают в-целом угрозу и дают довольно конкретные советы о том, что нужно сделать для устранения данного узявимого места. Найти их можно в ряде мест, но двумя самыми полезными являются те рекомендации, которые публикует группа по борьбе с компьютерными преступлениями CIAC и CERT Средства обнаружения атак (Intrusion Detection) Системы обнаружения атак оперативно обнаруживают компьютерные атаки. Они могут быть установлены за межсетевым экраном, чтобы обнаруживать атаки, организуемые изнутри сети. Или они могут быть установлены перед межсетевым экраном, чтобы обнаруживать атаки на межсетевой экран. Средства этого типа могут иметь разнообразные возможности. Имеется статья об их использовании и видах систем обнаружения атак Средства выявления топологии сети и сканеры портов Эти программы позволяют составить полную картину того, как устроена ваша сеть и какие компьютеры в ней работают, а также выявить все сервисы, которые работают на каждой машине. Атакующие используют эти средства для выявления уязвимых компьютеров и программ на них. Системные администраторы должны использовать эти средства для наблюдения за тем, какие программы и на каких компьютерах работают в их сети. С их помощью можно обнаружить неправильно сконфигурированные программы на компьютерах и установить исправления на них. Группа по расследованию происшествий с безопасностью В каждой сети, независимо от того, насколько она безопасна, происходят какие-либо события, связанные с безопасностью (может быть даже ложные тревоги). Сотрудники организации должны заранее знать, что нужно делать в том или ином случае. Важно заранее определить следующие моменты - когда вызывать правоохранительные органы, когда вызывать сотрудников группы по борьбе с компьютерными преступлениями, когда следует отключить сеть от Интернет, и что делать в случае компрометации важного сервера. CERT предоставляет общие консультации в рамках США. FedCIRC отвечает за консультирование гражданских государственных учреждений в США. Политики безопасностиСистема сетевой безопасности насколько сильна, насколько сильно защищено самое слабое ее место. Если в рамках одной организации имеется несколько сетей с различными политиками безопасности, то одна сеть может быть скомпрометирована из-за плохой безопасности другой сети. Организации должны написать политику безопасности, в которой определялся бы ожидаемый уровень защиты, который должен быть везде единообразно реализован. Самым важным аспектом политики является выработка единых требований к тому, какой трафик должен пропускаться через межсетевые экраны сети. Также политика должна определять как и какие средства защиты (например, средства обнаружения атак или сканеры уязвимых мест) должны использоваться в сети. Для достижения единого уровня безопасности политика должна определять стандартные безопасные конфигурации для различных типов компьютеров. Тестирование межсетевых экранов и WWW-серверов на устойчивость к попыткам их блокирования Атаки на блокирование компьютера распространены в Интернет. Атакующие постоянно выводят из строя WWW-сайты, перегружают компьютеры или переполняют сети бессмысленными пакетами. Атаки этого типа могут быть очень серьезными, особенно если атакующий настолько умен, что организовал продолжительную атаку, у которой не выявить источник. Сети, заботящиеся о безопасности, могут организовать атаки против себя сами, чтобы определить, какой ущерб может быть нанесен им. Мы рекомендуем проводить этот вид анализа на уязвимость только опытным системным администраторам или специальным консультантам.

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

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

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

На сегодняшний день считается неизвестным, сколько существует методов атак. Говорят о том, что до сих пор отсутствуют какие-либо серьезные математические исследования в этой области. Но еще в 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 обоим участникам сетевого соединения от имени каждого из них (в системе обнаружения атак, функционирующей на уровне сети);
    • блокировка учетной записи пользователя, осуществляющего атаку (в системе обнаружения атак на уровне узла). Такая блокировка может быть осуществлена либо на заданный промежуток времени, либо до тех пор, пока учетная запись не будет разблокирована администратором. В зависимости от привилегий, с которыми запущена система обнаружения атак, блокировка может действовать как в пределах самого компьютера, на который направлена атака, так и в пределах всего домена сети.
  • Реконфигурация сетевого оборудования или межсетевых экранов. В случае обнаружения атаки на маршрутизатор или межсетевой экран посылается команда на изменение списка контроля доступа. Впоследствии все попытки соединения с атакующего узла будут отвергаться. Как и блокировка учетной записи злоумышленника, изменение списка контроля доступа может быть осуществлено или на заданный интервал времени или до того момента, как изменение будет отменено администратором реконфигурируемого сетевого оборудования.
  • Блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.

Введение

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

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

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

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

Типичными угрозами в среде Интернета являются:

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

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

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

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

1. Обнаружение атак

Исторически так сложилось, что технологии, по которым строятся системы обнаружения атак, принято условно делить на две категории: обнаружение аномального поведения (anomaly detection) и обнаружение злоупотреблений (misuse detection). Однако в практической деятельности применяется другая классификация, учитывающая принципы практической реализации таких систем: обнаружение атак на уровне сети (network-based) и на уровне хоста (host-based). Первые системы анализируют сетевой трафик, в то время как вторые - регистрационные журналы операционной системы или приложения. Каждый из классов имеет свои достоинства и недостатки, но об этом чуть позже. Необходимо заметить, что лишь некоторые системы обнаружения атак могут быть однозначно отнесены к одному из названных классов. Как правило, они включают в себя возможности нескольких категорий. Тем не менее эта классификация отражает ключевые возможности, отличающие одну систему обнаружения атак от другой.

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

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

Как уже было отмечено выше, существует два класса систем, обнаруживающих атаки на сетевом и операционном уровне. Принципиальное преимущество сетевых (network-based) систем обнаружения атак состоит в том, что они идентифицируют нападения прежде, чем те достигнут атакуемого узла. Эти системы более просты для развертывания в крупных сетях, потому что не требуют установки на различные платформы, используемые в организации. В России наибольшее распространение получили операционные системы MS-DOS, Windows 95, NetWare и Windows NT. Различные диалекты UNIX у нас пока не столь широко распространены, как на Западе. Кроме того, системы обнаружения атак на уровне сети практически не снижают производительности сети.

Системы обнаружения атак на уровне хоста создаются для работы под управлением конкретной операционной системы, что накладывает на них определенные ограничения. Например, мне не известна ни одна система этого класса, функционирующая под управлением MS-DOS или Windows for Workgroups (а ведь эти операционные системы еще достаточно распространены в России). Используя знание того, как должна «вести» себя операционная система, средства, построенные с учетом этого подхода, иногда могут обнаружить вторжения, пропускаемые сетевыми средствами обнаружения атак. Однако зачастую это достигается дорогой ценой, потому что постоянная регистрация, необходимая для выполнения подобного рода обнаружения, существенно снижает производительность защищаемого хоста. Такие системы сильно загружают процессор и требуют больших объемов дискового пространства для хранения журналов регистрации и, в принципе, не применимы для высококритичных систем, работающих в режиме реального времени (например, система «Операционный день банка» или система диспетчерского управления). Однако, несмотря ни на что, оба эти подхода могут быть применены для защиты вашей организации. Если вы хотите защитить один или несколько узлов, то системы обнаружения атак на уровне хоста могут стать неплохим выбором. Но если вы хотите защитить большую часть сетевых узлов организации, то системы обнаружения атак на уровне сети, вероятно, будут наилучшим выбором, поскольку увеличение количества узлов в сети никак не скажется на уровне защищенности, достигаемом при помощи системы обнаружения атак. Она сможет без дополнительной настройки защищать дополнительные узлы, в то время как в случае применения системы, функционирующей на уровне хостов, понадобится ее установка и настройка на каждый защищаемый хост. Идеальным решением стала бы система обнаружения атак, объединяющая в себе оба эти подхода.

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

1.1. Обнаружение атак на сетевом уровне

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

o Соответствие трафика шаблону (сигнатуре), выражению или байткоду, характеризующих об атаке или подозрительном действии;

o Контроль частоты событий или превышение пороговой величины;

o Корреляция нескольких событий с низким приоритетом;

o Обнаружение статистических аномалий.

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

1.2. Обнаружение атак на системном уровне

В начале 80-х годов, еще до того, как сети получили свое развитие, наиболее распространенная практика обнаружения атак заключалась в просмотре журналов регистрации на предмет наличия в них событий, свидетельствующих о подозрительной активности. Современные системы обнаружения атак системного уровня остаются мощным инструментом для понимания уже осуществленных атак и определения соответствующих методов для устранения возможностей их будущего применения. Современные IDS системного уровня по-прежнему используют журналы регистрации, но они стали более автоматизированными и включают сложнейшие методы обнаружения, основанные на новейших исследованиях в области математики. Как правило, IDS системного уровня контролируют систему, события и журналы регистрации событий безопасности (security log или syslog) в сетях, работающих под управлением Windows NT или Unix. Когда какой-либо из этих файлов изменяется, IDS сравнивает новые записи с сигнатурами атак, чтобы проверить, есть ли соответствие. Если такое соответствие найдено, то система посылает администратору сигнал тревоги или приводит в действие другие заданные механизмы реагирования.

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

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

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

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

2. Обнаружение атак, которые пропускаются на системном уровне. IDS сетевого уровня изучают заголовки сетевых пакетов на наличие подозрительной или враждебной деятельности. IDS системного уровня не работают с заголовками пакетов, следовательно, они не могут определять эти типы атак. Например, многие сетевые атаки типа "отказ в обслуживании" ("denial-of-service") и "фрагментированный пакет" (TearDrop) могут быть идентифицированы только путем анализа заголовков пакетов, по мере того, как они проходят через сеть. Этот тип атак может быть быстро идентифицирован с помощью IDS сетевого уровня, которая просматривает трафик в реальном масштабе времени. IDS сетевого уровня могут исследовать содержание тела данных пакета, отыскивая команды или определенный синтаксис, используемые в конкретных атаках. Например, когда хакер пытается использовать программу Back Orifice на системах, которые пока еще не поражены ею, то этот факт может быть обнаружен путем исследования именно содержания тела данных пакета. Как говорилось выше, системы системного уровня не работают на сетевом уровне, и поэтому не способны распознавать такие атаки.

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

4. Обнаружение и реагирование в реальном масштабе времени. IDS сетевого уровня обнаруживают подозрительные и враждебные атаки ПО МЕРЕ ТОГО, КАК ОНИ ПРОИСХОДЯТ, и поэтому обеспечивают гораздо более быстрое уведомление и реагирование, чем IDS системного уровня. Например, хакер, инициирующий атаку сетевого уровня типа "отказ в обслуживании" на основе протокола TCP, может быть остановлен IDS сетевого уровня, посылающей установленный флаг Reset в заголовке TCP-пакета для завершения соединения с атакующим узлом, прежде чем атака вызовет разрушения или повреждения атакуемого хоста. IDS системного уровня, как правило, не распознают атаки до момента соответствующей записи в журнал и предпринимают ответные действия уже после того, как была сделана запись. К этому моменту наиболее важные системы или ресурсы уже могут быть скомпрометированы или нарушена работоспособность системы, запускающей IDS системного уровня. Уведомление в реальном масштабе времени позволяет быстро среагировать в соответствии с предварительно определенными параметрами. Диапазон этих реакций изменяется от разрешения проникновения в режиме наблюдения для того, чтобы собрать информацию об атаке и атакующем, до немедленного завершения атаки.

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

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

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

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

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

2. Контролирует деятельность конкретного узла. IDS системного уровня контролирует деятельность пользователя, доступ к файлам, изменения прав доступа к файлам, попытки установки новых программ и/или попытки получить доступ к привилегированным сервисам. Например, IDS системного уровня может контролировать всю logon- и logoff-деятельность пользователя, а также действия, выполняемые каждым пользователем при подключении к сети. Для системы сетевого уровня очень трудно обеспечить такой уровень детализации событий. Технология обнаружения атак на системном уровне может также контролировать деятельность, которая обычно ведется только администратором. Операционные системы регистрируют любое событие, при котором добавляются, удаляются или изменяются учетные записи пользователей. IDS системного уровня могут обнаруживать соответствующее изменение сразу, как только оно происходит. IDS системного уровня могут также проводить аудит изменений политики безопасности, которые влияют на то, как системы осуществляют отслеживание в своих журналах регистрации и т.д.

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

3. Обнаружение атак, которые упускают системы сетевого уровня. IDS системного уровня могут обнаруживать атаки, которые не могут быть обнаружены средствами сетевого уровня. Например, атаки, осуществляемые с самого атакуемого сервера, не могут быть обнаружены системами обнаружения атак сетевого уровня.

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

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

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

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

6. Не требуют дополнительных аппаратных средств. Системы обнаружения атак на системном уровне устанавливаются на существующую сетевую инфраструктуру, включая файловые сервера, Web-сервера и другие используемые ресурсы. Такая возможность может сделать IDS системного уровня очень эффективными по стоимости, потому что они не требуют еще одного узла в сети, которому необходимо уделять внимание, осуществлять техническое обслуживание и управлять им.

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

1.5. Необходимость в обеих системах обнаружения атак сетевого и системного уровней

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

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

Рис.1. В заимодействие метотодов обнаружения атак на системном и сетевом уровнях

1.6. Список требования к системам обнаружения атак
следующего поколения

Характеристики для систем обнаружения атак следующего поколения:

1. Возможности обнаружения атак на системном и сетевом уровне, интегрированные в единую систему.

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

3. Интегрированная база данных событий.

4. Интегрированная система генерации отчетов.

5. Возможности осуществления корреляции событий.

6. Интегрированная он-лайновая помощь для реагирования на инциденты.

7. Унифицированные и непротиворечивые процедуры инсталляции.

8. Добавление возможности контроля за собственными событиями.

В четвертом квартале 1998 года вышла RealSecureT версии 3.0, которая отвечает всем этим требованиям.

· Модуль слежения RealSecure - обнаруживает атаки на сетевом уровне в сетях Ethernet, Fast Ethernet, FDDI и Token Ring.

· Агент RealSecure - обнаруживает атаки на серверах и других системных устройствах.

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

2. Атаками весь мир полнится

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

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

Цифры, цифры, цифры…

Кто же чаще всего совершает компьютерные преступления и реализует различные атаки? Какие угрозы самые распространенные? Приведу данные, полученные самым авторитетным в этой области источником - Институтом компьютерной безопасности (CSI) и группой компьютерных нападений отделения ФБР в Сан-Франциско. Эти данные были опубликованы в марте 2000 года в ежегодном отчете «2000 CSI/FBI Computer Crime and Security Survey». Согласно этим данным:

· 90% респондентов (крупные корпорации и государственные организации) зафиксировали различные атаки на свои информационные ресурсы;

· 70% респондентов зафиксировали серьезные нарушения политики безопасности, например вирусы, атаки типа «отказ в обслуживании», злоупотребления со стороны сотрудников и т.д.;

· 74% респондентов понесли немалые финансовые потери вследствие этих нарушений.

За последние несколько лет также возрос объем потерь вследствие нарушений политики безопасности. Если в 1997 году сумма потерь равнялась 100 млн. долл., в 1999-м 124 млн., то в 2000-м эта цифра возросла до 266 млн. долл.. Размер потерь от атак типа «отказ в обслуживании» достиг 8,2 млн. долл. К другим интересным данным можно отнести источники атак, типы распространенных атак и размеры потерь от них.

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

Интерес к электронной коммерции будет способствовать усилению этого роста в последующие годы. Отмечена и другая тенденция. В 80-е - начале 90-х годов внешние злоумышленники атаковали узлы Internet из любопытства или для демонстрации своей квалификации. Сейчас атаки чаще всего преследуют финансовые или политические цели. Как утверждают многие аналитики, число успешных проникновений в информационные системы только в 1999 году возросло вдвое по сравнению с предыдущим годом (с 12 до 23%). И в 2000-м, и 2001-м годах эта тенденция сохраняется.

В данной области существует и российская статистика. И хотя она неполная и, по мнению многих специалистов, представляет собой лишь верхушку айсберга, я все же приведу эти цифры. За 2000 год, согласно данным МВД, было зарегистрировано 1375 компьютерных преступлений. По сравнению с 1999 годом эта цифра выросла более чем в 1,6 раза. Данные управления по борьбе с преступлениями в сфере высоких технологий МВД РФ (Управление «Р») показывают, что больше всего преступлений - 584 от общего количества - относится к неправомерному доступу к компьютерной информации; 258 случаев - это причинение имущественного ущерба с использованием компьютерных средств; 172 преступления связано с созданием и распространением различных вирусов, а вернее, «вредоносных программ для ЭВМ»; 101 преступление - из серии «незаконное производство или приобретение с целью сбыта технических средств для незаконного получения информации», 210 - мошенничество с применением компьютерных и телекоммуникационных сетей; 44 - нарушение правил эксплуатации ЭВМ и их сетей.

3. Как защититься от удаленных атак в сети Internet?

Особенность сети Internet на сегодняшний день состоит в том, что 99% процентов информационных ресурсов сети являются общедоступными. Удаленный доступ к этим ресурсам может осуществляться анонимно любым неавторизованным пользователем сети. Примером подобного неавторизованного доступа к общедоступным ресурсам является подключение к WWW- или FTP-серверам, в том случае, если подобный доступ разрешен.

Определившись, к каким ресурсам сети Internet пользователь намерен осуществлять доступ, необходимо ответить на следующий вопрос: а собирается ли пользователь разрешать удаленный доступ из сети к своим ресурсам? Если нет, то тогда имеет смысл использовать в качестве сетевой ОС "чисто клиентскую" ОС (например, Windows "95 или NT Workstation), которая не содержит программ-серверов, обеспечивающих удаленный доступ, а, следовательно, удаленный доступ к данной системе в принципе невозможен , так как он просто программно не предусмотрен (например, ОС Windows "95 или NT, правда с одним но: под данные системы действительно нет серверов FTP, TELNET, WWW и т. д., но нельзя забывать про встроенную в них возможность предоставления удаленного доступа к файловой системе, так называемое разделение (share) ресурсов. А вспомнив по меньшей мере странную позицию фирмы Microsoft по отношению к обеспечению безопасности своих систем, нужно серьезно подумать, прежде чем остановить выбор на продуктах данной фирмы. Последний пример: в Internet появилась программа, предоставляющая атакующему несанкционированный удаленный доступ к файловой системе ОС Windows NT 4.0!). Выбор клиентской операционной системы во многом решает проблемы безопасности для данного пользователя (нельзя получить доступ к ресурсу, которого просто нет!). Однако в этом случае ухудшается функциональность системы. Здесь своевременно сформулировать, на наш взгляд, основную аксиому безопасности:

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

Данная аксиома, в принципе, очевидна: чем более доступна, удобна, быстра и многофункциональна ВС, тем она менее безопасна. Примеров можно привести массу. Например, служба DNS: удобно, но опасно.

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

Итак, пусть пользователь сети Internet решил использовать для доступа в сеть только клиентскую сетевую ОС и осуществлять с помощью нее только неавторизованный доступ. Проблемы с безопасностью решены? Ничуть! Все было бы хорошо, если бы ни было так плохо. Для атаки "Отказ в обслуживании" абсолютно не имеет значения ни вид доступа, применяемый пользователем, ни тип сетевой ОС (хотя клиентская ОС с точки зрения защиты от атаки несколько предпочтительнее). Эта атака, используя фундаментальные пробелы в безопасности протоколов и инфраструктуры сети Internet, поражает сетевую ОС на хосте пользователя с одной единственной целью - нарушить его работоспособность. ля атаки, связанной с навязыванием ложного маршрута при помощи протокола ICMP, целью которой является отказ в обслуживании, ОС Windows "95 или Windows NT - наиболее лакомая цель. Пользователю в таком случае остается надеяться на то, что его скромный хост не представляет никакого интереса для атакующего, который может нарушить его работоспособность разве что из желания просто напакостить.

3.1. Административные методы защиты от удаленных атак в сети Internet

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

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

3.1.1. Как защититься от анализа сетевого трафика?

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

3.1.2. Как защититься от ложного ARP-сервера?

В том случае, если у сетевой ОС отсутствует информация о соответствии IP- и Ethernet-адресов хостов внутри одного сегмента IP-сети, данный протокол позволяет посылать широковещательный ARP-запрос на поиск необходимого Ethernet-адреса, на который атакующий может прислать ложный ответ, и, в дальнейшем, весь трафик на канальном уровне окажется перехваченным атакующим и пройдет через ложный ARP-сервер. Очевидно, что для ликвидации данной атаки необходимо устранить причину, по которой возможно ее осуществление. Основная причина успеха данной удаленной атаки - отсутствие необходимой информации у ОС каждого хоста о соответствующих IP- и Ethernet-адресах всех остальных хостов внутри данного сегмента сети. Таким образом, самым простым решением будет создание сетевым администратором статической ARP-таблицы в виде файла (в ОС UNIX обычно /etc/ethers), куда необходимо внести соответствую-щую информацию об адресах. Данный файл устанавливается на каждый хост внутри сегмента, и, следовательно, у сетевой ОС отпадает необходимость в использовании удаленного ARP-поиска.

3.1.3. Как защититься от ложного DNS-сервера?

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

а) Как администратору сети защититься от ложного DNS-сервера?

Если отвечать на этот вопрос коротко, то никак. Ни административно, ни программно нельзя защититься от атаки на существующую версию службы DNS. Оптимальным с точки зрения безопасности решением будет вообще отказаться от использования службы DNS в вашем защищенном сегменте! Конечно, совсем отказаться от использования имен при обращении к хостам для пользователей будет очень не удобно. Поэтому можно предложить следующее компромиссное решение: использовать имена, но отказаться от механизма удаленного DNS-поиска. Вы правильно догадались, что это возвращение к схеме, использовавшейся до появления службы DNS с выделенными DNS-серверами. Тогда на каждой машине в сети существовал hosts файл, в котором находилась информация о соответствующих именах и IP-адресах всех хостов в сети. Очевидно, что на сегодняшний день администратору можно внести в подобный файл информацию о лишь наиболее часто посещаемых пользователями данного сегмента серверах сети. Поэтому использование на практике данного решения чрезвычайно затруднено и, видимо, нереально (что, например, делать с броузерами, которые используют URL с именами?).

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

Общий неутешительный вывод таков: в сети Internet при использовании существующей версии службы DNS не существует приемлемого решения для защиты от ложного DNS-сервера (и не откажешься, как в случае с ARP, и использовать опасно)!

б) Как администратору DNS-сервера защититься от ложного DNS-сервера?

Если отвечать на этот вопрос коротко, то, опять же, никак. Единственным способом затруднить осуществление данной удаленной атаки, это использовать для общения с хостами и с другими DNS-серверами только протокол TCP, а не UDP. Тем не менее, это только затруднит выполнение атаки - не забывайте как про возможный перехват DNS-запроса, так и про возможность математического предсказания начального значения TCP-идентификатора ISN.

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

3.1.4. Как защититься от навязывания ложного маршрута при использовании протокола ICMP?

Атака, которая заключалась в передаче на хост ложного ICMP Redirect сообщения о смене исходного маршрута приводила как к перехвату атакующим информации, так и к нарушению работоспособности атакуемого хоста. Для того, чтобы защититься от данной удаленной атаки, необходимо либо фильтровать данное сообщение (используя Firewall или фильтрующий маршрутизатор), не допуская его попадания на конечную систему, либо соответствующим образом выбирать сетевую ОС, которая будет игнорировать это сообщение. Однако обычно не существует административных способов повлиять на сетевую ОС так, чтобы запретить ей изменять маршрут и реагировать на данное сообщение. Единственный способ, например, в случае ОС Linux или FreeBSD заключается в том, чтобы изменить исходные тексты и перекомпилировать ядро ОС. Очевидно, что такой экзотический для многих способ возможен только для свободно распространяемых вместе с исходными текстами операционных систем. Обычно на практике не существует иного способа узнать реакцию используемой у вас ОС на ICMP Redirect сообщение, как послать данное сообщение и посмотреть, каков будет результат. Эксперименты показали, что данное сообщение позволяет изменить маршрутизацию на ОС Linux 1.2.8, Windows "95 и Windows NT 4.0. Следует отметить, что продукты компании Microsoft не отличаются особой защищенностью от возможных удаленных атак, присущих IP-сетям. Следовательно, использовать данные ОС в защищенном сегменте IP-сети представляется нежелательным. Это и будет тем самым административным решением по защите сегмента сети от данной удаленной атаки.

3.1.5. Как защититься от отказа в обслуживании?

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

Единственное, что можно предложить для повышения надежности работы системы, подвергаемой данной атаке, - это использовать как можно более мощные компьютеры. Чем больше число и частота работы процессоров, чем больше объем оперативной памяти, тем более надежной будет работа сетевой ОС, когда на нее обрушится направленный "шторм" ложных запросов на создание соединения. Кроме того, необходимо использование соответствующих вашим вычислительным мощностям операционных систем с внутренней очередью, способной вместить большое число запросов на подключение. Ведь от того, что вы, например, поставите на суперЭВМ операционную систему Linux или Windows NT, у которых длина очереди для одновременно обрабатываемых запросов около 10, а тайм-аут очистки очереди несколько минут, то, несмотря на все вычислительные мощности компьютера, ОС будет полностью парализована атакующим.

3.1.6. Как защититься от подмены одной из сторон при взаимодействии с использованием базовых протоколов семейства TCP/IP

Как отмечалось ранее, единственным базовым протоколом семейства TCP/IP, в котором изначально предусмотрена функция обеспечения безопасности соединения и его абонентов, является протокол транспортного уровня - протокол TCP. Что касается базовых протоколов прикладного уровня: FTP, TELNET, r-служба, NFS, HTTP, DNS, SMTP, то ни один из них не предусматривает дополнительную защиту соединения на своем уровне и оставляет решение всех проблем по обеспечению безопасности соединения протоколу более низкого транспортного уровня - TCP. Однако, вспомнив о возможных атаках на TCP-соединение, рассмотренных в п. 4.5, где было отмечено, что при нахождении атакующего в одном сегменте с целью атаки защититься от подмены одного из абонентов TCP-соединения в принципе невозможно, а в случае нахождения в разных сегментах из-за возможности математического предсказания идентификатора TCP-соединения ISN также реальна подмена одного из абонентов, несложно сделать вывод, что при использовании базовых протоколов семейства TCP/IP обеспечить безопасность соединения практически невозможно! Это происходит из-за того, что, к сожалению, все базовые протоколы сети Internet с точки зрения обеспечения информационной безопасности невероятно устарели.

Единственно, что можно порекомендовать сетевым администраторам для защиты только от межсегментных атак на соединения - в качестве базового "защищенного" протокола использовать протокол TCP и сетевые ОС, в которых начальное значение идентификатора TCP-соединения действительно генерируется случайным образом (неплохой псевдослучайный алгоритм генерации используется в последних версиях ОС FreeBSD).

3.2. Программно-аппаратные методы защиты от удаленных атак в сети Internet

К программно-аппаратным средствам обеспечения информационной безопасности средств связи в вычислительных сетях относятся:

  • аппаратные шифраторы сетевого трафика;
  • методика Firewall, реализуемая на базе программно-аппаратных средств;
  • защищенные сетевые криптопротоколы;
  • программно-аппаратные анализаторы сетевого трафика;
  • защищенные сетевые ОС.

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

Далее мы, по возможности кратко, чтобы не повторять всем хорошо известную информацию, опишем данные средства защиты, применяемые в Internet. При этом мы преследуем следующие цели: во-первых, еще раз вернемся к мифу об "абсолютной защите" , которую якобы обеспечивают системы Firewall, очевидно, благодаря стараниям их продавцов; во-вторых, сравним существующие версии криптопротоколов, применяемых в Internet, и дадим оценку, по сути, критическому положению в этой области; и, в-третьих, ознакомим читателей с возможностью защиты с помощью сетевого монитора безопасности, предназначенного для осуществления динамического контроля за возникающими в защищаемом сегменте IP-сети ситуациями, свидетельствующими об осуществлении на данный сегмент одной из описанных в 4 главе удаленных атак.

3.2.1. Методика Firewall как основное программно-аппаратное средство осуществления сетевой политики безопасности в выделенном сегменте IP-сети

В общем случае методика Firewall реализует следующие основные три функции:

1. Многоуровневая фильтрация сетевого трафика.

Фильтрация обычно осуществляется на трех уровнях OSI:

сетевом (IP);

транспортном (TCP, UDP);

прикладном (FTP, TELNET, HTTP, SMTP и т. д.).

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

2. Proxy-схема с дополнительной идентификацией и аутентификацией пользователей на Firewall-хосте.

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

3. Создание приватных сетей (Private Virtual Network - PVN) с "виртуальными" IP-адресами (NAT - Network Address Translation).

В том случае, если администратор безопасности сети считает целесообразным скрыть истинную топологию своей внутренней IP-сети, то ему можно порекомендовать использовать системы Firewall для создания приватной сети (PVN-сеть). Хостам в PVN-сети назначаются любые "виртуальные" IP-адреса. Для адресации во внешнюю сеть (через Firewall) необходимо либо использование на хосте Firewall описанных выше proxy-серверов, либо применение специальных систем роутинга (маршрутизации), только через которые и возможна внешняя адресация. Это происходит из-за того, что используемый во внутренней PVN-сети виртуальный IP-адрес, очевидно, не пригоден для внешней адресации (внешняя адресация - это адресация к абонентам, находящимся за пределами PVN-сети). Поэтому proxy-сервер или средство роутинга должно осуществлять связь с абонентами из внешней сети со своего настоящего IP-адреса. Кстати, эта схема удобна в том случае, если вам для создания IP-сети выделили недостаточное количество IP-адресов (в стандарте IPv4 это случается сплошь и рядом, поэтому для создания полноценной IP-сети с использованием proxy-схемы достаточно только одного выделенного IP-адреса для proxy-сервера).

Итак, любое устройство, реализующее хотя бы одну из этих функций Firewall-методики, и является Firewall-устройством. Например, ничто не мешает вам использовать в качестве Firewall-хоста компьютер с обычной ОС FreeBSD или Linux, у которой соответствующим образом необходимо скомпилировать ядро ОС. Firewall такого типа будет обеспечивать только многоуровневую фильтрацию IP-трафика. Другое дело, предлагаемые на рынке мощные Firewall-комплексы, сделанные на базе ЭВМ или мини-ЭВМ, обычно реализуют все функции Firewall-мето-дики и являются полнофункциональными системами Firewall. На следующем рисунке изображен сегмент сети, отделенный от внешней сети полнофункциональным Firewall-хостом.


Рис. 2. Обобщенная схема полнофункционального хоста Firewall.

Однако администраторам IP-сетей, поддавшись на рекламу систем Firewall, не стоит заблуждаться на тот счет, что Firewall это гарантия абсолютной защиты от удаленных атак в сети Internet. Firewall - не столько средство обеспечения безопасности, сколько возможность централизованно осуществлять сетевую политику разграничения удаленного доступа к доступным ресурсам вашей сети. Да, в том случае, если, например, к данному хосту запрещен удаленный TELNET-доступ, то Firewall однозначно предотвратит возможность данного доступа. Но дело в том, что большинство удаленных атак имеют совершенно другие цели (бессмысленно пытаться получить определенный вид доступа, если он запрещен системой Firewall). Какие из рассмотренных удаленных атак может предотвратить Firewall? Анализ сетевого трафика? Очевидно, нет! Ложный ARP-сервер? И да, и нет (для защиты вовсе не обязательно использовать Firewall). Ложный DNS-сервер? Нет, к сожалению, Firewall вам тут не помощник. Навязывание ложного маршрута при помощи протокола ICMP? Да, эту атаку путем фильтрации ICMP-сообщений Firewall легко отразит (хотя достаточно будет фильтрующего маршрутизатора, например Cisco). Подмена одного из субъектов TCP-соединения? Ответ отрицательный; Firewall тут абсолютно не при чем. Нарушение работоспособности хоста путем создания направленного шторма ложных запросов или переполнения очереди запросов? В этом случае применение Firewall только ухудшит все дело. Атакующему для того, чтобы вывести из строя (отрезать от внешнего мира) все хосты внутри защищенного Firewall-системой сегмента, достаточно атаковать только один Firewall, а не несколько хостов (это легко объясняется тем, что связь внутренних хостов с внешним миром возможна только через Firewall).

отнюдь не достаточным

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

3.2.2. Программные методы защиты, применяемые в сети Internet

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

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

а) SKIP-технология и криптопротоколы SSL, S-HTTP как основное средство защиты соединения и передаваемых данных в сети Internet

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

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

SKIP (Secure Key Internet Protocol)-технологией называется стандарт инкапсуляции IP-пакетов, позволяющий в существующем стандарте IPv4 на сетевом уровне обеспечить защиту соединения и передаваемых по нему данных. Это достигается следующим образом: SKIP-пакет представляет собой обычный IP-пакет, поле данных которого представляет из себя SKIP-заголовок определенного спецификацией формата и криптограмму (зашифрованные данные). Такая структура SKIP-пакета позволяет беспрепятственно направлять его любому хосту в сети Internet (межсетевая адресация происходит по обычному IP-заголовку в SKIP-пакете). Конечный получатель SKIP-пакета по заранее определенному разработчиками алгоритму расшифровывает криптограмму и формирует обычный TCP- или UDP-пакет, который и передает соответствующему обычному модулю (TCP или UDP) ядра операционной системы. В принципе, ничто не мешает разработчику формировать по данной схеме свой оригинальный заголовок, отличный от SKIP-заголовка.

S-HTTP (Secure HTTP) - это разработанный компанией Enterprise Integration Technologies (EIT) специально для Web защищенный HTTP-протокол. Протокол S-HTTP позволяет обеспечить надежную криптозащиту только HTTP-документов Web-севера и функционирует на прикладном уровне модели OSI. Эта особенность протокола S-HTTP делает его абсолютно специализированным средством защиты соединения, и, как следствие, невозможное его применение для защиты всех остальных прикладных протоколов (FTP, TELNET, SMTP и др.). Кроме того, ни один из существующих на сегодняшний день основных Web-броузеров (ни Netscape Navigator 3.0, ни Microsoft Explorer 3.0) не поддерживают данный протокол.

SSL (Secure Socket Layer) - разработка компании Netscape - универсальный протокол защиты соединения, функционирующий на сеансовом уровне OSI. Этот протокол, использующий криптографию с открытым ключом, на сегодняшний день, по нашему мнению, является единственным универсальным средством, позволяющим динамически защитить любое соединение с использованием любого прикладного протокола (DNS, FTP, TELNET, SMTP и т. д.). Это связано с тем, что SSL, в отличие от S-HTTP, функционирует на промежуточном сеансовом уровне OSI (между транспортным - TCP, UDP, - и прикладным - FTP, TELNET и т. д.). При этом процесс создания виртуального SSL-соединения происходит по схеме Диффи и Хеллмана (п. 6.2), которая позволяет выработать криптостойкий сеансовый ключ, используемый в дальнейшем абонентами SSL-соединения для шифрования передаваемых сообщений. Протокол SSL сегодня уже практически оформился в качестве официального стандарта защиты для HTTP-соединений, то есть для защиты Web-серверов. Его поддерживают, естественно, Netscape Navigator 3.0 и, как ни странно, Microsoft Explorer 3.0 (вспомним ту ожесточенную войну броузеров между компаниями Netscape и Microsoft). Конечно, для установления SSL-соединения с Web-сервером еще необходимо и наличие Web-сервера, поддерживающего SSL. Такие версии Web-серверов уже существуют (SSL-Apachе, например). В заключении разговора о протоколе SSL нельзя не отметить следующий факт: законами США до недавнего времени был запрещен экспорт криптосистем с длиной ключа более 40 бит (недавно он был увеличен до 56 бит). Поэтому в существующих версиях броузеров используются именно 40-битные ключи. Криптоаналитиками путем экспериментов было выяснено, что в имеющейся версии протокола SSL шифрование с использованием 40-битного ключа не является надежной защитой для передаваемых по сети сообщений, так как путем простого перебора (2 40 комбинаций) этот ключ подбирается за время от 1,5 (на суперЭВМ Silicon Graphics) до 7 суток (в процессе вычислений использовалось 120 рабочих станций и несколько мини ЭВМ).

Итак, очевидно, что повсеместное применение этих защищенных протоколов обмена, особенно SSL (конечно, с длиной ключа более 40 бит), поставит надежный барьер на пути всевозможных удаленных атак и серьезно усложнит жизнь кракеров всего мира. Однако весь трагизм сегодняшней ситуации с обеспечением безопасности в Internet состоит в том, что пока ни один из существующих криптопротоколов (а их уже немало) не оформился в качестве единого стандарта защиты соединения, который поддерживался бы всеми производителями сетевых ОС! Протокол SSL, из имеющихся на сегодня, подходит на эту роль наилучшим образом. Если бы его поддерживали все сетевые ОС, то не потребовалось бы создание специальных прикладных SSL-совместимых серверов (DNS, FTP, TELNET, WWW и др.). Если не договориться о принятии единого стандарта на защищенный протокол сеансового уровня, то тогда потребуется принятие многих стандартов на защиту каждой отдельной прикладной службы. Например, уже разработан экспериментальный, никем не поддерживаемый протокол Secure DNS. Также существуют экспериментальные SSL-совместимые Secure FTP- и TELNET-серверы. Но все это без принятия единого поддерживаемого всеми производителями стандарта на защищенный протокол не имеет абсолютно никакого смысла. А на сегодняшний день производители сетевых ОС не могут договориться о единой позиции на эту тему и, тем самым, перекладывают решение этих проблем непосредственно на пользователей Internet и предлагают им решать свои проблемы с информационной безопасностью так, как тем заблагорассудится!

б) Сетевой монитор безопасности IP Alert-1

Практические и теоретические изыскания авторов, по направлению, связанному с исследованием безопасности распределенных ВС, в том числе и сети Internet (два полярных направления исследования: нарушение и обеспечение информационной безопасности), навели на следующую мысль: в сети Internet, как и в других сетях (например, Novell NetWare, Windows NT), ощущается серьезная нехватка программного средства защиты, осуществляющего комплексный контроль (мониторинг) на канальном уровне за всем потоком передаваемой по сети информации с целью обнаружения всех типов удаленных воздействий, описанных в 4 главе. Исследование рынка программного обеспечения сетевых средств защиты для Internet выявило тот факт, что подобных комплексных средств обнаружения удаленных воздействий по нашим сведениям не существует, а те, что имеются, предназначены для обнаружения воздействий одного конкретного типа (например, ICMP Redirect или ARP). Поэтому и была начата разработка средства контроля сегмента IP-сети, предназначенного для использования в сети Internet и получившее следующее название: сетевой монитор безопасности IP Alert-1 . Основная задача этого средства, программно анализирующего сетевой трафик в канале передачи, состоит не в отражении осуществляемых по каналу связи удаленных атак, а в их обнаружении, протоколировании (ведении файла аудита с протоколированием в удобной для последующего визуального анализа форме всех событий, связанных с удаленными атаками на данный сегмент сети) и незамедлительным сигнализировании администратору безопасности в случае обнаружения удаленной атаки. Основной задачей сетевого монитора безопасности IP Alert-1 является осуществление контроля за безопасностью соответствующего сегмента сети Internet.

Сетевой монитор безопасности IP Alert-1 обладает следующими функциональными возможностями и позволяет, путем сетевого анализа, обнаружить следующие удаленные атаки на контролируемый им сегмент сети Internet.

Функциональные возможности сетевого монитора безопасности IP Alert-1

1. Контроль за соответствием IP- и Ethernet-адресов в пакетах, передаваемых хостами, находящимися внутри контролируемого сегмента сети.

На хосте IP Alert-1 администратор безопасности создает статическую ARP-таблицу, куда заносит сведения о соответствующих IP- и Ethernet-адресах хостов, находящихся внутри контролируемого сегмента сети.

Данная функция позволяет обнаружить несанкционированное изменение IP-адреса или его подмену (IP Spoofing).

2. Контроль за корректным использованием механизма удаленного ARP-поиска.

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

3. Контроль за корректным использованием механизма удаленного DNS-поиска.

Эта функция позволяет определить все возможные виды удаленных атак на службу DNS.

4. Контроль на наличие ICMP Redirect сообщения.

Данная функция оповещает об обнаружении ICMP Redirect сообщения и соответствующей удаленной атаки.

5. Контроль за корректностью попыток удаленного подключения путем анализа передаваемых запросов.

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

Таким образом, сетевой монитор безопасности IP Alert-1 позволяет обнаружить, оповестить и запротоколировать все виды удаленных атак, описанных в 4 главе! При этом данная программа никоим образом не является конкурентом системам Firewall. IP Alert-1 , используя описанные и систематизированные в 4 главе особенности удаленных атак на сеть Internet, служит необходимым дополнением - кстати, несравнимо более дешевым, - к системам Firewall. Без монитора безопасности большинство попыток осуществления удаленных атак на ваш сегмент сети останется скрыто от ваших глаз. Ни один из известных авторам файрволов не занимается подобным интеллектуальным анализом проходящих по сети сообщений на предмет выявления различного рода удаленных атак, ограничиваясь, в лучшем случае, ведением журнала, в который заносятся сведения о попытках подбора паролей для TELNET и FTP, о сканировании портов и о сканировании сети с использованием знаменитой программы удаленного поиска известных уязвимостей сетевых ОС - SATAN. Поэтому, если администратор IP-сети не желает оставаться безучастным и довольствоваться ролью простого статиста при удаленных атаках на его сеть, то ему желательно использовать сетевой монитор безопасности IP Alert-1 . Кстати, напомним, что Цутому Шимомура смог запротоколировать атаку Кевина Митника, во многом, видимо, благодаря программе tcpdump - простейшему анализатору IP-трафика.


Рис. 3. Сетевой монитор безопасности IP Alert-1.

4. Рынок систем безопасности

4.1. Основные тенденции рынка: статистика и прогнозы

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

По оценкам многих аналитиков, в 2001 году характер взломов существенно изменился: если раньше хакер действовал в основном один на один с объектом атаки (то есть по сути аполитично), то в настоящее время можно говорить о групповых действиях хакеров, что в быстро изменяющейся обстановке современного мира стало знаковым явлением. Атака - это уже не просто способ самовыражения и не «показательное выступление», а инструмент нанесения удара по цели. Исследования показывают, что Компьютерная Сеть (КС) почти везде весьма уязвима, поэтому активизация данного вида деятельности несет в себе прямую опасность, особенно в момент напряженности в отношениях между различными политическими группами и государствами. Эксперты отмечают, что большинство крупных ресурсов сети до сих пор уязвимы.

На основании исследований общих тенденций информационной безопасности в IT-секторе можно сделать вывод, что компании достаточно инертно меняют свою информационную политику в области информационной безопасности, что их стратегическое видение постоянно запаздывает в охвате перспективы, а их практику обращения с персональными данными и уровень защищенности инфраструктур с трудом можно назвать удовлетворительными. В качестве аргументов, говорящих в пользу этого утверждения, можно привести впечатляющие цифры. Так, большинство компаний неадекватно соотносят свою деятельность с существующими угрозами: например, только одна компания из 10 удаляет/меняет пароли после увольнения работника, хотя 80% компаний имеют соответствующие регламенты. Результаты исследований свидетельствуют о слабой приверженности организаций к аудиту по вопросам информационной безопасности (35%), о минимальных усилиях по стимулированию легального расследования инцидентов (17%), о недостаточном понимании источников угрозы (79% до сих пор считают, что опасность исходит извне, хотя статистика доказывает обратное). Исследования показали, что 60% топ-менеджеров рассматривает информационную безопасность корпораций как проблему технологий (a technology problem) и только (40%) - как стратегическую проблему для бизнеса корпорации (a strategic business issue).

Однако, несмотря на вышеперечисленные факты, в настоящее время налицо явный рост внимания общества к проблемам информационной безопасности, к тому спектру отношений, которые обычно называют Electronic Security. Подтверждением тому является следующее. По мнению специалистов аналитической компании IDC, спрос на системы Интернет-безопасности в ближайшие годы будет стремительно расти, что превратит данный сектор рынка в один из самых прибыльных. Согласно расчетам IDC, среднегодовой рост на рынке систем Интернет-безопасности в ближайшие пять лет составит 23%, и к 2005 году рынок достигнет объема в 14 млрд. долл. Как считают специалисты IDC, основной потенциал лежит в секторе программных продуктов, предназначенных для безопасной аутентификации, авторизации и администрирования, - в так называемом секторе продуктов группы 3А (Администрирование, Авторизация, Аутентификация). По мнению IDC, программное обеспечение информационной безопасности 3А состоит из реализаций функций администрирования, авторизации и аутентификации, используемых для администрирования безопасности на отдельных компьютерных системах или в корпоративных рамках, и включает в себя процессы определения, создания, изменения, удаления и аудита пользователей. По оценкам того же источника, ежегодный прирост в этом секторе составит 28%, и к 2005 году он займет 67% рынка.

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

Среди других важных тенденций рынка следует отметить то, что компании пока еще не готовы защитить себя и представить безопасный сервис, поскольку у них не хватает квалифицированного персонала (70,5%) и они стратегически не в состоянии просчитать, насколько выгодным будет внедрение новых практик безопасности (45,9%). Такие далеко не обнадеживающие результаты были выявлены в ходе исследования по Японии, которая ни в коей мере не является технологически отсталой страной. Специалисты утверждают, что в сфере сетевой безопасности ощущается острая нехватка персонала, способного эффективно решать соответствующие задачи.

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

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

4.2. Структура рынка безопасности

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

Информационная безопасность гарантирует достижение следующих целей:

· конфиденциальность критической информации;

· целостность информации и связанных с ней процессов (создания, ввода, обработки и вывода);

· доступность информации в случае необходимости;

· учет всех процессов, связанных с информацией.

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

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

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

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

4.3. Лидеры на рынке систем безопасности

Корпорация Symantec

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

В отчете Gartner Dataquest эта компания названа мировым лидером в области поставок программных средств для обеспечения информационной безопасности. Данная оценка основывается на объеме доходов от продажи новых лицензий в 2000 году. Отчет Gartner Dataquest показывает, что рост, продемонстрированный корпорацией Symantec, опережает рост рынка средств безопасности - рост доходов корпорации Symantec составил 40% за год. «В результате слияния с компанией Axent, которое произошло в декабре 2000 года, корпорация Symantec переместилась с 4-го на 1-е место в списке, завладев при этом 14,7% рынка средств безопасности», - отмечается в отчете. Программные средства безопасности Symantec, согласно классификации Gartner Dataquest, включают: антивирусное программное обеспечение, программы шифрования, средства обнаружения попыток несанкционированного проникновения и другие средства информационной защиты - межсетевые экраны, программы фильтрации Web-ресурсов, приложения для управления доступом к внешним сетям. Корпорация Symantec предлагает средства антивирусной защиты, межсетевые экраны, виртуальные частные сети, средства выявления слабых мест системы безопасности и попыток несанкционированного проникновения, программы фильтрации информационных ресурсов Интернета и электронной почты, технологии удаленного управления, а также услуги по обеспечению информационной безопасности.

Компания Network Associates, Inc.

Эта компания, так же как и Symantec, уверенно доминирует на рынке систем безопасности, контролируя около 60% мирового рынка антивирусов. По данным Network Associates, Inc. (NAI) она имеет более 60 млн. пользователей по всему миру. NAI предлагает одно из наиболее укомплектованных в функциональном и потребительском плане семейство программ, которые защищают, управляют и контролируют корпоративные сети. Функциональные возможности и широта решений, предлагаемые Network Associates, дополняются возможностями, приобретенными у Pretty Good Privacy (PGP) и Magic Solutions, а также мощнейшими средствами антивирусных средств Dr.Solomon’s, первая версия которой была выпущена в начале 1997 года фирмой Dr.Solomon’s Software. По информации McAfee (подразделения Network Associates, Inc.), программный продукт McAfee GroupShield Exchange уже третий год подряд получает награду Best Buy от Secure Computing Magazine, выигрывая в сравнительном тесте антивирусов для MS Exchange. В сравнительном обзоре антивирусов для Microsoft Exchange 2001 McAfee GroupShield получил наивысшие оценки, обойдя продукты других антивирусных производителей, таких как Symantec, «Лаборатория Касперского», Trend Micro, F-Secure, Panda, Computer Associates и др.

Корпорация Computer Associates International, Inc.

Отчет IDC определил Computer Associates International, Inc. (CA) как лидирующего поставщика программного обеспечения в области аутентификации, авторизации и администрирования (3А), которому принадлежит 15,5% мирового рынка. В 2001 году отчет IDC под названием «Прогноз и анализ международного рынка программного обеспечения безопасности работы в Интернет на 2001-2005 годы» выделил СА в качестве мирового лидирующего поставщика программного обеспечения защиты данных при работе в Интернете второй год подряд. СА предлагает решения 3А средствами семейства продуктов eTrust (eTrust PKI, eTrust SSO, eTrust CA-ACF2, eTrust CA-Top Secret, eTrust Admin, eTrust Access Control и eTrust Intrusion Detection). «СА является очевидным мировым лидером в разработке решений по информационной безопасности и по технологической эффективности, и по общему объему на рынке», - отметил вице-президент СА по решениям eTrust, Barry Keyes. - Преимущества нашей новой бизнес-модели лицензирования, всесторонний технический сервис и прозрачное интегрированное решение управления электронным бизнесом позволил и нам сделать не имеющее себе равных по ценности предложение менеджерам по информационной безопасности предприятий и сервис-провайдеров». Семейство продуктов eTrust позволяет команде управления защищать, администрировать доступ и гарантировать управление и безопасность комплексной автоматизированной системы. Решение eTrust совместимо с действующими стандартами защиты данных, гарантирует возможность взаимодействия с существующими механизмами внутренней безопасности и с такими же механизмами партнеров по сетевому взаимодействию.

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

Заключение

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

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

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

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

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

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

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

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

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

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

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


КомпьютерПресс 8"1999

Лукацкий А.В. Системы обнаружения атак//Банковские технологии. 1999. № 2.

КомпьютерПресс 10"2001

КомпьютерПресс 3"2002

20.06.05 37.2K

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

Может наступить такое время, когда корпорация будет производить все свои телефонные звонки через Интернет, причем совершенно бесплатно. В частной жизни возможно появление специальных 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.

Хорошо Плохо


В ноябре 2000 г. некоторые информационные агентства, в частности Lenta.ru, сообщили о том, что злоумышленники осуществили несанкционированный доступ к компьютерной сети "Газпрома" и временно получили полный контроль над газовыми потоками. В компьютерные сети "Газпрома" были внедрены 24 программы, называемые "троянскими конями", посредством которых и были получены соответствующие данные для успешной хакерской атаки. В итоге центральный пункт управления газовыми потоками стал временно подконтролен внешним пользователям. Был ли нанесен какой-либо реальный ущерб, в официальном сообщении не говорится, однако можно предположить, что без такового вряд ли обошлось. Ведь центральный пункт управления -- это главный информационный центр, с которого можно не только управлять газовыми потоками, но и копаться в массивных банках и базах данных; и изменять данные -- тоже можно.

До сих пор нет точного определения понятия "атака" (вторжение, нападение). Каждый специалист в области безопасности трактует его по-своему. Например, "вторжение - это любое действие, переводящее систему из безопасного состояния в опасное". Данный термин может объясняться и так: "вторжение -- это любое нарушение политики безопасности" или "любое действие, приводящее к нарушению целостности, конфиденциальности и доступности системы и информации, в ней обрабатываемой". Однако более правильной представляется нижеприведенная трактовка, тесно увязанная с термином "уязвимость", использованным в статье, посвященной системам анализа защищенности и опубликованной в прошлом номере "Сетевого журнала". Атакой (attack, intrusion) на информационную систему называется действие или последовательность связанных между собой действий нарушителя, которые приводят к реализации угрозы путем использования уязвимостей этой информационной системы. Другими словами, если бы можно было устранить уязвимости информационных систем, то тем самым была бы устранена и возможность реализации атак.


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

Модели атак

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

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

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

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

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

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

Межсетевые экраны неэффективны против множества атак.

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


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

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

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

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

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

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

Идентификация топологии сети. Можно назвать два метода определения топологии сети (network topology detection), применяемых злоумышленниками: изменение TTL (TTL modulation) и запись маршрута (record route). Программы traceroute для Unix и tracert для Windows используют первый способ определения топологии сети. Они используют для этого поле Time to Live ("время жизни") в заголовке IP-пакета, которое изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Утилита ping подходит для записи маршрута ICMP-пакета. Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, защита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т. д.

Множество атак безгранично.

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

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

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


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

Идентификация сервисов и сканирование портов. Идентификация сервисов (service detection), как правило, осуществляется путем обнаружения открытых портов (port scanning). Такие порты очень часто связаны с сервисами, основанными на протоколах TCP или UDP. Например, открытый 80-й порт подразумевает наличие Web-сервера, 25-й порт -- почтового SMTP-сервера, 31 337-й -- серверной части "троянского коня" BackOrifice, 12 345-й или 12 346-й - серверной части "троянского коня" NetBus и т. д. Для идентификации сервисов и сканирования портов могут быть использованы различные программы, в том числе и свободно распространяемые, например nmap или netcat.

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

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

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

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

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

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


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

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


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

Завершение атаки

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

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

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

  • Удаленное проникновение (remote penetration). Атаки, которые позволяют реализовать удаленное управление компьютером через сеть. Примером такой программы является NetBus или BackOrifice.
  • Локальное проникновение (local penetration). Атака, приводящая к получению несанкционированного доступа к узлу, на котором она запущена, например программа GetAdmin.
  • Удаленный отказ в обслуживании (remote denial of service). Атаки, позволяющие нарушить функционирование или перегрузить компьютер через интернет (Teardrop или trin00).
  • Локальный отказ в обслуживании (local denial of service). Атаки, которые позволяют нарушить функционирование или перегрузить атакуемый компьютер. Примером такой атаки является "враждебный" апплет, загружающий центральный процессор бесконечным циклом, что приводит к невозможности обработки запросов других приложений.
  • Сетевые сканеры (network scanners). Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки, например система nmap.
  • Сканеры уязвимостей (vulnerability scanners). Программы, которые ищут уязвимости на узлах сети и могут быть использованы для реализации атак. К таким сканерам можно отнести систему SATAN или ShadowSecurityScanner.
  • Взломщики паролей (password crackers). Программы, которые "подбирают" пароли пользователей. Пример взломщика паролей -- L0phtCrack для Windows или Crack для Unix.
  • Анализаторы протоколов (sniffers). Программы, которые "прослушивают" сетевой трафик. С их помощью можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т. д. Из таких анализаторов протоколов стоит упомянуть Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.
  • Интернет-компания Security Systems сократила число возможных категорий до пяти:

  • сбор информации (Information gathering);
  • попытки несанкционированного доступа (Unauthorized access attempts);
  • отказ в обслуживании (Denial of service);
  • подозрительная активность (Suspicious activity);
  • системные атаки (System attack).
  • Первые четыре категории относятся к удаленным атакам, а последняя - к локальным, реализуемом на атакуемом узле. Можно заметить, что в данную классификацию не попал целый класс так называемых "пассивных" атак. Помимо "прослушивания" трафика, в эту категорию также попадают такие атаки, как "ложный DNS-сервер", "подмена ARP-сервера" и т. п.

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

    Заключение

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

    Базы данных по атакам

    В 1999 году компания MITRE Corporation (http://cve.mitre.org) предложила подход к классификации атак, который впоследствии был реализован в базе данных Common Vulnerabilities and Exposures(CVE). Несмотря на столь привлекательную инициативу, база данных CVE в момент создания не получила широкого распространения среди производителей коммерческих продуктов. Однако в начале 2000 года свою базу данных уязвимостей, используемую в системах анализа защищенности интернет Scanner и System Scanner, в соответствие с CVE привела компания Internet Security Systems (ISS). Она первой начала ссылаться на унифицированные коды CVE. Это дало толчок и всем остальным производителям. В июне 2000 года о своей поддержке CVE заявили компании Cisco, Axent, BindView, IBM и др.

    Компания ISS, которая является лидером в области разработки средств анализа защищенности и обнаружения атак, основана в 1994 году одним из организаторов CERT Кристофером Клаусом. В ISS существует научно-исследовательская группа X-Force, объединяющая экспертов в области обеспечения информационной безопасности. Эта группа не только постоянно отслеживает все публикуемые другими группами реагирования сообщения об обнаруженных уязвимостях, но и сама проводит тестирование программных и аппаратных средств. Результаты этих исследований помещаются в базу данных уязвимостей и угроз (ISS X-Force Threat and Vulnerability Database).

    Алексей Лукацкий - заместитель директора по маркетингу Научно-инженерного предприятия "Информзащита"
    Сетевой