← नवीनतम पेपर
💻 संगणक विज्ञान

State-inferer: LLM-Driven State Machine Extraction and Formal Verification for Secure Protocol Implementations

यह शोध पत्र State-inferer को प्रस्तुत करता है, जो एक व्हाइट-बॉक्स फ्रेमवर्क है जो प्रोग्राम स्लाइसिंग, लार्ज लैंग्वेज मॉडल्स और फॉर्मल मॉडल चेकिंग को एकीकृत करता है ताकि सोर्स कोड से प्रोटोकॉल स्टेट मशीनों को सटीक रूप से निकाला और सत्यापित किया जा सके, जिससे उत्कृष्ट ट्रांज़िशन-लेवल सटीकता प्राप्त होती है और TLS, IKEv2, और SSH कार्यान्वयन में चार पहले से अज्ञात सुरक्षा कमजोरियों का पता चलता है।

मूल लेखक: MengCheng Ju, Xi Chen, XieLi Zhang, Mingliang Zhu, Guanping Zhang, Dongliang Zhao, ChunXiang Gu

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

मूल लेखक: MengCheng Ju, Xi Chen, XieLi Zhang, Mingliang Zhu, Guanping Zhang, Dongliang Zhao, ChunXiang Gu

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

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

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

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

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

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

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

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

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

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

Digest आज़माएँ →