
Amazon Web Services Cloud Development Kit (CDK), sebuah alat sumber terbuka yang populer, memungkinkan tim cyber dengan mudah membangun infrastruktur cloud yang ditentukan perangkat lunak dengan bahasa pemrograman yang banyak digunakan, seperti Python dan JavaScript. Namun inilah masalahnya: Selama penerapan dan secara default, AWS CDK membuat bucket S3 “staging” dengan konvensi penamaan yang dapat diprediksi dan berbahaya, yang jika dieksploitasi oleh pelaku ancaman, dapat mengakibatkan akses administratif total ke akun terkait.
Di sebuah laporan barupeneliti dari Aqua mengatakan AWS mengonfirmasi kerentanan tersebut memengaruhi sekitar 1% pengguna CDK. AWS kemudian memberi tahu mereka yang terkena dampak masalah ini pada pertengahan Oktober. Versi CDK v2.148.1 atau yang lebih lama mengharuskan pengguna untuk mengambil tindakan.
“Hal penting yang dapat diambil untuk proyek sumber terbuka yang mengandalkan AWS adalah memastikan proyek tersebut tidak menggunakan nama bucket yang dapat diprediksi,” kata Yakir Kadkoda, peneliti keamanan utama di Aqua. “Mereka harus memberikan opsi bagi pengguna untuk mengubah nama bucket yang dibuat oleh proyek sumber terbuka untuk pengoperasiannya atau menerapkan pemeriksaan pada pemilik bucket untuk menghindari kerentanan tersebut.”
Tidak ada cara untuk mengetahui apakah kerentanan, yang tidak memiliki nomor CVE terkait, telah dieksploitasi secara liar, Kadkoda menambahkan.
Apa itu S3 Bucket Namesquatting dan Bucket Sniping?
Laporan tersebut menjelaskan bahwa kerentanan ini muncul selama proses bootstrapping, di mana AWS membuat bucket staging S3 untuk menyimpan berbagai aset penerapan. Karena nama ini Bucket AWS S3 ikuti pola: cdk-{qualifier}-assets-{account-ID}-{Region}, tim menemukan semua musuh yang perlu masuk ke salah satu keranjang ini adalah nomor identifikasi akun, dan wilayah — satu-satunya bidang yang berubah dari ember ke ember.
Hal ini tidak hanya memungkinkan penyerang membobol bucket S3 yang sudah ada, mereka juga dapat membuat bucket S3 yang benar-benar baru.
“Jika penyerang menyiapkan bucket sebelumnya, ketika pengguna kemudian mencoba mem-bootstrap CDK dari wilayah tertentu, mereka akan mengalami kesalahan selama proses karena bucket CDK yang coba dibuat oleh proses bootstrap sudah ada,” Laporan Aqua menambahkan. “Dokumentasi menyarankan untuk memilih kualifikasi non-default.”
Ini adalah taktik yang disebut dalam laporan sebagai “S3 bucketnamequatting” atau “bucket sniping” dan memberikan pelaku ancaman kemampuan untuk mengeksekusi kode berbahaya di dalam akun AWS target.
“Sebagai pengingat, staging bucket CDK berisi templat CloudFormation,” tambah laporan itu. “Jika penyerang mendapatkan akses ke staging bucket CDK milik pengguna lain, file-file ini dapat dengan mudah dirusak dan di-backdoor, sehingga memungkinkan penyuntikan sumber daya berbahaya ke akun korban selama penerapan.”
Laporan terbaru ini memperluas analisis Aqua sebelumnya mengenai bahaya mengonfigurasi bucket S3 dengan nama yang mudah ditebak ke dalam alat sumber terbuka.
“Penelitian ini menekankan pentingnya untuk tidak menggunakan nama bucket yang dapat diprediksi dan menjaga kerahasiaan ID akun AWS agar tidak rentan terhadap masalah seperti ini di masa mendatang,” saran Kadkoda.