Giriş
- Windows lisans doğrulamasını aşma sürecinde keşfedilen bir hata gizli tutuldu; böylece gelecekteki etkinleştirme yöntemleri korunabildi ve bir test aracı olarak kullanılabildi
- "Keyhole" adlı bir DRM atlatma yöntemi keşfedildi; bu sayede Microsoft Store uygulamaları veya modern Windows sürümleri kolayca lisanslanabiliyor
- Cisco TALOS'un CVE-2024-38184 açıklamasının ardından Keyhole ile ilgili bulguların paylaşılmasına karar verildi
CLiP
- CLiP (Client Licensing Platform), Windows 10'da tanıtılan ve Microsoft Store uygulamaları ile Windows etkinleştirmesini yöneten bir DRM sistemidir
- Başlıca ikili dosyalar:
clipup.exe: Windows 8 mağaza lisanslarını dijital lisanslara dönüştürür
clipsvc.dll: uygulama lisanslarını yöneten kullanıcı modu hizmeti
clipc.dll: uygulamaların CLiP ile etkileşime girmesini sağlayan API
clipwinrt.dll: UWP uygulamaları için API
clipsp.sys: lisansları doğrulayan çekirdek modu sürücüsü
- CLiP lisanslı bir uygulama kurulduğunda imzalı XML dosyası
clipsvc.dll'ye gönderilir, doğrulandıktan sonra clipsp.sys'ye iletilir ve lisans deposuna kaydedilir
Biraz şaka
clipup.exe içinde geçerli bir ECDSA anahtarı düz metin olarak saklandığı için herkes XML lisanslarını kolayca imzalayabilir
- Bu anahtar kullanılarak ClipSvc doğrulaması atlatılabilir ve istenen lisans blokları doğrudan ClipSp'ye gönderilebilir
ClipSp'yi çözmek
- ClipSp kötü yazılmış bir sürücüdür ve çok sayıda kod parçası kopyala-yapıştır ile oluşturulmuştur
- Kodu gizlemek için Microsoft'un Warbird adlı obfuscation aracı kullanılmıştır
- Obfuscation kaldırılarak gizlenmiş kod analiz edilebilir ve hatalar bulunabilir
Lisans blokları
- Lisans blokları önemli lisans bilgilerini saklar ve TLV (etiket-uzunluk-değer) biçiminde birden çok veri bloğu içerir
- İmza bloğu tüm verileri imzalar; ancak imzadan sonra eklenen veriler doğrulanmaz
- İmza bloğundan sonra veri eklenerek mevcut verilerin üzerine yazılabilir
Daha fazla şaka
- İmza bloğundan sonra veri eklenerek Microsoft Store'daki tüm ürünler için lisans üretilebilir
- Ancak cihaza kilitli lisanslar yalnızca cihaza kilitli uygulama lisanslarından üretilebilir
Şaka öğreticisi
- Cihaza kilitli bir uygulama (ör. Roblox) kurulur ve bir HTTPS trafik yakalama aracıyla lisans ele geçirilir
- Lisans bloğu çözülür, gerekli veriler eklenir ve yeni bir XML dosyası olarak paketlenir
- XML dosyası
C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration klasörüne kopyalanır ve ClipSvc yeniden başlatılır veya clipup -p komutuyla kurulur
- Windows kalıcı olarak etkinleştirilir
Heves kaçıran gelişme
- Cisco TALOS aynı hatayı raporladı ve Microsoft yama yayımladı
- Hata, imza bloğundan sonraki verilerin işlenmemesi sağlanacak şekilde düzeltildi
Bağış sezonu
- Daha fazla hata bulunmasını teşvik etmek için Keyhole lisansı üreten kod ve CLiP ikili dosyaları yayımlandı
Ve başka bir hikâye
- ClipSp kodu, Xbox One'ın DRM sisteminden kopyala-yapıştır edilmiştir
- Xbox SP de aynı ayrıştırma hatasına sahiptir, ancak Keyhole Xbox'ta çalışmaz
Emeği geçenler
- Araştırmaya katkıda bulunanlar: May, asdcorp, echnobas, WitherOrNot, emoose, LukeFZ, KiFilterFiberContext, Phillippe Laulheret, Cisco TALOS, Rairii
GN⁺ Özeti
- Keyhole, Microsoft Store uygulamaları ve Windows sürümlerini kolayca lisanslamayı sağlayan güçlü bir DRM atlatma yöntemidir
- CLiP sistemindeki güvenlik açığından yararlanılarak lisans blokları manipüle edilebilir
- Cisco TALOS'un raporu sonrasında Microsoft hatayı yamaladı
- Yapı olarak Xbox One'ın DRM sistemiyle benzerlik taşır
- Bu makale, DRM sistemlerindeki zafiyetleri anlamaya ve güvenliği güçlendirmeye yardımcı olabilir
1 yorum
Hacker News görüşleri