AWS Perbaiki Kerentanan Billing Besar S3 yang Memungkinkan Siapa Saja Menggembungkan Biaya Cloud Anda

Tim Komunitas BigGo
AWS Perbaiki Kerentanan Billing Besar S3 yang Memungkinkan Siapa Saja Menggembungkan Biaya Cloud Anda

Sebuah kerentanan billing yang signifikan dalam layanan penyimpanan S3 Amazon Web Services ( AWS ) telah diselesaikan setelah memungkinkan pelaku jahat atau sistem yang salah konfigurasi untuk secara dramatis menggembungkan tagihan cloud bagi pemilik bucket yang tidak bersalah. Masalah ini, yang mempengaruhi pengguna sepanjang tahun 2024, telah memicu diskusi penting tentang praktik billing cloud dan keamanan.

Kronologi Peristiwa:

  • April 2024: Kerentanan dilaporkan secara publik
  • Mei 2024: AWS mengumumkan perubahan kebijakan untuk menghentikan penagihan permintaan tidak sah
  • Agustus 2024: Kebijakan penagihan baru sepenuhnya diimplementasikan

Penemuan yang Merugikan

Kerentanan ini terungkap ketika seorang developer yang sedang mengerjakan sistem pengindeksan dokumen menemukan tagihan AWS mereka membengkak hingga lebih dari 1.300 dolar Amerika Serikat hanya dalam dua hari setelah membuat bucket S3 pribadi yang seharusnya sederhana. Tagihan yang mengejutkan tersebut mengungkapkan hampir 100 juta permintaan PUT S3 yang dieksekusi dalam satu hari - semuanya dari sumber eksternal yang mencoba mengakses bucket tanpa otorisasi.

Akar penyebabnya dapat ditelusuri kembali ke sebuah tool open-source populer yang menggunakan nama bucket yang sama sebagai placeholder default dalam konfigurasinya. Setiap deployment tool ini dengan pengaturan default mencoba menyimpan backup di bucket pribadi developer tersebut, menghasilkan volume permintaan yang masif dan biaya yang sesuai.

Contoh Dampak Biaya:

  • Tagihan asli: Lebih dari $1,300 USD dalam 2 hari
  • Volume permintaan: Hampir 100 juta permintaan S3 PUT dalam 24 jam
  • Tingkat pengumpulan data: 10GB terkumpul dalam waktu kurang dari 30 detik ketika bucket dibuka untuk pengujian

Kebijakan Billing AWS yang Kontroversial

Yang membuat situasi ini sangat bermasalah adalah kebijakan AWS untuk menagih pemilik bucket untuk semua permintaan yang masuk, termasuk yang tidak sah yang menghasilkan error akses ditolak. Ini berarti bahwa siapa pun yang mengetahui nama bucket dapat dengan sengaja atau tidak sengaja menaikkan biaya pengguna lain tanpa bahkan memiliki akun AWS sendiri.

Kebijakan ini meluas melampaui biaya permintaan sederhana. Ketika permintaan S3 tidak menentukan region, mereka default ke region ap-east-1 dan dialihkan sesuai kebutuhan, dengan pemilik bucket membayar biaya tambahan untuk permintaan yang dialihkan ini.

Implikasi Keamanan di Luar Billing

Kerentanan ini mengungkapkan lebih dari sekadar masalah billing. Ketika developer yang terdampak sementara membuka bucket mereka untuk penulisan publik guna menyelidiki masalah tersebut, mereka mengumpulkan lebih dari 10 gigabyte data sensitif dalam 30 detik dari berbagai sistem yang salah konfigurasi yang mencoba menyimpan backup. Ini menyoroti bagaimana kelalaian konfigurasi dapat menyebabkan kebocoran data yang serius, dengan perusahaan tanpa sadar mengirim informasi rahasia ke bucket S3 acak.

Langkah-Langkah Pencegahan yang Direkomendasikan oleh Komunitas:

  • Gunakan string acak untuk nama bucket
  • Tambahkan akhiran acak pada nama bucket yang mudah dibaca manusia
  • Aktifkan AWS CloudTrail atau S3 Server Access Logging untuk pemantauan
  • Pertimbangkan alternatif penagihan berbasis penggunaan untuk prediktabilitas biaya

Respons AWS dan Perubahan Kebijakan

Menyusul tekanan komunitas dan laporan penyalahgunaan billing ini, AWS mengumumkan pada Mei 2024 bahwa mereka akan berhenti menagih pemilik akun untuk permintaan buruk atau tidak sah ke bucket S3. Perubahan kebijakan ini, yang diimplementasikan pada Agustus 2024, mengatasi kerentanan inti yang memungkinkan pihak eksternal memanipulasi billing melalui permintaan yang tidak diinginkan.

Komunitas teknologi telah merespons dengan reaksi yang beragam. Sementara banyak yang menghargai perbaikan ini, beberapa developer sekarang mengadvokasi penggunaan string acak dalam nama bucket atau menambahkan suffix acak untuk mencegah masalah serupa. Yang lain telah menggunakan insiden ini untuk berargumen agar beralih dari model billing cloud berbasis penggunaan sepenuhnya, menyarankan bahwa manajemen server tradisional atau layanan colocation menawarkan biaya yang lebih dapat diprediksi.

Penyelesaian kerentanan ini merupakan langkah penting dalam keamanan cloud dan keadilan billing, tetapi juga berfungsi sebagai pengingat tentang cara-cara tak terduga bahwa layanan cloud dapat mengekspos pengguna pada risiko finansial dan keamanan.

Referensi: How an empty S3 bucket can make your AWS bill explode