दिलचस्प बात यह है कि 2019 में आए 'checkm8' एक्सप्लॉइट ने A5 से A11 चिप्स को टार्गेट किया था, और अब usbliter8 इसी तरह के हमले को अगली पीढ़ी के चिप्स तक ले आया है । हालांकि, A11 चिप इस खामी से प्रभावित नहीं है क्योंकि इसमें USB ड्राइवर हर पैकेट के बाद डीएमए (DMA) पॉइंटर को मैन्युअली रीसेट करता है
। वहीं, A14 और उससे नए चिप्स में SecureROM में USB DART (मेमोरी प्रोटेक्शन) को सही तरीके से कॉन्फ़िगर किया गया है, जो इस हमले को असंभव बना देता है
।
usbliter8 चिप में मौजूद Synopsys DWC2 USB कंट्रोलर के एक हार्डवेयर बग का फायदा उठाता है । आइए इसे तकनीकी रूप से समझते हैं:
रिंग-बफर पॉइंटर में हेरफेर: यह कंट्रोलर तीन USB सेटअप पैकेटों को एक DMA बफर में स्टोर करता है। हर राइट के बाद, यह एक हार्डवेयर पॉइंटर को डेटा के साइज़ से बढ़ाता है। तीसरे पैकेट के बाद, यह पॉइंटर को 24 बाइट्स से घटाकर रीसेट करता है ।
छोटे पैकेट का जाल: कंट्रोलर 8 बाइट्स से छोटे पैकेट को भी स्वीकार कर लेता है, लेकिन उन्हें हमेशा 4-बाइट के ब्लॉक में स्टोर करता है। जब एक छोटा पैकेट आता है, तो पॉइंटर का बढ़ना (डेटा राइट करना) और 24 बाइट्स का निश्चित घटाव आपस में मेल नहीं खाता। इससे 12-बाइट का बफर अंडरफ्लो (buffer underflow) होता है, यानी पॉइंटर मेमोरी में पीछे की ओर बढ़ने लगता है ।
मेमोरी में सेंध: यह हमलावर को SRAM के उन क्षेत्रों को ओवरराइट करने की अनुमति देता है, जो बूट के दौरान एक्सेस नहीं किए जाने चाहिए, जैसे स्टैक डेटा और हीप मेटाडेटा ।
कोड पर कब्जा: A12 चिप पर, हमलावर USB टास्क के स्टैक पर सेव्ड लिंक रजिस्टर (LR) को ओवरराइट करके सीधे प्रोग्राम-काउंटर (PC) को हाईजैक कर सकता है। A13 चिप पर, PAC (पॉइंटर ऑथेंटिकेशन कोड) की मौजूदगी के कारण यह प्रक्रिया काफी जटिल हो जाती है। इसे बायपास करने के लिए हमलावर को कई चरणों वाली एक जटिल तकनीक अपनानी पड़ती है जो हीप चेकसम और पैनिक काउंटर को भी बायपास करती है ।
BootROM (या SecureROM) वह सबसे पहला कोड होता है जो चिप पावर ऑन होने पर चलाती है। इसे चिप निर्माण के समय रीड-ओनली मेमोरी (ROM) में जला दिया जाता है और डिवाइस के फैक्ट्री से निकलने के बाद इसे बदला नहीं जा सकता । चूंकि इस खामी की जड़ USB कंट्रोलर में एक हार्डवेयर बग है न कि सॉफ्टवेयर बग, इसलिए Apple इसे किसी भी फर्मवेयर या iOS अपडेट से ठीक नहीं कर सकता
। इसका एकमात्र कारगर उपाय A14 या उससे नए चिप वाले डिवाइस में अपग्रेड करना है
।
Comments
0 comments