Seseorang memegang kunci

Deteksi rahasia dengan AI: Panduan untuk pengembang

Definisi deteksi rahasia

Deteksi rahasia adalah proses menemukan dan menandai data sensitif yang dikenal sebagai “rahasia” di berbagai basis kode atau lokasi lain dalam lingkungan pengembangan perangkat lunak. Lapisan pertahanan otomatis ini membantu memastikan bahwa tidak ada informasi sensitif yang di-hardcode atau dimasukkan ke dalam kode sumber dalam bentuk yang mudah dibaca atau tidak dienkripsi.

Deteksi rahasia merupakan bagian dari pendekatan “shift left” yang menggerakkan keamanan lebih awal dalam proses pengembangan. Rahasia dapat menyebar di luar kode, sehingga meningkatkan risiko paparan terhadap insiden keamanan. Perlindungan otomatis melalui deteksi rahasia dapat membantu mengamankan alur kerja pengembang dalam skala besar.

Apa itu rahasia?

Dalam keamanan aplikasi (application security, AppSec), rahasia adalah potongan informasi digital yang memberikan akses ke pengguna manusia atau identitas non-manusia seperti aplikasi, perangkat, atau beban kerja dan memungkinkan mereka untuk berkomunikasi atau melakukan tindakan. Karena sifatnya yang sensitif, rahasia harus dijaga kerahasiaannya.

Berikut adalah beberapa jenis rahasia yang umum:

  • Data biometrik mencakup ciri-ciri fisik dan perilaku yang melekat pada seseorang—seperti fitur wajah, sidik jari, suara, atau bahkan gaya berjalan mereka—yang dapat digunakan untuk memverifikasi identitas mereka.

  • Sertifikat digital dan kunci pribadi yang relevan digunakan untuk mengautentikasi titik akhir dan membangun saluran komunikasi yang aman.

  • Kredensial penyedia cloud dapat digunakan untuk mengakses platform komputasi cloud seperti AWS, Azure, Google Cloud, dan IBM Cloud.

  • String koneksi adalah serangkaian teks yang berisi instruksi untuk terhubung dengan sumber data.

  • Kredensial database adalah kombinasi nama pengguna dan kata sandi untuk mengakses database.

  • Kunci enkripsi dan kunci kriptografi lainnya digunakan untuk menandatangani dan mengenkripsi atau mendekripsi data.

  • Kredensial akun layanan memungkinkan aplikasi dan alur kerja otomatis mengakses dan berinteraksi dengan sistem operasi.

  • Kunci SSH (Secure Shell) digunakan untuk mengautentikasi entitas yang mengakses server dan infrastruktur lainnya.

  • Kombinasi nama pengguna dan kata sandi terdiri dari serangkaian karakter yang mengautentikasi akses pengguna ke sistem.

Mengapa deteksi rahasia penting?

Rahasia adalah target utama bagi para aktor ancaman. Mereka dapat menggunakan bot untuk memanen token yang terekspos, kredensial yang bocor, atau kesalahan konfigurasi di lingkungan cloud native. Penyerang mengeksploitasi rahasia ini untuk mendapatkan akses tidak sah ke aplikasi dan sistem. Karena akses diperoleh melalui kredensial yang sah, hal ini bisa lebih sulit deteksi dan dapat luput dari perhatian dalam jangka waktu yang lama.

Hal ini menjadikan deteksi rahasia sebagai komponen penting dari strategi keamanan siber perusahaan. Mendeteksi rahasia membantu organisasi:

  • Menghindari pembajakan akun dan eskalasi hak istimewa: Peretas dapat menggunakan kredensial yang bocor untuk meningkatkan hak istimewa mereka. Berbekal hak istimewa yang lebih tinggi, mereka dapat mengubah pengaturan sistem, mengganggu server dan infrastruktur, menjalankan perintah, menginstal malware, atau mengambil kendali atas aset.

  • Mencegah pelanggaran data: Pihak yang berniat jahat dapat mengeksploitasi rahasia yang terekspos untuk mencuri informasi pribadi yang sensitif atau data rahasia perusahaan. Pelanggaran data ini dapat menimbulkan kerugian secara finansial, menurunkan kepercayaan pelanggan, dan merusak reputasi.

  • Mengurangi kerentanan: Rahasia yang terekspos adalah pintu yang terbuka. Dengan menemukannya, perusahaan dapat secara proaktif menghapus kerentanan ini, sehingga menutup peluang keberhasilan serangan siber.

Cara kerja deteksi rahasia

Prosesnya dimulai dengan pemindaian rahasia, di mana alat deteksi rahasia menjelajahi repositori kode (juga disebut repo) dan sumber daya terkait untuk menemukan rahasia yang terekspos. Alat ini kemudian menghasilkan peringatan atau laporan untuk setiap rahasia yang teridentifikasi, termasuk jenis rahasia dan lokasinya. Tim pengembangan dan tim keamanan dapat memanfaatkan peringatan atau laporan ini untuk membuat langkah-langkah perbaikan, seperti memindahkan rahasia ke solusi manajemen rahasia. Solusi ini membantu mengotomatiskan, memusatkan, dan merampingkan proses pembuatan, penggunaan, rotasi, dan perlindungan rahasia.


Deteksi rahasia membutuhkan gabungan beberapa metode untuk mengidentifikasi rahasia secara akurat di berbagai repositori:

  • Pencocokan pola

  • Pemindaian kamus

  • Analisis entropi

Pencocokan pola

Algoritma pencocokan pola mencari string yang cocok dengan format standar rahasia. Algoritma ini juga menggunakan ekspresi reguler, yang merupakan pola pencarian yang terdiri dari urutan karakter.

Metode ini umumnya efektif untuk rahasia yang mengikuti bentuk yang telah ditentukan, seperti token akses untuk layanan cloud atau kunci API. Namun, pemindaian rahasia yang menggunakan ekspresi reguler (juga dikenal sebagai regex) bisa jadi lambat, dan rahasia yang memiliki susunan acak bisa tidak terdeteksi.

Pemindaian kamus

Dalam deteksi rahasia, kamus adalah sumber data yang berisi rahasia yang diketahui. Kamus ini dapat digunakan sebagai referensi saat mencari rahasia.

Pemindaian kamus membantu menentukan apakah suatu rahasia masih berlaku atau tidak. Namun, metode ini mungkin tidak dapat mendeteksi rahasia yang tidak tercantum dalam kamus.

Analisis entropi

Entropi mengukur keacakan atau ketidakpastian data. Makin tinggi entropi, makin acak data dan makin sulit untuk diprediksi. Oleh karena itu, analisis entropi mengevaluasi urutan karakter untuk menemukan atribut keacakan.

Metode ini membantu mengungkap potensi rahasia yang tidak mematuhi pola yang diketahui, seperti kunci enkripsi. Metode ini juga dapat mengungkap rahasia baru atau rahasia entropi tinggi.

Alat pendeteksi rahasia

Banyak sekali pilihan untuk sistem deteksi rahasia. Saat memilih solusi yang tepat, perusahaan harus mempertimbangkan seberapa akurat solusi, kedalaman dan luas kemampuan deteksinya, skalabilitasnya di berbagai basis kode besar dan siklus proses pengembangan perangkat lunak (software development lifecycle, SDLC), dan apakah solusi tersebut kompatibel dan terintegrasi secara mulus dengan tumpukan teknologi dan alur kerja pengembangan perangkat lunak mereka.

Berikut adalah beberapa alat deteksi rahasia yang populer:

GitLab secret detection

GitLab menggunakan penganalisis untuk deteksi rahasia yang khusus bagi lingkungan GitLab. Fitur-fitur yang ditawarkannya meliputi:

  • Perlindungan push rahasia memantau perubahan sebelum dikirim ke GitLab dan memblokir pengiriman jika rahasia ditemukan.

  • Deteksi rahasia pipeline berjalan sebagai komponen pipeline CI/CD, dengan memeriksa permintaan penggabungan dan komit ke cabang default repo.

  • Deteksi rahasia sisi klien memeriksa komentar dan deskripsi dalam masalah dan permintaan penggabungan.

GitLab dapat secara otomatis merespons jenis rahasia tertentu yang bocor dengan mencabutnya. Untuk tingkatan akun tertentu, fitur deteksi positif palsu GitLab Duo menilai rahasia yang diidentifikasi untuk menentukan potensi positif palsu.

Gitleaks

GitLeaks adalah alat sumber terbuka untuk mendeteksi rahasia di repositori, direktori, file Git, dan input standar lainnya. Mesin deteksinya didasarkan pada gabungan pencocokan pola melalui regex dan analisis entropi.

Organisasi dapat membuat kumpulan aturan khusus untuk rahasia mereka sendiri. Mereka juga dapat menjalankan GitLeaks sebagai hook pra-komit untuk menemukan rahasia dalam kode sumber sebelum masuk ke repositori.

HashiCorp Vault Radar

Vault Radar adalah produk deteksi rahasia dari HashiCorp. Solusi ini melakukan pemindaian real-time terus menerus untuk menemukan rahasia dan bahkan informasi identifikasi pribadi (personally identifiable information, PII), dengan mengategorikan dan memberi peringkat pada dasbor untuk membantu upaya remediasi.

Pemindaian juga dilakukan untuk setiap komit kode, permintaan pull, dan saat menambahkan sumber data. Sumber data yang didukung termasuk repositori dan platform seperti Azure DevOps, Bitbucket, GitHub, dan GitLab, serta platform kolaborasi seperti Confluence, Jira, dan Slack.

Vault Radar menyediakan panduan remediasi bawaan untuk akun perusahaan tertentu. Rahasia yang terekspos juga dapat disalin ke Vault, platform manajemen rahasia HashiCorp, sebagai bagian dari proses remediasi.

 
AI untuk deteksi rahasia

Kecerdasan buatan dapat meningkatkan akurasi dan efisiensi alat deteksi rahasia, yang sebagian besar menghasilkan tingkat positif palsu yang tinggi. Model AI dapat dilatih untuk mengenali karakteristik yang sesuai dengan berbagai jenis rahasia yang lebih luas, menjadikannya lebih dinamis daripada solusi berbasis aturan.

Keuntungan mendeteksi rahasia dengan AI

Tim pengembangan yang menerapkan AI untuk deteksi rahasia dapat memperoleh manfaat berikut:

  • Kesadaran konteks: Model AI dapat mempelajari konteks seputar rahasia, termasuk komentar kode, struktur kode sumber, dan nama variabel. Analisis semantik dan kontekstual ini memungkinkan model untuk membedakan dengan lebih baik antara rahasia yang sebenarnya dan data sampel atau nilai uji. Dengan demikian, kesadaran konteks dapat membantu menaikkan tingkat positif benar dan menurunkan tingkat positif palsu.

  • Deteksi real time: Beberapa alat deteksi rahasia berteknologi AI terintegrasi mulus dengan IDE untuk menandai rahasia yang di-hardcode saat pengembang menulis kode dan menemukan rahasia yang terekspos sebelum dikomit atau dikirim ke repositori.

  • Prioritas dan remediasi otomatis: Deteksi rahasia berteknologi AI dapat mengotomatiskan pemrioritasan rahasia yang telah ditandai dengan menetapkan skor risiko berdasarkan faktor-faktor seperti eksploitabilitas, dampak, lokasi, dan tingkat keparahan. Solusi ini juga dapat menyarankan perbaikan, misalnya mengganti rahasia yang terekspos dengan panggilan ke platform manajemen rahasia.

Teknik deteksi rahasia berbasis AI

Penerapan AI untuk deteksi rahasia membutuhkan sejumlah teknik:

  • Pembelajaran ensambel: Pembelajaran ensambel menggabungkan beberapa pengklasifikasi untuk meningkatkan akurasi prediksi.

Alat deteksi rahasia berteknologi AI

Perpaduan strategi konvensional dan berbasis AI dapat memperkuat proses deteksi rahasia. Pencocokan pola dan analisis entropi dapat digunakan untuk mencari rahasia, sementara metodologi berbasis AI memvalidasi rahasia yang ditemukan untuk menghilangkan positif palsu.

Berikut adalah beberapa contoh solusi deteksi rahasia yang menggunakan AI:

GitGuardian

Platform keamanan kode GitGuardian memindai repositori Git, pipeline CI/CD, gambar Docker, serta sistem kolaborasi seperti Confluence, Jira, dan Slack. Pengembang dapat mengatur hook pra-komit dan mengintegrasikan pemindaian ke IDE atau menggunakan aplikasi antarmuka baris perintah GitGuardian.

Mesin deteksi rahasia GitGuardian terdiri dari dua jenis detektor pencocokan pola: detektor khusus untuk menemukan jenis rahasia tertentu, yang menghasilkan recall dan presisi tinggi, dan detektor umum untuk menemukan hal yang mungkin terlewatkan oleh detektor khusus. Berbagai model machine learning juga menambahkan fungsionalitas yang berharga, antara lain filter atas rahasia yang berpotensi menjadi positif palsu dan evaluasi konteks di sekitar rahasia umum untuk menetapkan kategori dan penyedia yang sesuai.

Fitur lain yang didukung machine learning termasuk pengelompokan insiden serupa yang mengelompokkan rahasia yang memiliki kesamaan kontekstual, serta penilaian risiko yang menggunakan XGBoost (eXtreme Gradient Boosting), yakni gabungan beberapa pohon keputusan yang belajar dari kesalahan satu sama lain, untuk memeringkat rahasia berdasarkan beberapa sinyal risiko.

GitHub Secret Protection

GitHub Secret Protection adalah sistem pemindaian rahasia milik GitHub sendiri. Solusi ini meneliti seluruh riwayat Git di semua cabang repositori serta deskripsi dan komentar dalam masalah dan permintaan pull.

Fungsi perlindungan push sistem memindai setiap push secara real time, serta memblokir komit yang berisi rahasia. Solusi ini dapat melakukan pemeriksaan validitas secara otomatis untuk memverifikasi apakah rahasia yang ditemukan aktif dan terekspos secara publik.

GitHub Secret Protection juga menggunakan GitHub Copilot untuk deteksi rahasia tidak terstruktur yang dikomit ke dalam repositori.

IBM Bob

Bob adalah asisten pengodean AI dari IBM yang dirancang untuk mendukung penulisan kode sumber, debugging, pemfaktoran ulang, tinjauan kode, dan dokumentasi. Solusi ini dapat menemukan kerentanan keamanan dalam kode, dan ditambah dengan kemampuan deteksi rahasia bawaan, Bob dapat memfasilitasi dan mendorong pengodean aman.

Bob dapat diprogram agar masuk dalam mode agen khusus yang mencari rahasia yang di-hardcode, menjelaskan risiko keamanan, dan merekomendasikan tindakan untuk mengamankan rahasia. Bob dapat menggantikan rahasia dengan referensi ke platform manajemen rahasia seperti Vault dari HashiCorp dan mengirim rahasia yang di-hardcode ke Vault menggunakan Model Context Protocol (MCP).

Akademi AI

Menjadi pakar AI

Raih pengetahuan demi memprioritaskan investasi AI yang mendorong pertumbuhan bisnis. Mulai dengan Akademi AI gratis kami hari ini dan pimpin masa depan AI di organisasi Anda.

Praktik terbaik deteksi rahasia

Deteksi rahasia dapat meningkatkan postur keamanan perusahaan. Solusi ini sangat efektif jika diintegrasikan dalam fase pengembangan, penerapan, dan pemeliharaan SDLC.

Berikut adalah beberapa praktik terbaik yang dapat dipertimbangkan oleh tim pengembangan saat menerapkan deteksi rahasia:

  • Tentukan rahasia yang paling penting

  • Jangan hanya fokus pada sumber terkait kode

  • Sematkan deteksi rahasia ke pipeline CI/CD

  • Lakukan triase dan perbaikan

  • Latih tim pengembangan dan DevOps

Tentukan rahasia yang paling penting

Bisnis dapat memulai dengan menentukan apa yang merupakan rahasia bagi mereka dan menyortir rahasia ini berdasarkan tingkat kepentingannya sebagai dasar bagi proses remediasi. Mereka juga harus mengaudit seluruh rantai pasokan perangkat lunak untuk memetakan tingkat paparan rahasia.

Jangan hanya fokus pada sumber terkait kode

Rahasia dapat menyebar di luar sumber terkait kode. Ini berarti deteksi juga harus mempertimbangkan kemungkinan sumber paparan rahasia lainnya, seperti:

  • File konfigurasi

  • Basis Data

  • Dokumentasi

  • Log

Sematkan deteksi rahasia ke pipeline CI/CD

Tim DevOps dapat menerapkan hook pra-komit yang menjadikan pemindaian rahasia sebagai langkah wajib sebelum pengembang mengkomit kode atau memulai permintaan pull dan memblokir perubahan yang berisi rahasia yang di-hardcode. Mereka juga harus memastikan bahwa alat mampu untuk terus memindai artefak, log build, dan variabel lingkungan untuk menemukan rahasia apa pun yang terekspos sebelum mencapai tahap pemrosesan dan lingkungan produksi.

Lakukan triase dan perbaikan

Perusahaan harus menetapkan kebijakan tentang cara mengatur prioritas dan memperbaiki rahasia yang terekspos. Kebijakan triase dapat mencakup penilaian risiko keamanan yang ditimbulkan oleh berbagai jenis rahasia dan tim mana yang bertanggung jawab untuk melaksanakan triase.

Kebijakan remediasi harus secara jelas menguraikan tindakan yang perlu diambil, baik itu mencabut atau merotasi rahasia maupun menggantinya dengan panggilan ke platform manajemen rahasia. Mengotomatiskan perbaikan ini dapat menghemat waktu dan menghasilkan respons yang cepat. Akan tetapi, perbaikan harus diuji untuk memastikan bahwa rahasia tidak dapat lagi dideteksi.

 
Latih tim pengembangan dan DevOps

Organisasi harus menyertakan deteksi rahasia sebagai bagian dari pelatihan pengodean aman bagi tim pengembangan atau DevOps. Tim harus memahami bahaya rahasia yang di-hardcode atau terekspos, hal yang dapat mereka lakukan untuk membatasi bahaya tersebut, dan cara menggunakan alat yang diperlukan untuk deteksi rahasia.

Penyusun

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Solusi terkait
IBM Bob

Percepat pengiriman perangkat lunak dengan Bob, mitra AI Anda untuk pengembangan yang aman dan memahami maksud.

Jelajahi IBM® Bob
Solusi pengodean AI

Optimalkan upaya pengembangan perangkat lunak dengan alat berbasis AI tepercaya yang meminimalkan waktu yang dihabiskan untuk menulis kode, debugging, pemfaktoran ulang kode, atau penyelesaian kode dan membuat lebih banyak ruang untuk inovasi.

Jelajahi solusi pengodean AI
Konsultasi dan layanan AI

Ciptakan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara waktu nyata, dan nilai bisnis.

Jelajahi layanan konsultasi AI
Ambil langkah selanjutnya

Manfaatkan AI generatif dan otomatisasi canggih untuk membuat kode perusahaan siap pakai lebih cepat. Model Bob untuk menambah keahlian pengembang, menyederhanakan dan mengotomatiskan upaya pengembangan dan modernisasi Anda.

  1. Jelajahi IBM Bob
  2. Jelajahi solusi pengodean AI