Microsoft telah mengambil langkah-langkah untuk memblokir sertifikat penandatanganan kode yang secara luas digunakan oleh peretas dan pengembang dari China. Sertifikat ini digunakan untuk menandatangani dan memuat driver mode kernel berbahaya ke dalam sistem yang terinfeksi, dengan memanfaatkan celah kebijakan Windows yang sudah diabaikan.
Driver mode kernel beroperasi pada tingkat hak istimewa tertinggi dalam sistem operasi Windows, yaitu Ring 0. Ini memberikan akses penuh ke mesin target, memungkinkan kegigihan yang tersembunyi, eksfiltrasi data yang tidak terdeteksi dan kemampuan untuk menghentikan hampir semua proses.
Meskipun software keamanan aktif pada perangkat yang telah disusupi, driver mode kernel tetap dapat mengganggu pengoperasian software tersebut. Hal ini dapat dilakukan dengan mematikan kemampuan perlindungan lanjutan yang dimilikinya atau melakukan modifikasi pada konfigurasi yang ditargetkan untuk menghindari deteksi.
Pada Windows Vista, Microsoft memperkenalkan kebijakan baru yang membatasi metode memuat driver mode kernel ke dalam sistem operasi. Kebijakan ini mewajibkan pengembang untuk mengirimkan driver mereka ke portal pengembang Microsoft untuk ditinjau dan ditandatangani sebelum dapat dimuat ke dalam sistem operasi.
Namun, untuk menghindari masalah dengan aplikasi lama, Microsoft memperkenalkan beberapa pengecualian khusus yang memungkinkan driver mode kernel lama untuk tetap dimuat.
- PC diupgrade dari rilis Windows sebelumnya ke Windows 10, versi 1607.
- Secure Boot dinonaktifkan di BIOS.
- Driver [sic] ditandatangani dengan sertifikat entitas akhir yang dikeluarkan sebelum 29 Juli 2015 yang terhubung ke cross-signed CA yang didukung.
Baru-baru ini, Cisco Talos merilis laporan yang menjelaskan bahwa pelaku ancaman dari China telah memanfaatkan kebijakan yang disebut sebelumnya dengan menggunakan dua tool open-source yaitu HookSignTool dan FuckCertVerify untuk mengubah tanggal penandatanganan driver jahat sebelum 29 Juli 2015.
Dengan memodifikasi tanggal penandatanganan, para pelaku ancaman dapat memanfaatkan sertifikat yang lebih lama, bocor dan belum dicabut untuk menandatangani driver mereka dan mengimpornya ke Windows guna memperoleh hak istimewa yang lebih tinggi.
HookSignTool dan FuckCertVerify
HookSignTool adalah sebuah software yang memiliki banyak fitur dan dirilis pada tahun 2019 di sebuah forum software crack di China. Software ini menggunakan hook pada API Windows serta tool penandatanganan kode yang sah untuk melakukan penandatanganan pada driver yang berbahaya.
Tool tersebut memanfaatkan librari Microsoft Detours untuk mengintersep dan memonitor panggilan API Win32 serta melakukan implementasi khusus dari fungsi CertVerifyTimeValidity yang disebut NewCertVerifyTimeValidity. Fungsi tersebut bertujuan untuk memverifikasi waktu yang tidak valid pada sertifikat.
Untuk menggunakan HackSignTool dalam penandatanganan file driver dengan timestamp lama, diperlukan keberadaan sertifikat JemmyLoveJenny EV Root CA yang tersedia melalui website pembuat tool tersebut. Sertifikat ini akan digunakan dalam proses penandatanganan untuk menciptakan ilusi bahwa file driver telah ditandatangani pada waktu yang lebih awal.
Namun, penggunaan sertifikat tersebut meninggalkan jejak dalam tanda tangan palsu yang digunakan, sehingga memungkinkan untuk mengidentifikasi driver yang ditandatangani menggunakan HookSignTool. Artefak yang ada dalam tanda tangan tersebut memberikan petunjuk yang dapat digunakan untuk mendeteksi penggunaan tool tersebut.
Dalam laporan terpisah, Cisco Talos memberikan rincian tentang contoh nyata dari driver jahat yang dikenal sebagai RedDriver. Driver ini telah ditandatangani menggunakan HookSignTool. Laporan tersebut mengungkapkan kasus penggunaan tool tersebut dalam praktik di dunia nyata.
RedDriver merupakan software pembajak browser yang secara khusus ditujukan untuk mengintersep lalu lintas dari browser, terutama Chrome, Edge dan Firefox. Selain itu, RedDriver juga menargetkan sejumlah browser populer di China. Software ini berfungsi untuk mengakses dan memanipulasi aktivitas pengguna pada browser tersebut.
FuckCertVerify adalah sebuah tool lain yang dimanfaatkan oleh para pelaku ancaman untuk mengubah timestamp pada tanda tangan driver mode kernel yang berbahaya. Awalnya, tool ini tersedia di GitHub pada bulan Desember 2018 sebagai tool cheat game. Namun, tool tersebut kemudian digunakan dengan tujuan yang jauh lebih serius dalam mengubah tanda tangan driver dan mengelabui sistem keamanan.
Dalam penjelasan dari Cisco Talos, dikatakan bahwa FuckCertVerifyTimeValidity bekerja secara serupa dengan HookSignTool dengan menggunakan package Microsoft Detours untuk memodifikasi panggilan API CertVerifyTimeValidity dan mengubah timestamp ke tanggal yang ditentukan.
Namun, berbeda dengan HookSignTool, FuckCertVerifyTimeValidity tidak meninggalkan jejak atau artefak dalam biner yang ditandatanganinya, sehingga membuatnya sangat sulit untuk mengidentifikasi kapan tool ini telah digunakan. Dengan demikian, tool ini dapat mengoperasikan tanpa meninggalkan bukti forensik yang mudah terdeteksi.
Kedua tool tersebut membutuhkan sertifikat penandatanganan kode yang belum dicabut, yang diterbitkan sebelum 29 Juli 2015, seiring dengan private key dan password yang sesuai.
Tim peneliti dari Cisco telah menemukan lebih dari selusin sertifikat yang tersedia di repositori GitHub dan forum dengan bahasa Mandarin. Sertifikat-sertifikat ini dapat digunakan oleh tool-tool seperti yang telah disebutkan sebelumnya. Sertifikat-sertifikat tersebut banyak dimanfaatkan untuk meng-crack game yang dapat menghindari pemeriksaan DRM, serta untuk menandatangani driver kernel yang berbahaya.
Microsoft Mencabut Sertifikat
Microsoft mengungkapkan bahwa Sophos dan Trend Micro juga telah melaporkan aktivitas yang berbahaya ini dan setelah diungkapkan secara bertanggung jawab, Microsoft telah mencabut sertifikat terkait dan menangguhkan akun pengembang yang menyalahgunakan celah kebijakan Windows ini.
Microsoft advisory menjelaskan bahwa Microsoft telah merilis update Windows Security yang tidak mempercayai driver dan sertifikat penandatanganan driver untuk file yang terdampak, serta telah menangguhkan akun penjual mitra.
Selain itu, Microsoft telah menerapkan deteksi pemblokiran (Microsoft Defender 1.391.3822.0 dan yang lebih baru) untuk membantu melindungi pelanggan dari driver yang ditandatangani secara sah yang telah digunakan secara jahat dalam aktivitas pasca-eksploitasi.
Untuk informasi selengkapnya tentang bagaimana fitur Windows Code Integrity melindungi pelanggan Microsoft dari sertifikat yang dicabut, anda dapat melihat KB5029033: Notice of additions to the Windows Driver.STL revocation list.