В двадцать первом веке движущей силой и главным объектом всех отраслей человеческой деятельности становится информация, состояние каналов, сетей и безопасность серверов, которые будут основой экономического развития. К сожалению, сложные сетевые технологии достаточно уязвимы для целенаправленных атак. Причем такие атаки могут производиться удаленно, в том числе и из-за пределов национальных границ. Все это ставит новые проблемы перед разработчиками и строителями информационной инфраструктуры. Некоторые современные формы бизнеса полностью базируются на сетевых технологиях (электронная торговля, IP-телефония, сетевое провайдерство и т.д.) и по этой причине особенно уязвимы. Потребуется здесь и международное сотрудничество в сфере законодательства и установления барьеров для сетевых террористов. Не исключено, что придется со временем модифицировать с учетом требований безопасности некоторые протоколы и программы.
Безопасность представляет собой комплексное понятие, куда входят технические аспекты надежности оборудования, качество питающей сети, уязвимость программного обеспечения и т.д. Вы можете отключить сеть от Интернет, установить систему RAID для обеспечения дисковой защиты, снабдить систему надежным
Число ЭВМ, подключенных в Интернет, в 2006 году достигло миллиарда. Число WEB-серверов в 2005 году перевалило за 80 миллионов. Сегодня трудно представить себе фирму, организацию или учреждение, где бы для обработки документов, ведения бухгалтерии, учета, обмена сообщениями, доступа к информационным и поисковым серверам и так далее не использовали машин, подключенных к сети. Огромная масса людей не может себе представить жизнь без доступа к сети Интернет, который стал еще одним средством массовой информации. Но преимущества доступа к информации через сеть все чаще омрачаются атаками
Первый случай атаки с помощью сетевого червя зарегистрирован в
В 2004 году зарегистрировано 523.109 сетевых инцидентов (это явилось результатом мониторинга 450 сетей в 35 странах мира). Из них 41% атак соответствовали различным видам несанкционированной активности, 26% были попытками несанкционированного доступа, 21% представляли собой сканирования, 9% — DoS-атаки и 3% — попытки некорректного использования приложений. Особенно популярно в последнее время использование уязвимостей браузеров. За последние шесть месяцев 2005 года выявлено более 1000 новых сетевых червей и
Внутренняя структура и функциональность
Если раньше большинство атак имели своей целью мелкое хулиганство или спортивный интерес, теперь все больший процент атак преследует преступные цели и коммерческий интерес. Хакеры готовят и продают наборы взломанных ими ЭВМ для рассылки
Безопасность — вещь относительная. Для того, чтобы конкретизировать обсуждаемый предмет, введены четыре уровня безопасности, обозначенные латинскими буквами A-D. Каждый из уровней поделен на субуровни, обозначаемые соответствующей буквой и цифрой (например, А1, А2, А3 или D1, D2 и т.д.). Уровню D1 соответствует DOS, где пользователь имеет доступ ко всем системным ресурсам и программам. Владельцем файлов является текущий пользователь. С-уровень предлагает большую безопасность, чем D-уровень. На С-уровне пользователь должен быть идентифицирован, прежде чем он получит доступ к своим файлам. Стандартная система UNIX с канонической
Разнообразие угроз, которые подстерегают пользователя, работающего в сети, огромно. Часть из них является платой за использование сложных информационных технологий, уязвимых к внешним воздействиям, другая часть сопряжена с деятельностью людей. Некоторые угрозы носят объективный характер, например, нестабильность или низкое качество питающего напряжения, электромагнитные наводки или близкие грозовые разряды, другие могут быть связаны с невежеством или неаккуратностью самого пользователя.
Если несколько лет назад атаки на сетевые объекты совершали в основном (около 90%) хулиганы, которые таким образом пытались самоутвердиться, сейчас вторжения на серверы и рабочие станции предпринимаются уже с корыстной целью. Речь не идет о вторжениях в банки, все много прозаичнее: хакер взламывает большое число машин, выбирая наиболее уязвимые, и формирует базис для распределенных сетевых атак отказа обслуживания (
Мы в ИТЭФ были вынуждены заниматься проблемами сетевой безопасности с 1995 года, когда несколько раз подверглись DoS-атакам. Сначала мы даже не знали, что происходит. Наш маршрутизатор CISCO-4000 был достаточно тихоходен и при потоках более 2000 пакетов в секунду блокировался. Не имея специальных средств и навыков, мы на диагностику проблемы вначале тратили более суток. Связано это с тем, что DoS-атаки чаще всего предпринимаются с использованием фальсификации адреса отправителя. Две атаки были предприняты с ЭВМ из нашей локальной сети, взломанной ранее. Позднее такие объекты мы научились локализовать за несколько минут. Для этого была написана специальная программа. Алгоритм этой программы доложен на конференции МаБИТ-03, МГУ, октябрь 2003 год.
Но описанные атаки были вторичными. Для нас оставалось не ясным, как взламывались ЭВМ-жертвы в нашей локальной сети. Чтобы прояснить эту проблему, мы поставили на входе сети ЭВМ, на которой сначала стояла программа t-
Следует учитывать, что характер атак становится все более изощренным. Хакеры объединяются в клубы, издают журналы и продают хакерские CD. Сегодня крайне актуальным становится кооперирование их потенциальных жертв.
Число официально зарегистрированных в мире сетевых вторжений различного рода возрастает экспоненциально, о чем можно судить по рис 11.1. (см. http://www.cert.org/stats/). Этот рост совпадает с ростом числа узлов в Интернет. Применение сетей расширяется со скоростью 20% в месяц. Внешний трафик мультинациональных организаций увеличивается со скоростью 30% в год (см. также http://www.cuviello.com/_potrfolio/_semaphore).
Число зарегистрированных попыток нелегального проникновения в информационные системы растет экспоненциально, достигнув темпа прироста 60% в год. Но нужно принимать во внимание, что существенная часть таких попыток остается незамеченной или незарегистрированной. Адекватны этому и темпы роста расходов крупных фирм на средства и системы информационной безопасности. Атаки бывают следующих классов:
К первому классу относятся и атаки типа SMURF, ICMP
Разнообразие угроз, которые подстерегают пользователя, работающего в сети, огромно. Если число хакеров рано или поздно достигнет насыщения, то разнообразие атак будет нарастать, в частности, из-за возможности полиморфизма (как это происходит в случае сетевых
Классификация такого рода всегда условна. Так, сетевой червь Code Red после инфицирования десятков и сотен тысяч узлов может инициировать синхронную попытку доступа к одной и той же WEB-странице, осуществляя по отношению к ней DoS-атаку.
Чтобы писать и эффективно поддерживать программы распознавания атак, надо знать и учитывать распределение атак по сигнатурам, по времени суток (перечень регистрируемых сигнатур может меняться для дневного и ночного времени), по сложности распознавания и методам противодействия. Вычислительные ресурсы ЭВМ-регистратора всегда будут критическим параметром. По этой причине вряд ли когда-либо можно будет позволить отслеживать все известные виды атак. Да и необходимость этого не очевидна (вряд ли сейчас нужно контролировать атаки на ОС типа DOS). В таблице 11.1 представлено распределение атак по определенным классам. Исходные данные брались из базы данных BlackIce Defender.
Важным фактором является актуальность базы данных сигнатур, кроме того, наличие сигнатуры в базе данных не означает присутствия этого типа атак во входящем трафике. Некоторые сигнатуры "выходят из моды" быстро и навсегда.
Атаки, связанные с рассылкой
Проще всего контролировать атаки, которые реализуются одним пакетом, а характерные признаки атаки находятся в его заголовке. Но такие нападения редко остаются актуальными долго – быстро разрабатываются средства противодействия.
Практическое значение для конкретного сервера или сети играет реальное распределение атак по сигнатурам на входе системы (сервера или сети).
Сигнатуры, распознаваемые по заголовку пакета, составляют несколько более 15% (здесь учтены манипуляции с заголовками SNMP, включая поле community, а также фальсификации DNS-заголовков).
(рис 11.1) Распределение числа официально зарегистрированных сетевых вторжений по годамЗаметный процент составляют атаки, рассчитывающие достичь эффекта путем переполнения буфера (входного буфера приложения, пароля, имен и т.д.) или журнального файла, – 11.3%. Данные разновидности атак можно отнести к DoS-классу.
Некоторые сигнатуры требуют анализа не только входящего, но и исходящего трафика (например, шторм неспровоцированных откликов), что существенно усложняет алгоритм распознавания.
Атаки на CGI сопряжены с генерацией нестандартных строк URL и параметров ( 11.5% ), некоторые из них также работают в расчете на переполнение буфера параметров.
Атаки протоколов SMTP, IMAP, POP3 и NNTP ( 7.8% ) сопряжены с манипуляциями при обмене сообщениями и фальсификациями заголовков. К этому классу атак можно отнести также атаки протокола НТТР (фальсификация методов и заголовков объектов). Следует иметь в виду, что даже безопасные в принципе протоколы могут оказаться уязвимыми из-за некорректной реализации. Например, атакер может присылать в качестве параметра запроса "To:" нечто отличное от адреса места назначения, — при некорректной реализации почтового сервера злоумышленник в этом случае может получить, в частности, доступ к файлу passwd со всеми вытекающими последствиями.
(рис 11.2) Схема классификации угрозАтаки FTP, Telnet, Finger, TFTP обычно сопряжены с искажениями команд и их параметров. До какой-то степени эти атаки сходны с атаками на CGI.
В раздел "Прочие" попали атаки IDENT, SQL, сетевых печатающих устройств, NFS, SOCKS, SMB, WINS, IIS и т.д.
При инсталляции ОС или какого-то приложения неопытный пользователь может пустить процесс на самотек. При этом формируется конфигурация по умолчанию, в частности, может быть установлено значение пароля по умолчанию. Пользователь может полениться прочесть инструкцию, где сказано, что после завершения конфигурирования пароль должен быть сменен. Хакер, будьте уверены, инструкцию читал и с удовольствием воспользуется результатом столь легкомысленного поведения.
| Вид атаки | Зарегистрированное число разновидностей | Доля в процентах | |
|---|---|---|---|
| Использование |
10 | 1.3 | |
| Атаки уязвимостей протоколов | TCP | 15 | 2 |
| HTTP | 69 | 9.2 | |
| SNMP | 79 | 10.5 | |
| SMTP | 40 | 5.3 | |
| DNS | 21 | 2.8 | |
| SAMBA | 15 | 2 | |
| Telnet | 17 | 2.2 | |
| POP3 | 12 | 1.4 | |
| IMAP | 6 | ||
| NNTP | 3 | ||
| Finger | 11 | 1.3 | |
| FTP | 41 | 5.4 | |
| TFTP | 12 | 1.4 | |
| 5 | |||
| IDENT | 5 | ||
| Radius | 2 | ||
| RPC | 42 | 5.6 | |
| Атаки через CGI | 49 | 6.5 | |
| Троянские кони | >40 | 5.3 | |
| DoS | 12 | 1.6 | |
| Автоматический подбор паролей (login) | 10 | 1,3 | |
| Некорректные параметры заголовков пакетов и запросов | 22 | 2.3 | |
| Сканирование портов | 48 | 6.4 | |
| Прочие | 167 | 22 | |
| Итого | 753 | ||
Атаки сканирования (по IP или номеру порта) растянуты во времени, их можно сделать трудно идентифицируемыми, замедлив темп сканирования и введя рандомизацию перебора, но они не представляют серьезной угрозы, так как всегда есть задержка между сканированием и собственно атакой (есть время подготовиться и отреагировать, например, введя IP-атакера в ACL – Access Control List).
Наиболее часто по данным
Разновидностью сканирования может являться последовательная посылка разных параметров запросов (варьироваться может как значение параметра, так и его длина). Этот вид атак часто непредсказуем, так как не известно, существует ли значение параметра, представляющее угрозу. Но ясно, что это атака, и адрес отправителя следует заносить в DB-атакеров и в ACL.
Единого определения сетевой атаки не существует, и это не удивительно. Есть сигнатуры, назначение которых не вызывает сомнения (сканирование портов "троянских коней", ping of death, tear drop и т.д.). Примерно треть разновидностей атак имеют целью выявление типа ОС, конфигурации и версий установленных приложений. Хотя непосредственно такие попытки угрозы не представляют, но это может быть разведкой перед реальной атакой. И все же более половины
Рассмотрим попытку установления соединения с портом 22 (SSH). Когда это проделывает вычислительный сервер какого-то европейского научного центра, то интерпретировать попытку такого соединения как атаку вряд ли возможно, если только эта не попытка подбора пароля. Клиенты такого центра разбросаны по всему миру, постоянно перемещаются (входят в систему с разных IP-адресов), и отделить их от злокозненных хакеров практически невозможно (обычно такая идентификация делается на уровне аутентификации или сертификации).
Если же это рабочая станция, не допускающая удаленного подключения, то это, скорее всего, атака, особенно если такая попытка повторяется. Таким образом, одна и та же сигнатура в одних случаях может рассматриваться как атака, а в другом – как нормальное событие. Многое зависит от рабочей ОС, ее версии, набора установленных приложений (Apache,
Именно это обстоятельство делает необходимым введения языков описания правил отбора и сортировки событий. С помощью этих правил администратор, знающий реальную конфигурацию системы, может сформулировать принципы выделения событий, сопряженных с сетевыми атаками. Это означает, что не существует и не может существовать
Огромное число атак WEB-серверов осуществляется путем посылки нестандартных параметров запроса. Но как определить, какие параметры являются стандартными? Можно считать нестандартными параметры, содержащие непечатные символы, но этим дело не ограничивается. Здесь также мы сталкиваемся с ситуацией, когда одни и те же параметры являются нормальными для одного сервера и ненормальными (и, следовательно, указывающими на факт атаки) для другого.
Отсюда следует, что определить, является ли данная сигнатура атакой, можно лишь, получив подробное описание конфигурации системы объекта атаки, перечня допустимых запросов и их параметров.
Существующие базы данных
Особый класс сигнатур представляют DoS-атаки. Их многообразие растет. Следует иметь в виду, что такие атаки могут быть частью процедуры вторжения. Но их роднит друг с другом только поглощение ресурсов атакуемого объекта, механизмы же реализации различны. Такими ресурсами могут быть: полоса
Учитывая все вышесказанное, не следует стремиться создавать универсальные методы распознавания, — нужно разрабатывать легко адаптируемые методы. Программа SNORT, например, реализует именно такую модель.
Хорошо сконфигурированная система SNORT должна регистрировать не все известные сигнатуры, а те, которые представляют потенциальную угрозу для конкретного сервера или субсети.
По этой причине база данных сигнатур, а также набор правил для отбора случаев атак должны формироваться индивидуально для каждого сервера, для каждой субсети (в пределах субсети должны быть записаны индивидуальные правила для каждой ЭВМ).
Это не исключает создание программ, которые позволят унифицировать процедуру конфигурирования системы регистрации атак и противодействия им.
Крайне привлекательным представляется создание универсальных систем распознавания атак, пригодных, в том числе, и для еще не реализованных атак (регистрация аномалий). Такие системы распознавания базируются на выявлении статистически значимого отклонения определенных параметров системы от нормы.
Но самые эффективные атаки используют дефекты программного обеспечения атакуемой ЭВМ. Можно ли угадать, какая еще ошибка данного программного обеспечения может быть использована атакером?
Хакеры сначала испытывают различные средства локально (вне Интернет) и только добившись успеха (найдя реальную уязвимость конкретной ОС или приложения) переносят свою "работу" в Интернет.
Поэтому для обеспечения безопасности центр тяжести разработок следует перенести на сертификацию и создание средств контроля безопасности ОС и приложений.
Все эти обстоятельства делают крайне важными подходы, использующие выявление аномалий в потоке пакетов, в поведении сети или ЭВМ.
Мало зарегистрировать атаку, надо определить и корректно интерпретировать IP-адрес, откуда эта атака исходит. Чаще всего, имея IP-адрес, достаточно легко отследить путь атаки, например, посредством
Планируя действия против атакера, следует также учитывать, что в половине случаев (если не больше) атака предпринимается с ЭВМ-жертвы, взломанной ранее.
Но существует класс атак с фальсификацией адреса отправителя, когда такую задачу решить затруднительно. Эта техника используется большинством атак отказа обслуживания (DoS), а также некоторыми другими (смотри RFC-2827 или http://book.itep.ru/6/rfc2827.htm). Два примера такого типа атак описаны на рис 11.3 и рис 11.4. Атака через прокси (например, при наличии загруженной в ЭВМ .
(рис 11.3) Здесь атакер ( hacker на рисунке) использует прокси-сервер, через который связаны с Интернет ЭВМ на левой части рисунка, для атаки машины ( victim ). При этом для атакуемой машины будет казаться, что ее атакует ЭВМ SOCKS. Особенностью этого класса атаки является то, что атакер может находиться где угодно в Интернет. Но в случае жалобы со стороны ЭВМ-жертвы его положение может быть локализовано.
(рис 11.4) На рис 11.4 показана схема атаки с зеркалированием пакетов в маршрутизаторе R. Маршрутизатор R сконфигурирован так, чтобы копии пакетов, следующих из ЭВМ А в ЭВМ В, попадали в машину Х (ЭВМ атакера). В данной схеме атакер должен договориться с администратором R (если это не он сам), так как нужна специфическая конфигурация маршрутизатора. Но он может выйти из положения, сформировав на своей ЭВМ ложный маршрутизатор, поддерживающий протокол внешней маршрутизации BGP. Если в данной части Интернет аутентификация BGP-агентов соседями не производится, он легко достигнет своей цели.
Такая схема позволяет Х атаковать А, создавая впечатление, что ее атакует ЭВМ В. Для ЭВМ В будет наблюдаться эффект шторма неспровоцированных откликов со стороны ЭВМ А (если для атаки использован протокол ТСР).
Для распознавания сигнатуры атаки в ЭВМ В нужно регистрировать входящие пакеты с адресом А и флагом ACK, проверяя в то же время факт, что ЭВМ В не посылала А никаких пакетов.
Данная схема атак (с фальсификацией адреса отправителя) пригодна также и для относительно безопасной рассылки
Для противодействия этому типу атак требуется тесное сотрудничество сетевых администраторов, в том числе и тех, кто не подвергается атаке. Возможна и модификация алгоритмов маршрутизаторов, которая облегчит решение проблемы (смотри ниже предложение по новой версии внешнего протокола маршрутизации). Сетевые администраторы должны следовать рекомендации, которая запрещает пропускать через свой внешний шлюз пакеты из локальной сети в Интернет, имеющие адрес отправителя, отличный от набора IP-адресов локальной сети. Но способа заставить выполнять такие требования в настоящее время не существует. Можно написать письма всем администраторам вдоль маршрута атаки с просьбой проанализировать трафик на предмет наличия пакетов с определенным адресом отправителя, но нельзя быть уверенным, что такая просьба будет выполнена, особенно если администратор так или иначе сотрудничает с атакером.
При создании протоколов Интернет в начале 80-х годов авторы мало думали о безопасности. Предполагалось, что пользоваться сетью будут исключительно ответственные и добропорядочные люди. Но людям, к сожалению, свойственно преувеличивать положительные качества человечества. Реальность оказалась не столь позитивна. Сказались и любовь получать что-то бесплатно, и врожденный разрушительный потенциал. Некоторые приемы хакеров описаны в разделе, посвященном протоколу TCP. Рассмотрим, что может произойти, если будет получен TCP-сегмент с битами SYN и FIN, равными 1. При получении такого сегмента протокол TCP осуществляет переход в состояние close_wait. Если до этого не было установлено соединений, переход в это состояние не должен производиться, но большинство реализаций выполняют его. Такой переход крайне не желателен, так как в этом состоянии не работает таймер и система останется в нем вечно.
Другой вид атак протокола TCP называется "SYN -> syn+ack -> ack ; см. описание протокола TCP). Когда ЭВМ-1 получает запрос syn от ЭВМ-2, она должна подождать в частично открытом состоянии, по крайней мере, 75 секунд, если не придет отклик. Это позволяет успешно устанавливать связь даже в условиях очень больших сетевых задержек. Проблема заключается в том, что многие реализации способны отслеживать ограниченное число соединений (по умолчания 5). ЭВМ-злоумышленник может воспользоваться ограниченностью очереди и послать атакуемой ЭВМ большое число SYN-запросов, не отвечая на присылаемые SYN+ACK. В результате очередь будет быстро переполнена и прием запросов на соединение прекратится до тех пор, пока очередь не будет обслужена или очищена по тайм-ауту. Данный метод пригоден для отключения ЭВМ от сети, во всяком случае, на 75 сек. Этот вид атаки часто является
частью процедуры проникновения, когда нужно заблокировать ЭВМ от получения нежелательных откликов.
Существует разновидность атаки, когда хакер посылает данные в пакетах с адресом отправителя, отличным от его собственного (при этом трудно установить адрес, откуда такая атака предпринимается). Здесь имеются некоторые проблемы для атакующей стороны. ЭВМ-адресат посылает все отклики по указанному адресу отправителя; кроме того, хакеру нужно как-то выяснить порядковый номер сегмента, записываемый в каждый пересылаемый пакет. При установлении соединения оконечный сегмент, содержащий ACK, должен нести ISN (Initial Sequence Number; cм. описание транспортного протокола TCP) удаленной ЭВМ. Этот сегмент посылается ЭВМ, чей адрес указан в первоначальном запросе SYN. Хакер должен выяснить ISN каким-то иным способом (этому может помочь служба netstat). Так как ISN — 32-разрядное число, случайно угадать его совсем не просто. Но в большинстве систем (например, unix bsd) ISN берется из некоторого счетчика, содержимое которого увеличивается на 128 каждую секунду и на 64 после каждого нового соединения. Например:
x -> s: syn(ISNx) s -> x: syn(ISNs), ack(ISNx) (получено искомое текущее значение кода ISNs)
Таким образом, установив однажды соединение с нужной ЭВМ ( s ), некоторое время спустя можно с высокой вероятностью угадать значение ISN, послав несколько пакетов с разными значениями ISN. При завершении процедуры посылается сегмент SYN+ACK, который будет отвергнут, так как машина-получатель не инициализировала связь. В пакете отклике будет установлен флаг RST и соединение окажется абортированным. Чтобы этого не произошло, хакер может предпринять атаку типа syn-
Один из известных методов базируется на IP-опции "маршрутизации отправителя" (
Интересные возможности предоставляет вариант, когда хакер вставляет свою машину на пути обмена двух других узлов (hijacking). Обычные методы атак (типа
(рис 11.5) Десинхронизация может быть осуществлена при установлении соединения. Хакер в этом случае обрывает процесс трехшагового диалога. После того как ЭВМ .
ЭВМ Б проигнорирует сообщения от А, так как они имеют неправильные (навязанные хакером) номера, а ЭВМ А проигнорирует сообщения от Б, так как ожидает, что они будут пронумерованы по-новому. Теперь хакер знает, какие номера нужны А и Б (непосредственно же А и Б взаимодействовать не могут, так как не знают правильных номеров), и может перехватывать, модифицировать или посылать сообщения по своему усмотрению как для А, так и для Б.
Но десинхронизация может быть реализована и в ходе сессии. Если послать флаг RST в середине сессии, соединение будет закрыто, о чем будет оповещено приложение и пользователь. Аналогичного эффекта можно добиться, послав отправляющей стороне ICMP_NET_UNREACH, ICMP_HOST_UNREACH или ICMP_PORT_UNREACH. Вариант с привлечением протокола ICMP привлекателен тем, что не требует угадывания ISN. Для того, чтобы вызвать десинхронизацию в середине сессии, не закрывая соединения, достаточно поменять порядковые номера в сообщениях. Протокол telnet имеет механизм, который позволяет решить такую задачу. В рамках протокола можно посылать команды nop ("Ничего не делать", согласитесь — хорошие команды!). Эти команды не производят никакого эффекта, но увеличивают ожидаемое значение порядкового номера сегмента. Послав некоторое количество таких команд, ЭВМ хакера вызовет десинхронизацию. Теперь только хакер знает правильные
значения порядковых номеров пакетов и может начать свою подрывную работу.
Одним из наиболее эффективных методов обнаружения таких атак помимо процента сегментов ACK является сравнение потоков ACK для сервера и клиента. Полной гарантией безопасности в такой ситуации может стать только шифрование на прикладном уровне, например по схеме kerberos. В случае использования почты хороший результат может дать
Атака на раннем этапе установления соединения может осуществляться следующим образом. (Соединение при этом разрушается и вместо него формируется новое с другим значением ISN.) Хакер прослушивает
Определенные услуги хакеру может оказать внутренний протокол маршрутизации rip. Этот протокол служит для рассылки информации о маршрутах в локальной сети и не требует контроля доступа, что всегда благоприятствует злоумышленникам. Хакер может разослать маршрутную информацию, которая убедит окружающие узлы в том, что наикратчайший путь во внешний мир проходит через его ЭВМ Х. Тогда все пакеты, адресованные за пределы локальной сети, будут сначала попадать в ЭВМ Х.
Хакеры часто пытаются использовать IP-опцию маршрутизации отправителя. Эта опция позволяет хакеру послать пакет извне локальной сети с адресом отправителя, соответствующим одному из внутренних адресов. Если маршрутизатор не отбрасывает такие пакеты, у хакера появляется шанс для атаки, при которой он находится в безопасности и дискредитирует некоторую машину локальной сети. Но блокировка опции маршрута отправителя еще не гарантирует отсутствия подобных атак. Хакер может фальсифицировать адрес отправителя и без этой опции, пытаясь создать иллюзию отправки пакета из LAN.
(рис 11.6) Алгоритм атаки с использованием десинхронизации. Префикс А указывает на то, что сегмент послан атакующей ЭВМ; С — клиентом; S — серверомПротокол управляющих сообщений ICMP носит вспомогательный характер (вспомним популярную утилиту ping, использующую этот протокол). Пакеты ICMP также не требуют проверки доступа (именно благодаря этому протокол пригоден для работы в масштабах Интернет). По одной этой причине протокол привлекателен для хакеров. Известны случаи, когда с его помощью люди с разных континентов бесплатно обменивались сообщениями. Пригоден протокол и для блокировки обслуживания: для этого применяются icmp-сообщения "time exceeded" (превышено время) или "destination unreachable" (адресат недоступен). Первое сообщение означает, что предел, указанный в поле TTL заголовка пакета, превышен. Такое может произойти из-за зацикливания пакетов или когда адресат расположен очень далеко. Сообщение "destination unreachable" имеет несколько значений. Но все они означают, что нет способа благополучно доставить пакет адресату. Оба сообщения вынуждают адресата немедленно прервать соединение. Для реализации своих коварных планов хакеру достаточно послать одно из этих сообщений одному или обоим участникам обмена.
Протокол ICMP может применяться и для перехвата пакетов. ICMP-сообщение "redirect" обычно используется внешними портами (gateway) сети в случаях, когда какая-то ЭВМ по ошибке полагает, что адресат находится вне локальной сети, и направляет пакеты, адресованные ему, через внешний порт. Хакер может послать ICMP-сообщение "redirect" и вынудить другую ЭВМ посылать пакеты через узел, указанный хакером. У данного метода (так же, как и предыдущего с использованием RIP) имеется определенное ограничение — хакер и жертва должны находиться в пределах общей локальной сети.
Еще одним объектом атак может стать DNS (Domain Name Service) локальной сети. Например, администратор узла durak.dura.com может принять решение разрешить только местные соединения. Это может быть специфицировано с помощью записи "allow *.dura.com", а не обязательно через указание IP-адресов, тем более, что в сети может использоваться большое число блоков IP-адресов. Когда соединение установлено, ЭВМ durak обращается к DNS, чтобы преобразовать IP-адрес отправителя в имя, которое затем служит для проверки условия, заданного администратором. Если хакер имеет доступ к местному DNS-серверу, он может заставить DNS откликаться на его IP-адрес любым именем ЭВМ или домена. Зная об установленных администратором ограничениях, хакер может сделать так, что на запрос с его IP-адресом DNS будет откликаться именем "trustme.dura.com" (это удовлетворяет установленному ограничению). Такая атака может быть
легко предотвращена путем повторного DNS-запроса с именем ЭВМ, присланным при первом запросе. Если IP-адрес, полученный при втором запросе, не совпадет с использованным в качестве параметра в первом, это означает, что DNS подверглась атаке.
Для атаки DNS извне достаточно узнать номер используемого UDP-порта и ISN. О способах определения ISN говорилось выше. Задача упрощается в тех случаях, когда начальным значением ISN является нуль. Номер же используемого в данный момент UDP-порта при определенном везении можно найти путем подбора, ведь здесь нет никакой аутентификации или ограничений на число попыток. DNS — один из самых привлекательных объектов для атак, так как через посредство AXFR-запросов можно получить информацию об узлах, которые используют определенные версии ОС с известными слабостями, упрощающими вторжение.
Многие атакеры применяют социальную инженерию и психологию, чтобы спровоцировать потенциальную жертву к действиям, которые нанесут ущерб. Например, год назад в ИТЭФ пришли письма, которые, если верить заголовку, были посланы сетевым администратором. Приложение к письму было заархивировано, но для дезархивации требовался ключ, который содержался в тексте письма. В самом письме говорилось, что приложение, содержит инструкцию по улучшению безопасности. Почтовый сервер ИТЭФ имеет антивирусную защиту, но зашифрованность приложения препятствовала распознаванию сигнатуры
Потенциальную угрозу безопасности могут представлять специальные вставки во встроенное программное обеспечение процессора, BIOS, операционной системы и приложений. Аналогичные угрозы представляют любые программы с неизвестными исходными кодами, включая обеспечение маршрутизаторов. Считывать данные можно путем регистрации электромагнитного излучения дисплея и других устройств ЭВМ и даже анализируя звук при нажатии терминальных клавиш. Этим список способов несанкционированного доступа не исчерпывается, но прочие угрозы здесь не будут рассматриваться.
По этой причине предпочтение следует оказывать программам с открытым кодом или коммерческим программам, где продавец документально гарантирует безопасность.
За период с 2001 по 2003 годы число зарегистрированных компьютерных преступлений в России удваивалось каждый год. Считается, что 80% компьютерных преступлений не попадает в официальную статистику.
Если имеется несколько ЭВМ, объединенных в систему, и к этой системе имеет доступ определенное число удаленных клиентов, то наиболее уязвимыми являются соединения клиентов с этой системой. Хакеры стараются атаковать самое слабое звено в системе. Особенно уязвимы пользовательские, домашние ЭВМ. Зная это, некоторые банки предлагают своим клиентам удешевленные или даже бесплатные средства защиты (например, антивирусные программы). Некоторые сервис-провайдеры предоставляют своим клиентам антивирусные программы и
Число
Прерывать работы по совершенствованию систем сетевой защиты нельзя. Рассчитывать на получение бесплатных разработок из Интернет наивно. Каждая вторая такая программа сама содержит в себе
Все это делает крайне актуальными средства мониторинга и предотвращения атак, а также программы и методики анализа успешных атак и ликвидации их последствий. Рассмотрим некоторые из угроз (по материалам журнала
При расследовании инцидентов полезно знать базовый инструментарий хакеров.
Программа сканирования сетевых объектов (по IP, портам и пр.).
В двадцать первом веке движущей силой и главным объектом всех отраслей человеческой деятельности становится информация, состояние каналов, сетей и безопасность серверов, которые будут основой экономического развития. К сожалению, сложные сетевые технологии достаточно уязвимы для целенаправленных атак. Причем такие атаки могут производиться удаленно, в том числе и из-за пределов национальных границ. Все это ставит новые проблемы перед разработчиками и строителями информационной инфраструктуры. Некоторые современные формы бизнеса полностью базируются на сетевых технологиях (электронная торговля, IP-телефония, сетевое провайдерство и т.д.) и по этой причине особенно уязвимы. Потребуется здесь и международное сотрудничество в сфере законодательства и установления барьеров для сетевых террористов. Не исключено, что придется со временем модифицировать с учетом требований безопасности некоторые протоколы и программы.
Безопасность представляет собой комплексное понятие, куда входят технические аспекты надежности оборудования, качество питающей сети, уязвимость программного обеспечения и т.д. Вы можете отключить сеть от Интернет, установить систему RAID для обеспечения дисковой защиты, снабдить систему надежным
Число ЭВМ, подключенных в Интернет, в 2006 году достигло миллиарда. Число WEB-серверов в 2005 году перевалило за 80 миллионов. Сегодня трудно представить себе фирму, организацию или учреждение, где бы для обработки документов, ведения бухгалтерии, учета, обмена сообщениями, доступа к информационным и поисковым серверам и так далее не использовали машин, подключенных к сети. Огромная масса людей не может себе представить жизнь без доступа к сети Интернет, который стал еще одним средством массовой информации. Но преимущества доступа к информации через сеть все чаще омрачаются атаками
Первый случай атаки с помощью сетевого червя зарегистрирован в
В 2004 году зарегистрировано 523.109 сетевых инцидентов (это явилось результатом мониторинга 450 сетей в 35 странах мира). Из них 41% атак соответствовали различным видам несанкционированной активности, 26% были попытками несанкционированного доступа, 21% представляли собой сканирования, 9% — DoS-атаки и 3% — попытки некорректного использования приложений. Особенно популярно в последнее время использование уязвимостей браузеров. За последние шесть месяцев 2005 года выявлено более 1000 новых сетевых червей и
Внутренняя структура и функциональность
Если раньше большинство атак имели своей целью мелкое хулиганство или спортивный интерес, теперь все больший процент атак преследует преступные цели и коммерческий интерес. Хакеры готовят и продают наборы взломанных ими ЭВМ для рассылки
Безопасность — вещь относительная. Для того, чтобы конкретизировать обсуждаемый предмет, введены четыре уровня безопасности, обозначенные латинскими буквами A-D. Каждый из уровней поделен на субуровни, обозначаемые соответствующей буквой и цифрой (например, А1, А2, А3 или D1, D2 и т.д.). Уровню D1 соответствует DOS, где пользователь имеет доступ ко всем системным ресурсам и программам. Владельцем файлов является текущий пользователь. С-уровень предлагает большую безопасность, чем D-уровень. На С-уровне пользователь должен быть идентифицирован, прежде чем он получит доступ к своим файлам. Стандартная система UNIX с канонической
Разнообразие угроз, которые подстерегают пользователя, работающего в сети, огромно. Часть из них является платой за использование сложных информационных технологий, уязвимых к внешним воздействиям, другая часть сопряжена с деятельностью людей. Некоторые угрозы носят объективный характер, например, нестабильность или низкое качество питающего напряжения, электромагнитные наводки или близкие грозовые разряды, другие могут быть связаны с невежеством или неаккуратностью самого пользователя.
Если несколько лет назад атаки на сетевые объекты совершали в основном (около 90%) хулиганы, которые таким образом пытались самоутвердиться, сейчас вторжения на серверы и рабочие станции предпринимаются уже с корыстной целью. Речь не идет о вторжениях в банки, все много прозаичнее: хакер взламывает большое число машин, выбирая наиболее уязвимые, и формирует базис для распределенных сетевых атак отказа обслуживания (
Мы в ИТЭФ были вынуждены заниматься проблемами сетевой безопасности с 1995 года, когда несколько раз подверглись DoS-атакам. Сначала мы даже не знали, что происходит. Наш маршрутизатор CISCO-4000 был достаточно тихоходен и при потоках более 2000 пакетов в секунду блокировался. Не имея специальных средств и навыков, мы на диагностику проблемы вначале тратили более суток. Связано это с тем, что DoS-атаки чаще всего предпринимаются с использованием фальсификации адреса отправителя. Две атаки были предприняты с ЭВМ из нашей локальной сети, взломанной ранее. Позднее такие объекты мы научились локализовать за несколько минут. Для этого была написана специальная программа. Алгоритм этой программы доложен на конференции МаБИТ-03, МГУ, октябрь 2003 год.
Но описанные атаки были вторичными. Для нас оставалось не ясным, как взламывались ЭВМ-жертвы в нашей локальной сети. Чтобы прояснить эту проблему, мы поставили на входе сети ЭВМ, на которой сначала стояла программа t-
Следует учитывать, что характер атак становится все более изощренным. Хакеры объединяются в клубы, издают журналы и продают хакерские CD. Сегодня крайне актуальным становится кооперирование их потенциальных жертв.
Число официально зарегистрированных в мире сетевых вторжений различного рода возрастает экспоненциально, о чем можно судить по рис 11.1. (см. http://www.cert.org/stats/). Этот рост совпадает с ростом числа узлов в Интернет. Применение сетей расширяется со скоростью 20% в месяц. Внешний трафик мультинациональных организаций увеличивается со скоростью 30% в год (см. также http://www.cuviello.com/_potrfolio/_semaphore).
Число зарегистрированных попыток нелегального проникновения в информационные системы растет экспоненциально, достигнув темпа прироста 60% в год. Но нужно принимать во внимание, что существенная часть таких попыток остается незамеченной или незарегистрированной. Адекватны этому и темпы роста расходов крупных фирм на средства и системы информационной безопасности. Атаки бывают следующих классов:
К первому классу относятся и атаки типа SMURF, ICMP
Разнообразие угроз, которые подстерегают пользователя, работающего в сети, огромно. Если число хакеров рано или поздно достигнет насыщения, то разнообразие атак будет нарастать, в частности, из-за возможности полиморфизма (как это происходит в случае сетевых
Классификация такого рода всегда условна. Так, сетевой червь Code Red после инфицирования десятков и сотен тысяч узлов может инициировать синхронную попытку доступа к одной и той же WEB-странице, осуществляя по отношению к ней DoS-атаку.
Чтобы писать и эффективно поддерживать программы распознавания атак, надо знать и учитывать распределение атак по сигнатурам, по времени суток (перечень регистрируемых сигнатур может меняться для дневного и ночного времени), по сложности распознавания и методам противодействия. Вычислительные ресурсы ЭВМ-регистратора всегда будут критическим параметром. По этой причине вряд ли когда-либо можно будет позволить отслеживать все известные виды атак. Да и необходимость этого не очевидна (вряд ли сейчас нужно контролировать атаки на ОС типа DOS). В таблице 11.1 представлено распределение атак по определенным классам. Исходные данные брались из базы данных BlackIce Defender.
Важным фактором является актуальность базы данных сигнатур, кроме того, наличие сигнатуры в базе данных не означает присутствия этого типа атак во входящем трафике. Некоторые сигнатуры "выходят из моды" быстро и навсегда.
Атаки, связанные с рассылкой
Проще всего контролировать атаки, которые реализуются одним пакетом, а характерные признаки атаки находятся в его заголовке. Но такие нападения редко остаются актуальными долго – быстро разрабатываются средства противодействия.
Практическое значение для конкретного сервера или сети играет реальное распределение атак по сигнатурам на входе системы (сервера или сети).
Сигнатуры, распознаваемые по заголовку пакета, составляют несколько более 15% (здесь учтены манипуляции с заголовками SNMP, включая поле community, а также фальсификации DNS-заголовков).
(рис 11.1) Распределение числа официально зарегистрированных сетевых вторжений по годамЗаметный процент составляют атаки, рассчитывающие достичь эффекта путем переполнения буфера (входного буфера приложения, пароля, имен и т.д.) или журнального файла, – 11.3%. Данные разновидности атак можно отнести к DoS-классу.
Некоторые сигнатуры требуют анализа не только входящего, но и исходящего трафика (например, шторм неспровоцированных откликов), что существенно усложняет алгоритм распознавания.
Атаки на CGI сопряжены с генерацией нестандартных строк URL и параметров ( 11.5% ), некоторые из них также работают в расчете на переполнение буфера параметров.
Атаки протоколов SMTP, IMAP, POP3 и NNTP ( 7.8% ) сопряжены с манипуляциями при обмене сообщениями и фальсификациями заголовков. К этому классу атак можно отнести также атаки протокола НТТР (фальсификация методов и заголовков объектов). Следует иметь в виду, что даже безопасные в принципе протоколы могут оказаться уязвимыми из-за некорректной реализации. Например, атакер может присылать в качестве параметра запроса "To:" нечто отличное от адреса места назначения, — при некорректной реализации почтового сервера злоумышленник в этом случае может получить, в частности, доступ к файлу passwd со всеми вытекающими последствиями.
(рис 11.2) Схема классификации угрозАтаки FTP, Telnet, Finger, TFTP обычно сопряжены с искажениями команд и их параметров. До какой-то степени эти атаки сходны с атаками на CGI.
В раздел "Прочие" попали атаки IDENT, SQL, сетевых печатающих устройств, NFS, SOCKS, SMB, WINS, IIS и т.д.
При инсталляции ОС или какого-то приложения неопытный пользователь может пустить процесс на самотек. При этом формируется конфигурация по умолчанию, в частности, может быть установлено значение пароля по умолчанию. Пользователь может полениться прочесть инструкцию, где сказано, что после завершения конфигурирования пароль должен быть сменен. Хакер, будьте уверены, инструкцию читал и с удовольствием воспользуется результатом столь легкомысленного поведения.
| Вид атаки | Зарегистрированное число разновидностей | Доля в процентах | |
|---|---|---|---|
| Использование |
10 | 1.3 | |
| Атаки уязвимостей протоколов | TCP | 15 | 2 |
| HTTP | 69 | 9.2 | |
| SNMP | 79 | 10.5 | |
| SMTP | 40 | 5.3 | |
| DNS | 21 | 2.8 | |
| SAMBA | 15 | 2 | |
| Telnet | 17 | 2.2 | |
| POP3 | 12 | 1.4 | |
| IMAP | 6 | ||
| NNTP | 3 | ||
| Finger | 11 | 1.3 | |
| FTP | 41 | 5.4 | |
| TFTP | 12 | 1.4 | |
| 5 | |||
| IDENT | 5 | ||
| Radius | 2 | ||
| RPC | 42 | 5.6 | |
| Атаки через CGI | 49 | 6.5 | |
| Троянские кони | >40 | 5.3 | |
| DoS | 12 | 1.6 | |
| Автоматический подбор паролей (login) | 10 | 1,3 | |
| Некорректные параметры заголовков пакетов и запросов | 22 | 2.3 | |
| Сканирование портов | 48 | 6.4 | |
| Прочие | 167 | 22 | |
| Итого | 753 | ||
Атаки сканирования (по IP или номеру порта) растянуты во времени, их можно сделать трудно идентифицируемыми, замедлив темп сканирования и введя рандомизацию перебора, но они не представляют серьезной угрозы, так как всегда есть задержка между сканированием и собственно атакой (есть время подготовиться и отреагировать, например, введя IP-атакера в ACL – Access Control List).
Наиболее часто по данным
Разновидностью сканирования может являться последовательная посылка разных параметров запросов (варьироваться может как значение параметра, так и его длина). Этот вид атак часто непредсказуем, так как не известно, существует ли значение параметра, представляющее угрозу. Но ясно, что это атака, и адрес отправителя следует заносить в DB-атакеров и в ACL.
Единого определения сетевой атаки не существует, и это не удивительно. Есть сигнатуры, назначение которых не вызывает сомнения (сканирование портов "троянских коней", ping of death, tear drop и т.д.). Примерно треть разновидностей атак имеют целью выявление типа ОС, конфигурации и версий установленных приложений. Хотя непосредственно такие попытки угрозы не представляют, но это может быть разведкой перед реальной атакой. И все же более половины
Рассмотрим попытку установления соединения с портом 22 (SSH). Когда это проделывает вычислительный сервер какого-то европейского научного центра, то интерпретировать попытку такого соединения как атаку вряд ли возможно, если только эта не попытка подбора пароля. Клиенты такого центра разбросаны по всему миру, постоянно перемещаются (входят в систему с разных IP-адресов), и отделить их от злокозненных хакеров практически невозможно (обычно такая идентификация делается на уровне аутентификации или сертификации).
Если же это рабочая станция, не допускающая удаленного подключения, то это, скорее всего, атака, особенно если такая попытка повторяется. Таким образом, одна и та же сигнатура в одних случаях может рассматриваться как атака, а в другом – как нормальное событие. Многое зависит от рабочей ОС, ее версии, набора установленных приложений (Apache,
Именно это обстоятельство делает необходимым введения языков описания правил отбора и сортировки событий. С помощью этих правил администратор, знающий реальную конфигурацию системы, может сформулировать принципы выделения событий, сопряженных с сетевыми атаками. Это означает, что не существует и не может существовать
Огромное число атак WEB-серверов осуществляется путем посылки нестандартных параметров запроса. Но как определить, какие параметры являются стандартными? Можно считать нестандартными параметры, содержащие непечатные символы, но этим дело не ограничивается. Здесь также мы сталкиваемся с ситуацией, когда одни и те же параметры являются нормальными для одного сервера и ненормальными (и, следовательно, указывающими на факт атаки) для другого.
Отсюда следует, что определить, является ли данная сигнатура атакой, можно лишь, получив подробное описание конфигурации системы объекта атаки, перечня допустимых запросов и их параметров.
Существующие базы данных
Особый класс сигнатур представляют DoS-атаки. Их многообразие растет. Следует иметь в виду, что такие атаки могут быть частью процедуры вторжения. Но их роднит друг с другом только поглощение ресурсов атакуемого объекта, механизмы же реализации различны. Такими ресурсами могут быть: полоса
Учитывая все вышесказанное, не следует стремиться создавать универсальные методы распознавания, — нужно разрабатывать легко адаптируемые методы. Программа SNORT, например, реализует именно такую модель.
Хорошо сконфигурированная система SNORT должна регистрировать не все известные сигнатуры, а те, которые представляют потенциальную угрозу для конкретного сервера или субсети.
По этой причине база данных сигнатур, а также набор правил для отбора случаев атак должны формироваться индивидуально для каждого сервера, для каждой субсети (в пределах субсети должны быть записаны индивидуальные правила для каждой ЭВМ).
Это не исключает создание программ, которые позволят унифицировать процедуру конфигурирования системы регистрации атак и противодействия им.
Крайне привлекательным представляется создание универсальных систем распознавания атак, пригодных, в том числе, и для еще не реализованных атак (регистрация аномалий). Такие системы распознавания базируются на выявлении статистически значимого отклонения определенных параметров системы от нормы.
Но самые эффективные атаки используют дефекты программного обеспечения атакуемой ЭВМ. Можно ли угадать, какая еще ошибка данного программного обеспечения может быть использована атакером?
Хакеры сначала испытывают различные средства локально (вне Интернет) и только добившись успеха (найдя реальную уязвимость конкретной ОС или приложения) переносят свою "работу" в Интернет.
Поэтому для обеспечения безопасности центр тяжести разработок следует перенести на сертификацию и создание средств контроля безопасности ОС и приложений.
Все эти обстоятельства делают крайне важными подходы, использующие выявление аномалий в потоке пакетов, в поведении сети или ЭВМ.
Мало зарегистрировать атаку, надо определить и корректно интерпретировать IP-адрес, откуда эта атака исходит. Чаще всего, имея IP-адрес, достаточно легко отследить путь атаки, например, посредством
Планируя действия против атакера, следует также учитывать, что в половине случаев (если не больше) атака предпринимается с ЭВМ-жертвы, взломанной ранее.
Но существует класс атак с фальсификацией адреса отправителя, когда такую задачу решить затруднительно. Эта техника используется большинством атак отказа обслуживания (DoS), а также некоторыми другими (смотри RFC-2827 или http://book.itep.ru/6/rfc2827.htm). Два примера такого типа атак описаны на рис 11.3 и рис 11.4. Атака через прокси (например, при наличии загруженной в ЭВМ .
(рис 11.3) Здесь атакер ( hacker на рисунке) использует прокси-сервер, через который связаны с Интернет ЭВМ на левой части рисунка, для атаки машины ( victim ). При этом для атакуемой машины будет казаться, что ее атакует ЭВМ SOCKS. Особенностью этого класса атаки является то, что атакер может находиться где угодно в Интернет. Но в случае жалобы со стороны ЭВМ-жертвы его положение может быть локализовано.
(рис 11.4) На рис 11.4 показана схема атаки с зеркалированием пакетов в маршрутизаторе R. Маршрутизатор R сконфигурирован так, чтобы копии пакетов, следующих из ЭВМ А в ЭВМ В, попадали в машину Х (ЭВМ атакера). В данной схеме атакер должен договориться с администратором R (если это не он сам), так как нужна специфическая конфигурация маршрутизатора. Но он может выйти из положения, сформировав на своей ЭВМ ложный маршрутизатор, поддерживающий протокол внешней маршрутизации BGP. Если в данной части Интернет аутентификация BGP-агентов соседями не производится, он легко достигнет своей цели.
Такая схема позволяет Х атаковать А, создавая впечатление, что ее атакует ЭВМ В. Для ЭВМ В будет наблюдаться эффект шторма неспровоцированных откликов со стороны ЭВМ А (если для атаки использован протокол ТСР).
Для распознавания сигнатуры атаки в ЭВМ В нужно регистрировать входящие пакеты с адресом А и флагом ACK, проверяя в то же время факт, что ЭВМ В не посылала А никаких пакетов.
Данная схема атак (с фальсификацией адреса отправителя) пригодна также и для относительно безопасной рассылки
Для противодействия этому типу атак требуется тесное сотрудничество сетевых администраторов, в том числе и тех, кто не подвергается атаке. Возможна и модификация алгоритмов маршрутизаторов, которая облегчит решение проблемы (смотри ниже предложение по новой версии внешнего протокола маршрутизации). Сетевые администраторы должны следовать рекомендации, которая запрещает пропускать через свой внешний шлюз пакеты из локальной сети в Интернет, имеющие адрес отправителя, отличный от набора IP-адресов локальной сети. Но способа заставить выполнять такие требования в настоящее время не существует. Можно написать письма всем администраторам вдоль маршрута атаки с просьбой проанализировать трафик на предмет наличия пакетов с определенным адресом отправителя, но нельзя быть уверенным, что такая просьба будет выполнена, особенно если администратор так или иначе сотрудничает с атакером.
При создании протоколов Интернет в начале 80-х годов авторы мало думали о безопасности. Предполагалось, что пользоваться сетью будут исключительно ответственные и добропорядочные люди. Но людям, к сожалению, свойственно преувеличивать положительные качества человечества. Реальность оказалась не столь позитивна. Сказались и любовь получать что-то бесплатно, и врожденный разрушительный потенциал. Некоторые приемы хакеров описаны в разделе, посвященном протоколу TCP. Рассмотрим, что может произойти, если будет получен TCP-сегмент с битами SYN и FIN, равными 1. При получении такого сегмента протокол TCP осуществляет переход в состояние close_wait. Если до этого не было установлено соединений, переход в это состояние не должен производиться, но большинство реализаций выполняют его. Такой переход крайне не желателен, так как в этом состоянии не работает таймер и система останется в нем вечно.
Другой вид атак протокола TCP называется "SYN -> syn+ack -> ack ; см. описание протокола TCP). Когда ЭВМ-1 получает запрос syn от ЭВМ-2, она должна подождать в частично открытом состоянии, по крайней мере, 75 секунд, если не придет отклик. Это позволяет успешно устанавливать связь даже в условиях очень больших сетевых задержек. Проблема заключается в том, что многие реализации способны отслеживать ограниченное число соединений (по умолчания 5). ЭВМ-злоумышленник может воспользоваться ограниченностью очереди и послать атакуемой ЭВМ большое число SYN-запросов, не отвечая на присылаемые SYN+ACK. В результате очередь будет быстро переполнена и прием запросов на соединение прекратится до тех пор, пока очередь не будет обслужена или очищена по тайм-ауту. Данный метод пригоден для отключения ЭВМ от сети, во всяком случае, на 75 сек. Этот вид атаки часто является
частью процедуры проникновения, когда нужно заблокировать ЭВМ от получения нежелательных откликов.
Существует разновидность атаки, когда хакер посылает данные в пакетах с адресом отправителя, отличным от его собственного (при этом трудно установить адрес, откуда такая атака предпринимается). Здесь имеются некоторые проблемы для атакующей стороны. ЭВМ-адресат посылает все отклики по указанному адресу отправителя; кроме того, хакеру нужно как-то выяснить порядковый номер сегмента, записываемый в каждый пересылаемый пакет. При установлении соединения оконечный сегмент, содержащий ACK, должен нести ISN (Initial Sequence Number; cм. описание транспортного протокола TCP) удаленной ЭВМ. Этот сегмент посылается ЭВМ, чей адрес указан в первоначальном запросе SYN. Хакер должен выяснить ISN каким-то иным способом (этому может помочь служба netstat). Так как ISN — 32-разрядное число, случайно угадать его совсем не просто. Но в большинстве систем (например, unix bsd) ISN берется из некоторого счетчика, содержимое которого увеличивается на 128 каждую секунду и на 64 после каждого нового соединения. Например:
x -> s: syn(ISNx) s -> x: syn(ISNs), ack(ISNx) (получено искомое текущее значение кода ISNs)
Таким образом, установив однажды соединение с нужной ЭВМ ( s ), некоторое время спустя можно с высокой вероятностью угадать значение ISN, послав несколько пакетов с разными значениями ISN. При завершении процедуры посылается сегмент SYN+ACK, который будет отвергнут, так как машина-получатель не инициализировала связь. В пакете отклике будет установлен флаг RST и соединение окажется абортированным. Чтобы этого не произошло, хакер может предпринять атаку типа syn-
Один из известных методов базируется на IP-опции "маршрутизации отправителя" (
Интересные возможности предоставляет вариант, когда хакер вставляет свою машину на пути обмена двух других узлов (hijacking). Обычные методы атак (типа
(рис 11.5) Десинхронизация может быть осуществлена при установлении соединения. Хакер в этом случае обрывает процесс трехшагового диалога. После того как ЭВМ .
ЭВМ Б проигнорирует сообщения от А, так как они имеют неправильные (навязанные хакером) номера, а ЭВМ А проигнорирует сообщения от Б, так как ожидает, что они будут пронумерованы по-новому. Теперь хакер знает, какие номера нужны А и Б (непосредственно же А и Б взаимодействовать не могут, так как не знают правильных номеров), и может перехватывать, модифицировать или посылать сообщения по своему усмотрению как для А, так и для Б.
Но десинхронизация может быть реализована и в ходе сессии. Если послать флаг RST в середине сессии, соединение будет закрыто, о чем будет оповещено приложение и пользователь. Аналогичного эффекта можно добиться, послав отправляющей стороне ICMP_NET_UNREACH, ICMP_HOST_UNREACH или ICMP_PORT_UNREACH. Вариант с привлечением протокола ICMP привлекателен тем, что не требует угадывания ISN. Для того, чтобы вызвать десинхронизацию в середине сессии, не закрывая соединения, достаточно поменять порядковые номера в сообщениях. Протокол telnet имеет механизм, который позволяет решить такую задачу. В рамках протокола можно посылать команды nop ("Ничего не делать", согласитесь — хорошие команды!). Эти команды не производят никакого эффекта, но увеличивают ожидаемое значение порядкового номера сегмента. Послав некоторое количество таких команд, ЭВМ хакера вызовет десинхронизацию. Теперь только хакер знает правильные
значения порядковых номеров пакетов и может начать свою подрывную работу.
Одним из наиболее эффективных методов обнаружения таких атак помимо процента сегментов ACK является сравнение потоков ACK для сервера и клиента. Полной гарантией безопасности в такой ситуации может стать только шифрование на прикладном уровне, например по схеме kerberos. В случае использования почты хороший результат может дать
Атака на раннем этапе установления соединения может осуществляться следующим образом. (Соединение при этом разрушается и вместо него формируется новое с другим значением ISN.) Хакер прослушивает
Определенные услуги хакеру может оказать внутренний протокол маршрутизации rip. Этот протокол служит для рассылки информации о маршрутах в локальной сети и не требует контроля доступа, что всегда благоприятствует злоумышленникам. Хакер может разослать маршрутную информацию, которая убедит окружающие узлы в том, что наикратчайший путь во внешний мир проходит через его ЭВМ Х. Тогда все пакеты, адресованные за пределы локальной сети, будут сначала попадать в ЭВМ Х.
Хакеры часто пытаются использовать IP-опцию маршрутизации отправителя. Эта опция позволяет хакеру послать пакет извне локальной сети с адресом отправителя, соответствующим одному из внутренних адресов. Если маршрутизатор не отбрасывает такие пакеты, у хакера появляется шанс для атаки, при которой он находится в безопасности и дискредитирует некоторую машину локальной сети. Но блокировка опции маршрута отправителя еще не гарантирует отсутствия подобных атак. Хакер может фальсифицировать адрес отправителя и без этой опции, пытаясь создать иллюзию отправки пакета из LAN.
(рис 11.6) Алгоритм атаки с использованием десинхронизации. Префикс А указывает на то, что сегмент послан атакующей ЭВМ; С — клиентом; S — серверомПротокол управляющих сообщений ICMP носит вспомогательный характер (вспомним популярную утилиту ping, использующую этот протокол). Пакеты ICMP также не требуют проверки доступа (именно благодаря этому протокол пригоден для работы в масштабах Интернет). По одной этой причине протокол привлекателен для хакеров. Известны случаи, когда с его помощью люди с разных континентов бесплатно обменивались сообщениями. Пригоден протокол и для блокировки обслуживания: для этого применяются icmp-сообщения "time exceeded" (превышено время) или "destination unreachable" (адресат недоступен). Первое сообщение означает, что предел, указанный в поле TTL заголовка пакета, превышен. Такое может произойти из-за зацикливания пакетов или когда адресат расположен очень далеко. Сообщение "destination unreachable" имеет несколько значений. Но все они означают, что нет способа благополучно доставить пакет адресату. Оба сообщения вынуждают адресата немедленно прервать соединение. Для реализации своих коварных планов хакеру достаточно послать одно из этих сообщений одному или обоим участникам обмена.
Протокол ICMP может применяться и для перехвата пакетов. ICMP-сообщение "redirect" обычно используется внешними портами (gateway) сети в случаях, когда какая-то ЭВМ по ошибке полагает, что адресат находится вне локальной сети, и направляет пакеты, адресованные ему, через внешний порт. Хакер может послать ICMP-сообщение "redirect" и вынудить другую ЭВМ посылать пакеты через узел, указанный хакером. У данного метода (так же, как и предыдущего с использованием RIP) имеется определенное ограничение — хакер и жертва должны находиться в пределах общей локальной сети.
Еще одним объектом атак может стать DNS (Domain Name Service) локальной сети. Например, администратор узла durak.dura.com может принять решение разрешить только местные соединения. Это может быть специфицировано с помощью записи "allow *.dura.com", а не обязательно через указание IP-адресов, тем более, что в сети может использоваться большое число блоков IP-адресов. Когда соединение установлено, ЭВМ durak обращается к DNS, чтобы преобразовать IP-адрес отправителя в имя, которое затем служит для проверки условия, заданного администратором. Если хакер имеет доступ к местному DNS-серверу, он может заставить DNS откликаться на его IP-адрес любым именем ЭВМ или домена. Зная об установленных администратором ограничениях, хакер может сделать так, что на запрос с его IP-адресом DNS будет откликаться именем "trustme.dura.com" (это удовлетворяет установленному ограничению). Такая атака может быть
легко предотвращена путем повторного DNS-запроса с именем ЭВМ, присланным при первом запросе. Если IP-адрес, полученный при втором запросе, не совпадет с использованным в качестве параметра в первом, это означает, что DNS подверглась атаке.
Для атаки DNS извне достаточно узнать номер используемого UDP-порта и ISN. О способах определения ISN говорилось выше. Задача упрощается в тех случаях, когда начальным значением ISN является нуль. Номер же используемого в данный момент UDP-порта при определенном везении можно найти путем подбора, ведь здесь нет никакой аутентификации или ограничений на число попыток. DNS — один из самых привлекательных объектов для атак, так как через посредство AXFR-запросов можно получить информацию об узлах, которые используют определенные версии ОС с известными слабостями, упрощающими вторжение.
Многие атакеры применяют социальную инженерию и психологию, чтобы спровоцировать потенциальную жертву к действиям, которые нанесут ущерб. Например, год назад в ИТЭФ пришли письма, которые, если верить заголовку, были посланы сетевым администратором. Приложение к письму было заархивировано, но для дезархивации требовался ключ, который содержался в тексте письма. В самом письме говорилось, что приложение, содержит инструкцию по улучшению безопасности. Почтовый сервер ИТЭФ имеет антивирусную защиту, но зашифрованность приложения препятствовала распознаванию сигнатуры
Потенциальную угрозу безопасности могут представлять специальные вставки во встроенное программное обеспечение процессора, BIOS, операционной системы и приложений. Аналогичные угрозы представляют любые программы с неизвестными исходными кодами, включая обеспечение маршрутизаторов. Считывать данные можно путем регистрации электромагнитного излучения дисплея и других устройств ЭВМ и даже анализируя звук при нажатии терминальных клавиш. Этим список способов несанкционированного доступа не исчерпывается, но прочие угрозы здесь не будут рассматриваться.
По этой причине предпочтение следует оказывать программам с открытым кодом или коммерческим программам, где продавец документально гарантирует безопасность.
За период с 2001 по 2003 годы число зарегистрированных компьютерных преступлений в России удваивалось каждый год. Считается, что 80% компьютерных преступлений не попадает в официальную статистику.
Если имеется несколько ЭВМ, объединенных в систему, и к этой системе имеет доступ определенное число удаленных клиентов, то наиболее уязвимыми являются соединения клиентов с этой системой. Хакеры стараются атаковать самое слабое звено в системе. Особенно уязвимы пользовательские, домашние ЭВМ. Зная это, некоторые банки предлагают своим клиентам удешевленные или даже бесплатные средства защиты (например, антивирусные программы). Некоторые сервис-провайдеры предоставляют своим клиентам антивирусные программы и
Число
Прерывать работы по совершенствованию систем сетевой защиты нельзя. Рассчитывать на получение бесплатных разработок из Интернет наивно. Каждая вторая такая программа сама содержит в себе
Все это делает крайне актуальными средства мониторинга и предотвращения атак, а также программы и методики анализа успешных атак и ликвидации их последствий. Рассмотрим некоторые из угроз (по материалам журнала
При расследовании инцидентов полезно знать базовый инструментарий хакеров.
Программа сканирования сетевых объектов (по IP, портам и пр.).
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.