Retrofit or Redesign? Hardware-Validated Constant-Time Defense and Cost Analysis for the M-Step Side-Channel on TrustZone-M
यह शोध पत्र Arm TrustZone-M पर रियल-सिलिकॉन सत्यापन के माध्यम से यह प्रदर्शित करता है कि निरंतर-समय (constant-time) निष्पादन के लिए क्रिप्टोग्राफिक एल्गोरिदम को पुनर्गठित करना, उन्हें रेट्रोफिट करने की तुलना में बेहतर है, क्योंकि बाद वाले में न केवल लगभग दो परिमाण (orders of magnitude) अधिक लागत आती है बल्कि इसमें उन शोषण योग्य नियंत्रण-प्रवाह लीक्स (control-flow leaks) को बनाए रखने का जोखिम भी होता है जिन्हें केवल प्रति-निर्देश (per-instruction) सत्यापन ही पहचान सकता है।
मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक गुप्त तिजोरी के संरक्षक हैं, और इसे खोलने का एकमात्र तरीका एक जटिल गणितीय पहेली को हल करना है। डिजिटल सुरक्षा की दुनिया में, यह पहेली अक्सर एक "मॉड्यूलर इनवर्जन" (modular inversion) होती है, जो संदेशों को लॉक और अनलॉक करने के लिए उपयोग किया जाने वाला एक कैलकुलेशन है। वर्षों तक, विशेषज्ञों का मानना था कि यदि आप पहेली को हल करने में लगने वाले समय को हर बार एक समान रखते हैं, तो कोई भी रहस्य चुरा नहीं सकता। इसे "कांस्टेंट-टाइम" (constant-time) सुरक्षा कहा जाता है। विचार यह था कि यदि चोर यह नहीं जान पाता कि आप कड़ी मेहनत कर रहे हैं या सिर्फ अनुमान लगा रहे हैं क्योंकि दरवाजा खुलने में कितना समय लगा, तो वह सुरक्षित था।
लेकिन एक चालाक नई तकनीक सामने आई जिसे "सिंगल-स्टेपिंग अटैक" (single-stepping attack) कहा जाता है। कल्पना कीजिए कि एक चोर के पास केवल दरवाजा खुलने का इंतज़ार करने के बजाय एक जादुई स्टॉपवॉच है जो आपकी पहेली सुलझाने की प्रक्रिया के हर एक कदम के बाद समय को रोक सकती है। वह देख सकता है कि आपने भूलभुलैया में वास्तव में कौन सा रास्ता लिया। यदि आपकी भूलभुलैया में गुप्त शॉर्टकट हैं जिन्हें आप तभी लेते हैं जब आपको उत्तर पता होता है, तो चोर उस शॉर्टकट को देखता है और आपका रहस्य जान लेता है। यह शोध पत्र सुरक्षा इंजीनियरों के लिए एक उच्च-दांव वाले विकल्प की खोज करता है: जब एक भेद्यता (vulnerability) पाई जाती है, तो क्या आपको पुराने, लीक होने वाले भूलभुलैया को एक समान दिखने के लिए पैच (patch) करना चाहिए (एक "रिट्रोफिट"), या आपको उसे गिराकर एक बिल्कुल नई भूलभुलैया बनानी चाहिए जिसमें डिज़ाइन से ही कोई शॉर्टकट न हो (एक "रीडिज़ाइन")? उत्तर केवल इस बारे में नहीं है कि कौन सा तेज़ है; बल्कि इस बारे में है कि कौन सा वास्तव में चोर को आपके रहस्य देखने से रोकता है।
द ग्रेट मेज़ पैच: रिट्रोफिट बनाम रीडिज़ाइन
इस अध्ययन में, शोधकर्ता अराश रज़बान और उनकी टीम ने एक वास्तविक दुनिया की सुरक्षा खामी (जिसे CVE-2025-54764 के रूप में जाना जाता है) से निपटा, जो छोटे, एम्बेडेड कंप्यूटरों (जैसे स्मार्ट कार्ड या मेडिकल डिवाइस) पर डेटा की सुरक्षा करने वाली एक लोकप्रिय लाइब्रेरी में पाई गई थी। यह खामी "बाइनरी GCD" और "मॉड्यूलर इनवर्जन" रूटीन में थी—मूल रूप से वे गणितीय इंजन जो गुप्त कुंजियों (secret keys) को संभालते हैं। "M-Step" नामक तकनीक का उपयोग करने वाला एक हैकर कंप्यूटर को हर एक निर्देश के बाद फ्रीज कर सकता था और उस पथ को देख सकता था जिससे गणित चला, ताकि गुप्त कुंजी चुराई जा सके।
शोधकर्ताओं ने वास्तविक सिलिकॉन हार्डवेयर (एक Cortex-M33 चिप) पर एक आमने-सामने की लड़ाई आयोजित की ताकि यह देखा जा सके कि कौन सी रक्षा रणनीति बेहतर काम करती है: द रिट्रोफिट (The Retrofit) या द रीडिज़ाइन (The Redesign)।
द रिट्रोफिट (द पैच जॉब):
टीम ने पुराने, लीक होने वाले गणितीय रूटीन को ठीक करने की कोशिश की। उन्होंने मूल कोड लिया, जिसमें गुप्त-निर्भर शॉर्टकट थे (जैसे छिपे हुए दरवाजों वाली भूलभुलैया), और उसे हर बार एक ही रास्ता चलने के लिए मजबूर किया। उन्होंने ऐसा कोड को हर संभव चरण से गुजारकर किया, भले ही उसकी आवश्यकता न हो, और "ब्रांचलेस" (branchless) ट्रिक्स का उपयोग किया ताकि यह छिपा जा सके कि वास्तव में कौन सा रास्ता लिया गया था। यह एक धावक को घर के हर कमरे से होकर गुजरने के लिए मजबूर करने जैसा था, चाहे निकास कहीं भी हो, ताकि कोई प्रेक्षक यह न बता सके कि वह वास्तव में किस कमरे से बाहर निकला।
द रीडिज़ाइन (द न्यू बिल्ड):
विकल्प यह था कि पुराने गणित को पूरी तरह से हटा दिया जाए और उसके स्थान पर एक बिल्कुल नया एल्गोरिदम (जिसे safegcd कहा जाता है) लगाया जाए, जिसे ज़ीरो शॉर्टकट के साथ शुरू से बनाया गया है। इस नई भूलभुलैया का एक निश्चित पथ है जो बिल्कुल वैसा ही दिखता है चाहे गुप्त कुंजी कुछ भी हो।
चौंकाने वाले परिणाम: गति और छिपे हुए रिसाव
शोधकर्ताओं ने दो चीजें मापीं: इन सुरक्षाओं को चलाने की लागत (समय और ऊर्जा में) और क्या वे वास्तव में चोर को रोक पाए।
1. पैच की लागत
परिणाम आश्चर्यजनक थे। "रीडिज़ाइन" अविश्वसनीय रूप से कुशल था। हालांकि, "रिट्रोफिट" गति के मामले में एक आपदा था।
- GCD रूटीन के लिए, रिट्रोफिट रीडिज़ाइन की तुलना में 192 गुना धीमा था।
- मॉड्यूलर इनवर्जन के लिए, रिट्रोफिट 532 गुना धीमा था।
इसे समझने के लिए, जिस हार्डवेयर पर उन्होंने परीक्षण किया, उस पर रीडिज़ाइन किए गए रूटीन को चलने में मिलीसेकंड लगे। रिट्रोफिट किया गया रूटीन? उसे चलने में सेकंड लगे। विशेष रूप से, रिट्रोफिट किए गए GCD को प्रति कॉल लगभग 4.5 सेकंड लगे, और मॉड्यूलर इनवर्जन को पूरे 25 सेकंड लगे। एक ऐसे उपकरण के लिए जिसे तुरंत दरवाजा खोलने या संदेश भेजने की आवश्यकता होती है, 25 सेकंड का इंतज़ार करना व्यावहारिक रूप से बेकार है। रीडिज़ाइन न केवल बेहतर था; यह एकमात्र विकल्प था जिसने डिवाइस को उपयोगी बनाया।
2. "घोस्ट लीक" (The Ghost Leak)
यहीं पर कहानी और भी दिलचस्प हो जाती है। शोधकर्ताओं को लगा कि रिट्रोफिट एक सफलता थी। जब उन्होंने कुल समय को मापा, तो रिट्रोफिट एकदम सही लग रहा था। अलग-अलग रहस्यों के बीच समय का अंतर 2% से कम था, जिसे आमतौर पर "सुरक्षित" माना जाता है।
लेकिन फिर, उन्होंने एक सुपर-प्रिसिजन टूल का उपयोग करके यह जांचा कि कंप्यूटर द्वारा निष्पादित सटीक निर्देश (instructions) क्या थे। उन्होंने एक "घोस्ट लीक" पाया।
- रिट्रोफिट में, गणित प्रक्रिया के बिल्कुल अंत में एक छोटा, छिपा हुआ लूप था। अधिकांश इनपुट के लिए, यह एक निश्चित संख्या में चलता था। लेकिन एक विशिष्ट गुप्त कुंजी के लिए, यह एक अतिरिक्त बार चला।
- इस अतिरिक्त चरण ने कुल समय में केवल कुछ दर्जन क्लॉक साइकिल्स (clock cycles) जोड़े। चूंकि कुल समय बहुत बड़ा (अरबों साइकिल) था, इसलिए यह छोटा सा अंतर मानक टाइमिंग टेस्ट में पूरी तरह से अदृश्य था। यह एक 25 सेकंड की फिल्म में एक अतिरिक्त पलक झपकने को नोटिस करने जैसा था।
- एक M-Step हमलावर, जो हर एक स्टेप को देखता है, इस अतिरिक्त पलक को देख लेता और जान जाता कि गुप्त कुंजी क्या थी।
- शोधकर्ताओं को इस छोटे से लूप को ठीक करने के लिए वापस जाना पड़ा, और इसे एक निश्चित अनुक्रम (fixed sequence) से बदलना पड़ा, ताकि वास्तव में दरवाजा बंद किया जा सके।
निर्णय: नया बनाएं, पैच न करें
यह शोध पत्र सुरक्षा इंजीनियरों के लिए एक स्पष्ट संदेश के साथ समाप्त होता है: इन विशिष्ट प्रकार के गणितीय रूटीन को पैच करने की कोशिश न करें।
- रीडिज़ाइन सर्वश्रेष्ठ है: "कांस्टेंट-टाइम-बाय-डिजाइन" दृष्टिकोण (रीडिज़ाइन) अत्यधिक श्रेष्ठ है। यह पुराने कोड को पैच करने की तुलना में लगभग दो ऑर्डर ऑफ मैग्नीट्यूड (100 गुना) तेज़ है।
- टाइमिंग टेस्ट झूठ बोलते हैं: आप मानक टाइमिंग टेस्ट पर भरोसा नहीं कर सकते कि कोई पैच सुरक्षित है या नहीं। एक पैच स्टॉपवॉच पर एकदम सही दिख सकता है लेकिन फिर भी इसमें एक छोटा, शोषण योग्य (exploitable) रिसाव हो सकता है जिसे केवल "सिंगल-स्टेपिंग" हमलावर देख सकता है।
- चरणों की जाँच करें, घड़ी की नहीं: यह सुनिश्चित करने के लिए कि एक रक्षा काम करती है, आपको केवल कुल समय नहीं, बल्कि निर्देशों के सटीक अनुक्रम (लिया गया पथ) को सत्यापित करना चाहिए।
शोधकर्ताओं ने पाया कि घोस्ट लीक को ठीक करने के बाद भी, समय का थोड़ा सा अंतर (लग 2%) बना रहा। हालांकि, उन्होंने साबित किया कि यह कोई गुप्त रिसाव नहीं था; यह केवल हार्डवेयर का व्यवहार था जो संख्याओं के आधार पर थोड़ा अलग होता है, एक "हार्डवेयर फ्लोर" जिसे सबसे अच्छा सॉफ़्टवेयर भी खत्म नहीं कर सकता। लेकिन महत्वपूर्ण बात यह थी कि कंप्यूटर का पथ अब हर बार समान था, जिसका अर्थ है कि चोर अब चरणों को देखकर रहस्य नहीं जान सकता था।
संक्षेप में: जब इन महत्वपूर्ण गणितीय रहस्यों की बात आती है, तो पुराने घर को पैच करने की कोशिश न करें। उसे गिरा दें और एक नया निर्माण करें जिसे शुरुआत से ही सुरक्षित बनाने के लिए डिज़ाइन किया गया हो। यह तेज़ है, सुरक्षित है, और आप उन छोटी दरारों को नहीं छोड़ेंगे जो एक पैच पीछे छोड़ देता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।