← नवीनतम पेपर
💻 computer science

SoK: ARCUS: On the Efficiency and Efficacy of Hardware Fuzzing

यह शोध पत्र ISA, माइक्रोआर्किटेक्चर और RTL एब्स्ट्रैक्शन परतों के across हार्डवेयर फज़िंग तकनीकों का एक व्यापक विश्लेषण प्रस्तुत करता है, जो अधिक कुशल और विश्वसनीय सत्यापन समाधान विकसित करने के लिए भविष्य के अनुसंधान दिशाओं का प्रस्ताव करते हुए प्रमुख चुनौतियों और अपूर्ण आवश्यकताओं की पहचान करता है।

मूल लेखक: Alenkruth Krishnan Murali, Raghul Saravanan, Sai Manoj P D, Ashish Venkat

प्रकाशित 2026-08-26
📖 8 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Alenkruth Krishnan Murali, Raghul Saravanan, Sai Manoj P D, Ashish Venkat

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

आधुनिक कंप्यूटर उन जटिल निर्देशों की नींव पर बने होते हैं जो हार्डवेयर को ठीक-ठीक बताते हैं कि उसे क्या करना है। ये निर्देश उस अनुबंध (कॉन्ट्रैक्ट) का निर्माण करते हैं जो हमारे द्वारा लिखे गए सॉफ़्टवेयर और उसे चलाने वाली भौतिक चिप्स के बीच होता है। दशकों से, इंजीनियर इस बात को सुनिश्चित करने के लिए सावधानीपूर्वक परीक्षण पर भरोसा करते आए हैं कि इस अनुबंध का सम्मान किया जाए, यह जाँचते हुए कि एक प्रोसेसर बिल्कुल वैसा ही व्यवहार करे जैसा उसके डिजाइनरों ने चाहा था। हालाँकि, जैसे-जैसे ये चिप्स अधिक जटिल होती गईं, इनकी जाँच करने के पुराने तरीके संघर्ष करने लगे हैं। एक चिप जो क्रियाएं कर सकती है, उनके संभावित संयोजनों का विशाल आकार इतना अधिक हो गया है कि मनुष्यों के लिए उन्हें एक-एक करके जाँचना असंभव हो गया है। इसके जवाब में, शोधकर्ताओं ने 'फज़िंग' (fuzzing) नामक तकनीक की ओर रुख किया है। मूल रूप से सॉफ़्टवेयर के लिए विकसित यह विधि, सिस्टम को यादृच्छिक (रैंडम) या थोड़े बदले हुए इनपुट की एक विशाल धारा खिलाने से संबंधित है ताकि यह देखा जा सके कि क्या वह टूट जाता है। हार्डवेयर की दुनिया में, इसका अर्थ है एक प्रोसेसर को लाखों अजीब निर्देश अनुक्रम भेजना ताकि यह देखा जा सके कि क्या वह क्रैश होता है, अप्रत्याशित व्यवहार करता है, या कोई छिपा हुआ सुरक्षा दोष प्रकट करता है।

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

शोधकर्ताओं ने हार्डवेयर फज़िंग के परिदृश्य को तीन विशिष्ट परतों में व्यवस्थित किया, जिनमें से प्रत्येक की अपनी चुनौतियाँ हैं। पहली परत 'इंस्ट्रक्शन सेट आर्किटेक्चर' (instruction set architecture) है, जो उन कमांड्स का समूह है जिन्हें एक प्रोसेसर समझता है। इस स्तर के उपकरण प्रोसेसर को एक 'ब्लैक बॉक्स' की तरह मानते हैं, जिसका अर्थ है कि वे चिप के अंदर नहीं देख सकते; वे केवल कमांड भेज सकते हैं और परिणाम देख सकते हैं। यहाँ लक्ष्य उन निर्देशों को खोजना है जिन्हें प्रोसेसर निष्पादित तो करता है लेकिन वे आधिकारिक रूप से प्रलेखित (documented) नहीं हैं, या उन मामलों को खोजना है जहाँ प्रोसेसर उस तरह से व्यवहार करता है जैसा कि उसका मैनुअल कहता है। क्योंकि टेस्टर आंतरिक कार्यप्रणाली को नहीं देख सकते, इसलिए वे प्रोसेसर के आउटपुट की तुलना एक विश्वसनीय 'रेफरेंस मॉडल' से करने पर निर्भर करते हैं, जो एक अलग प्रोग्राम है जो सिम्युलेट करता है कि प्रोसेसर को क्या करना चाहिए। यदि वास्तविक चिप और सिमुलेशन के बीच असहमति होती है, तो एक बग (त्रुटि) को चिह्नित किया जाता है। अध्ययन में पाया गया कि जबकि रैंडम टेस्टिंग कुछ त्रुटियों को खोज सकती है, सबसे प्रभावी उपकरण रैंडम जनरेशन और संरचित नियमों के मिश्रण का उपयोग करते हैं ताकि बेकार डेटा को छोड़कर उन क्षेत्रों पर ध्यान केंद्रित किया जा सके जहाँ गलतियाँ छिपने की सबसे अधिक संभावना होती है।

दूसरी परत 'माइक्रोआर्किटेक्चर' (microarchitecture) है, जो उन आंतरिक, छिपी हुई यांत्रिकी से संबंधित है कि कैसे प्रोसेसर उन निर्देशों को निष्पादित करता है। यहीं पर चिप चीज़ों को तेज़ करने के लिए अगले निर्देश का अनुमान लगाने या डेटा को अस्थायी रूप से कैश में संग्रहीत करने जैसे सेकंड के सौवें हिस्से के निर्णय लेती है। ये आंतरिक व्यवहार आमतौर पर सॉफ़्टवेयर के साथ आधिकारिक अनुबंध का हिस्सा नहीं होते हैं, लेकिन वे सुरक्षा छेद (security holes) पैदा कर सकते हैं। उदाहरण के लिए, एक प्रोसेसर अपने संचालन के समय (timing) के माध्यम से अनजाने में गुप्त डेटा प्रकट कर सकता है। इस परत का परीक्षण करना कठिन है क्योंकि बग आमतौर पर क्रैश या त्रुटियां नहीं होते, बल्कि सूचना के सूक्ष्म रिसाव होते हैं। अध्ययन ने दिखाया कि इस स्तर को लक्षित करने वाले उपकरण शुद्ध रैंडमनेस के बजाय व्यवहार के विशिष्ट पैटर्न पर निर्भर करते हैं जिन्हें खतरनाक माना जाता है। वे विशेष रूप से इन आंतरिक तंत्रों को ट्रिगर करने के लिए डिज़ाइन किए गए टेस्ट अनुक्रमों का निर्माण करते हैं और फिर यह देखने के लिए सूक्ष्म समय अंतर (timing differences) को मापते हैं कि क्या कोई गुप्त जानकारी लीक हुई थी। शोधकर्ताओं ने नोट किया कि इन बग्स को खोजने के लिए चिप के आंतरिक डिज़ाइन की गहरी समझ की आवश्यकता होती है, और जो उपकरण केवल रैंडम अनुमान लगाते हैं, वे यहाँ अक्सर अप्रभावी होते हैं।

तीसरी परत 'रजिस्टर-ट्रांसफर लेवल' (register-transfer level) है, जो वास्तव में वह कोड है जिसका उपयोग चिप के निर्माण से पहले उसे डिजाइन करने के लिए किया जाता है। इस चरण में, चिप केवल एक डिजिटल ब्लूप्रिंट के रूप में मौजूद होती है, और इंजीनियर हर एक तार और स्विच को देख सकते हैं। यह सबसे अधिक दृश्यता प्रदान करता है, जिससे टेस्टर यह माप सकते हैं कि डिज़ाइन के कितने हिस्से को एक्सप्लोर किया गया है। इस स्तर के उपकरण सिमुलेशन से प्राप्त वास्तविक समय के फीडबैक के आधार पर इनपुट डेटा को बदल (mutate) सकते हैं, जैसे कि चिप की कितनी नई अवस्थाओं (states) का दौरा किया गया है। अध्ययन में पाया गया कि हालांकि यह स्तर सबसे सटीक परीक्षण की अनुमति देता है, लेकिन यहाँ उपयोग किए जाने वाले उपकरण अक्सर धीमे होते हैं क्योंकि चिप का सिमुलेशन करने में बहुत समय लगता है। इसके अलावा, शोधकर्ताओं ने पाया कि इन उपकरणों द्वारा अपनी सफलता को रिपोर्ट करने के तरीके में एक महत्वपूर्ण समस्या है। विभिन्न उपकरण 'कवरेज' मापने के लिए अलग-अलग तरीकों का उपयोग करते हैं, जिससे उनकी सीधे तुलना करना लगभग असंभव हो जाता है। एक उपकरण दावा कर सकता है कि उसने दस हज़ार परीक्षणों के बाद एक बग खोज लिया है, जबकि दूसरा उसी परिणाम का दावा दस लाख परीक्षणों के बाद करता है, लेकिन 'कवरेज' का क्या अर्थ है, इसे मापने के किसी मानक तरीके के बिना, ये संख्याएँ व्याख्या करने योग्य नहीं हैं।

पेपर वर्तमान स्थिति की कई महत्वपूर्ण कमियों की पहचान करता है। एक प्रमुख मुद्दा "गोल्डन रेफरेंस मॉडल्स" (golden reference models) पर निर्भरता है, जो वे विश्वसनीय सिमुलेशन हैं जिनका उपयोग यह जाँचने के लिए किया जाता है कि वास्तविक चिप सही ढंग से व्यवहार कर रही है या नहीं। यदि रेफरेंस मॉडल स्वयं त्रुटिपूर्ण है, तो फज़िंग टूल वास्तविक बग्स को मिस कर सकता है या गलत अलार्म दे सकता है। यह माइक्रोआर्किटेक्चर परत के लिए विशेष रूप रूप से समस्याग्रस्त है, क्योंकि वहाँ कोई पूर्ण रेफरेंस मॉडल मौजूद नहीं है क्योंकि आंतरिक व्यवहार अक्सर पूरी तरह से प्रलेखित नहीं होते हैं। शोधकर्ताओं ने इस बात पर भी प्रकाश डाला कि इस क्षेत्र में परिणामों की रिपोर्ट करने के लिए एक सामान्य भाषा का अभाव है। मानकीकृत बेंचमार्क और मेट्रिक्स के बिना, यह जानना कठिन है कि क्या एक नया टूल वास्तव में पुराने टूल से बेहतर है या वह केवल कुछ अलग चीज़ को माप रहा है। उन्होंने यह भी देखा कि अधिकांश उपकरण अभी भी एक समय में एक ही परत का परीक्षण करने तक सीमित हैं, जिससे उन जटिल अंतःक्रियाओं (interactions) को मिस कर दिया जाता है जो तब होती हैं जब उच्च-स्तरीय निर्देश निम्न-स्तरीय हार्डवेयर यांत्रिकी से मिलते हैं।

आगे देखते हुए, लेखक सुझाव देते हैं कि हार्डवेयर फज़िंग की अगली पीढ़ी को अधिक स्मार्ट और अधिक जुड़ा हुआ होने की आवश्यकता होगी। वे बेहतर टेस्ट इनपुट उत्पन्न करने के लिए आर्टिफिशियल इंटेलिजेंस का उपयोग करने का प्रस्ताव देते हैं, जो साधारण रैंडमनेस से आगे बढ़कर ऐसे अनुक्रम बनाने की ओर बढ़े जो सिस्टम को दिलचस्प तरीकों से तनाव (stress) देने की अधिक संभावना रखते हों। वे स्केलेबल रेफरेंस मॉडल्स के विकास का भी आह्वान करते हैं जो आधुनिक चिप्स की जटिलता को संभाल सकें बिना अत्यधिक मैन्युअल कार्य की आवश्यकता के। शायद सबसे महत्वपूर्ण बात यह है कि वे एक हाइब्रिड दृष्टिकोण की कल्पना करते हैं जहाँ विभिन्न स्तरों के फज़िंग टूल्स एक-दूसरे से बात कर सकें। एक इंस्ट्रक्शन-लेवल टूल एक संदिग्ध कमांड को माइक्रोआर्किटेक्चर टूल को पास कर सकता है, जो फिर एक विशिष्ट टाइमिंग पैटर्न को लो-लेवल टूल को पास कर सकता है, जिससे जांच की एक निरंतर श्रृंखला बन सकती है जो पूरे सिस्टम को कवर करती है। शोधकर्ताओं का मानना है कि परिणामों को मापने के तरीके को मानकीकृत करके और इन विभिन्न स्तरों को एकीकृत करके, समुदाय इन खंडित उपकरणों के संग्रह से एक एकीकृत, व्यवस्थित दृष्टिकोण की ओर बढ़ सकता है जो हमारे तेजी से जटिल होते कंप्यूटरों को सुरक्षित और विश्वसनीय बनाए रखे।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →