Прощай, ручная работа. Cloudflare автоматизировала поиск брешей в сетевых фильтрах

Filterforge сделает за человека всю грязную работу с трафиком.


s4zndtn481qme8pra8petclovxnu65r5.jpg

Инженеры из Cloudflare выложили в открытый доступ необычный инструмент: он умеет буквально «угадать», какой сетевой пакет пройдёт через фильтр, и собрать его с нуля.

Проект получил название filterforge . Утилита написана на Python и рассчитана на разбор байткода Berkeley Packet Filter – механизма, который используют для фильтрации сетевого трафика в системах анализа, сетевых устройствах и даже вредоносных программах. Обычно такой код выглядит как набор непонятных инструкций, но filterforge превращает его в читаемый вид.

Инструмент анализирует условия фильтра, затем с помощью решателя ограничений вычисляет, какие параметры пакета удовлетворят всем проверкам. После этого формирует полноценный сетевой пакет, который гарантированно пройдёт через заданный фильтр. Речь идёт не о теории: на выходе получается готовый пакет с уровнями Ethernet, IP, TCP или UDP, который можно сохранить, изучить или отправить в сеть.

Подобный подход может заметно упростить разбор вредоносных программ и сетевых фильтров. Например, если злоумышленники используют сложные правила для маскировки трафика, filterforge помогает быстро понять, какой именно пакет пропускает фильтр. Такой же сценарий подходит для анализа правил захвата трафика и отладки сетевых систем.