HeadlinesBriefing favicon HeadlinesBriefing.com

लेजर फॉल्ट इंजेक्शन RP2350 सुरक्षित डिबग को बायपास करता है

Hacker News •
×

फोटॉन-एमिशन माइक्रोस्कोपी ने Raspberry Pi माइक्रोकंट्रोलर पर डिबग सुविधाओं को सक्षम करने वाला एक रजिस्टर का पता लगाया। दो निकट स्थानों पर लेजर पल्स ने चिप की सुरक्षित दुनिया तक डिबगर पहुंच बहाल कर दी, भले ही डिबग को स्थायी रूप से अक्षम कर दिया गया था। रेस्क्यू रीसेट के बाद उस पहुंच का उपयोग करके, हमने वन-टाइम-प्रोग्रामेबल मेमोरी से एक रहस्य पुनर्प्राप्त किया। रीसेट ने फर्मवेयर के रनटाइम लॉक लागू करने से पहले चिप को रोक दिया, इसलिए पेज सुरक्षित-पठनीय रहा। हमले के लिए भौतिक पहुंच, विनाशकारी तैयारी और लगभग $250,000 की प्रयोगशाला उपकरण की आवश्यकता होती है।

RP2350 Raspberry Pi का डुअल-कोर माइक्रोकंट्रोलर है: प्रत्येक प्रोसेसर सॉकेट बूट पर Arm Cortex-M33 या RISC-V Hazard3 कोर चुन सकता है। इसकी हार्डवेयर सुरक्षा सुविधाओं में सुरक्षित बूट, Armv8-M TrustZone, स्थायी डिबग-अक्षम सेटिंग्स और ग्लिच डिटेक्टर शामिल हैं। Raspberry Pi ने अपने RP2350 हैकिंग चैलेंजेस के माध्यम से शोधकर्ताओं को इन सुरक्षाओं का मूल्यांकन करने के लिए आमंत्रित किया। पहला चैलेंज अगस्त से दिसंबर 2024 तक मूल चिप के खिलाफ चला। कई निष्कर्षों को संबोधित करने के बाद, Raspberry Pi ने A4 रिवीजन जारी किया—वह संस्करण जिसका हमने परीक्षण किया।

स्थायी सुरक्षा कॉन्फ़िगरेशन और बूट पब्लिक की फिंगरप्रिंट वन-टाइम-प्रोग्रामेबल (OTP) मेमोरी में संग्रहीत हैं: प्रत्येक बिट को एक बार 0 से 1 में बदला जा सकता है और कभी वापस नहीं। OTP को 128-बाइट पेजों में व्यवस्थित किया गया है जो दो स्थायी लॉक पंक्तियों द्वारा संरक्षित हैं। OTP रीसेट पर, स्थायी LOCK_S और LOCK_NS मान प्रति-पेज रनटाइम लॉक को प्रारंभ करते हैं। फर्मवेयर इस लॉक को कस सकता है लेकिन ढीला नहीं कर सकता। रनटाइम परिवर्तन उस रीसेट के बाद नहीं रहता।

एक बाहरी डिबगर Arm के Serial Wire Debug (SWD) इंटरफ़ेस के माध्यम से संचार करता है। सुरक्षित डिबग का तात्पर्य सुरक्षित एट्रिब्यूशन के साथ Mem-AP पहुंच से है। स्थायी CRIT1.DEBUG_DISABLE फ्लैग इस पथ को बंद कर देता है। सेट होने पर, यह दोनों कोर के Mem-AP के लिए इनेबल सिग्नल को शून्य कर देता है, जिससे बस पहुंच रुक जाती है। SW-DP और RP-AP अभी भी प्रतिक्रिया देते हैं, लेकिन कोई भी कोर Mem-AP सिस्टम बस तक नहीं पहुंच सकता। हालांकि, मेमोरी-मैप्ड DEBUGEN रजिस्टर सुरक्षित सॉफ़्टवेयर को प्रत्येक कोर के Mem-AP और सुरक्षित पहुंच को पुनः सक्षम करने देता है। डेटाशीट में कहा गया है कि DEBUG_DISABLE "इस रजिस्टर के सभी बिट्स सेट करके पूरी तरह से ओवरराइड किया जा सकता है"।

मुख्य संस्थाएँ: कंपनियाँ: Raspberry Pi, Arm, Ledger Donjon