Marvin adalah kembalinya kerentanan berusia 25 tahun yang membolehkan operasi tandatangan dan penyahsulitan RSA
Semasa ESORICS 2023 (Simposium Eropah mengenai Penyelidikan Keselamatan Komputer) yang diadakan dari 25 hingga 29 September di Belanda, seorang penyelidik keselamatan yang bekerja untuk Red Hat, mempersembahkan "Serangan Marvin", teknik serangan yang membolehkan data asal ditentukan dengan mengukur kelewatan semasa operasi penyahsulitan berdasarkan algoritma RSA.
Serangan Marvin, Ia adalah variasi kaedah Bleichenbacher, yang dicadangkan pada tahun 1998, dan meneruskan pembangunan ROBOT dan serangan CAT Baharu yang diterbitkan pada 2017 dan 2019.
Serangan Marvin ialah kembalinya kerentanan berusia 25 tahun yang membolehkan operasi tandatangan dan penyahsulitan RSA dilakukan sebagai penyerang dengan keupayaan untuk memerhatikan masa operasi penyahsulitan yang dilakukan dengan kunci persendirian sahaja.
Pada tahun 1998, Daniel Bleichenbacher mendapati bahawa mesej ralat yang disediakan oleh pelayan SSL untuk ralat dalam padding PKCS #1 v1.5 mendayakan serangan teks sifir yang dipilih secara adaptif; Serangan ini memecahkan sepenuhnya kerahsiaan TLS apabila digunakan dengan penyulitan RSA. Pada 2018, Hanno Böck, Juraj Somorovsky dan Craig Young menunjukkan 19 tahun kemudian bahawa banyak pelayan Internet masih terdedah kepada sedikit variasi serangan asal.
Pada asasnya disebutkan bahawa intipati kaedah itu penyerang, berdasarkan tindak balas pelayan yang berbeza dan masa pelaksanaan yang berbeza, boleh memisahkan blok oracle yang betul dan salah Ditambah dengan standard PKCS #1 v1.5 untuk menjajarkan data yang disulitkan di sepanjang sempadan blok. Dengan memanipulasi maklumat tentang ketepatan blok pelapik, penyerang boleh menggunakan kekerasan untuk mencipta semula teks sifir yang sesuai.
Dalam kes ini, serangan tidak secara langsung memulihkan kunci peribadi, tetapi hanya menyahsulit teks. penyulitan atau menjana mesej bertandatangan palsu. Untuk menjalankan serangan yang berjaya, adalah perlu untuk menghantar sejumlah besar mesej ujian untuk dinyahsulitkan.
Menggunakan serangan terhadap pelayan TLS menggunakan penyulitan berdasarkan kekunci RSA membolehkan penyerang menyimpan trafik yang dipintas secara pasif dan kemudian menyahsulitnya. Untuk pelayan yang menyokong PFS, menjalankan serangan menjadi lebih sukar dan kejayaan bergantung pada seberapa cepat serangan itu dilakukan.
Selain itu, kaedah tersebut membolehkan menghasilkan tandatangan digital rekaan yang mengesahkan kandungan mesej TLS 1.2 ServerKeyExchange atau TLS 1.3 CertificateVerify mesej yang dihantar dalam peringkat pertukaran kunci, yang boleh digunakan untuk melakukan serangan MITM untuk memintas sambungan TLS antara klien dan pelayan.
Disebutkan bahawa perbezaan antara kaedah Marvin dikurangkan kepada a Teknologi yang dipertingkatkan untuk memisahkan data tambahan yang betul dan salah, tapis positif palsu, tentukan kelewatan pengiraan dengan lebih tepat dan gunakan saluran pihak ketiga tambahan semasa pengukuran.
Dalam amalan, kaedah yang dicadangkan membenarkan menyahsulit trafik atau menjana tandatangan digital tanpa mengetahui kunci RSA peribadi. Untuk menguji kebolehgunaan serangan, skrip khas untuk menyemak pelayan TLS dan alat untuk mengenal pasti masalah dalam perpustakaan telah diterbitkan.
Masalahnya mempengaruhi beberapa pelaksanaan protokol yang menggunakan RSA dan PKCS. Walaupun perpustakaan kriptografi moden mengandungi beberapa perlindungan terhadap serangan berdasarkan kaedah Bleichenbacher, kajian mendedahkan bahawa perpustakaan mempunyai saluran kebocoran terbuka dan tidak menyediakan masa pemprosesan yang berterusan untuk paket yang diisi dengan betul dan salah. Sebagai contoh, pelaksanaan serangan GnuTLS oleh Marvin tidak terikat dengan kod yang secara langsung melakukan pengiraan berkaitan RSA, sebaliknya menggunakan masa jalan yang berbeza untuk kod yang memutuskan sama ada untuk memaparkan mesej ralat tertentu.
Pengarang kajian itu juga percaya bahawa kelas kelemahan yang dipertimbangkan tidak terhad kepada RSA dan boleh menjejaskan banyak algoritma kriptografi lain yang bergantung pada perpustakaan standard untuk pengiraan integer.
Untuk mengesahkan kemungkinan menjalankan serangan Marvin dalam amalan, penyelidik menunjukkan kebolehgunaan kaedah kepada aplikasi berdasarkan perpustakaan M2Crypto dan pyca/kriptografi, di mana beberapa jam sudah cukup untuk menjejaskan penyulitan dengan menjalankan eksperimen pada komputer riba biasa.
Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh merujuk butiran dalam pautan berikut.