Karena kesalahan bodoh dalam penerapan tanda tangan digital, banyak lingkungan Java menerima tanda tangan digital palsu. Penemu masalah membandingkannya dengan Kertas Psikis legendaris, yang menyajikan kebalikan dari pahlawan wanita dari seri Doctor Who Inggris dengan dokumen apa pun – misalnya, kartu identitas juru sita.
Kesalahan memengaruhi tanda tangan digital berdasarkan Elliptic Curve Digital Signature Algorithms (EDSA) yang populer. Sedikit disederhanakan, tanda tangan digital terdiri dari dua bilangan bulat r dan s, yang bersama dengan kunci yang terlibat, harus memenuhi persamaan agar tanda tangan valid. Namun, r dan s tidak boleh secara eksplisit menjadi 0, karena jika tidak, persamaan selalu menghasilkan “0 = 0” yang sepele dan oleh karena itu dalam tanda tangan yang valid.
Namun, para pengembang Java lupa persis tes ini untuk nilai absurd 0. Secara khusus, itu jatuh di pinggir jalan ketika mereka mem-porting kode kripto JDK untuk Java 15 ke Java; versi C++ sebelumnya masih memuatnya. Menurut penemu Neil Madden, Java versi 15, 16, 17 dan 18 sebelum Pembaruan Patch Kritis (CPU) April 2022 secara khusus dipengaruhi oleh Pembaruan Patch Kritis, yang dengannya Oracle menghilangkan kerentanannya. Menurut Madden, dia melaporkan bug tersebut pada November tahun lalu.
tanda tangan di mana-mana
Tanda tangan digital umumnya dimaksudkan untuk membuktikan keaslian informasi tertentu dan digunakan di banyak tempat dalam fungsi ini: bukti identitas dalam bentuk sertifikat, sebagai tanda tangan digital dalam kontrak atau dokumen lain, bukti keaslian paket perangkat lunak, dll. Dan seterusnya. Jika salah satu tugas ini dilakukan oleh aplikasi Java berdasarkan salah satu perpustakaan yang terpengaruh, penyerang memiliki waktu yang lebih mudah: mereka dapat memberikan data apa pun dengan tanda tangan kosong dan aplikasi akan mengonfirmasi keasliannya.
Ini dapat memiliki konsekuensi drastis, bahkan jika Oracle mengetahui kesalahannya CVE-2022-21449 hanya mendapat rating 7,5 (tinggi). Siapapun yang menggunakan atau mengembangkan aplikasi tersebut harus segera mengimpor pembaruan Java Oracle saat ini dan menyediakan versi baru dari perangkat lunak mereka sesuai kebutuhan.
Untuk Pengembang di Madden Trik siap lainnya: Program atau protokol sering menggunakan tanda tangan digital untuk menjamin keaslian data (yang dikirimkan); Dalam banyak kasus, menggunakan metode hashing kriptografis dengan rahasia bersama yang telah dipertukarkan sebelumnya (kode otentikasi pesan berbasis hash, disingkat HMAC) akan jauh lebih sederhana dan, yang terpenting, lebih sedikit rawan kesalahan.
(Ya)
“Pencinta kopi. Kutu buku alkohol yang ramah hipster. Pecandu media sosial yang setia. Ahli bir. Perintis zombie seumur hidup.”