Triggering and Detecting Exploitable Library Vulnerability from the Client by Directed Greybox Fuzzing
यह शोध पत्र LiveFuzz प्रस्तुत करता है, जो एक निर्देशित ग्रेबॉक्स फज़िंग दृष्टिकोण है जो प्रूफ-ऑफ-कॉन्सेप्ट्स पर निर्भर हुए बिना, एक टार्गेट टुपल, एक एब्स्ट्रैक्ट पाथ मैपिंग तंत्र और पाथ रीचेबिलिटी एवं वल्नरेबिलिटी एक्सपोज़र की गति में सुधार के लिए रिस्क-आधारित एडेप्टिव म्यूटेशन का उपयोग करके क्लाइंट प्रोग्रामों से शोषण योग्य लाइब्रेरी कमजोरियों का पता लगाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपकी एक विशाल, हाई-टेक फैक्ट्री है (आपका क्लाइंट प्रोग्राम)। अपने उत्पादों को तेज़ और सस्ता बनाने के लिए, आप विशिष्ट भागों को बनाने के लिए उप-ठेकेदार (subcontractors) नियुक्त करते हैं। ये उप-ठेकेदार थर्ड-पार्टी लाइब्रेरीज़ हैं। वे बेहतरीन हैं, लेकिन कभी-कभी उनकी कार्यशालाओं (workshops) में छिपे हुए दोष या टूटी हुई मशीनें (Vulnerabilities) हो सकती हैं।
बड़ी समस्या यह है कि आप उन उप-ठेकेदारों की फैक्ट्रियों के मालिक नहीं हैं। आप बस उनकी टूटी हुई मशीनों को ठीक करने के लिए उनके अंदर नहीं जा सकते। आपको उन्हें अपनी फैक्ट्री से निर्देश (inputs) भेजने होंगे ताकि आप देख सकें कि क्या आपके उपयोग करने पर उनकी मशीनें वास्तव में टूट जाती हैं।
पुराना तरीका: "अनुमान और जाँच" वाला फज़िंग (Fuzzing)
पारंपरिक रूप से, सुरक्षा शोधकर्ता इन टूटी हुई मशीनों को खोजने के लिए फज़िंग नामक एक विधि का उपयोग करते थे। कल्पना कीजिए कि आप फैक्ट्री की दीवार पर हजारों रैंडम पत्थर फेंक रहे हैं ताकि यह देखा जा सके कि क्या कोई खिड़की टूटती है।
- डायरेक्टेड ग्रेबॉक्स फज़िंग (DGF) इसका एक स्मार्ट संस्करण है: आपके पास फैक्ट्री का एक नक्शा होता है और आप विशेष रूप से किसी ज्ञात कमजोर जगह पर पत्थर फेंकने की कोशिश करते हैं।
- चुनौती: इसे प्रभावी ढंग से करने के लिए, आपको आमतौर पर एक "प्रूफ-ऑफ-कॉन्सेप्ट" (PoC) की आवश्यकता होती है। एक PoC को एक चीट शीट या ब्लूप्रिंट के रूप में सोचें जो कहती है, "यदि आप उप-ठेकेदार की मशीन के इस विशिष्ट बटन को दबाते हैं, तो यह फट जाएगा।"
- वास्तविकता: अक्सर, ये चीट शीट मौजूद नहीं होतीं। भेद्यता (vulnerability) ज्ञात होती है, लेकिन किसी ने अभी तक यह पता नहीं लगाया है कि आपके विशिष्ट फैक्ट्री सेटअप से इसे ठीक से कैसे ट्रिगर किया जाए। बिना चीट शीट के, पुराने फज़र्स भटक जाते हैं, गलत दीवारों पर पत्थर फेंकते रहते हैं और विस्फोट को पूरी तरह से मिस कर देते हैं।
नया समाधान: LiveFuzz
लेखकों ने LiveFuzz नामक एक नया टूल बनाया है। इसे एक स्मार्ट, अनुकूलन योग्य डिलीवरी ड्राइवर के रूप में सोचें जिसे बिना किसी चीट शीट के टूटी हुई मशीन को खोजने के लिए नहीं चाहिए।
LiveFuzz कैसे काम करता है, इसके सरल उदाहरण यहाँ दिए गए हैं:
1. "दो-स्टॉप" जीपीएस (Target Tuple)
पुराने दिनों में, ड्राइवर केवल अंतिम गंतव्य (लाइब्रेरी में टूटी हुई मशीन) को जानता था। लेकिन यात्रा जटिल है: आपको पहले अपनी फैक्ट्री के माध्यम से ड्राइव करना होगा, फिर एक पुल पार करना होगा, और फिर लाइब्रेरी में प्रवेश करना होगा।
- LiveFuzz की ट्रिक: यह एक दो-स्टॉप जीपीएस बनाता है।
- स्टॉप A: आपकी फैक्ट्री का वह विशिष्ट दरवाजा जहाँ से अनुरोध बाहर निकलता है।
- स्टॉप B: लाइब्रेरी में टूटी हुई मशीन।
- दोनों स्टॉप को ट्रैक करके, ड्राइवर को पता होता है कि वह हर कदम पर अपने लक्ष्य से कितनी दूर है, भले ही वह अभी भी आपकी फैक्ट्री के अंदर हो। इससे ड्राइवर दो अलग-अलग इमारतों के जटिल लेआउट के कारण भ्रमित नहीं होता है।
2. "फेयर रेस" मैप (Abstract Path Mapping)
कल्पना कीजिए कि तीन धावक (seeds) टूटी हुई मशीन तक पहुँचने की कोशिश कर रहे हैं।
- धावक A एक छोटा, सीधा रास्ता लेता है लेकिन एक डेड एंड (बंद रास्ते) पर फंस जाता है।
- धावक B थोड़ा लंबा रास्ता लेता है और करीब पहुँच जाता है।
- धावक C एक बहुत लंबा, घुमावदार रास्ता लेता है लेकिन वास्तव में वही एकमात्र मार्ग है जो विस्फोट की ओर ले जाता है।
- समस्या: पुराने फज़र्स अधीम होते हैं। वे देखते हैं कि धावक C बहुत दूर है और कहते हैं, "बहुत दूर है! चलिए धावक B पर ध्यान केंद्रित करते हैं।" वे धावक C को अनदेखा कर देते हैं, भले ही धावक C ही जीत सकता है।
- LiveFuzz का समाधान: यह एक फेयर रेस मैप का उपयोग करता है। केवल "दूरी" मापने के बजाय, यह "पथ के सापेक्ष प्रगति" को मापता है। यह महसूस करता है कि धावक C वास्तव में अपने विशिष्ट मार्ग के लिए बहुत करीब है। यह लंबे रास्तों को अनदेखा करना बंद कर देता है और धावक C को बढ़ावा देता है, जिससे यह सुनिश्चित होता है कि कोई भी संभावित विस्फोट केवल इसलिए मिस न हो जाए क्योंकि रास्ता लंबा था।
3. "प्रिसिजन हैमर" (Risk-Based Adaptive Mutation)
एक बार जब ड्राइवर टूटी हुई मशीन के करीब पहुँच जाता है, तो उसे प्रहार करने की आवश्यकता होती है।
- पुराना तरीका: ड्राइवर एक विशाल हथौड़ा (coarse mutation) चलाता है। इससे दरवाजा तो टूट सकता है, लेकिन यह दीवारों को भी तोड़ देता है, जिससे रास्ता नष्ट हो जाता है और ड्राइवर को फिर से शुरू करना पड़ता है।
- LiveFuzz का तरीका: यह जोखिम (Risk) का आकलन करता है। यदि ड्राइवर विस्फोट के बहुत करीब है, तो यह एक स्कैल्पल (बारीक चाकू) (fine-grained mutation) पर स्विच करता है। यह इनपुट में बहुत सूक्ष्म, सटीक समायोजन करता है (जैसे कि एक पेंच को एक मिलीमीटर के अंश तक घुमाना) ताकि पथ को तोड़े बिना विस्फोट को ट्रिगर किया जा सके। यदि ड्राइवर दूर है, तो यह नए क्षेत्रों का पता लगाने के लिए बड़े हथौड़े का उपयोग करता है।
यह क्यों महत्वपूर्ण है
शोधकर्ताओं ने लोकप्रिय सॉफ्टवेयर लाइब्रेरीज़ (जैसे वीडियो प्रोसेसिंग, इमेज हैंडलिंग और नेटवर्किंग में उपयोग की जाने वाली लाइब्रेरीज़) से जुड़े 61 वास्तविक दुनिया के परिदृश्यों पर LiveFuzz का परीक्षण किया।
- परिणाम: LiveFuzz ने अधिक टूटी हुई मशीनें खोजीं और उन्हें बहुत तेज़ी से (7 गुना तक तेज़) खोजा, जो मौजूदा सर्वोत्तम उपकरणों की तुलना में बेहतर है।
- बड़ी जीत: तीन मामलों में, पुराने उपकरणों ने पूरी तरह से हार मान ली थी, लेकिन LiveFuzz ने एक्सप्लॉइट (exploit) ढूंढ निकाला। उसने यह बिना किसी चीट शीट (PoC) की आवश्यकता के किया।
सारांश
LiveFuzz एक सुपर-स्मार्ट डिलीवरी ड्राइवर की तरह है जो:
- जानता है कि खतरनाक मशीन कहाँ है, भले ही वह दूसरी इमारत में हो।
- लंबे, घुमावदार रास्तों को केवल इसलिए अनदेखा नहीं करता क्योंकि वे दूर दिखते हैं।
- लक्ष्य के कितने करीब है इसके आधार पर हथौड़े से स्कैल्पल (बारीक चाकू) पर स्विच करता है।
यह डेवलपर्स को यह जानने की अनुमति देता है कि क्या उनका सॉफ़्टवेयर वास्तव में लाइब्रेरी बग से खतरे में है, ताकि वे यह तय कर सकें कि उन्हें अपडेट करना है या नहीं, बिना झूठी चेतावनियों या वास्तविक खतरों को मिस किए समय बर्बाद किए।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।