Marvin adalah kembalinya kerentanan berusia 25 tahun yang memungkinkan operasi penandatanganan dan dekripsi RSA
Selama ESORICS 2023 (European Symposium on Computer Security Research) yang diadakan pada tanggal 25-29 September di Belanda, seorang peneliti keamanan yang bekerja untuk Red Hat, menyajikan "Serangan Marvin", teknik serangan yang memungkinkan data asli ditentukan dengan mengukur penundaan selama operasi dekripsi berdasarkan algoritma RSA.
Serangan Marvin, Ini adalah variasi dari metode Bleichenbacher, yang diusulkan pada tahun 1998, dan melanjutkan pengembangan serangan ROBOT dan CAT Baru yang diterbitkan pada tahun 2017 dan 2019.
Serangan Marvin adalah kembalinya kerentanan berusia 25 tahun yang memungkinkan operasi penandatanganan dan dekripsi RSA dilakukan sebagai penyerang dengan kemampuan untuk mengamati hanya waktu operasi dekripsi yang dilakukan dengan kunci pribadi.
Pada tahun 1998, Daniel Bleichenbacher menemukan bahwa pesan kesalahan yang disediakan oleh server SSL untuk kesalahan pada padding PKCS #1 v1.5 mengaktifkan serangan teks sandi yang dipilih secara adaptif; Serangan ini sepenuhnya merusak kerahasiaan TLS ketika digunakan dengan enkripsi RSA. Pada tahun 2018, Hanno Böck, Juraj Somorovsky, dan Craig Young menunjukkan 19 tahun kemudian bahwa banyak server Internet masih rentan terhadap sedikit variasi dari serangan aslinya.
Pada dasarnya disebutkan bahwa inti dari metode itu adalah seorang penyerang, berdasarkan reaksi server yang berbeda dan waktu eksekusi yang berbeda, dapat memisahkan blok Oracle yang benar dan salah Ditambahkan dengan standar PKCS #1 v1.5 untuk menyelaraskan data terenkripsi di sepanjang batas blok. Dengan memanipulasi informasi tentang kebenaran blok padding, penyerang dapat menggunakan kekerasan untuk membuat ulang ciphertext yang sesuai.
Dalam kasus ini, serangan tidak secara langsung memulihkan kunci privat, namun hanya mendekripsi teks. enkripsi atau menghasilkan pesan bertanda tangan palsu. Agar serangan berhasil, perlu mengirimkan pesan pengujian dalam jumlah yang sangat besar untuk didekripsi.
Menggunakan serangan terhadap server TLS menggunakan enkripsi berdasarkan kunci RSA memungkinkan penyerang untuk secara pasif menyimpan lalu lintas yang dicegat dan kemudian mendekripsinya. Untuk server yang mendukung PFS, melakukan serangan menjadi jauh lebih sulit dan keberhasilannya bergantung pada seberapa cepat serangan dilakukan.
Selain itu, metode ini memungkinkan pembuatan tanda tangan digital fiktif yang memverifikasi konten pesan TLS 1.2 ServerKeyExchange atau pesan TLS 1.3 CertificateVerify yang dikirimkan pada tahap pertukaran kunci, yang dapat digunakan untuk melakukan serangan MITM untuk mencegat koneksi TLS antara klien dan server.
Disebutkan itu perbedaan antara metode tersebut Marvin direduksi menjadi a Peningkatan teknologi untuk memisahkan data tambahan yang benar dan salah, memfilter positif palsu, menentukan penundaan penghitungan dengan lebih akurat, dan menggunakan saluran pihak ketiga tambahan selama pengukuran.
Dalam praktiknya, metode yang diusulkan memungkinkan mendekripsi lalu lintas atau menghasilkan tanda tangan digital tanpa mengetahui kunci RSA pribadi. Untuk menguji penerapan serangan tersebut, skrip khusus untuk memeriksa server TLS dan alat untuk mengidentifikasi masalah di perpustakaan diterbitkan.
Masalahnya mempengaruhi beberapa implementasi protokol yang menggunakan RSA dan PKCS. Meskipun perpustakaan kriptografi modern berisi beberapa perlindungan terhadap serangan berdasarkan metode Bleichenbacher, Penelitian mengungkapkan bahwa perpustakaan memiliki saluran kebocoran terbuka dan tidak memberikan waktu pemrosesan yang konstan untuk paket yang diisi dengan benar dan salah. Misalnya, implementasi serangan GnuTLS oleh Marvin tidak terikat pada kode yang secara langsung melakukan penghitungan terkait RSA, melainkan menggunakan runtime berbeda untuk kode yang memutuskan apakah akan menampilkan pesan kesalahan tertentu.
Penulis penelitian juga percaya bahwa kelas kerentanan yang dipertimbangkan tidak terbatas pada RSA dan dapat mempengaruhi banyak algoritma kriptografi lain yang bergantung pada perpustakaan standar untuk perhitungan bilangan bulat.
Untuk mengkonfirmasi kemungkinan melakukan serangan Marvin dalam praktiknya, peneliti mendemonstrasikan penerapan metode ini pada aplikasi berdasarkan perpustakaan M2Crypto dan pyca/kriptografi, di mana beberapa jam sudah cukup untuk mengkompromikan enkripsi dengan melakukan percobaan pada rata-rata laptop.
Terakhir, jika Anda tertarik untuk mengetahuinya lebih lanjut, Anda dapat berkonsultasi detailnya di link berikut.