परिचय
- Flatt Security Inc. के सुरक्षा इंजीनियर RyotaK ने OpenWrt की firmware upgrade प्रक्रिया में एक सुरक्षा भेद्यता खोजी।
- OpenWrt embedded devices के लिए Linux-आधारित firmware है, और खासकर routers में काफ़ी लोकप्रिय है।
sysupgrade.openwrt.org
sysupgrade.openwrt.org एक online service है, जहाँ उपयोगकर्ता अपनी पसंद के packages चुनकर नई firmware image बना सकते हैं।
- उपयोगकर्ता द्वारा दिए गए source code से image build करने की प्रक्रिया में सुरक्षा समस्या उत्पन्न हो सकती है।
command injection
sysupgrade.openwrt.org server एक open source project है, और इसका source code openwrt/asu पर host किया गया है।
- server build environment को isolate करने के लिए containers का उपयोग करता है, लेकिन एक ऐसी भेद्यता मिली जिसमें उपयोगकर्ता input के ज़रिए arbitrary commands चलाए जा सकते थे।
SHA-256 टकराव
- request का hash बनाने की प्रक्रिया में SHA-256 hash को काटकर 12 अक्षरों तक इस्तेमाल किया गया।
- hash collision के ज़रिए server को धोखा देकर गलत build artifacts लौटाने के लिए मजबूर किया जा सकता था।
SHA-256 brute force
- OpenCL का उपयोग करके GPU पर hash brute force करने वाला एक program लागू किया गया, लेकिन उसका performance अच्छा नहीं था।
- Hashcat का उपयोग करके 12-अक्षर वाला collision खोजने में सफलता मिली।
दो हमलों का संयोजन
- वैध package list के समान hash रखने वाला command injection payload खोजकर हमला किया गया।
- हमलावर उपयोगकर्ता को malicious firmware में upgrade करने के लिए मजबूर कर सकता था।
समस्या की रिपोर्ट
- OpenWrt टीम को समस्या की रिपोर्ट करने के बाद service को अस्थायी रूप से बंद किया गया और जल्दी से ठीक कर दिया गया।
- उपयोगकर्ताओं के लिए एक notice जारी किया गया ताकि वे जाँच सकें कि उनके devices प्रभावित हुए हैं या नहीं।
निष्कर्ष
- command injection और SHA-256 collision के माध्यम से
sysupgrade.openwrt.org service को compromise किया जा सकता था।
- OpenWrt टीम की तेज़ प्रतिक्रिया के लिए आभार व्यक्त किया गया और उपयोगकर्ताओं को समस्या के बारे में तुरंत सूचित किया गया।
विज्ञापन
- Flatt Security सुरक्षा आकलन और penetration testing services प्रदान करता है, और नए web page update के उपलक्ष्य में विशेष छूट दे रहा है।
- यह Shisho Cloud नाम का एक शक्तिशाली security assessment tool भी प्रदान करता है।
1 टिप्पणियां
Hacker News राय
किसी खास user या device के लिए tailor किए गए code execution का सामान्यीकरण ऐसा जोखिम है जिसमें verification की संभावना नहीं होती, और यह पुष्टि नहीं की जा सकती कि backdoor शामिल करने वाला build नहीं बनाया गया
".join"का उपयोग खतरनाक हो सकता हैopen source business-grade closed source से प्रतिस्पर्धा नहीं कर सकता
ब्लॉग पोस्ट में "supply chain" शब्द दिखाई नहीं देता
open source tools को उनके मूल उद्देश्य से अलग तरीके से ढाला गया
यह जानने की जिज्ञासा है कि hash को truncate करने का विचार आया कैसे
यह देखकर हैरानी है कि छोटी collision खोजने के लिए भी काफी GPU power चाहिए
तुरंत ध्यान गया कि hash की लंबाई 64 characters से घटाकर 12 characters कर दी गई है
यह सवाल है कि argument order के अनुसार hashcat performance इतनी ज्यादा क्यों बदलती है
बहुत ही चतुर code reading और exploit development पर एक शानदार लेख है