Методы обхода систем обнаружения вторжений
Методы обхода системы обнаружения вторжений — это модификации атак, направленные на предотвращение обнаружения системой обнаружения вторжений (IDS). Почти все опубликованные методы уклонения модифицируют сетевые атаки. В статье 1998 года « Вставка, уклонение и отказ в обслуживании: уклонение от обнаружения вторжений в сеть» популяризировалось уклонение от IDS и обсуждались как методы уклонения, так и области, где правильная интерпретация была неоднозначной в зависимости от целевой компьютерной системы. Программы «fragroute» и «fragrouter» реализуют методы уклонения, обсуждаемые в статье. Многие сканеры веб-уязвимостей, такие как «Nikto», «Whisker» и «Sandcat», также используют методы обхода IDS.
Большинство систем IDS были модифицированы для обнаружения или даже отмены основных методов уклонения, но уклонение от IDS (и противодействие уклонению от 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]
Полиморфные атаки не имеют единой обнаруживаемой сигнатуры, что затрудняет их обнаружение для IDS на основе сигнатур и даже для некоторых IDS на основе аномалий. [1] [4] Shikata ga nai («с этим ничего не поделаешь») — популярный полиморфный кодировщик в среде Metasploit , используемый для преобразования вредоносного шеллкода в труднообнаружимый полиморфный шеллкод с использованием аддитивной обратной связи XOR. [5]
Уклонение [ править ]
Злоумышленники могут обойти IDS, создавая пакеты таким образом, что конечный хост правильно интерпретирует полезную нагрузку атаки, в то время как IDS либо интерпретирует атаку неправильно, либо слишком быстро определяет, что трафик безвреден. [3]
Фрагментация и мелкие пакеты [ править ]
Один из основных методов заключается в разделении полезной нагрузки атаки на несколько небольших пакетов, чтобы IDS должен был заново собрать поток пакетов для обнаружения атаки. Простой способ разделения пакетов — их фрагментация , но злоумышленник также может просто создать пакеты с небольшой полезной нагрузкой. [1] Инструмент уклонения «усы» называет создание пакетов с небольшой полезной нагрузкой «сращиванием сеансов».
Сами по себе небольшие пакеты не смогут избежать IDS, собирающего потоки пакетов. Однако небольшие пакеты могут быть дополнительно модифицированы, чтобы усложнить повторную сборку и обнаружение. Одним из способов уклонения является пауза между отправкой частей атаки в надежде, что время ожидания IDS истечет раньше, чем это сделает целевой компьютер. Второй метод уклонения заключается в отправке пакетов не по порядку.
Перекрывающиеся фрагменты и сегменты TCP [ править ]
Другой метод уклонения — создание серии пакетов с порядковыми номерами TCP перекрывающимися . Например, первый пакет будет включать 80 байт полезной нагрузки, но порядковый номер второго пакета будет составлять 76 байт после начала первого пакета. Когда целевой компьютер повторно собирает поток TCP, он должен решить, как обрабатывать четыре перекрывающихся байта. Некоторые операционные системы будут использовать старые данные, а некоторые — новые. [3] Если IDS не собирает TCP таким же образом, как цель, им можно манипулировать, либо пропуская часть полезных данных атаки, либо обнаруживая безопасные данные, вставленные в вредоносные полезные данные, что нарушает сигнатуру атаки. [1] [3] Этот метод также можно использовать с фрагментацией IP аналогичным образом.
Неясности [ править ]
Некоторые методы уклонения от IDS включают намеренное манипулирование протоколами TCP или IP таким образом, чтобы целевой компьютер работал иначе, чем IDS. Например, указатель срочности TCP обрабатывается по-разному в разных операционных системах. Если IDS не обрабатывает эти нарушения протокола способом, совместимым со своими конечными хостами, он уязвим для методов вставки и уклонения, аналогичных упомянутым ранее. [3]
Атаки с низкой пропускной способностью [ править ]
Атаки, которые распространяются на длительный период времени или на большое количество исходных IP-адресов, например медленное сканирование nmap , может быть трудно выделить на фоне безобидного трафика. Онлайн- взломщик паролей , который каждый день проверяет один пароль для каждого пользователя, будет выглядеть почти идентично обычному пользователю, который неправильно ввел свой пароль.
Отказ в обслуживании [ править ]
В связи с тем, что пассивные IDS по своей сути являются отказоустойчивыми (в отличие от отказоустойчивых ), запуск атаки типа «отказ в обслуживании» против IDS в сети является возможным методом обхода ее защиты. [3] Злоумышленник может добиться этого, воспользовавшись ошибкой в IDS, потребляя все вычислительные ресурсы IDS или намеренно запуская большое количество предупреждений, чтобы замаскировать фактическую атаку.
Утомление процессора [ править ]
Пакеты, захваченные IDS, сохраняются в буфере ядра до тех пор, пока ЦП не будет готов их обработать. Если процессор находится под высокой нагрузкой, он не может достаточно быстро обрабатывать пакеты и этот буфер заполняется. Новые (и, возможно, вредоносные) пакеты отбрасываются, поскольку буфер заполнен. [3]
Злоумышленник может истощить ресурсы ЦП IDS несколькими способами. Например, системы обнаружения вторжений на основе сигнатур используют алгоритмы сопоставления шаблонов для сопоставления входящих пакетов с сигнатурами известных атак. Естественно, сопоставление некоторых сигнатур требует больше вычислительных затрат, чем других. Воспользовавшись этим фактом, злоумышленник может отправить специально созданный сетевой трафик, чтобы заставить IDS использовать максимально возможное количество процессорного времени для запуска алгоритма сопоставления шаблонов с трафиком. [1] [2] Эта атака, усложняющая алгоритмы, может перегрузить IDS при относительно небольшой пропускной способности. [1]
IDS, которая также отслеживает зашифрованный трафик, может тратить большую часть ресурсов своего ЦП на расшифровку входящих данных. [3]
Истощение памяти [ править ]
Чтобы соответствовать определенным сигнатурам, IDS должен сохранять состояние, связанное с соединениями, которые он отслеживает. Например, IDS должна поддерживать «блоки управления TCP» (TCB), фрагменты памяти, в которых отслеживается такая информация, как порядковые номера, размеры окон и состояния соединения (УСТАНОВЛЕНО, СВЯЗАННО, ЗАКРЫТО и т. д.) для каждого TCP-соединения, отслеживаемого ИДС. [3] (ОЗУ) IDS Как только вся оперативная память израсходована, она вынуждена использовать виртуальную память на жестком диске , которая работает намного медленнее, чем ОЗУ, что приводит к проблемам с производительностью и потере пакетов, что аналогично последствиям перегрузки ЦП. [3]
Если IDS не выполняет сбор мусора TCB правильно и эффективно, злоумышленник может исчерпать память IDS, очень быстро запустив большое количество TCP-соединений. [3] Подобные атаки могут быть осуществлены путем фрагментации большого количества пакетов на большее количество более мелких пакетов или отправки большого количества TCP-сегментов, находящихся вне порядка. [3]
Усталость оператора [ править ]
Предупреждения, генерируемые IDS, должны быть обработаны, чтобы они имели какую-либо ценность. Злоумышленник может снизить «доступность» IDS, перегружая оператора-человека чрезмерным количеством предупреждений, отправляя большие объемы «вредоносного» трафика, предназначенного для генерации предупреждений в IDS. Затем злоумышленник может выполнить фактическую атаку, используя предупреждающий шум в качестве прикрытия. Для этого были созданы инструменты «палка» и «сопли». Они генерируют большое количество предупреждений IDS, отправляя сигнатуры атак по сети, но не вызывают оповещения в IDS, которые поддерживают контекст протокола приложения.
Ссылки [ править ]
- ^ Перейти обратно: а б с д и ж г час Ченг, Цунг-Хуан; Линь, Ин-Дар; Лай, Юань-Чэн; Линь, По-Чинг (2012). «Методы уклонения: проникновение через системы обнаружения и предотвращения вторжений». Опросы и учебные пособия IEEE по коммуникациям . 14 (4): 1011–1020. CiteSeerX 10.1.1.299.5703 . дои : 10.1109/surv.2011.092311.00082 . S2CID 1949199 .
- ^ Перейти обратно: а б Корона, Игино; Джачинто, Джорджо; Роли, Фабио (2013). «Состязательные атаки на системы обнаружения вторжений: классификация, решения и открытые проблемы». Информационные науки . 239 : 201–225. дои : 10.1016/j.ins.2013.03.022 .
- ^ Перейти обратно: а б с д и ж г час я дж к л Птачек, Томас Х.; Ньюшем, Тимоти Н. (1 января 1998 г.). «Внедрение, уклонение и отказ в обслуживании: уклонение от обнаружения вторжений в сеть». CiteSeerX 10.1.1.119.399 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Перейти обратно: а б с Чабоя, диджей; Рейнс, РА; Болдуин, РОД; Маллинз, Бельгия (1 ноября 2006 г.). «Обнаружение сетевых вторжений: автоматизированные и ручные методы, склонные к атакам и уклонению». Безопасность IEEE Конфиденциальность . 4 (6): 36–43. дои : 10.1109/MSP.2006.159 . ISSN 1540-7993 . S2CID 11444752 .
- ^ «Полиморфный XOR-кодер с аддитивной обратной связью» . Rapid7.com .
Внешние ссылки [ править ]
- Evasions in IDS/IPS , Абхишек Сингх, Virus Bulletin, апрель 2010 г.
- Вставка, уклонение и отказ в обслуживании: уклонение от обнаружения вторжений в сеть Томас Птачек, Тимоти Ньюшам. Технический отчет, Secure Networks, Inc., январь 1998 г.
- Обход IDS с помощью Unicode Эрик Пакер. последнее обновление 3 января 2001 г.
- Домашняя страница Fragroute
- Исходный код Fragrouter
- Домашняя страница Nikto устарела, см. https://cirt.net/nikto2.
- Файл Phrack 57 0x03, в котором упоминается указатель TCP Urgent.
- Домашняя страница Усикера
- Домашняя страница Sandcat
- Препроцессор Snortstream4 для повторной сборки пакетов с отслеживанием состояния
- Уклонения в диком блоге об уловках, обнаруженных в утечке Shadow Brokers