Veritas: A Semantically Grounded Agentic Framework for Memory Corruption Vulnerability Detection in Binaries
वेरिटास (Veritas) एक सिमेंटिक रूप से ग्राउंडेड, मल्टी-एजेंट फ्रेमवर्क है जो स्ट्रिप्ड बाइनरीज़ में मेमोरी करप्शन कमजोरियों का हाई-रिकॉल और लो-फॉल्स-पॉजिटिव डिटेक्शन प्राप्त करने के लिए लिफ़्टेड LLVM IR के स्टैटिक एनालिसिस, ड्यूल-व्यू LLM रीजनिंग और रनटाइम वैलिडेशन को जोड़ता है, जिसने सफलतापूर्वक एप्पल की एक पूर्व अज्ञात भेद्यता (vulnerability) की पहचान की है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
यहाँ "Veritas" पेपर का सरल भाषा और रचनात्मक उपमाओं (analogies) का उपयोग करके स्पष्टीकरण दिया गया है।
बड़ी समस्या: "खोया हुआ अनुवाद" (The Lost Translation)
कल्पना कीजिए कि आपके पास एक जटिल मशीन (एक कंप्यूटर प्रोग्राम) है जिसे एक कारखाने में बनाया गया था। कारखाना मूल ब्लूप्रिंट (जिसे सोर्स कोड कहते हैं) को अपने पास रखता है, लेकिन आपको जो मशीन वास्तव में प्राप्त होती है वह एक स्ट्रिप-डाउन, ब्लैक-बॉक्स संस्करण (जिसे बाइनरी कहते हैं) है, जिससे सभी लेबल, निर्देश और आरेख हटा दिए गए हैं।
सुरक्षा विशेषज्ञों को इन ब्लैक बॉक्स में "मेमोरी करप्शन" बग्स खोजने की आवश्यकता होती है। ये मशीन की नींव में छिपी दरारों की तरह होते हैं जो किसी हैकर को अंदर घुसने की अनुमति देते हैं।
समस्या यह है कि ब्लूप्रिंट के बिना, यह देखना अविश्वसनीय रूप से कठिन है कि मशीन का एक छोटा हिस्सा (जैसे कि एक बटन जिसे आप दबाते हैं) मशीन के अंदर मीलों दूर स्थित एक खतरनाक हिस्से (जैसे कि एक प्रेशर वाल्व) से कैसे जुड़ता है।
पुराना तरीका: AI के साथ अनुमान लगाना
हाल ही में, लोगों ने इन ब्लैक बॉक्स को देखने के लिए शक्तिशाली AI (लार्ज लैंग्वेज मॉडल्स) का उपयोग करना शुरू कर दिया है। AI स्मार्ट है; यह मशीन के "गिबरिश" (अस्पष्ट) कोड को पढ़ सकता है और अनुमान लगा सकता है कि दरारें कहाँ हैं।
हालाँकि, पेपर का तर्क है कि AI एक ऐसे जासूस की तरह है जिसके पास केवल एक धुंधली फोटो है। AI आकृतियाँ तो देख सकता है, लेकिन वह निश्चित नहीं हो सकता कि एक रेखा पाइप से जुड़ी है या तार से। क्योंकि "फोटो" (बाइनary कोड) में महत्वपूर्ण विवरण गायब हैं, इसलिए AI अक्सर:
- असली दरारों को मिस कर देता है (False Negatives)।
- सुरक्षित जगहों को भी दरार समझ लेता है (False Positives)।
समाधान: Veritas (द "ट्रुथ-सीकर" या सत्य की खोजकर्ता)
लेखकों ने Veritas नामक एक नया सिस्टम बनाया है। AI को स्वतंत्र रूप से अनुमान लगाने देने के बजाय, Veritas एक तीन-चरणीय जांच टीम की तरह काम करता है जो AI को तथ्यों पर टिके रहने के लिए मजबूर करता है।
Veritas को तीन विशेषज्ञों की एक टीम के रूप में देखें जो मिलकर काम करते हैं:
चरण 1: मानचित्रकार (The Slicer)
AI के कुछ भी देखने से पहले, एक विशेष टूल (Slicer) ब्लैक बॉक्स को स्कैन करता है। यह AI का उपयोग नहीं करता; यह एक सटीक मानचित्र बनाने के लिए सख्त गणित का उपयोग करता है।
- उपमा: कल्पना कीजिए कि मशीन एक विशाल शहर है। Slicer शहर के 99% हिस्से (सुरक्षित हिस्सों) को अनदेखा कर देता है और "प्रवेश द्वार" (जहाँ डेटा आता है) से लेकर "खतरा क्षेत्र" (जहाँ डेटा का उपयोग किया जाता है) तक एक पतली रेखा खींचता है।
- परिणाम: यह AI को जांचने के लिए एक छोटा, केंद्रित रास्ता देता है, न कि पूरा अस्त-व्यस्त शहर। यह पथ "गवाहों" (इस बात का प्रमाण कि डेटा वास्तव में इसी तरह यात्रा करता है) द्वारा समर्थित है।
चरण 2: जासूस (The Dual-View Detector)
अब, AI (जासूस) उस पथ को देखता है जिसे मानचित्रकार ने बनाया है। लेकिन यहाँ एक ट्रिक है: AI उस पथ को दो अलग-अलग चश्मों के माध्यम से देखता है।
- चश्मा A (Decompiled Code): यह पढ़ने योग्य अंग्रेजी वाक्यों जैसा दिखता है। यह AI को यह समझने में मदद करता है कि क्या हो रहा है उसकी कहिका (story) समझने में।
- चश्मा B (LLVM IR): यह कच्चे, तकनीकी ब्लूप्रिंट जैसा दिखता है। यह AI को सटीक गणित और मेमोरी एड्रेस देखने में मदद करता है।
- उपमा: यदि AI किसी विशिष्ट सड़क के साइन को लेकर भ्रमित है, तो वह गणित और विवरणों को देखने के लिए तकनीकी ब्लूप्रिंट पर स्विच कर लेता है। यह AI को ऐसी कहानियाँ बनाने से रोकता है जो गणित के अनुकूल नहीं हैं।
चरण 3: फोरेंसिक टेस्टर (The Validator)
AI कह सकता है, "मुझे लगता है कि यहाँ एक दरार है!" लेकिन Veritas केवल उसकी बात पर विश्वास नहीं करता। एक तीसरा एजेंट (Validator) बाहर जाता है और मशीन का भौतिक रूप से परीक्षण करता है।
- उपमा: AI अदालत में गवाह की तरह है जो कहता है, "मैंने एक दरार देखी।" Validator न्यायाधीश की तरह है जो कहता है, "मुझे दिखाओ।" Validator एक विशेष टूल (डिबगर) के साथ मशीन को चलाकर देखता है कि क्या मशीन वास्तव में टूटती है जैसा कि AI ने कहा था।
- परिणाम: यदि मशीन नहीं टूटती है, तो "दरार" को खारिज कर दिया जाता है। यदि वह टूट जाती है, तो बग की पुष्टि हो जाती है।
यह क्यों मायने रखता है (परिणाम)
लेखकों ने वास्तविक दुनिया के सॉफ्टवेयर पर Veritas का परीक्षण किया जिसे लेबल से हटा दिया गया था।
- सफलता दर: Veritas ने वास्तविक बग्स में से 90% को खोज निकाला।
- सटीकता: इसमें लगभग शून्य गलत अलार्म थे। जब इसने कहा कि एक बग मौजूद है, तो वह लगभग हमेशा सच था।
- वास्तविक दुनिया की जीत: एक अलग परीक्षण में, Veritas ने Apple के सॉफ्टवेयर में एक नया, अज्ञात बग (एक "0-day") खोज निकाला जिसके बारे में कोई नहीं जानता था। उन्होंने इसकी रिपोर्ट की, और Apple ने इसकी पुष्टि की और इसे एक सुरक्षा आईडी (CVE) दी।
मुख्य निष्कर्ष (The Bottom Line)
पेपर का तर्क है कि आप जटिल, स्ट्रिप-डाउन सॉफ्टवेयर में बग खोजने के लिए केवल एक स्मार्ट AI पर भरोसा नहीं कर सकते। AI को ग्राउंडिंग (आधार) की आवश्यकता होती है।
- ग्राउंडिंग के बिना: AI एक सपने देखने वाले की तरह है, जो ऐसी चीजें कल्पना करता है जो शायद वहाँ हों ही नहीं।
- Veritas के साथ: AI एक वैज्ञानिक है। उसे जाँचने के लिए एक विशिष्ट पथ दिया जाता है (मानचित्रकार द्वारा), वह दो अलग-अलग उपकरणों के साथ विवरणों की जाँच करता है (जासूस), और वह अपने निष्कर्षों को एक भौतिक परीक्षण (वैलिडेटर) के साथ सिद्ध करता है।
कठोर गणित, स्मार्ट AI और वास्तविक दुनिया के परीक्षण को मिलाकर, Veritas खतरनाक सॉफ्टवेयर बग्स को खोजना बहुत अधिक विश्वसनीय और सटीक बनाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।