Deep Packet Inspection и ICMP
Мы уже писали про ICMP-туннелирование. Давайте рассмотрим этот вопрос в контексте безопасности и возможного наличия DPI ( Deep Packet Inspection).
Как известно, при обычном анализе пакетов происходит считывание метаданных пакета (как правило, заголовков). Но когда речь идет о глубоком анализе пакетов посредством DPI, происходит просмотр содержимого пакета. То есть можно сказать, что DPI выполняет анализ полезной нагрузки, пытаясь понять, все ли с ней в порядке.
По факту DPI посредством отслеживания аномалий способен обнаружить ICMP-туннель, просмотрев для этого полезную нагрузку и увидев, что эта нагрузка отличается от ожидаемой. Следовательно, мы не сможем скрыть все параметры.
Раз дело обстоит именно таким образом, зачем вообще возиться с ICMP-туннелированием? На это есть ряд причин:
- Deep Packet Inspection встречается далеко не везде;
- большая часть DPI-инструментов полагается на базу с сигнатурами, а если для ICMP-сообщений сигнатуры отсутствуют, то и обнаружить туннель не удастся;
- даже если в базе будет найдена подходящая сигнатура, то оператору еще надо будет настроить ее на работу в режиме "Active".
Возникает справедливый вопрос, а почему он может ее не активировать? Причины следующие:
- для проверки каждой сигнатуры нужны ресурсы (по большей части речь идет о времени и процессоре), а это уже может замедлить сеть;
- сама проверка сети может производиться посредством различных ping-сообщений с разным объемом полезной нагрузки (к примеру, ping -s 1234 8.8.8.8 отправит ping-сообщение, где размер полезной нагрузки будет 1234 байт), что делается в целях диагностики проблем, которые связаны с MTU. Ну а уже активация такой сигнатуры станет причиной множества ложных срабатываний, что уже будет раздражать команду мониторинга, в результате чего надежность сигнатуры снизится.
Источник: https://infosecwriteups.com/ping-power-icmp-tunnel-31e2abb2aaea.