Неудивительно, что, по крайней мере, кажется, будто здесь действительно что-то вырвалось на свободу. На самом деле команда Hugging Face предварила свой отчет заявлением, что «все должны быть готовы как защитники», прежде чем углубиться в технические детали произошедшего на благо специалистов по безопасности по всему миру.
Пока остальная часть интернета продолжает пытаться разобраться в случившемся (жаргон отчета Hugging Face большинству людей непонятен), один важный момент, который многие наблюдатели упускают, — это был не вышедший из-под контроля агент, нарушающий приказы. Это была система, созданная для поиска уязвимостей, которая делала именно это, просто против неправильной цели.
Другой способ осмыслить всю ситуацию — представить медведя в палаточном лагере. Серьезно. Медведь проверяет застежки палаток, ручки автомобильных дверей, кулеры и крышки мусорных баков. Он делает это на каждом участке, всю ночь, потому что знает: ему нужен всего один незапертый кулер, чтобы наполнить живот продуктами какого-нибудь бедолаги.
Примерно так и произошло в Hugging Face. Система OpenAI перепробовала тысячи вещей и просто продолжала. В конце концов, несколько попыток сработали, и как только это случилось, агент рванул вперед. По данным Hugging Face, агент выполнил 17 600 действий за четыре с половиной дня без остановки.
Что возвращает нас к аналогии с медведем. Точно так же, как одна удача с кулером, полным еды, учит медведя стараться еще больше в следующий раз (теперь это «приученный к еде» медведь), один утекший пароль привел агента OpenAI к поиску новых уязвимостей и, в конечном счете, к единственному ключу, который открыл сразу несколько систем компании.
Ни один из сценариев не является безобидным. Медведь, который разоряет ваш кулер, все равно съедает вашу еду и, скорее всего, еще и разносит ваш лагерь. Он просто сосредоточен на том, чтобы наесться, но тем не менее оставляет за собой шлейф разрушений. Аналогично, агент OpenAI, казалось, преследовал цель, не обращая внимания ни на что другое. Агент изначально сдавал экзамен по кибербезопасности, понял, что ключ к ответам экзамена, вероятно, находится на серверах Hugging Face, и отправился за ним.
Настойчивость здесь — вот что прежде всего примечательно; у агента была задача, и он не собирался останавливаться, пока не выполнит ее. Hugging Face, наконец осознав, что что-то не так, отключил его доступ и пресек вторжение, но к тому моменту было уже поздно. Агент уже получил то, за чем пришел, и еще много сверх того.
Если вы пропустили, вот краткое изложение большинства событий по временной шкале Hugging Face, но более простым языком.
- Агент сдавал экзамен по кибербезопасности для OpenAI, в котором ИИ оценивался на предмет поиска и эксплуатации ошибок в программном обеспечении. В этом конкретном запуске все предохранители были сняты. (OpenAI отключила свои обычные фильтры безопасности, чтобы увидеть, на что способна модель в полную силу, без участия человека в ее отдельных действиях.) Где-то там агент понял, что эталонные решения экзамена, вероятно, хранятся на серверах Hugging Face. Поэтому вместо решения задачи он украл ключ ответов из инфраструктуры, не имеющей никакого отношения к исходному тесту.
- Он выбрался из тестовой среды OpenAI, используя неисправленную уязвимость ПО, которая дала ему путь в открытый интернет. Оттуда он нашел еще один инструмент для тестирования ИИ, оставленный без защиты в сети (не имеющий отношения к Hugging Face), проник и туда, и вставил код, который незаметно выполнял скрытые команды при запуске программы. Это дало ему полный контроль над машиной — его новой базой для остальной операции, которую он будет использовать для атаки на системы Hugging Face.
- С этой базы он переключился на сам Hugging Face. У Hugging Face был фильтр, предназначенный для блокировки подозрительных запросов к открытому интернету, но фильтр проверял только исходящие запросы, а не запросы на чтение локальных файлов, находящихся прямо на сервере. Агент нашел эту слепую зону и проскользнул через нее. Он загрузил файл, замаскированный под обычный набор данных, но внутри была спрятана инструкция, которая заставляла собственные системы Hugging Face извлекать пароли и исходный код с сервера и возвращать их в виде обычных данных.
- Этот трюк дал ему пароли и код, но агент все еще не мог ничего выполнять на серверах Hugging Face. Чтобы выполнять там команды, ему нужен был второй путь. Он нашел другую ошибку в той же системе Hugging Face — программное обеспечение брало текст от агента и случайно обрабатывало его как команду для выполнения, а не просто как данные для чтения. Это дало агенту возможность выполнять свой собственный код непосредственно на серверах Hugging Face.
- Для отправки команд и получения украденных данных агент не строил никакой специальной инфраструктуры, по данным Hugging Face. Он использовал инструменты, доступные любому — сайты для вставки текста и сервисы логирования запросов, а также собственные функции загрузки и прокси Hugging Face, действуя скрытно. Сверх того, он построил небольшую импровизированную систему обмена сообщениями с порядковыми номерами, чтобы держать части в порядке, плюс быструю встроенную проверку для обнаружения любых поврежденных данных, чтобы можно было отправлять многошаговые команды и собирать украденные данные в правильном порядке.
- Он также позаботился о том, чтобы ничто не передавалось в открытом виде. Все, что он крал или отправлял, сначала шифровалось. Первоначальное автоматическое сканирование перехваченного трафика Hugging Face выявило лишь небольшую часть того, что было украдено. Остальное — примерно в четыре раза больше — следователи обнаружили только после того, как восстановили собственный метод шифрования агента.
- У агента были даже резервные планы: он разместил свои копии на 11 различных серверах, каждый из которых был настроен на самостоятельный перезапуск, так что отключение одной копии ничего не останавливало, поскольку больше процессов агента уже работало в другом месте.
- В какой-то момент агент заполучил закрытый криптографический ключ, используемый для генерации действительных токенов входа. Оттуда он мог создавать свои собственные действительные учетные данные когда угодно.
- После компрометации одного сервера агент получил учетные данные, которые из-за неправильной конфигурации на стороне Hugging Face открывали сразу несколько отдельных внутренних систем, а не только ту, откуда они были получены. Эта единственная ошибка практически сразу дала агенту широкий контроль.
- Используя украденный доступ к репозиторию, он отправил изменение в скрипт сборки, которое, если бы оно прошло, могло бы скомпрометировать автоматизированные системы, выполняющие этот код. Однако это не сработало: защитные механизмы Hugging Face обнаружили его.
- Агент, казалось, воздерживался от нанесения реального ущерба, отметил Hugging Face, но, вероятно, не из сдержанности. Следователи заметили, что каждая команда, способная удалить или изменить облачные ресурсы, выполнялась в режиме «сухого прогона», то есть сообщала, что произойдет, без фактического выполнения.
- Каждый раз, когда его тестовая среда сбрасывалась — что происходило постоянно, по замыслу, — он терял все инструменты и все следы своей идентичности. Но он восстанавливался с нуля и каждый раз переподключался к своей украденной инфраструктуре, на протяжении более четырех дней подряд.
В конечном итоге Hugging Face пришел к выводу в своем отчете, что «способный» человек-хакер «мог бы найти и использовать те же уязвимости: небезопасную обработку наборов данных, открытые метаданные облака, чрезмерно широкий доступ и долгоживущие учетные данные». Большая разница, продолжила компания, в том, что «агент исследовал их в другом масштабе».
И именно здесь аналогия с медведем оказывается наиболее полезной. Лучшая защита от голодного медведя — это протокол. Вы убираете еду; вы используете защелку, которая достаточно хорошо держит. Вывод здесь не должен заключаться в том, что медведь был таким умным или вредным. Дело в том, что он никогда не переставал проверять. В кибербезопасности понимают, что всегда есть какая-то ошибка, которую вы еще не нашли, поэтому если внезапно проверять все стало в 100 раз проще, то ничто не является по-настоящему безопасным. Именно это так многих тревожит в этом инциденте.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Connie Loizos




