Новости Один Docker-контейнер чуть не обрушил всю экосистему Python

NewsMaker

I'm just a script
Премиум
13,850
20
8 Ноя 2022
17 минут решили судьбу миллионов разработчиков.


pjy1q4hw2vimbmaem8boioql7qdyffhc.jpg


Команда JFrog Security Research Для просмотра ссылки Войди или Зарегистрируйся с административными правами доступа к репозиториям GitHub Python , PyPI и Python Software Foundation. Токен был найден в публичном Docker -контейнере на платформе Docker Hub.

Выявленный токен предоставлял административный доступ ко всей инфраструктуре Python, включая репозитории Python Software Foundation, PyPI и CPython. Если бы злоумышленники получили доступ к этим ресурсам, они могли бы провести крупномасштабную атаку на цепочку поставок, например, внедрить вредоносный код в CPython, что могло бы привести к распространению вредоносного ПО на десятки миллионов машин по всему миру.


olfuqiesoo5bp45zwr8ti7s64n7ipj8s.png


Вектор атаки на цепочку поставок Python

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


5wyb4dkm5j0ceji1nxqds146qkw1kunz.png


Вектор атаки на цепочку поставок PyPI

Токен был найден внутри Docker-контейнера в скомпилированном Python-файле (pycache/build.cpython-311.pyc). Автор кода временно добавил токен авторизации в исходный код, после чего скомпилировал код, но не удалил токен из скомпилированного файла. Затем разработчик поместил в Docker-образ как исходный код, так и скомпилированный pyc-файл вместе с токеном. В результате токен оказался в Docker-образе, несмотря на отсутствие его в исходном коде.


vcayqnwhcev0lhzexoulqrnax4acn9z2.png


Декомпилированный файл build.cpython-311.pyc с токеном (сверху) и исходный код (снизу)

Случай показал, что одного сканирования исходного кода для обнаружения утечек недостаточно. Необходима проверка как исходного кода, так и бинарных данных в опубликованных Docker-образах. Вредоносные данные могут содержаться только в бинарных файлах, что делает их обнаружение более сложным, но не менее важным.

Команда JFrog оперативно сообщила об утечке токена службе безопасности PyPI, и всего через 17 минут доступ был отозван. Благодаря быстрому реагированию, удалось предотвратить потенциальную катастрофу. PyPI провела всестороннюю проверку, Для просмотра ссылки Войди или Зарегистрируйся отсутствие подозрительной активности, связанной с токеном. PyPI также опубликовала подробности инцидента и меры, предпринятые для его предотвращения.
 
Источник новости
www.securitylab.ru

Похожие темы