xz Utils बैकडोर मामला: उस घटना के बारे में क्या पता है, जिसने लगभग पूरी दुनिया को संक्रमित कर दिया होता
- xz Utils एक data compression utility है, जो Linux सहित लगभग सभी Unix-परिवार के operating systems में इंस्टॉल होती है.
- इस software में एक malicious update के जरिए बैकडोर डालने की कोशिश की गई.
- Microsoft के एक डेवलपर ने इस बैकडोर को खोजकर सार्वजनिक किया, जिससे यह Debian और Red Hat जैसे प्रमुख Linux distributions में शामिल होने से ठीक पहले रोका जा सका.
बैकडोर कैसे काम करता है?
- version 5.6.0 और 5.6.1 में जोड़ा गया malicious code
sshd, यानी SSH connection के executable, के साथ छेड़छाड़ करता है.
- जिस व्यक्ति के पास एक खास cryptographic key हो, वह SSH login certificate में code छिपाकर अपलोड कर सकता है और बैकडोर लगे device पर उसे चला सकता है.
- वास्तव में कौन-सा code अपलोड किया गया था, यह ज्ञात नहीं है, लेकिन सैद्धांतिक रूप से cryptographic key चोरी करने या malware इंस्टॉल करने जैसे कई काम संभव थे.
बैकडोर कैसे डाला गया
- लगता है कि यह बैकडोर कई सालों में तैयार किया गया था.
- 2021 में
JiaT75 नाम के एक यूज़र ने पहली बार open source project में योगदान दिया.
- जनवरी 2023 में
JiaT75 ने xz Utils में पहला योगदान किया, और बाद में Jia Tan नाम से धीरे-धीरे अधिक ज़िम्मेदारियां संभालने लगा.
- Tan ने
oss-fuzz project में Collins की contact information को अपनी जानकारी से बदल दिया और testing के दौरान ifunc feature को disable करने का अनुरोध किया.
- इन बदलावों ने Tan द्वारा xz Utils में किए गए malicious changes का पता लगाना मुश्किल बना दिया.
प्रभावित distributions
- Fedora Rawhide, Fedora 41, Debian testing/unstable/experimental, openSUSE Tumbleweed और MicroOS, Kali Linux आदि में बैकडोर वाले xz versions शामिल थे.
GN⁺ की राय
- यह घटना open source ecosystem की security कमजोरियों को उजागर करती है और डेवलपर समुदाय के लिए चेतावनी का काम करती है.
- चूंकि बैकडोर वाला software व्यापक रूप से इस्तेमाल होता है, यह मामला Linux users और admins को तेज़ी से update करने और security checks की अहमियत याद दिलाता है.
- इसी तरह का एक उदाहरण SolarWinds hacking incident था, जिसने भी supply chain attack के खतरों को दिखाया था.
- open source projects में योगदान देने वाले डेवलपर्स की पहचान सत्यापित करना और code review process को मज़बूत करना ज़रूरी है.
- इस घटना के बाद security audits और vulnerability detection tools की अहमियत और बढ़ने की संभावना है.
1 टिप्पणियां
Hacker News राय
OpenSSH सबसे लोकप्रिय
sshdimplementation है, और यहliblzmaलाइब्रेरी से लिंक नहीं होता, लेकिन Debian और कई अन्य Linux distributions ऐसे patches जोड़ते हैं जोsshdकोsystemdसे जोड़ते हैं।systemdliblzmaसे लिंक होता है, इसलिएxz Utilsकाsshdपर असर पड़ सकता है।Xz एक open source compression program और लाइब्रेरी है, जो compressed data को संभालने के लिए अपने खुद के programs लिखने में मदद करती है। इसका उपयोग OpenSSH सहित कई अन्य programs में होता है।
GNU का
binutilsभीliblzmaसे लिंक होता है, और यह OpenSSH से भी अधिक व्यापक रूप से इस्तेमाल होता है। अधिकांश मामलों मेंbinutilsका उपयोग OpenSSH,sshdचलाने वाले operating system आदि को compile करने में होता है। इससे संकेत मिलता है कि दुर्भावनापूर्ण actors ने open source software में गहराई तक घुसपैठ करने के लिए सही project चुना था।लक्ष्य यह है कि XZ project की स्थिरता को लंबे समय तक बेहतर बनाने के लिए एक standardized test framework इस्तेमाल किया जाए, जिससे अधिक tests लिखने में मदद मिले। अभी कई features का test नहीं हुआ है, इसलिए ऐसे tests उपयोगी होंगे।
RSA_public_decryptफ़ंक्शन से लिंक हो सकने वाले linking mechanism पर बहुत चर्चा नहीं हुई। process separation जैसी तकनीकों से क्या हासिल किया जा सकता है, इस पर तो काफी बात हुई, लेकिन उस function call redirection पर कम ध्यान दिया गया। यह सवाल उठता है कि क्या महत्वपूर्ण components को trust-tier तरीके से जोड़ने का कोई तरीका स्थापित किया जा सकता है।कहा जा रहा है कि दुनिया "लगभग" संक्रमित हो गई होती, लेकिन वास्तव में Arch, Gentoo, OpenSUSE Tumbleweed जैसी लोकप्रिय Linux distributions कई हफ्तों तक backdoor शामिल करके वितरित की गईं, और Tumbleweed में यह निश्चित रूप से काम भी कर रहा था। "लगभग" कहना उचित नहीं है।
अनुमान है कि अगले 12 महीनों के भीतर इसी तरह का एक और मामला सामने आएगा। इसकी शुरुआत maintainers द्वारा एक-दूसरे के पुराने commits पर शक करने से होगी।
इस घटना से मिले व्यक्तिगत सबक:
autotoolsऔरautotoolsसंस्कृति खराब है।libsystemdecosystem में समस्याएं पैदा करता है।systemdकी आलोचना करने वालों को अक्सर नज़रअंदाज़ किया जाता है, लेकिनsystemdबड़ा, जटिल और बहुत dependencies वाला है, और अधिकांश programs उसका सिर्फ एक छोटा हिस्सा इस्तेमाल करते हैं।liblzmaऔरxz-utilsकरोड़ों installations में मौजूद हैं, लेकिन इन्हें संभालने के लिए मानसिक स्वास्थ्य समस्याओं से जूझ रहा एक ही maintainer था।इस समस्या को खोजने वाला व्यक्ति Azure Postgres पर काम करने वाला Microsoft engineer था, इसके लिए आभार व्यक्त किया गया। अब Azure पसंद आने लगा है।
xzके मूल maintainer ने जिम्मेदारी Jia Tan को सौंप दी थी, लेकिन हो सकता है कि उसने उससे कभी व्यक्तिगत रूप से मुलाकात या phone call तक न की हो। यह सवाल उठाया गया कि क्या सिर्फ email/GitHub के जरिए संवाद करना सामान्य बात है। उम्मीद है कि इस कहानी के बाद open source projects के maintainers अधिक सतर्क होंगे।जबकि लोग सोचते हैं कि यह backdoor जल्दी पकड़ लिया गया, संभव है कि यह पहले ही अपना उद्देश्य पूरा कर चुका हो। खासकर अगर target वे developers थे जो Kali और Debian जैसी rolling release distributions इस्तेमाल करते हैं।
यह संकेत मिलता है कि
xz Utilsके लंबे समय के maintainer Lasse Collin के बारे में यह दावा कि वह software को अक्सर या पर्याप्त तेजी से update नहीं करते थे, एक गलती थी।