- ओपन सोर्स एन्क्रिप्शन सॉफ्टवेयर VeraCrypt के Windows अपडेट वितरण को Microsoft द्वारा अचानक अकाउंट समाप्त किए जाने के कारण पूरी तरह रोक दिया गया, जिससे बड़ी टेक कंपनियों पर निर्भर ओपन सोर्स सॉफ्टवेयर सप्लाई चेन की कमजोरी उजागर हुई
- VeraCrypt डेवलपर Mounir Idrassi ने पाया कि जनवरी के मध्य में उनका Windows ड्राइवर और bootloader signing account बिना किसी पूर्व चेतावनी के समाप्त कर दिया गया था, और बाद में संपर्क करने की कोशिशों पर उन्हें केवल AI-जनित लगने वाले स्वचालित जवाब मिले
- Microsoft की ओर से भेजा गया एकमात्र आधिकारिक संदेश "requirements not met" की सूचना थी, लेकिन कोई ठोस कारण या appeal प्रक्रिया दिए बिना अकाउंट बंद कर दिया गया, और यह भी नहीं बताया गया कि अचानक कौन-सी requirement पूरी नहीं हो रही थी
- WireGuard के डेवलपर Jason Donenfeld ने भी बताया कि उन्हें यही समस्या झेलनी पड़ी, जिससे स्पष्ट है कि यह मामला केवल VeraCrypt तक सीमित नहीं है
- Linux·macOS अपडेट जारी रखे जा सकते हैं, लेकिन चूंकि अधिकांश उपयोगकर्ता Windows प्लेटफ़ॉर्म पर हैं, इसलिए Windows वितरण रुकना पूरे प्रोजेक्ट के लिए गंभीर झटका है
VeraCrypt क्या है
- ड्राइव के भीतर एन्क्रिप्टेड पार्टिशन बनाना या अलग एन्क्रिप्टेड वॉल्यूम के रूप में फ़ाइलों की सुरक्षा करने वाला ओपन सोर्स टूल
- यह अपने पूर्ववर्ती TrueCrypt पर आधारित है, और ऐसे हालात के लिए डुअल वॉल्यूम (hidden volume) फीचर भी देता है जब किसी से ज़बरदस्ती credentials जमा कराने को कहा जाए
घटना का क्रम
- Idrassi ने SourceForge फ़ोरम में सीधे बताया कि वे कई महीनों से सक्रिय क्यों नहीं थे
- जनवरी के मध्य में उन्होंने पाया कि कई वर्षों से इस्तेमाल किया जा रहा उनका Windows ड्राइवर और bootloader signing account अचानक अनुपयोगी हो गया है
- पहले से कोई ईमेल या चेतावनी बिल्कुल नहीं थी, और Microsoft से मिला एकमात्र संदेश सिर्फ इतना था कि वे "वर्तमान requirements" पूरी नहीं करते
- उस संदेश में केवल appeal संभव नहीं है और आवेदन समाप्त किए जाने की सूचना थी
- Idrassi की कंपनी IDRIX अचानक कौन-सी requirement पूरी नहीं कर रही थी, इसकी कोई व्याख्या नहीं दी गई
डेवलपर की प्रतिक्रिया और चिंता
- Microsoft सपोर्ट से संपर्क किया गया, लेकिन AI-जनित लगने वाले स्वचालित जवाब ही मिले
- उन्होंने Microsoft की संचारहीनता की कड़ी आलोचना करते हुए कहा, "कम से कम यह तो बताया जाना चाहिए था कि समस्या क्या है"
- उन्होंने यह भी कहा, "जब ऐसे फैसले बिना किसी संवाद के लिए जाते हैं, तो भविष्य को लेकर अनिश्चितता बढ़ती है, और स्वचालित AI जवाब इस प्रक्रिया को अमानवीय बना देते हैं"
WireGuard भी इसी स्थिति में
- लोकप्रिय VPN क्लाइंट WireGuard के डेवलपर Jason Donenfeld ने भी Hacker News पर यही समस्या साझा की
- उन्होंने कहा, "न कोई चेतावनी, न कोई नोटिस; एक दिन मैं अपडेट जारी करने के लिए लॉग इन करने गया और अकाउंट निलंबित मिला"
प्रभाव
- Windows वह प्लेटफ़ॉर्म है जिसका उपयोग VeraCrypt के अधिकांश यूज़र करते हैं, इसलिए Windows अपडेट वितरित न कर पाना प्रोजेक्ट के लिए गंभीर झटका है
- Linux·macOS अपडेट अभी भी संभव हैं, लेकिन मुख्य प्लेटफ़ॉर्म का समर्थन बाधित है
- इस घटना ने यह रेखांकित किया कि जब ओपन सोर्स सॉफ्टवेयर बड़ी टेक कंपनियों के इंफ्रास्ट्रक्चर पर आंशिक रूप से भी निर्भर होता है, तो सप्लाई चेन जोखिम पैदा हो सकता है
- Microsoft ने टिप्पणी के अनुरोध का जवाब नहीं दिया
5 टिप्पणियां
हर बार ऐसी चीज़ें देखते हुए मुझे यही लगता है कि signature verify करना platform का नहीं, user का काम होना चाहिए। Developer को अपनी key से sign करना चाहिए, और user को भरोसेमंद developer की key को अपने device पर allow करके इस्तेमाल करना चाहिए।
यह न जानना और कहना कि यह सब अपने-आप हो जाए, ठीक बात नहीं है। कंप्यूटर में रुचि हो या न हो, अगर आप खुद इस्तेमाल करने वाले हैं तो यह आदत ज़रूर होनी चाहिए।
अगर आप मोबाइल फ़ोन इस्तेमाल करते हैं और इंटरनेट देखते हैं, तो web page, message या phone call में कही गई बात पर बिना सोचे-समझे भरोसा नहीं करना चाहिए, और सही-गलत चुनने की क्षमता होनी चाहिए — यह उसी स्तर की बुनियादी हिदायत है।
Windows UAC जैसी UI, जहाँ सिर्फ़ एक button से यह पुष्टि की जा सके कि किसी खास developer पर भरोसा करना है या नहीं, इतनी हो तो code signing और key जैसी अवधारणाएँ न जानने वाले लोग भी इसे इस्तेमाल कर सकेंगे।
क्योंकि अगर यह आधिकारिक प्रमाणन नहीं है, तो दुर्भावनापूर्ण प्रमाणन का दुरुपयोग किया जा सकता है..
मुझे समझ नहीं आ रहा कि आप क्या कहना चाह रहे हैं.
क्या आपका मतलब है कि कोई तीसरा पक्ष authentication का दुरुपयोग कर सकता है? वह तो मौजूदा certificate system में भी बिल्कुल वही बात है। malware भी साल में कई लाख won के certificate लगाकर आते हैं.
क्या आपका मतलब है कि developer खुद इसका दुरुपयोग कर सकता है? तब तो शुरुआत से ही code और developer, दोनों ही भरोसेमंद नहीं हैं। किस चीज़ पर भरोसा करना है, यह चुनना user का अधिकार भी है और ज़िम्मेदारी भी। उस तर्क से तो OCD वाले लोगों की तरह OS से लेकर सबसे आख़िरी app तक हर program उन्हें खुद लिखकर इस्तेमाल करना चाहिए।
Windows driver शायद अलग होगा।
Hacker News की राय
1 साल पहले मैंने Windows के लिए FOSS software वितरित करने के लिए Azure Trusted Signing का इस्तेमाल किया था
उस समय यह free software वितरित करने का सबसे सस्ता तरीका था
लेकिन कुछ महीने पहले certificate renew करते समय verification failed की समस्या के कारण मेरे सारे documents reject कर दिए गए, और paid user होने के बावजूद मैं किसी इंसान से सीधे बात नहीं कर सका
आखिरकार मुझे SignPath.org से certificate मिला, और तब से मैं उससे बहुत संतुष्ट हूँ
कभी यह individuals के लिए खुली थी, फिर इसे DUNS number वाली सिर्फ़ अमेरिकी कंपनियों तक सीमित कर दिया गया, फिर दोबारा कुछ individuals के लिए खोला गया
शायद किसी ने Trusted Signing certificate का दुरुपयोग किया था
आज सुबह VeraCrypt वाली घटना देखकर मेरे मन में आया, “क्या यह developers को जबरन Trusted Signing की तरफ धकेलने जैसा है?”
यह open source भावना से थोड़ा अलग हो सकता है, लेकिन अगर Microsoft या Google कोई चाल चलते हैं तो community की बड़ी प्रतिक्रिया होगी
अगर FDroid जैसी कोई संस्था auditable builds दे, तो supply chain attack के समय अधिक भरोसेमंद distribution संभव हो सकता है
हालाँकि ऐसी संस्था के पास पर्याप्त governance और funding होना चाहिए
मेरा मानना है कि platform owner को यह तय नहीं करने देना चाहिए कि कौन-सा software चल सकता है
software signing को एक स्वतंत्र third party को सौंपा जाना चाहिए, और उसमें conflict of interest नहीं होना चाहिए
यही वजह है कि Digital Markets Act developers की सुरक्षा करना चाहता है
EU की Apple जाँच के बारे में अभी कोई अपडेट है क्या, यह जानने की जिज्ञासा है
बस खर्च ज़्यादा आता है, और Microsoft tools इस्तेमाल करने की भी ज़रूरत नहीं है
यह समस्या सिर्फ़ VeraCrypt की नहीं है
कई Windows driver developers को बिना किसी स्पष्टीकरण के Partner Center से जबरन बाहर कर दिया गया है
ऐसे मामले OSR community forum में भी देखे जा सकते हैं
Windscribe भी Microsoft द्वारा account terminate किए जाने का तीसरा मामला है
संबंधित ट्वीट
“Security as a Service” का अँधेरा पहलू सामने आ रहा है
Microsoft ने Trusted Signing के ज़रिए signing प्रक्रिया को सरल बनाया, लेकिन साथ ही single point of failure भी बना दिया
VeraCrypt जैसे महत्वपूर्ण FOSS project का auto-flag से block हो जाना, और human intervention का कोई रास्ता ही न होना, एक नाज़ुक संरचना को दिखाता है
Secure Boot एक अच्छा security feature है, लेकिन यह प्रशासनिक अक्षमता के कारण vendor lock-in का साधन नहीं बनना चाहिए
पिछली पोस्ट में किसी ने कहा था कि उसने “Veracrypt project update” शीर्षक मिस कर दिया
मैं अब भी उम्मीद करता हूँ कि लोग एक दिन समझेंगे कि executable signing और Secure Boot असली security नहीं, बल्कि user क्या चला सकता है इसे नियंत्रित करने का माध्यम हैं
मुझे लगता है कि personal computer के संदर्भ में ऐसी mitigations की बुनियाद ही तर्कसंगत नहीं है
यह malicious driver के दुरुपयोग को कठिन बनाता है और bootkit infection को कम करता है
user खुद भी keys register कर सकता है
Microsoft इसे नियंत्रण के साधन की तरह इस्तेमाल करता है, यह सही है, लेकिन इससे security feature खुद अमान्य नहीं हो जाता
यह supply chain में firmware tampering रोकने की गारंटी देता है
20 साल पहले तक ऐसी प्रणालियाँ dystopian लगती थीं, लेकिन अब इन्हें सामान्य माना जाता है
Stallman ने जिस “tivoization” की चेतावनी दी थी, वह मानो सच हो गई
यह विडंबना है कि Secure Boot chain को नियंत्रित करने वाली company ने ही disk encryption tool के signing account को block कर दिया
“platform देता है, platform वापस ले लेता है” — अगर distribution किसी एक company की goodwill पर निर्भर हो, तो वह असली distribution नहीं है
Microsoft को यह पता होना चाहिए था कि WireGuard developer account भी terminate किया गया था
वहाँ लिखा है, “लोकप्रिय VPN client WireGuard भी इसी समस्या का सामना कर रहा है”
समझ नहीं आता कि वे बस अपनी signing key generate करके उसे installer में शामिल क्यों नहीं कर लेते
ऐसे intermediary platform का इस्तेमाल करना अपने ही पैर पर कुल्हाड़ी मारने जैसा लगता है
Notepad++ मामले को देखें तो पता चल जाता है कि उसका नतीजा क्या होता है