Mengapa awan menjadi awan awan: kegagalan penyebaran awan

gambar

Implementasi cloud dalam organisasi besar biasanya mencakup banyak layanan dari berbagai penyedia, yang masing-masing memiliki aturan sendiri untuk interaksi, pengaturan, dan bahkan protokol. Akibatnya, konfigurasi keamanan menjadi sangat kompleks sehingga sulit dilacak dan bahkan lebih sulit untuk dipahami. Dalam studi baru kami, kami mengumpulkan kesalahan yang paling umum dalam penggelaran infrastruktur cloud menggunakan Amazon Web Services sebagai contoh, dan kami akan membagikan sebagian dari mereka dalam posting ini.

Penyedia cloud saat ini menawarkan layanan yang melampaui "dedikasi" atau penyimpanan file yang sepele. Setiap aspek dari setiap layanan dapat diprogram. Ini memberi pengembang dan operator lebih banyak kontrol atas keamanan daripada pusat data tradisional. Namun, kekayaan fungsi dan cara konfigurasinya mengarah pada fakta bahwa Anda dapat mengonfigurasi dari beberapa antarmuka, dan - dan ini penting - parameter default berbeda untuk metode yang berbeda.

Untuk pengguna berpengalaman ini bukan masalah - sebaliknya, mereka akan menggunakan alat yang paling cocok untuk tugas tersebut. Namun, bagi yang lain, hasilnya mungkin tidak memenuhi harapan mereka.

Penyimpanan Amazon S3


Amazon Simple Storage Services atau Amazon S3 adalah salah satu layanan cloud yang paling dicari digunakan oleh banyak pelanggan, dari perusahaan kecil hingga perusahaan besar. Popularitas telah mengubah S3 menjadi target favorit bagi penyerang yang mencari kelemahan dalam implementasi layanan dan kesalahan dalam konfigurasi mereka.

Vektor serangan Amazon S3 yang paling umum digunakan oleh penjahat cyber adalah:

  • fasilitas penyimpanan publik untuk rekaman;
  • intersepsi akun;
  • penyalahgunaan hak istimewa.

Perekaman Berbagi


Pada bulan Februari 2018, penambang cryptocurrency Monero ditemukan di situs salah satu surat kabar terbesar Amerika. Setiap pembaca yang mengunjungi situs menambang koin untuk penjahat yang menambahkan kode berbahaya ke file JavaScript publikasi.

Situs surat kabar di-host oleh Amazon dan menyimpan semua gambar, skrip, dan file gaya dalam repositori S3. Akses ke repositori ini dibatasi hanya dengan membaca, jadi peretasan adalah kejutan yang lengkap untuk administrator situs. Mereka sama sekali tidak dapat memahami bagaimana mereka diretas sampai spesialis layanan cloud menjelaskan bahwa alasannya adalah hak akses yang salah.

Repositori Amazon S3 dapat digunakan melalui http / https, dan pada bagian ini, administrator situs melakukan segalanya dengan benar, membatasi akses hanya untuk membaca. Namun, S3 juga dapat diakses melalui protokol asli AWS melalui baris perintah, dan hak akses untuk panggilan tersebut harus ditetapkan secara terpisah, dan secara default, akses penyimpanan melalui AWS CLI diizinkan untuk semua pengguna resmi AWS.

gambar
Hasil menjalankan perintah konsol aws s3api get-bucket-acl --bucket <BUCKET_NAME> untuk lemari besi default

untuk pengguna baru Amazon S3, kebutuhan untuk membatasi dua kali lipat izin lemari besi mereka jauh dari jelas, yang menyebabkan banyak insiden.

Pada akhir 2018, AWS mendefinisikan kembali kebijakan keamanan dengan melarang akses publik dari konsol untuk repositori S3 baru, tetapi kebijakan ini tidak diterapkan ketika menggunakan baris perintah. Akses masih harus dibatasi pada tim yang terpisah.

Pada 2018-2019, kompromi penyimpanan S3 menjadi luas. Beberapa profesional keamanan dan peretas yang ramah secara khusus mencari sumber daya AWS yang terbuka untuk menulis dan meninggalkan file peringatan di sana.

gambar
Peringatan anonim tentang konfigurasi AWS S3

Seseorang yang tidak aman bahkan menawarkan layanan mereka untuk mengatur parameter penyimpanan aman:

gambar
Peringatan dan penawaran layanan dari Pentester Random Robbie

Random Robbie adalah nama samaran untuk pentester Robbie Wiggins, yang pada 2018 meninggalkan peringatannya pada ribuan penyimpanan S3 yang terbuka untuk direkam.

Kemampuan untuk memodifikasi situs yang dihosting secara bebas di repositori S3 segera dimanfaatkan oleh peretas. Grup Magecart secara masal memperkenalkan kode berbahaya untuk mencuri data kartu bank dan informasi akun pengguna. Lagi pula, yang diperlukan hanyalah menemukan situs yang menerima pembayaran dan menggunakan AWS. Akibatnya, penjahat berhasil mencuri data ratusan ribu pengunjung ke sumber daya tersebut.

gambar
Contoh data yang diberikan skimmer kepada penjahat

Di antara para korban tindakan Magecart adalah ratusan toko online, termasuk merek-merek terkenal.

Dalam perjalanan studi, kami menemukan bahwa, meskipun banyak publikasi dan rekomendasi mengenai konfigurasi aman layanan AWS, setidaknya lima toko online yang dikompromikan terus menggunakan toko S3 yang dapat ditulis. Sampai saat ini, situs mereka tidak mengandung skimmers, tetapi mereka dapat ditambahkan kapan saja, karena penjahat cyber memiliki alat yang mudah digunakan untuk memudahkan pencarian sumber daya yang rentan.

S3 Buka Alat Pencarian Penyimpanan


Alat Slurp, Bucket Stream, dan s3scanner membantu Anda menemukan penyimpanan yang bisa dibaca dan ditulis.

Slurp membantu Anda menemukan kemungkinan nama penyimpanan untuk domain yang diberikan dan memeriksa izin menulis di dalamnya:

gambar
Contoh keluaran Slurp. Akses oleh http ditutup.

Untuk memeriksa ketersediaan penyimpanan yang ditemukan melalui AWS CLI, Anda dapat menggunakan perintah get-bucket-acl:

gambar
Akses ke sumber daya melalui API AWS juga ditutup.

Utilitas s3scanner yang ditulis dengan Python menggunakan heuristik sederhana untuk menemukan kemungkinan nama penyimpanan dan memeriksa akses ke sana.

gambar
Mencari dan memeriksa ketersediaan penyimpanan S3 menggunakan s3scanner Utilitas

Bucket Stream mencari penyimpanan S3 yang rentan di sumber publik, misalnya, di Certificate Transparency dan majalah lainnya.

Utilitas AWSBucketDump mencantumkan file repositori yang namanya mengandung kata kunci spesifik:

gambar
Hasil utilitas AWSBucketDump

Menggunakan utilitas ini, dari Desember 2018 hingga Januari 2019 kami menemukan lebih dari 5200 penyimpanan S3 unik. Sekitar 4.400 di antaranya tersedia untuk utilitas baris perintah AWS standar. Hanya 79 dari mereka yang tersedia untuk membaca, dan 40 untuk menulis. Untuk mengakses bagian dari mereka, itu hanya perlu untuk menetapkan hak-hak yang diperlukan.

Bagaimana Akun Kebocoran


Hak akses ke sumber daya adalah sumber sakit kepala bagi pengembang. Dan dalam kasus cloud fund, masalahnya menjadi lebih akut. Proses harus diautentikasi untuk mendapatkan akses ke sumber daya, jika tidak ada risiko pencurian data atau kompromi. Seluruh pertanyaannya adalah bagaimana melakukan ini tanpa membahayakan data saat mempublikasikan kode dalam repositori, seperti yang dilakukan oleh penulis fragmen berikut di Pastebin:

gambar
Sebuah fragmen dari kode yang diterbitkan di Pastebin dengan ID dan kunci AWS API yang valid.

Menggunakan data ini, penyerang dapat memperoleh semua hak. yang disediakan oleh akun aplikasi ini.

Sumber lain kebocoran kredensial adalah sertifikat klien API Kubernetes. Di satu sisi, dalam konfigurasi default, sistem orkestrasi wadah ini memerlukan perlindungan wajib dalam bentuk sertifikat klien. Di sisi lain, pengembang dengan naif mengejutkan menerbitkan sertifikat bersama dengan kode pada GitHub, Pastebin dan layanan lainnya.

Hanya di Pastebin kami berhasil menemukan sekitar lima puluh sertifikat klien berbeda yang ditempatkan dengan skrip konfigurasi.

Jika menerbitkan sertifikat dalam teks yang jelas di mana pun adalah ide yang buruk, maka mempostingnya di GitHub hanya menjijikkan, karena:

  • Untuk menghapus sertifikat, Anda harus menghapusnya dari semua versi yang disimpan di repositori;
  • - , , ;
  • , , , .

Kunci dan sertifikat API yang dikompromikan dapat menjadi sumber kerusakan keuangan yang serius, seperti perusahaan Rusia berhutang $ 12.000 kepada Amazon untuk satu hari : itu meretas situs web di Bitrix, yang, antara lain, menunjukkan kunci API untuk akses ke penyimpanan S3.

gambar
Cuplikan layar dari panel penagihan perusahaan Rusia, kunci API curian yang digunakan untuk membuat banyak mesin virtual dan penambangan cryptocurrency. Sumber: habr.com/en/post/357764

Kebocoran data pelanggan bisa menjadi tidak kalah menyakitkan, seperti di Imperva pada 2019 . Imperva juga mencuri kunci API dan menggabungkan semua data klien.

Akun yang dicuri dapat digunakan oleh penjahat dunia maya untuk berdagang secara ilegal server AWS khusus, yang harus dibayar oleh pemilik sebenarnya. Di forum lolzteam, kami menemukan lebih dari 250 iklan yang menawarkan "pure zero Dedicos."

gambar
Pengumuman di forum lolzteam. Siapa yang akan membayar Amazon pada akhirnya?

Sumber ketiga kebocoran kunci API adalah berbagai kursus pelatihan untuk programmer.

Mencoba menjelaskan proses menghubungkan ke layanan AWS kepada pemula sesederhana mungkin, penulis meniru praktik buruk, yang di masa depan mengarah pada kasus kompromi baru dan baru.

gambar
Cuplikan dari kursus Python yang menjelaskan cara bekerja dengan layanan Amazon S3. Kunci ditawarkan ke hardcode ke dalam program

Para penulis kursus tentang bahasa Jawa yang progresif dan aman menunjukkan sikap yang ceroboh terhadap keamanan kunci API:

gambar
bahasanya berbeda, tetapi sarannya sama - kuncinya tepat dalam teks program.

Rekomendasi kami


Konfigurasi layanan cloud yang salah menimbulkan banyak risiko dari penggunaan ilegal sumber daya komputasi sewaan untuk penambangan cryptocurrency hingga pencurian data dan pengenalan skimmers online. Dalam hal ini, kami merekomendasikan agar personel keamanan menganalisis skenario penempatan awan untuk mengidentifikasi potensi kerentanan sebelum proses diselesaikan. Skrip validasi cloud seperti AWS CloudFormation memberikan wawasan tentang bagaimana infrastruktur yang dihasilkan akan bekerja, di mana mencari pengaturan atau log keamanan yang salah atau hilang. Di antara alat-alat keamanan yang dikembangkan oleh Trend Micro, ada produk yang ditujukan untuk melindungi lingkungan cloud - contoh Deep Security untuk Amazon EC2.Dan alat Cloud Conformity memungkinkan lingkungan cloud perusahaan untuk pengaturan yang tidak aman.

Untuk programmer yang menggunakan kunci AWS API untuk berinteraksi dengan repositori S3, kami sarankan beralih ke bekerja melalui AWS Secrets Manager, Docker Secrets, Blackbox, git-secrets dan alat serupa lainnya yang akan memungkinkan untuk menghindari kompromi dan penggunaan jahat kredensial yang disimpan bersama dengan aslinya. teks aplikasi.

All Articles