Подмена системных команд открывает новые возможности для киберпреступников.
Исследователи из компании Checkmarx зафиксировали новую технику атак на цепочки поставок в Open Source экосистемах, позволяющую злоумышленникам использовать манипуляции в командной строке (CLI) для скрытого внедрения вредоносного кода. Такие атаки становятся всё более опасными, так как позволяют избежать обнаружения традиционными мерами безопасности.
Программисты часто используют так называемые «точки входа», чтобы упростить работу с пакетами. Однако именно через них хакеры могут запускать вредоносные команды при вызове стандартных инструментов. Этот метод не требует полноценного одномоментного взлома системы, а предполагает постепенное проникновение, увеличивая шанс обхода защиты.
Примером такой атаки может быть Command Jacking — подмена популярных команд, таких как «aws» или «docker». В случае успеха злоумышленники могут перехватить учётные данные или похитить конфиденциальные данные компаний при развёртывании инфраструктуры в облаке.
Также возможна подмена системных команд, таких как «ls» или «curl». Если приоритетный путь в переменной PATH указывает на вредоносный пакет, пользователь невольно запускает вредоносный код. Особенно опасно это в средах разработки, где локальные директории часто имеют более высокий приоритет.
Для большей скрытности злоумышленники применяют технику Command Wrapping — создание обёрток вокруг оригинальных команд. При этом вредоносный код выполняется незаметно для пользователя, а команда возвращает ожидаемый результат, избегая подозрений.
Кроме того, злоумышленники нацеливаются на популярные инструменты разработки, такие как pytest или Flake8. Создавая вредоносные плагины, они могут вмешиваться в процесс тестирования и проверки кода, оставляя уязвимости незамеченными.
Особое внимание уделяется формату пакетов «.whl». В отличие от традиционных «.tar.gz», они не выполняют скрипты при установке, что ранее усложняло работу злоумышленников. Однако использование входных точек позволяет обходить это ограничение и запускать код при вызове определённых команд.
Эксплуатация входных точек становится угрозой не только в Python, но и в других экосистемах: npm, Ruby Gems, NuGet, Rust Crates и Dart Pub. Это подчёркивает необходимость усиления мер безопасности на всех этапах разработки и внедрения.
Некоторые ИБ-команды уже активно применяют системы мониторинга подозрительных активностей в Open Source проектах, уделяя особое внимание анализу точек входа, чтобы вовремя выявлять потенциальные угрозы и предотвращать их. Своевременное обнаружение таких атак поможет защитить разработчиков и предприятия от изощрённых атак на цепочки поставок.
Лечим цифровую неграмотность без побочных эффектов