Кэвин Бок об алгоритме Geneva: как ИИ находит лазейки в государственных файрволах

Yannic Kilcher 8 тыс. 54 мин 12 мин 16.02.2022
Главное

В новом выпуске своего канала Янник Кильчер побеседовал с аспирантом Мэрилендского университета и экспертом по кибербезопасности Кэвином Боком. Главной темой обсуждения стал проект Geneva — уникальный генетический алгоритм, способный в реальном времени находить уязвимости в системах автоматизированной государственной цензуры интернета. Исследователи подробно разобрали, как технологии машинного обучения меняют сферу информационной безопасности, почему современные брандмауэры оказываются бессильны перед эволюционирующим кодом и как государственные системы блокировок можно использовать в качестве оружия для разрушительных кибератак.

🧬 Проект Geneva: искусственный интеллект против цензуры 0:00

Проект Geneva (название расшифровывается как Genetic Evasion — «генетический обход») представляет собой инновационную систему автоматического преодоления сетевых блокировок. Разработкой этого инструмента занимается команда исследователей из Мэрилендского университета, входящих в лабораторию Breaker Space. Эта уникальная лаборатория привлекает студентов бакалавриата к серьезным исследованиям в области безопасности, помогая им развивать практические навыки.

Кэвин Бок отмечает, что традиционно сфера обхода блокировок полностью зависела от человеческой интуиции. Эксперты вручную анализировали работу государственных систем фильтрации, искали лазейки и создавали инструменты для их обхода. Проект Geneva кардинально меняет этот подход: вместо человека алгоритм самостоятельно атакует цензор, находит работающие решения и предоставляет их исследователям, чья медленная человеческая мысль перестает быть узким местом в процессе защиты свободы информации.

По словам Кэвина Бока, сфера кибербезопасности сейчас переживает уникальный этап. За последние 4 года методы искусственного интеллекта и машинного обучения буквально ворвались в эту индустрию. ИИ успешно применяется для решения множества задач:

Проект Geneva стал первым в истории примером полноценного применения подходов ИИ и машинного обучения непосредственно в сфере борьбы с сетевой цензурой.

🛡️ Как работает автоматизированная цензура в масштабах государства 3:29

Для точного понимания сути проекта исследователи сразу ограничили область дискуссии. Речь идет исключительно об автоматизированной сетевой цензуре, реализуемой на уровне целых государств, таких как Иран или Китай.

Как утверждает Кэвин Бок, когда пользователь из такой страны пытается отправить запрос к запрещенному ресурсу, его интернет-трафик при пересечении границы государства проходит через специальные физические устройства в сети — мидлбоксы (middle boxes). Эти брандмауэры на лету сканируют, парсят и инспектируют каждый пакет данных, решая, пропустить его или заблокировать. В этом процессе полностью отсутствует человеческий фактор: контент не проверяется людьми вручную, все действия выполняются исключительно автоматикой.

Если система фиксирует попытку доступа к запрещенному сайту, мидлбокс применяет жесткие меры:

Янник Кильчер озвучил логичный вопрос, который возникает у большинства пользователей: почему нельзя просто зашифровать весь трафик, чтобы он выглядел одинаково снаружи?

Кэвин Бок объяснил, что даже при использовании безопасного протокола HTTPS происходит небольшая утечка приватности на этапе первоначального «рукопожатия» (handshake). Клиент в незашифрованном виде передает поле под названием SNI (Server Name Indication), указывая имя сервера, к которому обращается. Если пользователь пытается зайти, например, на Википедию, слово wikipedia передается открытым текстом в самом первом пакете. Цензоры перехватывают это поле и мгновенно уничтожают соединение.

Недавние попытки разработчиков внедрить шифрование этого поля (технология Encrypted SNI или ESNI) столкнулись с жестким противодействием. Как заявляет Бок, Китай начал превентивно блокировать весь трафик, использующий ESNI, еще в прошлом году, стремясь задушить технологию на этапе ее развертывания.

В индустрии обхода блокировок ключевую роль играет концепция «сопутствующего ущерба» (collateral damage). Ее суть заключается в том, чтобы сделать протокол обхода настолько популярным и экономически важным для легальных сервисов, чтобы государство не могло заблокировать его, не нанеся непоправимого вреда собственной экономике. Цензоры не могут закрыть весь HTTPS-трафик, поскольку на нем держится весь современный интернет-банкинг и коммерция, но они легко могут блокировать новые, еще не ставшие массовыми расширения шифрования.

📬 На стыке сетей: суть манипуляций с пакетами данных 7:31

Противостояние исследователей и государственных цензоров длится уже более двух десятилетий, развиваясь на нескольких фронтах. Долгое время огромные надежды возлагались на сеть Tor, однако цензоры научились собирать списки входных узлов (entry points) и целенаправленно закрывать к ним доступ. Попытки маскировать запрещенный трафик под легальные протоколы (например, под звонки Skype) также со временем потерпели неудачу из-за улучшения алгоритмов распознавания со стороны брандмауэров.

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

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

На этой архитектурной особенности и строятся атаки путем манипуляции пакетами:

  1. В сетевых протоколах существует легальный тип пакета — Reset-пакет (RST), используемый компьютерами для мгновенного разрыва связи.
  2. Атакующий инструмент может незаметно встроить один дополнительный поддельный RST-пакет в самое начало сетевой сессии.
  3. Государственный мидлбокс, зафиксировав этот пакет, считает, что собеседники завершили разговор, и мгновенно удаляет из своей памяти все данные о состоянии этого подключения.
  4. Поддельный пакет составляется так, чтобы реальный целевой сервер либо вообще не получил его, либо проигнорировал.
  5. В результате мидлбокс перестает отслеживать соединение, а реальный обмен данными между пользователем и запрещенным сайтом продолжается без каких-либо препятствий.

🤖 Эволюция кода: как генетический алгоритм обходит ограничения 12:50

Основная проблема ручного поиска таких лазеек заключается в том, что цензоры устраняют баги без публичных заявлений. Государственные структуры не публикуют научные статьи в духе: «Мы исправили уязвимость, которую вы использовали». Исследователи просто в один день обнаруживают, что их инструмент перестал работать, и им приходится начинать всю аналитическую работу с нуля.

Разработка генетического алгоритма Geneva позволила автоматизировать этот изнурительный процесс. Главной сложностью при создании подобного ИИ Кэвин Бок назвал полное отсутствие математического градиента. В классическом машинном обучении алгоритм получает обратную связь в виде ошибки (лосс-функции), понимая, что он стал «ближе» или «дальше» от цели. В мире цензуры ответ системы строго бинарный: запрос либо заблокирован, либо пропущен. Цензор никогда не подскажет, насколько близко вы подобрались к успеху.

Для решения этой задачи был выбран генетический алгоритм, так как его эволюционные механизмы наглядны, легко поддаются интерпретации и не представляют собой классический «черный ящик». Для инициализации алгоритма авторы выделили базовые строительные блоки трафика — своего рода сетевую ДНК. Если дать ИИ возможность менять отдельные биты, обучение займет вечность, так как системе придется заново изобретать правила подсчета контрольных сумм. Если же зашить в него готовые человеческие стратегии, алгоритм не сможет создать ничего принципиально нового.

В итоге Geneva наделили четырьмя базовыми сетевыми примитивами, которыми оперирует сама сеть:

Из этих примитивов алгоритм составляет сложные иерархические деревья инструкций — полноценные мини-программы для обработки трафика.

В качестве примера Кэвин Бок продемонстрировал одну из частых стратегий, которую Geneva разработала полностью самостоятельно. Программа работает по следующему алгоритму:

  1. Триггер [tcp flags s] заставляет систему активироваться при появлении исходящего SYN-пакета (запроса на открытие сессии).
  2. Примитив duplicate создает две копии этого пакета.
  3. К первой копии применяется действие tamper, которое заменяет флаги пакета на SYN-ACK (sa).
  4. Вторая копия пакета отправляется в сеть без изменений.

С точки зрения классического сетевого инженера, отправка клиентом пакета SYN-ACK выглядит полным абсурдом, поскольку такие пакеты имеют право отправлять только серверы в ответ на запрос. Однако Geneva эмпирически нащупала критический баг в логике некоторых государственных мидлбоксов. Видя исходящий от клиента SYN-ACK, брандмауэр путается в своей ролевой модели. В его памяти клиент и сервер меняются местами. Когда следом уходит реальный HTTP-запрос к запрещенному ресурсу, мидлбокс обрабатывает его по правилам для серверов и безвредно пропускает трафик.

Исследователи были поражены, когда во время тестов Geneva за короткое время сумела с нуля переизобрести практически все известные человечеству методы обхода блокировок, доказав превосходство автоматизации над ручным анализом.

🏋️ Функция приспособленности: как заставить ИИ учиться без градиентного спуска 22:50

Если запустить генетический алгоритм со случайными параметрами, результаты будут катастрофическими — трафик просто сломается. Чтобы обучить систему, команда проекта арендовала компьютеры внутри цензурируемых стран и запускала прямое обучение против реальных государственных файрволов, включая Великий китайский брандмауэр.

Ключевым этапом стала тонкая настройка функции приспособленности (fitness function), определяющей выживаемость конкретной цифровой особи:

Дополнительно в функцию приспособленности ввели штраф за избыточную сложность. Как пояснил Кэвин Бок, человеческий мозг устроен так, что ему гораздо проще проанализировать и понять элегантную стратегию из 2 действий, чем запутанный алгоритм из 50 шагов. Искусственный штраф заставляет Geneva оптимизировать код, отсекая лишние действия и оставляя лишь самую суть уязвимости.

Янник Кильчер поинтересовался, почему государства не борются с этим, просто блокируя IP-адреса, с которых ИИ тренируется против их брандмауэров.

Кэвин Бок пояснил, что написать надежный детектор аномалий для интернета — это невероятно сложная задача из-за хаотичности и нестабильности глобальной сети. Более того, Geneva атакует именно те мидлбоксы, которые должны заниматься обнаружением угроз, попутно ломая их собственные механизмы анализа. На сегодняшний день государственные цензоры представляют собой статичного противника, который не использует адаптивный ИИ для динамического изменения правил фильтрации в реальном времени.

При этом Бок признал, что коммерческие системы обнаружения вредоносного ПО на базе машинного обучения, применяемые в корпоративных сетях, сами по себе крайне уязвимы для состязательных (adversarial) атак, когда минимальное изменение нескольких бит полностью ослепляет защитные алгоритмы.

Исходный код проекта Geneva полностью открыт и опубликован на GitHub. Исследователь с иронией добавил, что в данный момент автоматические тесты сборки (CI) могут выдавать ошибки, так как команда находится в процессе миграции между инфраструктурами тестирования.

💥 Обратное оружие: превращение цензуры в инструмент мощных DDoS-атак 40:56

В ходе долгого изучения цензурной инфраструктуры команда Мэрилендского университета наткнулась на опасный побочный эффект. Когда пользователь запрашивает запрещенный контент, государственная система часто возвращает ему так называемую «страницу блокировки» с предупреждением. Исследователи заметили, что размер исходящего запроса пользователя может быть крошечным, а размер возвращаемой сервером страницы блокировки — огромным.

Это классическая основа для проведения амплифицированных (усиленных) DDoS-атак. Злоумышленник может отправить цензору короткое «запрещенное» сообщение, подменив свой обратный IP-адрес на адрес жертвы. Государственный брандмауэр послушно сгенерирует тяжелую страницу блокировки и обрушит этот гигантский объем трафика на ничего не подозревающую жертву.

Однако в теории сетевых протоколов существовало жесткое правило: протокол TCP защищен от подобных атак механизмом трехстороннего рукопожатия (3-way handshake). Атакующий не может отправить запрос от имени жертвы, поскольку он не увидит обратный пакет SYN-ACK от сервера и не сможет корректно завершить установку соединения. Вся мировая история сетевой безопасности базировалась на утверждении, что TCP иммунен к атакам с отражением и усилением.

Команда Кэвина Бока решила проверить это утверждение с помощью Geneva. Они радикально изменили функцию приспособленности алгоритма:

Использование ИИ привело к сенсационным результатам. Geneva обнаружила уникальные последовательности пакетов, которые заставляли государственные мидлбоксы впадать в состояние ступора. Брандмауэры обманом заставляли поверить, что сетевое соединение уже успешно установлено, даже если никакого рукопожатия не было. Мидлбокс начинал генерировать и отправлять гигантские объемы данных на IP-адрес жертвы по первому требованию.

Кэвин Бок подчеркнул, что это уязвимость не самого протокола TCP, а специфических, зачастую небрежных и некорректных реализаций его стека внутри государственных систем цензуры.

Чтобы оценить масштаб угрозы, исследователи провели сканирование всего мирового адресного пространства IPv4 почти 50 раз. Они обнаружили сотни тысяч и миллионы уязвимых систем по всему миру, которые можно было использовать для генерации разрушительных DDoS-атак.

Перед публикацией шокирующих результатов команда почти год занималась процессом ответственного разглашения (responsible disclosure). Они разослали детальные отчеты и скрипты для тестирования производителям брандмауэров, коммерческим компаниям и национальным службам реагирования на компьютерные инциденты (CERT), включая операторов китайских систем фильтрации трафика. По мнению Бока, это самый сложный этический момент в работе специалистов по безопасности: необходимо дать защитникам достаточно времени на исправление багов, но при этом гарантировать публикацию, чтобы у них был жесткий стимул эти баги закрывать.

🏫 Лаборатория Breaker Space и курьезы исследовательской работы 49:40

Успех проекта во многом обусловлен уникальной экосистемой лаборатории Breaker Space при Мэрилендском университете. Кэвин Бок руководит этой группой, но вся основная работа по написанию кода, тестированию и анализу результатов выполняется студентами младших курсов (undergraduates). Исследователь подчеркнул, что масштабные проекты такого уровня требуют усилий целой команды, и без талантливых студентов бакалавриата эти открытия были бы невозможны.

Эксперименты с боевым сканированием глобальных сетей регулярно приводили к курьезным и опасным ситуациям. В Мэрилендском университете создана очень лояльная атмосфера для ученых, однако исследователям приходится постоянно балансировать на грани закона и внутренней политики безопасности.

Кэвин Бок поделился несколькими забавными историями из практики лаборатории:

Для тех разработчиков искусственного интеллекта, которые хотят попробовать свои силы в сфере защиты свободы слова, Кэвин Бок порекомендовал несколько качественных независимых ресурсов. Специализированной единой платформы по ИИ-цензуре пока не существует, но есть отличные проекты, собирающие сырые данные о блокировках по всему миру. К ним относятся волонтерский проект OONI (Open Observatory of Network Interference), созданный выходцами из команды Tor, и платформа Censored Planet, развиваемая Мичиганским университетом.

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

💬 Цитаты

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

Кэвин Бок 13:57

«Вред от цензора не ограничивается гражданами внутри его границ — цензор в любом месте является угрозой для всех и каждого.»

Кэвин Бок 43:19
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Middle box (мидлбокс)
Промежуточное сетевое устройство (например, файрвол), которое проверяет, фильтрует или изменяет проходящий интернет-трафик.
SNI (Server Name Indication)
Поле в расширении протокола TLS, в котором клиент указывает имя хоста, с которым пытается установить безопасное соединение.
Генетический алгоритм
Эвристический алгоритм поиска, используемый для решения задач оптимизации путем моделирования процессов естественного отбора и мутации.
Амплификация атаки
Метод проведения DDoS-атаки, при котором атакующий отправляет небольшой запрос, вызывающий многократно больший по объему ответ на адрес жертвы.
Фаззер (Fuzzer)
Инструмент автоматического тестирования программного обеспечения, подающий на вход случайные или измененные данные для поиска багов и уязвимостей.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Geneva Кэвин Бок генетические алгоритмы обход цензуры