Bash चरण की obfuscation की व्याख्या

  • xz/liblzma में backdoor मिला है। इसका असर OpenSSH server पर पड़ता है।
  • backdoor वाले binary files से ज़्यादा, शुरुआती bash हिस्से और उसमें इस्तेमाल की गई सरल लेकिन चतुर obfuscation विधि पर ध्यान दिया गया है।
  • यह लेख बताता है कि bash चरण को कैसे obfuscate किया गया और कैसे extract किया गया।

शुरू करने से पहले

  • xz/liblzma के दो versions (5.6.0 और 5.6.1) प्रभावित हैं। इनमें मामूली अंतर है।
  • bash हिस्सा तीन चरणों (या चार चरणों?) में बँटा है, और हर चरण को Stage 0 से Stage 2 तक नाम दिया गया है।
  • "Stage 3" का भी ज़िक्र किया जाएगा, लेकिन हो सकता है कि वह अभी पूरी तरह implement न हुआ हो।
  • obfuscated/encrypted चरण और उसके बाद का binary backdoor दो test files में छिपा हुआ है।

Stage 0

  • शुरुआत m4/build-to-host.m4 file से होती है। यह code build process के दौरान कहीं execute होकर Stage 1 script को extract करता है।
  • यह test files से bytes पढ़कर standard output में भेजता है, और tr command का इस्तेमाल करके characters को दूसरे characters से map करता है।

Stage 1

  • यह ####Hello#### से शुरू होने वाली bash file है। इसे केवल Linux पर चलने के लिए बनाया गया है।
  • इसमें eval का इस्तेमाल करके config.status से srcdir निकाला जाता है, और एक जटिल head command chain शामिल है जो खास bytes को skip करके output करती है।
  • tr command का इस्तेमाल करके एक simple substitution cipher लगाया जाता है, फिर xz command से decompress करके उसे execute किया जाता है।

Stage 2

  • Stage 2 असल में compile process को modify करने वाली bash script है।
  • ऐसा लगता है कि इसमें कोई "extension/patch" system है, जिससे test files को बार-बार बदले बिना नए scripts चलाए जा सकते हैं।
  • इसमें .o files को extract करके compile/linking process में integrate करने वाला code शामिल है।

सारांश

  • यह process बहुत गहराई से छिपाई गई है, और केवल standard command-line tools का इस्तेमाल करके जटिल तरीके से बनाई गई है।
  • 3-stage execution और "extension" system के ज़रिए इसे भविष्य के लिए तैयार किया गया है, ताकि binary test files को फिर से बदलने की ज़रूरत न पड़े।
  • यह तथ्य कि ऐसा attack संयोग से खोजा गया, security community के लिए कई सवाल छोड़ता है।

GN⁺ की राय

  • यह लेख software security और supply chain attacks के महत्व को उजागर करता है। यह software build process में पैदा हो सकने वाली कमजोरियों को पहचानने और code review तथा security audit की अहमियत याद दिलाता है।
  • obfuscation techniques और multi-stage attack methods दिखाते हैं कि हमलावर कितनी sophistication के साथ systems में घुसपैठ कर सकते हैं। इन तकनीकों में security professionals के लिए भी शैक्षिक मूल्य है।
  • इसी तरह की क्षमता देने वाले दूसरे security tools या projects में OWASP का Dependency-Check और Sonatype का Nexus Platform शामिल हैं। ये software dependencies में security vulnerabilities की पहचान करने में मदद करते हैं।
  • इस तकनीक को अपनाते समय software supply chain के हर चरण में security को मज़बूत करना चाहिए। इसका लाभ system safety बढ़ना है, जबकि नुकसान यह है कि अगर हमलावर ऐसी विधियों का इस्तेमाल करें तो detection मुश्किल हो सकता है।
  • यह घटना open source community की ताकत और कमजोरी, दोनों को उजागर करती है। community-based review और contributions project की growth और security के लिए महत्वपूर्ण हैं, लेकिन साथ ही malicious contributors का जोखिम भी मौजूद रहता है।

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.