Специалисты по кибербезопасности обнаружили две новые угрозы для инструментов «infrastructure-as-code» (IaC) и «policy-as-code» (PaC), таких как Terraform и Open Policy Agent (OPA) от HashiCorp. Эти атаки используют специализированные языки программирования (DSL) для взлома облачных платформ и кражи данных.
Хотя защищённые языки с ограниченными возможностями должны быть более безопасными, чем стандартные языки, они всё же уязвимы, предупреждают эксперты.
OPA — это популярный механизм политик с открытым исходным кодом, который позволяет организациям применять политики в облачных средах. Политики определяются с помощью встроенного языка запросов Rego, который затем оценивается OPA для принятия решений.
Атака, разработанная компанией Tenable, направлена на цепочку поставок. Злоумышленник получает доступ к серверу OPA с помощью скомпрометированного ключа доступа и внедряет вредоносную политику Rego. Эта политика затем используется для выполнения вредоносных действий, таких как кража учётных данных через встроенную функцию http.send.
Даже если развёртывание OPA ограничивает использование http.send, компания обнаружила, что можно использовать функцию net.lookup_ip_addr для передачи данных через DNS-запросы по методу, называемому DNS-туннелированием.
Terraform также направлен на упрощение процесса настройки, развёртывания и управления облачными ресурсами с помощью определений на основе кода. Эти конфигурации можно настроить с помощью декларативного DSL HashiCorp Configuration Language (HCL).
Злоумышленники могут атаковать платформу IaC с помощью команды "terraform plan", которая обычно запускается как часть рабочих процессов GitHub "pull_request". Это может привести к выполнению необдуманных изменений, содержащих вредоносный источник данных, в процессе CI/CD.
Для снижения таких рисков рекомендуется:
- Внедрить детальный контроль доступа на основе ролей (RBAC) и следовать принципу наименьших привилегий.
- Настроить ведение журнала на уровне приложений и облака для мониторинга и анализа.
- Ограничить доступ к сети и данным приложений и базовых компьютеров.
- Предотвратить автоматическое выполнение непросмотренного и потенциально вредоносного кода в конвейерах CI/CD.
- Использовать инструменты и решения для сканирования IaC, такие как Terrascan и Checkov, для выявления неправильных настроек и проблем с соответствием требованиям перед развёртыванием.