203

 

 

 

 

 

Новости

ИИ-агенты самостоятельно провели 12 волн атак на госсистемы Тайваня, взломав 85 аккаунтов. Они сами меняли тактику и учились на ошибках

Иллюстрация к материалу

Предположительно связанные с Китаем хакеры использовали общедоступные инструменты искусственного интеллекта для автономной атаки на государственные системы Тайваня. В течение четырех дней ИИ-агенты самостоятельно искали уязвимости, пытались проникнуть в системы и меняли тактику в случае неудачи, пишет Financial Times со ссылкой на исследование израильской компании Dream Research Labs. 

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

The Insider изучил отчет исследовательской группы.

Особенности операции

За четыре дня система провела 12 последовательных волн атак, взломала 85 учетных записей, получила данные более чем о 2500 сотрудниках и закрепилась внутри государственных систем.

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

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

Восемь ИИ-агентов одновременно атаковали разные цели

Исследователи Dream в начале июля обнаружили архив рабочих файлов, созданных системой во время атаки. Архив занимал более 160 МБ и содержал 1395 файлов, благодаря которым удалось восстановить устройство системы и последовательность ее действий.

Фреймворк был построен на доступных системах ИИ-агентов Hermes и OpenClaw. В документах Dream обнаружила агентов, обозначенных буквами от A до Q. В рамках одной волны одновременно могли работать до восьми из них, причем каждый получал отдельную задачу — например, подбор учетных данных, эксплуатацию API или разведку инфраструктуры поставщиков.

Сначала ИИ самостоятельно составил карту государственной IT-инфраструктуры. Он скачал и декомпилировал JavaScript-файлы одного из государственных порталов и извлек из них адреса API, OAuth client ID и настройки Keycloak. От одной первоначальной цели система таким образом вышла на 21 связанную государственную систему и восстановила архитектуру единого входа SSO, включая шесть отдельных подразделов системы, OIDC-интерфейсы и два RSA-ключа подписи.

На одном из ресурсов ИИ обнаружил более 36 API для управления учетными записями, получения пользовательских данных, загрузки файлов и административных функций. Некоторые из них вообще не требовали авторизации. Через одну такую точку доступа можно было получить базу с тысячами сотрудников — их именами, подразделениями и идентификаторами SSO.

ИИ сам нашел документацию и начал изучать код

Во время разведки система обнаружила ссылку на GitBook с официальной документацией по интеграции с национальной системой единого входа.

ИИ самостоятельно скачал документацию и два демонстрационных проекта для подключения государственных учреждений к SSO — на Java Spring Boot и ASP.NET Core 8.0. После этого код был проанализирован на потенциальные уязвимости.

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

В одном приложении оставили три входа без пароля

Система одновременно обнаружила несколько способов проникновения.

В одном государственном веб-приложении в рабочей версии остались три скрытых отладочных API. Они принимали запрос и возвращали действующую авторизованную сессию без необходимости вводить учетные данные.

В другом случае проблема заключалась в проверке JWT-токенов: сервер принимал токены, у которых алгоритм подписи был указан как none. В результате злоумышленник мог самостоятельно сформировать токен, удостоверяющий личность пользователя, не имея секретного ключа для его подписи.

Третьим направлением стал массовый подбор паролей.

ИИ уже располагал именами сотрудников, полученными через незащищенный API, и стал проверять их на портале офисной автоматизации. Наличие CAPTCHA атаку не остановило: изображения система распознавала при помощи Tesseract OCR.

Затем она автоматически генерировала предсказуемые варианты паролей на основе идентификаторов сотрудников — например, меняла регистр и добавляла распространенные символы. В первой серии удалось получить доступ к 12 аккаунтам. После обнаружения новых закономерностей система продолжила подбор и взломала еще 73.

Всего были скомпрометированы 85 учетных записей.

84 из 85 паролей открыли дорогу во внутренние системы

Полученные учетные данные ИИ начал автоматически проверять на других ресурсах, подключенных к государственной системе единого входа.

Дополнительной аутентификации, MFA или подтверждения со стороны пользователя при переходе между ними не требовалось.

В итоге 84 из 85 взломанных аккаунтов — 98,8% — позволили войти во внутреннюю информационную систему ведомства. Таким образом злоумышленники получили доступ, в частности, к внутренним панелям, интерфейсам управления оборудованием и статистике персонала.

ИИ попытался пойти еще дальше и через неограниченный механизм загрузки файлов поместил на сервер web shell — программу, которая могла бы позволить удаленно выполнять команды. Загрузить файл удалось, однако дополнительная система аутентификации заблокировала его исполнение. Полного удаленного выполнения кода на этом этапе добиться не удалось.

Более 2500 записей о сотрудниках и внутренние учетные данные

Используя несколько найденных способов доступа одновременно, система выгрузила по меньшей мере 2564 записи о людях.

В них вошли сведения о 1409 сотрудниках с именами, подразделениями и SSO-идентификаторами, данные еще 916 пользователей из API, не требовавшего авторизации, а также информация о 239 специалистах юридической сферы из незащищенного API Министерства юстиции.

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

В материалах атаки также оказались сведения о внутреннем устройстве инфраструктуры: семь секретов клиентов SSO — к тому моменту уже замененных, но раскрывавших принципы их именования, — учетные данные шести внутренних баз данных MSSQL, Oracle и Sybase, а также диапазоны внутренних IP-адресов.

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

ИИ рассчитывал вероятность успешного взлома

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

Каждая потенциальная уязвимость первоначально получала нейтральную вероятность 50%. Затем показатель автоматически пересчитывался по мере появления доказательств. Положительный результат сканера повышал оценку, дополнительное подтверждение запроса — еще сильнее, а наличие WAF или другого препятствия, наоборот, снижало.

При вероятности выше 95% система считала уязвимость подтвержденной и включала ее в цепочку атаки. При результате выше 70% направляла туда дополнительные ресурсы. Если уверенность падала ниже 30%, направление отбрасывалось.

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

Например, возможность распространить доступ через SSO система оценила в 99%. К этому моменту она уже располагала списком сотрудников, успешно подобрала часть паролей и проверила получение SSO-токенов. Прогноз оказался почти точным: впоследствии через SSO удалось использовать 98,8% взломанных аккаунтов. 

Если атака не получалась, система сама искала новые способы

У фреймворка существовал отдельный механизм, названный разработчиками Learning Cycles — «циклами обучения».

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

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

Dream обнаружила пять таких циклов. Найденные методы система сортировала по применимости к конкретной цели, наличию публичного эксплойта или proof-of-concept, предполагаемой вероятности успеха и приоритету.

Таким образом, столкнувшись с препятствием, система могла не просто повторить попытку, а самостоятельно провести исследование, найти другой способ атаки и включить его в следующую волну.

ИИ также научился отбрасывать собственные ошибочные находки

Еще одной особенностью стала автоматическая перепроверка результатов.

На раннем этапе система, например, решила, что обнаружила SQL-инъекцию: после одного из запросов сервер отвечал с задержкой в 21 секунду, которую агент принял за результат выполнения внедренной команды задержки.

Однако протокол требовал дополнительного подтверждения. При повторных тестах выяснилось, что SQL-инъекции не было: сервер задерживал ответ из-за тайм-аута SMTP при попытке отправить письмо с подтверждением.

ИИ признал первоначальный вывод ошибочным, пометил его как false positive и исключил из дальнейшей работы. Всего в итоговом отчете системы Dream обнаружила семь таких ложноположительных результатов.

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

Ограничения обходили под видом легального пентеста

Dream не смогла установить, какая именно языковая модель управляла Hermes и OpenClaw. Поэтому из исследования нельзя сделать вывод, что за атакой стояла какая-либо конкретная коммерческая или открытая ИИ-модель.

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

Dream считает это одной из фундаментальных проблем нынешней защиты ИИ-моделей: ограничения работают значительно хуже, если оператор не сообщает модели о своих реальных намерениях.

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

«Стоимость атаки рухнула, стоимость защиты — нет»

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

В данном случае ИИ не просто писал код или подсказывал человеку, где искать уязвимость. Он выполнял значительную часть функций целой хакерской команды: проводил разведку, параллельно атаковал разные системы, распределял ресурсы, рассчитывал вероятность успеха, использовал результаты предыдущих атак для планирования следующих, самостоятельно изучал новые техники и перепроверял собственные выводы.

При этом Dream всё же называет систему «почти автономной», а не полностью автономной: представленные материалы не позволяют утверждать, что человек вообще не участвовал в управлении операцией.

За четыре дня система оставила после себя 1395 файлов, получила 85 учетных данных, выгрузила тысячи записей о сотрудниках и добилась устойчивого присутствия в государственной инфраструктуре. 

Нам очень нужна ваша помощь

Подпишитесь на регулярные пожертвования

Подпишитесь на нашу Email-рассылку

Подпишитесь на нашу Email-рассылку