Методы обхода системы обнаружения вторжений - Intrusion detection system evasion techniques

Методы обхода системы обнаружения вторжений модификации, внесенные в атаки, чтобы предотвратить обнаружение Система обнаружения вторжений (IDS). Почти все опубликованные методы уклонения модифицируют сетевые атаки. Документ 1998 года Внедрение, уклонение и отказ в обслуживании: ускользание от обнаружения сетевых вторжений популяризировал уклонение от IDS и обсудил как методы уклонения, так и области, в которых правильная интерпретация была неоднозначной в зависимости от целевой компьютерной системы. Программы fragroute и fragrouter реализуют методы уклонения, обсуждаемые в статье. Многие сканеры веб-уязвимостей, такие как Nikto, Whker и 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] Шиката га най («ничего не поделаешь») - популярный полиморфный кодировщик в Metasploit фреймворк, используемый для преобразования вредоносных шеллкод в сложный для обнаружения полиморфный шелл-код с помощью аддитивной обратной связи XOR.[5]

Вставка и уклонение

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

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

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

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

Перекрывающиеся фрагменты и сегменты 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), блоки памяти, которые отслеживают такую ​​информацию, как порядковые номера, размеры окон и состояния соединения (ESTABLISHED, RELATED, CLOSED и т. Д.) Для каждого TCP-соединения, контролируемого IDS.[3] Как только все IDS оперативная память (RAM) потребляется, он вынужден использовать виртуальная память на жесткий диск который намного медленнее, чем ОЗУ, что приводит к проблемам с производительностью и отбрасыванию пакетов, аналогичным эффектам истощения ЦП.[3]

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

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

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

Рекомендации

  1. ^ а б c d е ж грамм час я Ченг, Цзун-Хуан; Линь, Инь-Дар; Лай, Юань-Чэн; Линь, По-Цзин (2012). «Методы уклонения: проникновение через ваши системы обнаружения / предотвращения вторжений». Обзоры и учебные пособия по коммуникациям IEEE. 14 (4): 1011–1020. CiteSeerX  10.1.1.299.5703. Дои:10.1109 / Surv.2011.092311.00082.
  2. ^ а б Корона, Игино; Джачинто, Джорджио; Роли, Фабио (2013). «Состязательные атаки на системы обнаружения вторжений: таксономия, решения и открытые проблемы». Информационные науки. 239: 201–225. Дои:10.1016 / j.ins.2013.03.022.
  3. ^ а б c d е ж грамм час я j k л Ptacek, Thomas H .; Ньюшем, Тимоти Н. (1 января 1998 г.). «Внедрение, уклонение и отказ в обслуживании: ускользание от обнаружения сетевых вторжений». CiteSeerX  10.1.1.119.399. Цитировать журнал требует | журнал = (помощь)
  4. ^ а б c Chaboya, D. J .; Raines, R.A .; Baldwin, R.O .; Маллинз, Б. Э. (01.11.2006). «Обнаружение сетевых вторжений: автоматизированные и ручные методы, подверженные атакам и уклонению». IEEE Security Конфиденциальность. 4 (6): 36–43. Дои:10.1109 / MSP.2006.159. ISSN  1540-7993.
  5. ^ "Полиморфный кодировщик аддитивной обратной связи XOR". rapid7.com.

внешняя ссылка