Pengantar
- Bug yang ditemukan saat melewati pemeriksaan lisensi Windows dirahasiakan untuk mempertahankan metode aktivasi di masa depan dan digunakan sebagai alat pengujian
- Ditemukan metode bypass DRM bernama "Keyhole" yang memungkinkan pelisensian aplikasi Microsoft Store atau edisi Windows modern dengan mudah
- Setelah pengungkapan CVE-2024-38184 oleh Cisco TALOS, diputuskan untuk membagikan temuan terkait Keyhole
CLiP
- CLiP (Client Licensing Platform) adalah sistem DRM yang diperkenalkan di Windows 10, yang mengelola aplikasi Microsoft Store dan aktivasi Windows
- Biner utama:
clipup.exe: mengonversi lisensi Store Windows 8 menjadi lisensi digital
clipsvc.dll: layanan mode pengguna yang mengelola lisensi aplikasi
clipc.dll: API yang memungkinkan aplikasi berinteraksi dengan CLiP
clipwinrt.dll: API untuk aplikasi UWP
clipsp.sys: driver mode kernel yang memverifikasi lisensi
- Saat memasang aplikasi berlisensi CLiP, file XML yang ditandatangani dikirim ke
clipsvc.dll, lalu setelah diverifikasi diteruskan ke clipsp.sys dan disimpan di penyimpanan lisensi
Sedikit iseng
clipup.exe menyimpan kunci ECDSA yang valid dalam bentuk plaintext, sehingga siapa pun dapat dengan mudah menandatangani lisensi XML
- Dengan kunci ini, verifikasi ClipSvc bisa dilewati dan blok lisensi yang diinginkan dapat langsung dikirim ke ClipSp
Membongkar ClipSp
- ClipSp adalah driver yang ditulis dengan buruk, dengan banyak kode hasil salin-tempel
- Kode disembunyikan menggunakan alat obfuscation milik Microsoft bernama Warbird
- Dengan menghapus obfuscation, kode tersembunyi dapat dianalisis dan bug bisa ditemukan
Blok lisensi
- Blok lisensi menyimpan informasi lisensi penting dan berisi beberapa blok data dalam format TLV (tag-length-value)
- Blok tanda tangan menandatangani seluruh data, tetapi data yang ditambahkan setelah penandatanganan tidak diverifikasi
- Dengan menambahkan data setelah blok tanda tangan, data yang sudah ada bisa ditimpa
Banyak iseng
- Dengan menambahkan data setelah blok tanda tangan, lisensi untuk semua produk di Microsoft Store dapat dibuat
- Namun, lisensi yang terkunci ke perangkat hanya bisa dibuat dari lisensi aplikasi yang juga terkunci ke perangkat
Tutorial iseng
- Pasang aplikasi yang terkunci ke perangkat (misalnya Roblox) dan cegat lisensinya dengan alat penangkap trafik HTTPS
- Dekode blok lisensi dan tambahkan data yang diperlukan, lalu kemas ulang sebagai file XML baru
- Salin file XML ke folder
C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration lalu mulai ulang ClipSvc atau pasang dengan perintah clipup -p
- Windows akan aktif secara permanen
Pematah suasana
- Cisco TALOS melaporkan bug yang sama sehingga Microsoft menambalnya
- Bug diperbaiki agar data setelah blok tanda tangan tidak lagi diproses
Musim donasi
- Kode untuk membuat lisensi Keyhole dan biner CLiP dirilis agar lebih banyak bug dapat ditemukan
Dan cerita lain
- Kode ClipSp merupakan hasil salin-tempel dari sistem DRM Xbox One
- Xbox SP juga memiliki bug parsing yang sama, tetapi Keyhole tidak berfungsi di Xbox
Kredit
- Orang-orang yang berkontribusi pada riset: May, asdcorp, echnobas, WitherOrNot, emoose, LukeFZ, KiFilterFiberContext, Phillippe Laulheret, Cisco TALOS, Rairii
Ringkasan GN⁺
- Keyhole adalah metode bypass DRM yang kuat untuk melisensikan aplikasi Microsoft Store dan edisi Windows dengan mudah
- Kerentanan keamanan pada sistem CLiP dapat dieksploitasi untuk memanipulasi blok lisensi
- Microsoft menambal bug tersebut setelah laporan dari Cisco TALOS
- Sistem ini memiliki struktur yang mirip dengan sistem DRM Xbox One
- Artikel ini dapat membantu memahami kerentanan sistem DRM dan memperkuat keamanan
1 komentar
Komentar Hacker News