
Saat mengembangkan produk perangkat lunak atau layanan SaaS berbasis cloud, cukup sulit untuk melacak aktivitas pihak ketiga dari semua spesialis yang terlibat dalam proses pengembangan. Cukup buka Github, masukkan “<company_domain_name.com> pass” dalam pencarian, dan evaluasi hasilnya. Jika Github tiba-tiba menunjukkan sesuatu yang menarik dalam pengirimannya, maka kami akan mempertimbangkan skenario yang dapat membantu penyerang mengganggu proses bisnis perusahaan Anda. Dan jika Github masih diam, maka kami akan mempertimbangkan opsi alternatif untuk menyerang siklus pengembangan produk, di mana tidak hanya pengembang, tetapi bahkan insinyur Keamanan, dapat menjadi titik masuk ke infrastruktur.
Github scrapping
Dengan kueri penelusuran yang tepat, Anda dapat menemukan semua jenis fragmen kode yang berisi kredensial untuk terhubung ke infrastruktur perusahaan, yang digunakan oleh pengembang dan insinyur QA. Namun, bukan hanya Github yang bisa diperiksa rahasia. Teknik mempelajari repositori publik untuk rahasia (data akun, kunci pribadi, dll.) Memungkinkan Anda untuk membuka akses ke tempat-tempat menarik dalam aplikasi bahkan sebelum analisis keamanan langsungnya dimulai.
Mengingat fakta bahwa banyak perusahaan produk IT dari tingkat kematangan yang sama sekali berbeda (dari startup ke bisnis perusahaan) melibatkan berbagai kontraktor dalam siklus pengembangan mereka, kemungkinan kebocoran data berharga ke repositori publik semakin meningkat. Setiap ahli yang terlibat dalam siklus pengembangan membawa risiko tertentu untuk produk.
Jadi, misalnya, dalam proses mencari fragmen kode sumber yang berisi domain produk SaaS, fragmen tes otomatis yang berisi kredensial istimewa untuk menghubungkan ke platform dapat ditemukan. Dan untuk memastikan bahwa contoh ini tidak hipotetis, tetapi cukup nyata, buka saja Techcrunch, cari nama beberapa perusahaan yang menyediakan produk SaaS dan cari domainnya di github.
Kami membuka berita tentang startup, melihat banyak dompet blockchain dan platform blockchain, pilih startup apa pun dengan nama mewah dan cari domainnya di github. Kami bertemu banyak rahasia di berbagai skrip untuk menghubungkan ke platform.
Pencarian di Github untuk pertanyaan yang tepat membuka banyak skrip menarik dengan rahasiaPaling sering, rahasia ditemukan di repositori berikut:
- kode pengujian otomatis yang didukung oleh teknisi QA untuk repositori publik pribadi mereka;
- repositori organisasi kontraktor yang bertanggung jawab untuk mengintegrasikan pelanggan dengan produk;
- Gudang pribadi pengembang yang membuat cadangan alat internal mereka;
- skrip instalasi produk dan file microservice kerangka yang digunakan oleh kontraktor yang bertanggung jawab untuk menginstal dan memelihara produk (operasi).
Contoh rahasia yang tersisa di kode: kunci pribadi untuk terhubung ke platform SaaSContoh rahasia untuk membantu penyerang berkompromi dengan produk atau penggunanya:
- kredensial koneksi (contoh permintaan pencarian: "product_name + pass", "domain_name + login");
- kunci dan sertifikat pribadi (contoh permintaan pencarian: "domain_name + private").
Rahasia Insinyur Keamanan
Seseorang dari pakar Keamanan sekarang berseru: "Tetapi jika pengembang menggunakan Hashicorp Vault, maka masalah ini tidak akan terjadi!" Ya, dalam kondisi tertentu, solusi seperti itu untuk manajemen rahasia efektif. Namun, terkadang, bahkan profesional keamanan membuat kesalahan.
Ambil solusi komersial teratas untuk analisis kode statis untuk kerentanan (SAST). Di antara yang teratas ini, kemungkinan ada produk besar dan mahal yang mewakili platform lengkap untuk integrasi ke dalam proses pengembangan CI / CD dan memiliki API untuk skrip otomatisasi pihak ketiga.
SonarQube adalah contoh platform analisis kualitas dan keamanan kode. Popularitasnya ditunjukkan oleh jumlah instalasi yang dapat ditemukan di Shodan dengan satu permintaan:
port: 9000 sonarqube
Geografi instalasi yang tersedia dari platform SonarQube
Jumlah instalasi SonarQube menurut negaraJika Anda melihat Github untuk mencari rahasia yang terkait dengan SonarQube, Anda dapat menemukan skrip kecil yang digunakan untuk menghubungkan dan mengontrol pemindaian.
Skrip yang (mungkin) berisi rahasia untuk terhubung ke platformJika Anda melihat dokumentasi resmi SonarQube, Anda dapat menemukan deskripsi format untuk meluncurkan tugas dari CLI. Secara khusus, salah satu kunci bertanggung jawab untuk mentransmisikan data tentang akun atas nama perintah yang akan dieksekusi.
Kunci yang bertanggung jawab untuk mentransfer informasi akun di platformDengan menggunakan informasi ini, Anda bisa mendapatkan hasil pencarian yang lebih relevan. Pencarian yang mengandung "sonar + login" atau "sonar + kata sandi" memungkinkan Anda menemukan skrip otomatisasi yang digunakan tidak hanya oleh pengembang, tetapi juga secara langsung oleh perintah keamanan.
Kami membaca dokumentasi, membuat permintaan baru, menerima masalah yang lebih relevanOtomasi Pencarian Rahasia
Anda dapat mencari kebocoran rahasia di repositori resmi perusahaan, atau di repositori tidak resmi karyawan atau kontraktornya (dan mungkin pengguna). Proses menemukan rahasia di Github atau di repositori lain dapat diilustrasikan sebagai berikut:
Proses Pencarian RahasiaUntuk mengotomatiskan tindakan ini, ada banyak utilitas dan skrip, sehingga disarankan untuk tidak menemukan kembali roda. Misalnya, Anda dapat mengambil alat berikut:
- gitGrabber (https://github.com/hisxo/gitGraber) - memungkinkan pemantauan real-time Github dan layanan lainnya untuk rahasia. Cocok untuk tugas memantau tampilan rahasia untuk permintaan pencarian yang diberikan.
- gitLeaks (https://github.com/zricethezav/gitleaks) - alat untuk memantau repositori spesifik untuk kebocoran rahasia. Sangat bagus untuk melakukan tugas-tugas pemantauan repositori resmi perusahaan.
Menggunakan utilitas ini bersama-sama dengan pertanyaan yang relevan untuk keperluan mereka akan memungkinkan Anda untuk mengatur sistem untuk memantau kebocoran rahasia ke repositori publik. Pada saat yang sama, seperti yang dicatat oleh rekan AppSec dalam komentar di
Twitter , untuk menjaga kerahasiaan, Anda perlu menerapkan dan menggunakan solusi manajemen rahasia. Misalnya, Hashicorp Vault, yang didedikasikan untuk
materi terpisah.
Penguji, pencarian sukses! Untuk pengembang, komit aman!