Flazzo memiliki fokus utama untuk menambah nilai bisnis Anda.

Blog

Proyek Sumber Terbuka SD Times Minggu Ini: Snapchange

Screen-Shot-2023-05-19-at-9.05.14-AM.png
Blog

Proyek Sumber Terbuka SD Times Minggu Ini: Snapchange


Snapchange adalah kerangka kerja Rust yang dapat digunakan untuk menyamarkan biner target dengan perubahan minimal, memberikan wawasan yang berguna ke dalam proses. Ini bekerja dengan memutar ulang snapshot memori fisik untuk membuat fuzzing target yang berbeda menjadi lebih efisien dan tidak terlalu rumit.

Karena independen dari sistem operasi target, proses snapshot berfokus terutama pada target berbasis Linux untuk menangkap data debug yang diperlukan. Ini dimungkinkan dengan menggunakan fitur fungsi KVM (Kernel Virtual Machine) dari kernel Linux.

Proyek ini dimulai sebagai eksperimen oleh tim riset keamanan open source AWS Find and Fix (F2) untuk mengeksplorasi potensi penggunaan KVM untuk mengaktifkan snapshot fuzzing.

Snapchange bekerja dengan menyuntikkan data yang bermutasi ke dalam mesin virtual dan menyediakan sistem snapping berbasis breakpoint. Ini menawarkan laporan cakupan waktu nyata dalam format seperti Lighthouse dan LCOV, serta pelacakan satu langkah yang berguna untuk debugging. Dengan Snapchange, dimungkinkan untuk mengaburkan snapshot memori fisik yang diberikan di beberapa inti CPU secara paralel, sekaligus memantau status kerusakan seperti kesalahan segmentasi atau panggilan ke laporan Address Sanitizer.

“Snapshot adalah penggabungan dump memori fisik dari mesin virtual yang sedang berjalan dan status register yang menyertainya. Fuzzing dengan snapshot memungkinkan eksekusi granular untuk mencapai blok kode yang biasanya sulit dikaburkan tanpa kerumitan manajemen status di dalam target,” tulis Cory Duplantis, insinyur keamanan senior di AWS, dalam a posting blog. “Satu-satunya informasi yang dibutuhkan Snapchange agar target tetap berjalan di mesin virtual adalah snapshot itu sendiri. Karya sebelumnya yang mengeksplorasi teknik ini antara lain brownies, falkervisor, chocolate_milk, Nyx dan what the fuzz.

Karena Snapchange mengandalkan KVM untuk menjalankan snapshot, Snapchange harus digunakan pada mesin dengan akses KVM. Proyek ini tersedia hari ini di bawah lisensi Apache 2.0 via GitHub.