सैकड़ों AUR पैकेजों पर सूचना चुराने वाले मैलवेयर का हमला
(lists.archlinux.org)- AUR(Arch User Repository) में बड़ी संख्या में malicious commits डाले गए, जिनसे पैकेज इंस्टॉलेशन प्रक्रिया के दौरान
npm install atomic-lockfileचलाने के लिए छेड़छाड़ की गई — यह एक supply chain attack है - read-only mirror खोज परिणामों के अनुसार, लगभग 408 पैकेजों के PKGBUILD,
.install, और.hookफ़ाइलों में वही malicious command मिला - malicious commits ने पिछले commit के नाम और email की नकल करके वैध maintainer का रूप धारण किया; यह commit forgery तरीका है, और यह ज़रूरी नहीं कि account takeover हुआ हो
- Arch पक्ष malicious commits को reset/delete करने और accounts को block करने की प्रक्रिया में है, और अतिरिक्त malicious packages मिलने पर उन्हें एक ही thread में इकट्ठा करके report करने का अनुरोध किया गया
- community सदस्यों ने अलग-अलग पैकेज commits की लगातार रिपोर्ट करते हुए सहयोगात्मक प्रतिक्रिया शुरू की; यह AUR package ecosystem के बड़े हिस्से को प्रभावित करने वाला मामला है
घटना का सार और प्रतिक्रिया का अनुरोध
- AUR में बड़े पैमाने पर malicious commits डाले जाने के संकेत साझा किए गए, और malicious commits को reset/delete करने तथा accounts को block करने का काम जारी है
- अगर अतिरिक्त malicious packages मिलें, तो उन्हें एक ही thread में संकलित करने के लिए इस email का reply करके report करने का अनुरोध किया गया
- समन्वय संभालने वाले व्यक्ति ने उत्तर देकर बताया कि सभी प्राप्त reports देख ली गई हैं, और रिपोर्टिंग में समय देने वाले प्रतिभागियों का आभार व्यक्त किया
मैलवेयर पैटर्न — atomic-lockfile
- छेड़छाड़ किए गए पैकेज आम तौर पर
npm install atomic-lockfileचलाते हैं, और उसके बादora,fast-glob,glob,minimist,axios,commander,execa,chalk,debugजैसे अतिरिक्त npm package नाम जुड़े होते हैं - जिन फ़ाइल प्रकारों में malicious command मिला
*-deps.installप्रकार की installation scripts*.installpackage installation scripts*.hookफ़ाइलें — उदाहरण:Exec = /bin/sh -c 'cd /tmp && npm install atomic-lockfile ... 2>/dev/null; exit 0'के रूप में,/tmpमें चलाकर error छिपाने और exit करने के लिए- कुछ मामलों में यह
install.shजैसी संबंधित फ़ाइलों में भी शामिल था
- नए बनाए गए malicious package के उदाहरण के रूप में
exodus-wallet-binकी रिपोर्ट हुई, जो पहले commit के आधार पर लगभग 4 घंटे पहले बनाया गया नया package था
पता लगाने का तरीका और प्रभाव का दायरा
- read-only mirror की सीधे जाँच करके इसका पता लगाया गया
git clone https://github.com/archlinux/aur.gitके बाद, सभी refs पर घूमते हुएgit grep 'atomic-lockfile'चलाया गया- परिणामस्वरूप
atomic-lockfileइंस्टॉल करने वाले लगभग 408 पैकेजों की लंबी सूची मिली, जिसका उपयोग automated cleanup में किया जा सकता है
- प्रभावित बताए गए पैकेजों के उदाहरण
runescape-launcher,oracle-bin,tesseract-gui,python-starsessions,bitcoin-core-git,apple-music-desktop,exodus-wallet-bin,anythingllm-appimage,arm-linux-gnueabihf-binutilsआदिcutefish-*,python2-*,python-*जैसी व्यापक package families भी शामिल हैं
- अलग-अलग रिपोर्टों की संख्या बढ़ने से mail बहुत अधिक हो गए, इसलिए कई मामलों को एक email में जोड़कर भेजने की सलाह दी गई, और IRC में एक संयुक्त package list अलग से साझा की गई
प्रतिरूपण/फ़र्ज़ीवाड़े का तरीका
- एक विशेष account (
arojas) से जुड़े पैकेजों को लेकर यह सवाल उठा कि मामला account takeover का है या commit forgery का - इसके जवाब में पुष्टि की गई कि malicious commits पिछले commit के नाम और email का impersonation करते हैं — यानी commit metadata की फ़र्ज़ीबाज़ी
- उसी उपयोगकर्ता के कुछ अन्य पैकेजों के पहले ही ठीक किए जाने की भी रिपोर्ट मिली
प्रतिक्रिया की वर्तमान स्थिति
- रिपोर्ट किए गए पैकेज commits को क्रमशः प्रोसेस किया गया, और कुछ आइटम्स पर सुधार पूरा (Done) होने की पुष्टि मिली
- अतिरिक्त रिपोर्टें आने पर समन्वयकर्ता ने प्राप्त सभी मामलों की सामूहिक समीक्षा की, साथ ही चल रही blocking और reset प्रक्रिया भी जारी रही
- कई प्रतिभागियों ने commit links के साथ अलग-अलग पैकेजों की रिपोर्ट की, और यह community-led collaborative response के रूप में आगे बढ़ा
1 टिप्पणियां
Lobste.rs की टिप्पणियाँ
इस घटना के बाद कम्युनिटी की गुमनाम और बिना सत्यापित योगदानों पर बची-खुची भरोसे की भावना शायद लगभग खत्म हो जाएगी
ऐसा लग रहा है जैसे भरोसा रियल टाइम में घिसता जा रहा हो
हम कंप्यूटरों को व्यक्तिगत और संवेदनशील डेटा बहुत ज़्यादा सौंप चुके हैं, और वे आधुनिक जीवन के केंद्र में आ गए हैं। अगर किसी पर्सनल कंप्यूटर में संक्रमण हो जाए, तो वह सचमुच एक विनाशकारी घटना है, और तब बस यही उम्मीद की जा सकती है कि मैं इतना दिलचस्प न निकलूँ कि कोई हैकर खास तौर पर मुझे परेशान करने की ज़हमत उठाए
फिर भी, किसी न किसी तरह हमने किसी भी रैंडम प्रोग्राम को पूर्ण अधिकारों के साथ चलाना सामान्य बना दिया है[1], और जब भी यह बुरा विचार साबित होता है तो हम हैरान होने का नाटक करते हैं
[1] यह अभी के यूज़र परमिशन के संदर्भ में है। ज़्यादातर सेटअप में root का व्यावहारिक रूप से बहुत कम मतलब रह जाता है
मैं ऐसा सिस्टम सोच सकता हूँ जो AUR पैकेज इंस्टॉल या अपडेट करते समय ऐसे विकल्प दे: अगर पैकेज हाल ही में अपडेट हुआ है तो उसे 1 हफ्ते तक ठंडा होने देना, खुद कुछ मिनट लगाकर पैकेज की समीक्षा करना और अपनी प्रतिष्ठा से जुड़ी signed review छोड़ना, या फिर पर्याप्त भरोसा जुटा चुके कई अलग-अलग लोगों की signed reviews पर निर्भर करना
cooling period तकनीकी रूप से Arch की उस नीति से मेल न खाए जिसमें सभी पैकेजों को साथ-साथ up to date रखा जाता है। लेकिन AUR पैकेज वैसे भी आधिकारिक सपोर्ट के दायरे में नहीं आते
कई घंटे बीत चुके हैं, फिर भी NPM पैकेज अभी तक नहीं हटाया गया है: https://www.npmjs.com/package/atomic-lockfile
यह देखने के लिए कि इंस्टॉल किए गए पैकेज प्रभावित हुए हैं या नहीं,
aur_pkg_list.txtफ़ाइल के साथ यह छोटा स्क्रिप्ट इस्तेमाल किया जा सकता हैइसमें semicolon डाले गए हैं, इसलिए इसे one-liner कमांड बनाना आसान है :-)
लगता है यह substring तक पकड़ रहा है। उदाहरण के लिए
ktea,kteatimeसे भी मैच हो जाता हैयह वाला वर्ज़न काम करता हुआ लग रहा है
संभव है कि यह काफ़ी समय से चल रहा हो। 18 दिन पहले के इस ईमेल को देखें तो लगता है कि इसी तरह का malicious payload इस्तेमाल हुआ था, लेकिन लगता है कि malicious commit को repository से पूरी तरह हटा दिया गया है
इसी सिलसिले में, क्या लोकप्रिय Linux distributions की supply chain security posture की तुलना करने वाला कोई अच्छा स्रोत है? अब तक जो ज़्यादातर चीज़ें मिली हैं, वे या तो छुपा हुआ marketing लगती हैं या AI से बना कमजोर लेख। शायद मुझे खुद ही रिसर्च करनी पड़ेगी
दुखद बात यह है कि मुझे community development के आदर्श पसंद हैं, लेकिन supply chain की चिंता की वजह से मैं ज़्यादा बंद विकल्पों या यहाँ तक कि proprietary software की तरफ़ भी अधिक गंभीरता से देखने लगता हूँ