Peneliti keamanan siber telah mengungkap dua teknik serangan baru terhadap alat infrastruktur sebagai kode (IaC) dan kebijakan sebagai kode (PaC), seperti Terraform dan Open Policy Agent (OPA) milik HashiCorp yang memanfaatkan bahasa khusus domain (DSL) untuk melakukan pelanggaran. platform cloud dan mengekstrak data.
“Karena ini adalah bahasa yang diperkeras dengan kemampuan terbatas, mereka seharusnya lebih aman daripada bahasa pemrograman standar – dan memang demikian,” kata peneliti keamanan senior Tenable Shelly Raban dalam laporan teknis yang diterbitkan minggu lalu. “Namun, lebih aman bukan berarti antipeluru.”
OPA adalah mesin kebijakan sumber terbuka populer yang memungkinkan organisasi menerapkan kebijakan di lingkungan cloud-native, seperti layanan mikro, pipeline CI/CD, dan Kubernetes. Kebijakan ditentukan menggunakan bahasa kueri asli yang disebut Rego yang kemudian dievaluasi oleh OPA untuk menghasilkan keputusan.
Metode serangan yang dirancang oleh Tenable menargetkan rantai pasokan, di mana penyerang mendapatkan akses tidak sah melalui kunci akses yang disusupi untuk memasukkan kebijakan Rego yang berbahaya ke server OPA, yang kemudian digunakan selama fase pengambilan kebijakan untuk memungkinkan tindakan berbahaya seperti penggunaan eksfiltrasi kredensial fungsi bawaan yang dikenal sebagai “http.send.”
Bahkan ketika penerapan OPA membatasi penggunaan http.send, perusahaan keamanan siber menemukan bahwa fungsi lain bernama “net.lookup_ip_addr” dapat digunakan untuk menyelundupkan data menggunakan pencarian DNS melalui teknik yang disebut terowongan DNS.
“Jadi, fungsi net.lookup_ip_addr adalah fungsi lain yang mungkin Anda pertimbangkan untuk dibatasi atau setidaknya diwaspadai dalam kebijakan, karena fungsi ini juga menimbulkan risiko eksfiltrasi data dari penerapan OPA Anda,” kata Raban.
Terraform, mirip dengan OPA, bertujuan untuk menyederhanakan proses penyiapan, penerapan, dan pengelolaan sumber daya cloud melalui definisi berbasis kode. Konfigurasi ini dapat diatur menggunakan DSL deklaratif lain yang disebut HashiCorp Configuration Language (HCL).
Penyerang dapat menargetkan platform IaC sumber terbuka dengan memanfaatkan perintah “terraform plan”, yang biasanya dipicu sebagai bagian dari alur kerja “pull_request” GitHub, untuk mengeksekusi perubahan yang belum ditinjau yang berisi sumber data berbahaya selama proses CI/CD.
“Hal ini menimbulkan risiko, karena penyerang eksternal di repositori publik atau orang dalam yang jahat (atau penyerang eksternal yang memiliki pijakan) di repositori pribadi dapat mengeksploitasi pull request untuk tujuan jahat mereka,” kata Tenable. “Sumber data dijalankan selama 'rencana terraform', yang secara signifikan menurunkan titik masuk bagi penyerang.”
Sumber data ini, pada gilirannya, dapat berupa sumber data eksternal palsu, modul Terraform, atau sumber data DNS, sehingga hanya menggunakan komponen pihak ketiga dari sumber tepercaya. Beberapa rekomendasi lain untuk memitigasi risiko tersebut meliputi –
- Terapkan kontrol akses berbasis peran (RBAC) yang terperinci dan ikuti prinsip hak istimewa paling rendah
- Siapkan logging tingkat aplikasi dan tingkat cloud untuk pemantauan dan analisis
- Batasi akses jaringan dan data aplikasi dan mesin yang mendasarinya
- Cegah eksekusi otomatis kode yang belum ditinjau dan berpotensi berbahaya di pipeline CI/CD
Selain itu, organisasi dapat menggunakan alat dan solusi pemindaian IaC seperti Terrascan dan Checkov untuk mengidentifikasi kesalahan konfigurasi dan masalah kepatuhan terlebih dahulu sebelum penerapan.