1 पॉइंट द्वारा GN⁺ 2024-09-08 | 1 टिप्पणियां | WhatsApp पर शेयर करें

परिचय

  • Windows लाइसेंस सत्यापन को बायपास करने की प्रक्रिया में मिले एक बग को गुप्त रखा गया ताकि भविष्य की activation methods सुरक्षित रहें और इसे एक testing tool की तरह इस्तेमाल किया जा सके
  • "Keyhole" नाम की एक DRM bypass विधि खोजी गई, जिससे Microsoft Store apps या नए Windows editions को आसानी से license किया जा सकता है
  • Cisco TALOS द्वारा CVE-2024-38184 के सार्वजनिक खुलासे के बाद Keyhole पर हुई खोजों को साझा करने का निर्णय लिया गया

CLiP

  • CLiP(Client Licensing Platform) Windows 10 में पेश किया गया DRM system है, जो Microsoft Store apps और Windows activation को प्रबंधित करता है
  • मुख्य binaries:
    • clipup.exe: Windows 8 store license को digital license में बदलता है
    • clipsvc.dll: app licenses को प्रबंधित करने वाली user-mode service
    • clipc.dll: applications को CLiP के साथ interact करने देने वाला API
    • clipwinrt.dll: UWP applications के लिए API
    • clipsp.sys: licenses को validate करने वाला kernel-mode driver
  • CLiP-licensed app install करते समय signed XML file को clipsvc.dll पर भेजा जाता है, जहां verification के बाद इसे clipsp.sys को देकर license store में सहेजा जाता है

थोड़ा मज़ाक

  • clipup.exe में एक वैध ECDSA key plain text में stored है, इसलिए कोई भी आसानी से XML license पर sign कर सकता है
  • इस key का उपयोग करके ClipSvc verification को bypass किया जा सकता है और मनचाहे license blocks सीधे ClipSp को भेजे जा सकते हैं

ClipSp को खोलना

  • ClipSp एक खराब तरीके से लिखा गया driver है, जिसमें काफी code copy-paste किया गया है
  • code को छिपाने के लिए Microsoft का Warbird नामक obfuscation tool इस्तेमाल किया गया है
  • obfuscation हटाने पर छिपे हुए code का analysis करके bugs ढूंढे जा सकते हैं

लाइसेंस ब्लॉक

  • license block महत्वपूर्ण licensing जानकारी सहेजता है और TLV(tag-length-value) format में कई data blocks शामिल करता है
  • signature block पूरे data पर sign करता है, लेकिन signing के बाद जो data जोड़ा जाता है उसकी verification नहीं होती
  • signature block के बाद data जोड़कर मौजूदा data को overwrite किया जा सकता है

बहुत सारा मज़ाक

  • signature block के बाद data जोड़कर Microsoft Store के सभी products के लिए licenses बनाए जा सकते हैं
  • हालांकि, device-locked licenses केवल device-locked app license से ही बनाए जा सकते हैं

मज़ाक ट्यूटोरियल

  • किसी device-locked app (जैसे Roblox) को install करें और HTTPS traffic capture tool से उसका license intercept करें
  • license block को decode करें, ज़रूरी data जोड़ें, और उसे नई XML file में package करें
  • XML file को C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration folder में copy करें और ClipSvc को restart करें या clipup -p command से install करें
  • Windows स्थायी रूप से activated हो जाता है

बज़किल

  • Cisco TALOS ने वही bug report किया, जिसके बाद Microsoft ने patch जारी किया
  • bug को इस तरह ठीक किया गया कि signature block के बाद आने वाले data को process न किया जाए

दान का मौसम

  • Keyhole licenses बनाने वाला code और CLiP binaries सार्वजनिक किए गए ताकि और bugs खोजे जा सकें

और एक दूसरी कहानी

  • ClipSp का code Xbox One के DRM system से copy-paste किया गया था
  • Xbox SP में भी वही parsing bug है, लेकिन Keyhole Xbox पर काम नहीं करता

श्रेय

  • शोध में योगदान देने वाले लोग: May, asdcorp, echnobas, WitherOrNot, emoose, LukeFZ, KiFilterFiberContext, Phillippe Laulheret, Cisco TALOS, Rairii

GN⁺ का सार

  • Keyhole एक शक्तिशाली DRM bypass विधि है, जिससे Microsoft Store apps और Windows editions को आसानी से license किया जा सकता है
  • यह CLiP system की security weakness का दुरुपयोग करके license blocks में हेरफेर कर सकता है
  • Cisco TALOS की report के कारण Microsoft ने इस bug को patch कर दिया
  • इसकी संरचना Xbox One के DRM system जैसी है
  • यह लेख DRM systems की कमजोरियों को समझने और security मजबूत करने में मदद कर सकता है

1 टिप्पणियां

 
GN⁺ 2024-09-08
Hacker News टिप्पणियाँ
  • Xbox गेम्स को मुफ्त में डाउनलोड करना संभव हो गया है
    • PS Vita की तरह यह पूरी तरह हैक हो चुकी स्थिति है
  • Windows 10 के लिए Lego Boost ऐप का इंस्टॉल लाइसेंस चाहिए
    • अगर मौजूदा लाइसेंस है तो डाउनलोड संभव है, लेकिन नए यूज़र्स के लिए यह संभव नहीं है
  • Microsoft अस्थायी लाइसेंस signing key के लागू दायरे को कम कर सकता है
    • स्थायी लाइसेंस बनाना ज़्यादा समय तक नहीं चलेगा
  • यह जानने की जिज्ञासा है कि क्या HEVC extension को M$ अकाउंट के बिना सक्रिय किया जा सकता है
    • यह निराशाजनक है कि पेटेंट्स को एक साथ लाइसेंस नहीं किया जा सकता
  • Guitar Hero गेम को फिजिकल डिस्क के बिना चलाने की कोशिश की जा रही है
    • हो सकता है कि गेम save files पढ़ी न जा सकें
    • console की public key revoke list में है
    • CON फ़ाइल को default 0 पर फिर से sign करके इसे ठीक किया जा सकता है
  • यह पूरी स्थिति बहुत परिचित लगती है
  • अगर antivirus पेज को censor करे तो उसके लिए लिंक दिया गया है
  • Microsoft को रिपोर्ट किए जाने के लगभग उसी समय इसे स्वतंत्र रूप से भी खोजा गया था
    • यह बहुत संदिग्ध है
  • Clip शायद Xbox One से पुराना लगता है
  • यह दशकों तक Windows का सबसे बेहतरीन distribution और communication channel था
  • massgrave.dev के बारे में थोड़ी असहजता है