OSS-Fuzz Google, alat pengujian fuzz berbasis kecerdasan buatan, baru-baru ini mencapai hasil yang luar biasa, berhasil menemukan kerentanan di 26 pustaka kode sumber terbuka, termasuk kerentanan tingkat keparahan sedang di pustaka enkripsi OpenSSL yang berusia hampir 20 tahun. Terobosan ini menandai tonggak sejarah baru dalam deteksi kerentanan otomatis. Target pengujian fuzz yang dihasilkan AI telah menunjukkan kemampuan yang kuat dalam meningkatkan cakupan kode dan menemukan kerentanan yang mendalam. Artikel ini akan merinci temuan terbaru OSS-Fuzz, peran teknologi AI di dalamnya, dan langkah-langkah yang diambil Google untuk meningkatkan keamanan kode.
Baru-baru ini, Google mengumumkan bahwa alat pengujian fuzz berbasis kecerdasan buatan, OSS-Fuzz, berhasil menemukan kerentanan di 26 pustaka kode sumber terbuka, termasuk kerentanan tingkat keparahan sedang di pustaka enkripsi OpenSSL.
“Penemuan kerentanan ini menandai tonggak sejarah baru dalam deteksi kerentanan otomatis: setiap kerentanan ditemukan melalui target pengujian fuzz yang dihasilkan oleh AI dan ditingkatkan,” kata tim keamanan sumber terbuka Google dalam postingan blog bersama.
Catatan sumber gambar: Gambar dihasilkan oleh AI, dan penyedia layanan otorisasi gambar Midjourney
Nomor kerentanan OpenSSL yang ditemukan kali ini adalah CVE-2024-9143 (skor CVSS 4.3), yang bermanifestasi sebagai kesalahan penulisan memori di luar batas yang dapat menyebabkan crash aplikasi atau eksekusi kode jarak jauh. Masalah ini telah diperbaiki di beberapa versi OpenSSL, termasuk 3.3.3, 3.2.4, 3.1.8, 3.0.16, 1.1.1zb, dan 1.0.2zl. Google mencatat bahwa kelemahan tersebut mungkin telah ada dalam basis kode selama hampir 20 tahun dan target pengujian fuzz tradisional yang ditulis manusia tidak akan menemukan masalah tersebut.
Google juga menyebutkan bahwa dengan bantuan target pengujian fuzz yang dihasilkan AI, cakupan kode dari 272 proyek C/C++ telah ditingkatkan, menambahkan lebih dari 370.000 baris kode baru. Google menjelaskan bahwa alasan banyak bug luput dari perhatian adalah karena cakupan kode tidak berarti fungsionalitas bebas bug. Cakupan kode saja tidak mengukur semua kemungkinan jalur dan status kode, karena flag dan konfigurasi yang berbeda dapat memicu perilaku yang berbeda sehingga memperlihatkan kerentanan yang berbeda.
Penemuan kerentanan yang dibantu AI ini juga mendapat manfaat dari kinerja model bahasa besar (LLM) yang sangat baik dalam mensimulasikan alur kerja pengujian fuzz pengembang, sehingga semakin meningkatkan tingkat otomatisasi. Selain itu, Google mengungkapkan awal bulan ini bahwa kerangka kerja berbasis LLM Big Sleep membantu mendeteksi kerentanan zero-day di mesin database sumber terbuka SQLite.
Untuk meningkatkan keamanan basis kodenya sendiri, Google mempromosikan migrasi kode ke bahasa yang aman untuk memori seperti Rust, dan memperbaiki kerentanan keamanan memori ruang di proyek C++ yang ada. Hal ini termasuk bermigrasi ke buffer yang aman dan mengaktifkan libc++ yang diperkeras, yang menghilangkan kelas penting kerentanan keamanan spasial dengan menambahkan pemeriksaan batas ke struktur data C++ standar. Google mengatakan penalti kinerja akibat penerapan perbaikan ini minimal, rata-rata hanya 0,30%.
Google lebih lanjut menyoroti bahwa libc++ yang diperkuat, yang baru-baru ini ditambahkan oleh kontributor sumber terbuka, memperkenalkan serangkaian pemeriksaan keamanan yang dirancang untuk mendeteksi kerentanan seperti akses di luar batas di lingkungan produksi. Meskipun bahasa C++ tidak dapat sepenuhnya mengimplementasikan keamanan memori, peningkatan ini tentu saja mengurangi risiko dan membuat perangkat lunak lebih andal dan aman.
Menyorot:
Alat OSS-Fuzz Google menemukan kerentanan di 26 proyek sumber terbuka, termasuk kerentanan OpenSSL yang berusia hampir 20 tahun.
Fuzz yang dihasilkan AI menargetkan peningkatan cakupan kode pada 272 proyek C/C++, menambahkan lebih dari 370.000 baris kode baru.
Google memigrasikan kode ke bahasa yang aman untuk memori dan meningkatkan keamanan proyek C++ melalui langkah-langkah seperti memperkuat libc++.
Secara keseluruhan, Google telah menggunakan teknologi AI untuk meningkatkan kemampuan deteksi keamanan perangkat lunaknya secara signifikan, dan pengalamannya memberikan referensi berharga bagi institusi lain. Di masa depan, AI akan memainkan peran yang semakin penting dalam bidang keamanan perangkat lunak, membantu pengembang membangun sistem perangkat lunak yang lebih aman dan andal.