Kebocoran informasi rahasia ditemukan di 100.000 repositori di GitHub


Metodologi untuk mengumpulkan rahasia mencakup berbagai fase, yang pada akhirnya memungkinkan identifikasi informasi sensitif dengan tingkat kepercayaan yang tinggi. Ilustrasi dari karya ilmiah

GitHub dan platform serupa untuk penerbitan open source saat ini telah menjadi alat standar untuk pengembang. Namun, masalah muncul jika kode sumber terbuka ini berfungsi dengan token otentikasi, kunci API pribadi, dan kunci kriptografi pribadi. Untuk memastikan keamanan, data ini harus dirahasiakan. Sayangnya, banyak pengembang menambahkan informasi sensitif ke kode, yang sering menyebabkan kebocoran informasi yang tidak disengaja.

Sebuah tim peneliti dari University of North Carolina melakukan studi skala besar kebocoran data rahasia di GitHub. Mereka memindai milyaran file, yang dikumpulkan dengan dua metode komplementer:

  • Hampir enam bulan publik, GitHub melakukan scan secara real time
  • potret repositori publik yang mencakup 13% dari semua repositori di GitHub, totalnya sekitar 4 juta repositori.

Kesimpulannya mengecewakan. Para ilmuwan tidak hanya menemukan bahwa kebocoran tersebar luas dan memengaruhi lebih dari 100.000 repositori. Lebih buruk lagi, ribuan "rahasia" baru dan unik mengunjungi GitHub setiap hari.

Tabel ini mencantumkan API layanan populer dan risiko yang terkait dengan kebocoran informasi ini.



Statistik umum tentang objek rahasia yang ditemukan menunjukkan bahwa kunci Google API yang paling sering masuk ke domain publik. Kunci pribadi RSA dan pengidentifikasi Google OAuth juga umum. Biasanya, sebagian besar kebocoran terjadi melalui repositori pemilik tunggal.

RahasiaTotalUnik%, satu pemilik
Kunci API Google212 89285 31195,10%
Kunci Rahasia RSA158 01137.78190,42%
ID Google OAuth106 90947.81496,67%
Kunci pribadi biasa30.28612.57688,99%
ID Kunci Akses Amazon AWS26 395464891,57%
Token akses Twitter20.760795394,83%
EC kunci pribadi7838158474,67%
Token akses Facebook6367171597,35%
Kunci Pribadi PGP209168482,58%
Kunci API MailGun186874294,25%
Kunci API MailChimp87148492,51%
Stripe Standard API Key54221391,87%
Kunci API Twilio3205090,00%
Token Akses Persegi1216196,67%
Alun-Alun Rahasia281994,74%
Amazon MWS Auth Token2813100,00%
Token Akses Braintree24887,50%
Kunci API Picatic54100,00%
Total575.456201 64293,58%

Pemantauan real-time dari commit memungkinkan untuk menentukan seberapa banyak informasi sensitif dihapus dari repositori segera setelah sampai di sana. Ternyata pada hari pertama sedikit lebih dari 10% rahasia dihapus, dan pada hari-hari berikutnya beberapa persen, namun, lebih dari 80% informasi pribadi tetap berada di repositori dua minggu setelah penambahan, dan proporsi ini praktis tidak berkurang pada hari berikutnya.

Di antara kebocoran yang paling menonjol adalah akun AWS dari agen pemerintah di salah satu negara Eropa Timur, serta 7.280 kunci RSA pribadi untuk mengakses ribuan VPN pribadi.

Studi ini menunjukkan bahwa seorang penyerang, bahkan dengan sumber daya minimal, dapat membahayakan banyak pengguna GitHub dan menemukan satu ton kunci pribadi. Para penulis mencatat bahwa banyak metode perlindungan yang ada tidak efektif terhadap pengumpulan informasi rahasia. Misalnya, alat seperti TruffleHog hanya menunjukkan efisiensi 25%. Batas GitHub bawaan pada jumlah permintaan API juga mudah dilewati.

Namun, banyak rahasia yang ditemukan memiliki pola yang jelas yang membuatnya mudah
pencarian mereka. Adalah logis untuk mengasumsikan bahwa pola yang sama ini dapat digunakan untuk memantau kebocoran informasi rahasia dan memperingatkan pengembang. Mungkin, mekanisme seperti itu harus diimplementasikan di sisi server, yaitu di GitHub. Suatu layanan dapat mengeluarkan hak peringatan selama komit.

GitHub baru-baru ini mengimplementasikan pemindaian token versi beta (fungsi Pemindaian Token ), yang memindai repositori, mencari token, dan memberi tahu penyedia layanan tentang kebocoran informasi. Pada gilirannya, vendor dapat membatalkan kunci ini. Para penulis percaya bahwa berkat penelitian mereka, GitHub dapat meningkatkan fitur ini dan memperluas jumlah vendor.

Source: https://habr.com/ru/post/id445038/


All Articles