Bisakah kecerdasan buatan memberi tahu Anda tentang kerentanan suatu program? Mungkin, tetapi Anda mungkin tidak ingin menaruh semua kepercayaan Anda pada apa yang dikatakannya.
Pengujian penetrasi adalah pengujian keamanan yang melibatkan penggunaan kerentanan untuk menemukan kerentanan lain dalam sistem dan mengeksekusi kode berbahaya. Tes ini sangat penting untuk melindungi dari penambangan data dan mencegah eksploitasi keamanan.
Tes penetrasi mencakup beberapa teknik yang digunakan untuk menguji keamanan jaringan. Teknik ini termasuk pemindaian jaringan, firewall, sistem pengawasan keamanan, dan kecerdasan buatan. Kecerdasan buatan dapat menganalisis uji keamanan menggunakan teknologi yang dikembangkan untuk mengungkap kerentanan jaringan.
AI memungkinkan Anda mencapai hasil yang lebih komprehensif dan efektif dengan algoritme khusus yang dirancang untuk digunakan dalam uji penetrasi dan uji keamanan yang dijalankan secara otomatis.
Manfaat Menggunakan AI untuk Pengujian Penetrasi
Saat ini, perkembangan teknologi yang pesat dan kebutuhan keamanan pengguna yang terus meningkat telah mengungkapkan perlunya penggunaan teknologi AI dalam pengujian keamanan. Menggunakan AI untuk meningkatkan keamanan memberikan hasil yang jauh lebih cepat dan lebih efisien, menghilangkan kebutuhan akan tenaga kerja yang menghabiskan waktu untuk melakukan pengujian keamanan yang sering disesuaikan dan kompleks. AI membantu mendeteksi kerentanan sesegera mungkin. Itu juga dapat melakukan tes keamanan yang unik dan kompleks, membuatnya lebih mudah untuk mendeteksi kerentanan.
AI tampaknya cukup berhasil, terutama dalam hal mendeteksi dan memblokir serangan. Untuk melatih kecerdasan buatan, diperlukan kumpulan data yang sangat besar. Aplikasi dengan lalu lintas web tinggi adalah dermawan dalam hal ini. Karena Anda dapat membuat setiap lalu lintas yang masuk terlihat seperti kumpulan data untuk digunakan AI. Dengan demikian, Anda memiliki AI yang dapat membaca dan menganalisis lalu lintas aplikasi web dan mendeteksi ancaman. Ini adalah salah satu contoh paling sederhana yang dapat diberikan.
Itu juga dapat mendeteksi sebelumnya tidak hanya lalu lintas web tetapi juga banyak malware untuk aplikasi atau perangkat Anda. Metode ini sudah mulai digunakan oleh banyak firewall.
Selain semua itu, kesalahan manusia adalah salah satu masalah terbesar dalam keamanan siber. Kerentanan kode kecil yang tidak diperhatikan dapat menyebabkan masalah keamanan besar yang tidak dapat diubah. Beberapa plugin yang memindai kerentanan dalam kode telah muncul dengan pengembangan AI, dan mereka memperingatkan pengembang tentang masalah tersebut. Sejauh ini, mereka telah menunjukkan beberapa keberhasilan dalam mencegah kesalahan manusia.
Selain itu, waktu respon yang ditunjukkan terhadap suatu ancaman juga sangat penting. Saat diserang, perlu waktu untuk mendeteksi serangan, merencanakan jalur bertahan, dan meluncurkan sistem pertahanan. Tapi AI sangat membantu dalam hal ini.
Keterbatasan AI dalam Keamanan Siber
Menggunakan AI untuk tujuan keamanan siber memerlukan identifikasi dan analisis aplikasi berbahaya, bersih, dan berpotensi tidak aman. Bahkan jika Anda menggunakan kumpulan data yang sangat besar untuk melatih algoritme, Anda tidak akan pernah bisa memastikan hasilnya. Akibatnya, tidak aman untuk mengandalkan mesin dan AI sepenuhnya. Untuk itu diperlukan dukungan teknologi AI dengan campur tangan manusia.
Beberapa pembuat alat keamanan mengklaim bahwa solusi yang didukung oleh pembelajaran mesin dapat menganalisis setiap kejadian. Menurut pembuatnya, alat ini dapat mendeteksi malware hanya dengan menggunakan cara matematis. Namun, ini hampir tidak mungkin.
Pemecahan kode Enigma oleh Alan Turing selama Perang Dunia Kedua adalah contoh yang sangat bagus untuk hal ini. Bahkan mesin yang sempurna tidak dapat memutuskan apakah input yang tidak diketahui dapat menyebabkan perilaku yang tidak diinginkan di masa mendatang. Bukti ini dapat diterapkan ke berbagai bidang, termasuk keamanan siber.
Keterbatasan serius lainnya dari aplikasi pembelajaran mesin dalam keamanan siber tersembunyi dalam batas model kecerdasan buatan. Misalnya, mesin menjadi cukup pintar untuk mengalahkan manusia dalam permainan catur.
Tapi catur memiliki aturan tertentu. Mesin catur tidak menyimpang dari aturan ini. Dalam hal keamanan siber, penyerang seringkali tidak memiliki aturan. Sifat lanskap digital yang selalu berubah membuat mustahil untuk menciptakan solusi perlindungan yang dapat mendeteksi dan memblokir semua ancaman di masa depan.
Analisis Kode Sumber Dengan ChatGPT
ChatGPT, yang dikembangkan oleh OpenAI, telah memasuki kehidupan kita dengan serius di banyak bidang. Sebisa kamu ajukan beberapa pertanyaan dan mengobrol dengan ChatGPT, itu juga mencoba membantu Anda dengan masalah pemrograman dan perangkat lunak. ChatGPT bahkan mencoba melakukan analisis kode sumber, jika Anda melihatnya dari perspektif keamanan siber. Tetapi ChatGPT masih dalam masa pertumbuhan dan akan membutuhkan waktu untuk bangun dan berjalan.
Untuk melihat ini lebih baik, mari kita uji kekuatan ChatGPT. Misalnya, di bawah ini adalah kode JavaScript sederhana yang membuat kerentanan XSS. Mari tanyakan kepada ChatGPT tentang kode ini dan beri tahu kami tentang kerentanan apa pun.
dokumen.menulis("URL saat ini: " + dokumen.baseURI);
ChatGPT menyebutkan sebuah Kerentanan XSS sebagai tanggapan. Ini awal yang cukup bagus. Tetapi kode sumber tidak pernah sesederhana itu. Jadi mari kita coba membuat contoh sedikit lebih rumit.
Di bawah ini Anda akan melihat kode yang disiapkan dalam bahasa pemrograman C. Kode C ini milik aplikasi yang rentan. Itu bahkan digunakan seluruhnya dalam aplikasi dunia nyata. Jika mau, Anda dapat memeriksa kerentanan kode sumber dunia nyata itu Sonar dirilis pada tahun 2022.
arang *LoggerPath *cmd;
ruang kosongrotateLog(){
aranglogOld[PATH_MAX], logNew[PATH_MAX], cap waktu[0x100];
waktu_t t;
waktu(&t);
strftime (cap waktu, sizeof (cap waktu), "%FT%T", waktu gm(&t));
snprintf (logOld, sizeof (logOld), "%s/../logs/global.log", loggerPath);
snprintf (logBaru, sizeof (logBaru), "%s/../logs/global-%s.log", loggerPath, stempel waktu);
execl("/bin/cp", "/bin/cp", "-A", "--", logLama, logBaru, BATAL);
}intutama(int argumen, arang ** argv){
jika (argc != 2) {
printf("Penggunaan: /opt/logger/bin/loggerctl \n");
kembali1;
}jika (setuid(0) == -1) kembali1;
jika (seteuid(0) == -1) kembali1;arang *executablePath = argv[0];
loggerPath = dirname (executablePath);
cmd = argv[1];
jika (!stcmp (cmd, "memutar")) rotateLog();
kalau tidak daftarPerintah();
kembali0;
}
Kerentanan di sini adalah penyerang dapat membuat perubahan pada beberapa file tanpa hak akses administratif. Mari kita lihat bagaimana ChatGPT merespons kerentanan keamanan ini.
Masalah utama dalam kode ini adalah setuid, identitas pengguna (uid), dan id pengguna yang efektif (euid). Namun, tanpa terlalu banyak membahas detail teknis, poin utama yang harus Anda perhatikan adalah itu ChatGPT tidak dapat mendeteksi bagian tipis ini. Ia dapat menyadari bahwa ada masalah tetapi sayangnya tidak dapat sampai ke akar masalah ini.
Melalui contoh-contoh ini, Anda telah melihat reaksi terhadap berbagai bahasa pemrograman dan kerentanan. Jika kodenya sangat sederhana dan memiliki celah keamanan yang jelas, ChatGPT dapat membantu Anda. Tetapi Anda tidak boleh mengandalkan sepenuhnya pada ChatGPT untuk analisis kode sumber, pengujian penetrasi, dan analisis keamanan lainnya.
Masa Depan Penguji Penetrasi
Kecerdasan buatan akan menjadi bagian penting dari pekerjaan penguji penetrasi di masa depan. Misalnya, penguji penetrasi tidak perlu meluangkan waktu untuk mendeteksi aktivitas jahat secara manual dan akan dapat melakukan pemindaian keamanan secara otomatis.
AI juga akan membantu mendeteksi dan mengambil tindakan terhadap teknik serangan baru dan lebih kompleks untuk pengujian penetrasi. Namun AI masih seperti anak kecil yang bermain di taman dan membutuhkan nasehat dari orang dewasa. Dalam waktu dekat, pakar keamanan siber dan penguji penetrasi tidak akan mudah kehilangan pekerjaan.