Logo Zephyrnet

Apa yang terjadi setelah Anda secara tidak sengaja membocorkan rahasia ke repositori kode publik

Tanggal:

Gambar profil penulis

@sialHarga Paul @ shhgit

Kami menemukan rahasia dalam kode Anda - sebelum orang jahat menemukannya.

Bagaimana kami menemukan rahasia dalam kode Anda sebelum orang jahat menemukannya.

Penafian: Saya adalah Pendiri dan CEO shhgit. Kami menemukan rahasia dalam kode Anda - sebelum orang jahat menemukannya.

Rahasia yang bocor secara tidak sengaja - nama pengguna dan kata sandi, token API, atau kunci pribadi - dalam repositori kode publik adalah mimpi terburuk pengembang dan tim keamanan. Penipu terus-menerus memindai repositori kode publik untuk mencari rahasia ini untuk mendapatkan pijakan ke dalam sistem. Kode lebih terhubung daripada sebelumnya, begitu sering rahasia ini memberikan akses ke data pribadi dan sensitif - infrastruktur cloud, server database, gateway pembayaran, dan sistem penyimpanan file untuk beberapa nama. Tapi apa yang terjadi setelah rahasia bocor? Dan apa potensi kejatuhannya?

Penipu menyusupi infrastruktur cloud kami dalam waktu kurang dari satu menit setelah membocorkan kunci AWS ke repositori GitHub publik

Satu hal yang pasti: kejatuhan bisa menjadi bencana besar dalam hal kerugian finansial dan kerusakan reputasi. Pelanggaran data Uber yang sekarang terkenal pada tahun 2016 adalah hasil dari seorang insinyur yang secara tidak sengaja mengunggah kredensial ke repositori GitHub publik. Kredensial ini memungkinkan pelaku kejahatan mengakses database backend dan informasi rahasia Uber. Pelanggaran ini akhirnya menghasilkan pemecahan rekor $ 148 juta denda - aduh.

Baru-baru ini, peretasan canggih terhadap raksasa perangkat lunak manajemen TI, SolarWinds, bisa jadi berasal kredensial server file terekspos di repositori GitHub teknisi. Serangan rantai pasokan ini dan dampaknya akan menjadi salah satu yang terbesar dalam sejarah, bergabung dengan orang-orang seperti WannaCry. Peretasan tersebut memengaruhi lebih dari 18,000 pelanggan SolarWinds termasuk berbagai agen federal AS dan raksasa teknologi seperti Microsoft dan FireEye. Ketika berita peretasan tersebut pecah, SolarWinds melihat kapitalisasi pasarnya dipotong setengah dan turun miliaran dolar setelah harga sahamnya turun di bawah level pra-IPO.

Untungnya, tajuk utama yang sangat sukses ini adalah pengecualian dan bukan aturannya. Kami dapat melihat laporan yang diungkapkan kepada publik tentang platform bug bounty seperti HackerOne untuk mengetahui seberapa sering rahasia ini ditemukan dan dilaporkan. Setidaknya oleh orang baik. Ketiga laporan dari tahun 2020 ini dapat dengan mudah menjadi tajuk utama halaman depan atau mengakibatkan denda peraturan yang besar - mereka beruntung.

  1. Grafik Departemen Pertahanan AS kredensial administratif terekspos dari server GitLab Enterprise mereka di GitHub, memungkinkan akses ke repositori kode pribadi mereka.
  2. Bukan untuk pertama kalinya, kredensial bocor di GitHub dari Equifax diizinkan untuk mengakses titik akhir API yang mengekspos informasi PII dari warga Kosta Rika.
  3. ShopifyKebocoran token CircleCI API di GitHub memungkinkan akses lebih lanjut ke repositori kode pribadi dan rahasianya di dalamnya.

Menemukan rahasia ini adalah apa yang kami lakukan. Shhgit menemukan lebih dari 165,000 rahasia single setiap hari di seluruh repositori GitHub, GitLab, dan Bitbucket publik. Lebih dari setengahnya valid dan aktif. Dan data kami menunjukkan bahwa ini adalah masalah yang terus meningkat yang sering kali luput dari perhatian. Anda bisa menangkap yang kecil
sekilas skala masalahnya di beranda kami:

Kode sebagai vektor serangan

Tapi apa yang terjadi segera setelah rahasia bocor? Untuk mengetahui, kami sengaja membocorkan kredensial Amazon AWS yang valid ke repositori GitHub publik. Kami memilih untuk membocorkan kunci AWS karena kami tahu bahwa kunci tersebut sangat dicari oleh penipu dengan segala macam motif yang berbeda - spionase, spamming, keuntungan finansial, atau pemerasan. Namun kami tidak begitu menyadari seberapa cepat hal itu akan terjadi…

Kami ingin membatasi kewajiban kami sebanyak mungkin, meskipun kami menggunakan akun AWS baru yang memuat kredit gratis. Kami pasti tidak ingin berakhir membayar tagihan yang sangat besar untuk percobaan ini. Alat Manajemen Biaya AWS memberi tahu Anda jika Anda melebihi anggaran yang ditetapkan, tetapi itu tidak akan menghentikan Anda untuk melewatinya. Agar aman, kami membuat skrip untuk secara otomatis menghancurkan semua instans EC2 baru (server) segera setelah penciptaan mereka. Ini memberi kami cukup waktu untuk menangkap server secara forensik dan menganalisis apa yang dilakukan peretas.

(15: 12 UTC) Pertama, kami membuat pengguna IAM baru dan melampirkan kebijakan baca S3 dan EC2 dasar. Ini berarti akun hanya akan memiliki izin untuk mengakses penyimpanan file kami dan menjalankan server cloud baru. Kami kemudian menerbitkan kunci rahasia AWS ke repositori GitHub baru.

(15: 16 UTC) Hanya empat menit kemudian kami menerima email dari tim AWS yang memberi tahu kami tentang kredensial yang terungkap - rapi!

Amazon secara otomatis mencabut kunci yang terbuka dengan menerapkan kebijakan khusus yang disebut Karantina Kunci Terkompromi AWS. Ini secara efektif mencegah pelaku jahat menggunakan kunci tersebut. Tapi itu agak membuat eksperimen kami tidak berguna jika kunci tidak dapat digunakan. Kami tahu ini akan terjadi sebelumnya, jadi kami membuat skrip sederhana untuk secara otomatis menghapus kebijakan karantina jika ditemukan (tip: jangan pernah lakukan ini). Sekarang kita tinggal menunggu penipu mengambil umpan.

(15: 17 UTC) Shhgit kebetulan memantau semua aktivitas pengguna yang membocorkan rahasia, jadi semenit kemudian kami menerima peringatan e-mail tentang kebocoran tersebut.

(15: 18 UTC) Semenit kemudian kami mendeteksi kesibukan pada kunci dari alamat IP yang berbasis di Belanda. Umpan intelijen ancaman mengaitkan alamat IP dengan spamming, eksploitasi host Windows, dan menjalankan node keluar TOR.

Batch pertama dari perintah membantu penyerang memahami tata letak tanah. Tak lama setelah aktor nakal itu berputar ke dua c6g.16xbesar Instans EC2 - Instans komputasi paling andal dari AWS. Tanpa terdeteksi, hal ini akan menghabiskan ribuan dolar sebulan. Ada tebakan tentang motif?

Penambangan kripto.

Kami menganalisis server setelahnya dan itu adalah instalasi dasar Ubuntu dengan XMRig diinstal yang digunakan untuk menambang $ XMR (Monero) - tidak ada yang terlalu menarik.

(15: 54 UTC) Tak lama kemudian, aktor lain dengan alamat IP tempat tinggal Israel menggunakan rahasia untuk mengakses bucket S3 kami (penyimpanan file) dan mengunduh seluruh kontennya (yang kami isi dengan data acak). Kami menjebak beberapa file dengan piksel pelacakan, tetapi sayangnya, tidak ada yang memicu.

Seorang penyerang yang menyalin file dari keranjang S3 kami memulai percakapan obrolan langsung melalui beranda shhgit.com (keranjang itu bernama shhgit) - cuplikan percakapan di bawah ini.

Pada akhirnya, ini berakhir dengan permintaan uang untuk membayar jasanya dalam menemukan 'bug'. Kami dengan sopan menolak tawarannya yang murah hati. Kami yakin ini bisa dengan cepat berubah menjadi upaya pemerasan jika file bernilai berapa pun.

Secara total, rahasia yang bocor digunakan untuk mengakses akun AWS sebanyak 13 kali selama periode 24 jam. 4 dari penyerang melakukan tindakan serupa di atas. 9 sisanya tampaknya hanya diverifikasi jika kredensial valid (yaitu, periksa apakah mereka bisa login). Kami menganggap akan ditinjau secara manual nanti atau dijual di forum darknet.

6 menit untuk berkompromi

Hanya perlu 6 menit bagi aktor jahat untuk menemukan kredensial yang bocor di GitHub dan menyusupi akun AWS kami. Jadi mengapa kami mengatakan 'dalam waktu kurang dari satu menit' di awal postingan? Serangan seperti ini dimungkinkan oleh umpan "waktu nyata" GitHub. Setiap garpu, kode komit, komentar, masalah, dan permintaan penarikan dimasukkan ke dalam aliran acara publik. Aktor jahat menonton streaming ini untuk mengidentifikasi kode baru dan memindai rahasia. GitHub menunda feed selama 5 menit - mungkin karena alasan keamanan - membuat file paling awal kemungkinan saat aktor jahat bisa menangkap rahasianya 15:17 UTC, 5 menit setelah melakukannya.

Penyimpanan Tujuan rahasia, rahasia

Penipu adalah memindai repositori kode publik untuk mencari rahasia Anda. Mereka mengandalkan Anda, atau tim Anda, atau pemasok Anda, atau kontraktor Anda, untuk mengacaukan dan memanfaatkannya sepenuhnya. Seperti semua kontrol keamanan, pendekatan mendalam pertahanan selalu paling baik, jadi pertimbangkan untuk menerapkan yang berikut:

  1. Jangan masukkan rahasia Anda ke dalam kode sejak awal. Solusi manajemen rahasia seperti Vault HashiCorp dapat membantu Anda di sini - pikirkan variabel lingkungan yang bersilangan dengan pengelola kata sandi Anda di pipeline CI / CD Anda. Sementara Amazon menangkap dan mencabut kunci AWS kami segera setelahnya
  2. Meskipun Amazon menangkap dan mencabut kunci AWS kami segera setelah dilakukan, ini tidak berlaku untuk semua jenis rahasia (misalnya, string koneksi database) atau platform (misalnya, GitLab dan Bitbucket). Perkuat strategi DevSecOps Anda dengan deteksi rahasia otomatis untuk memberi tahu Anda jika omong kosong mengenai penggemar. Kami kebetulan sangat bagus dalam hal itu.
  3. Dapatkan visibilitas kode Anda dan pahami di mana letaknya dan cara pengamanannya. Ini terutama benar jika Anda memiliki tim atau kontraktor besar yang didistribusikan ke banyak sistem. Langkah pertama yang baik adalah memantau aliran GitHub, GitLab, dan Bitbucket publik. Kami juga sangat ahli dalam hal itu.
  4. Terapkan prinsip hak istimewa paling rendah di seluruh rahasia Anda. Beri mereka izin yang diperlukan untuk menjalankan fungsi spesifik mereka dan pastikan mereka hanya berlaku sesingkat mungkin. Terapkan model tanpa kepercayaan dan rencanakan yang lebih buruk dengan mengambil posisi yang dirahasiakan akan dilanggar. Ini akan sangat mengurangi dampak jika ada rahasia yang bocor.

Sebelumnya diterbitkan di https://www.shhgit.com/blog/keep-it-secret-keep-it-safe/

Tag

Bergabunglah dengan Hacker Noon

Buat akun gratis Anda untuk membuka pengalaman membaca kustom Anda.

Sumber: https://hackernoon.com/keep-it-secret-keep-it-safe-how-we-find-secrets-in-your-code-before-the-bad-guys-do-yz5t336a?source= rss

tempat_img

Kafe VC

LifeSciVC

Intelijen Terbaru

Kafe VC

LifeSciVC

tempat_img