Методы обхода системы обнаружения вторжений

Методы обхода системы обнаружения вторжений — это модификации атак, вносимые в целях предотвращения обнаружения системой обнаружения вторжений (IDS). Почти все опубликованные методы обхода модифицируют сетевые атаки. Статья 1998 года « Вставка, обход и отказ в обслуживании: обход обнаружения сетевых вторжений » популяризировала обход IDS и обсуждала как методы обхода, так и области, где правильная интерпретация была неоднозначной в зависимости от целевой компьютерной системы. Программы «fragroute» и «fragrouter» реализуют методы обхода, обсуждаемые в статье. Многие веб-сканеры уязвимостей, такие как «Nikto», «whisker» и «Sandcat», также включают методы обхода IDS.

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

Запутывание

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

Кодирование

Протоколы прикладного уровня, такие как HTTP, допускают множественные кодировки данных, которые интерпретируются как одно и то же значение. Например, строка "cgi-bin" в URL может быть закодирована как "%63%67%69%2d%62%69%6e" (т. е. в шестнадцатеричном формате). [1] Веб-сервер будет рассматривать их как одну и ту же строку и действовать с ними соответствующим образом. IDS должна знать все возможные кодировки, которые принимают ее конечные хосты, чтобы сопоставлять сетевой трафик с известными вредоносными сигнатурами. [1] [2]

Атаки на зашифрованные протоколы, такие как HTTPS, не могут быть прочитаны IDS, если у IDS нет копии закрытого ключа, используемого сервером для шифрования связи. [3] IDS не сможет сопоставить зашифрованный трафик с сигнатурами, если она не учтет это.

Полиморфизм

Сигнатурные IDS часто ищут общие шаблоны атак, чтобы сопоставить вредоносный трафик с сигнатурами. Для обнаружения атак переполнения буфера IDS может искать доказательства NOP-слайдов , которые используются для ослабления защиты рандомизации адресного пространства . [4]

Чтобы скрыть свои атаки, злоумышленники могут использовать полиморфный шелл-код для создания уникальных шаблонов атак. Этот метод обычно включает кодирование полезной нагрузки определенным образом (например, XOR каждого байта с 0x95), затем размещение декодера перед полезной нагрузкой перед ее отправкой. Когда цель выполняет код, она запускает декодер, который перезаписывает полезную нагрузку в ее исходную форму, которую затем выполняет цель. [1] [4]

Полиморфные атаки не имеют единой обнаруживаемой сигнатуры, что делает их очень сложными для обнаружения сигнатурными системами обнаружения атак и даже некоторыми системами обнаружения атак на основе аномалий. [1] [4] Shikata ga nai («это невозможно») — популярный полиморфный кодировщик в фреймворке Metasploit, используемый для преобразования вредоносного шелл-кода в труднообнаруживаемый полиморфный шелл-код с использованием аддитивной обратной связи XOR. [5]

Уклонение

Злоумышленники могут обойти IDS, создавая пакеты таким образом, что конечный хост правильно интерпретирует полезную нагрузку атаки, в то время как IDS либо неправильно интерпретирует атаку, либо слишком быстро определяет, что трафик безвреден. [3]

Фрагментация и мелкие пакеты

Одним из основных методов является разделение атакующей нагрузки на несколько небольших пакетов, так что IDS должна будет заново собрать поток пакетов для обнаружения атаки. Простой способ разделения пакетов — их фрагментация , но злоумышленник может также просто создавать пакеты с небольшой полезной нагрузкой. [1] Инструмент обхода «whisker» называет создание пакетов с небольшой полезной нагрузкой «сращиванием сеанса».

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

Перекрывающиеся фрагменты и TCP-сегменты

Другой метод уклонения заключается в создании серии пакетов с порядковыми номерами TCP , настроенными на перекрытие. Например, первый пакет будет включать 80 байт полезной нагрузки, но порядковый номер второго пакета будет на 76 байт позже начала первого пакета. Когда целевой компьютер повторно собирает поток TCP, он должен решить, как обрабатывать четыре перекрывающихся байта. Некоторые операционные системы будут брать старые данные, а некоторые — новые. [3] Если IDS не собирает TCP так же, как цель, ее можно заставить либо пропустить часть полезной нагрузки атаки, либо увидеть безвредные данные, вставленные во вредоносную полезную нагрузку, нарушая сигнатуру атаки. [1] [3] Этот метод также может использоваться с фрагментацией IP аналогичным образом.

Неясности

Некоторые методы обхода IDS включают преднамеренное манипулирование протоколами TCP или IP таким образом, что целевой компьютер будет обрабатывать их иначе, чем IDS. Например, указатель срочности TCP обрабатывается по-разному в разных операционных системах. Если IDS не обрабатывает эти нарушения протокола способом, соответствующим его конечным хостам, она уязвима для методов вставки и обхода, подобных тем, которые были упомянуты ранее. [3]

Атаки с низкой пропускной способностью

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

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

В связи с тем, что пассивные системы обнаружения вторжений изначально являются отказоустойчивыми (в отличие от отказоустойчивых), запуск атаки типа «отказ в обслуживании» против системы обнаружения вторжений в сети является возможным способом обхода ее защиты. [3] Злоумышленник может добиться этого, используя ошибку в системе обнаружения вторжений, потребляя все вычислительные ресурсы системы обнаружения вторжений или намеренно запуская большое количество оповещений, чтобы скрыть фактическую атаку.

Истощение ЦП

Пакеты, захваченные IDS, хранятся в буфере ядра до тех пор, пока ЦП не будет готов их обработать. Если ЦП находится под высокой нагрузкой, он не может обрабатывать пакеты достаточно быстро, и этот буфер заполняется. Затем новые (и, возможно, вредоносные) пакеты отбрасываются, поскольку буфер заполнен. [3]

Злоумышленник может исчерпать ресурсы ЦП IDS несколькими способами. Например, системы обнаружения вторжений на основе сигнатур используют алгоритмы сопоставления шаблонов для сопоставления входящих пакетов с сигнатурами известных атак. Естественно, некоторые сигнатуры требуют больших вычислительных затрат для сопоставления, чем другие. Используя этот факт, злоумышленник может отправлять специально созданный сетевой трафик, чтобы заставить IDS использовать максимально возможное количество процессорного времени для запуска своего алгоритма сопоставления шаблонов на трафике. [1] [2] Эта атака на алгоритмическую сложность может перегрузить IDS при относительно небольшой полосе пропускания. [1]

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

Истощение памяти

Для сопоставления определенных сигнатур IDS необходимо сохранять состояние, связанное с отслеживаемыми ею соединениями. Например, IDS должна поддерживать «блоки управления TCP» (TCB), фрагменты памяти, которые отслеживают информацию, такую ​​как порядковые номера, размеры окон и состояния соединений (ESTABLISHED, RELATED, CLOSED и т. д.), для каждого отслеживаемого IDS соединения TCP. [3] После того, как вся оперативная память (RAM) IDS израсходована, она вынуждена использовать виртуальную память на жестком диске , которая намного медленнее RAM, что приводит к проблемам с производительностью и потере пакетов, аналогичным последствиям истощения ЦП. [3]

Если IDS не выполняет сборку мусора TCB правильно и эффективно, злоумышленник может исчерпать память IDS, очень быстро запустив большое количество TCP-соединений. [3] Аналогичные атаки можно осуществить, фрагментировав большое количество пакетов на большее количество меньших пакетов или отправив большое количество неупорядоченных TCP-сегментов. [3]

Усталость оператора

Чтобы оповещения, генерируемые IDS, имели какую-либо ценность, на них нужно реагировать. Злоумышленник может снизить «доступность» IDS, перегружая оператора-человека чрезмерным количеством оповещений, отправляя большие объемы «вредоносного» трафика, предназначенного для генерации оповещений на IDS. Затем злоумышленник может выполнить фактическую атаку, используя шум оповещения в качестве прикрытия. Инструменты «stick» и «snot» были разработаны для этой цели. Они генерируют большое количество оповещений IDS, отправляя сигнатуру атаки по сети, но не будут вызывать оповещения в IDS, которые поддерживают контекст протокола приложения.

Ссылки

  1. ^ abcdefgh Ченг, Цун-Хуан; Линь, Ин-Дар; Лай, Юань-Ченг; Линь, По-Чин (2012). «Методы уклонения: как пробраться сквозь системы обнаружения и предотвращения вторжений». Обзоры и руководства по коммуникациям IEEE . 14 (4): 1011– 1020. CiteSeerX  10.1.1.299.5703 . doi :10.1109/surv.2011.092311.00082. S2CID  1949199.
  2. ^ ab Corona, Igino; Giacinto, Giorgio; Roli, Fabio (2013). «Атаки состязательных систем обнаружения вторжений: таксономия, решения и открытые вопросы». Information Sciences . 239 : 201–225 . doi :10.1016/j.ins.2013.03.022.
  3. ^ abcdefghijkl Птачек, Томас Х.; Ньюшем, Тимоти Н. (1998-01-01). "Внедрение, уклонение и отказ в обслуживании: уклонение от обнаружения вторжений в сеть". CiteSeerX 10.1.1.119.399 .  {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  4. ^ abc Chaboya, DJ; Raines, RA; Baldwin, RO; Mullins, BE (2006-11-01). «Обнаружение вторжений в сеть: автоматизированные и ручные методы, подверженные атакам и обходу». IEEE Security Privacy . 4 (6): 36– 43. doi :10.1109/MSP.2006.159. ISSN  1540-7993. S2CID  11444752.
  5. ^ "Полиморфный кодер с аддитивной обратной связью XOR". rapid7.com .
  • Уклонения от уплаты налогов в IDS/IPS, Абишек Сингх, Virus Bulletin, апрель 2010 г.
  • Вставка, уклонение и отказ в обслуживании: как избежать обнаружения вторжений в сеть Томас Птачек, Тимоти Ньюшем. Технический отчет, Secure Networks, Inc., январь 1998 г.
  • Обход IDS с помощью Unicode Эрика Пакера. Последнее обновление 3 января 2001 г.
  • Домашняя страница Fragroute
  • Исходный код Fragrouter
  • Домашняя страница Nikto устарела, см.: https://cirt.net/nikto2
  • Phrack 57 phile 0x03 упоминает указатель TCP Urgent
  • Домашняя страница Whisker
  • Домашняя страница Sandcat
  • Препроцессор stream4 от Snort для повторной сборки пакетов с сохранением состояния
  • Блог Evasions in the wild об уклонениях, обнаруженных в утечке Shadow Brokers
Взято с "https://en.wikipedia.org/w/index.php?title=Система_обнаружения_вторжений_методы_уклонения&oldid=1169562664"