LLM4CodeRE: Generative AI for Code Decompilation Analysis and Reverse Engineering
यह शोध पत्र LLM4CodeRE का प्रस्ताव करता है, जो एक डोमेन-अनुकूली (domain-adaptive) लार्ज लैंग्वेज मॉडल फ्रेमवर्क है जो मजबूत द्विदिश कोड रिवर्स इंजीनियरिंग प्राप्त करने के लिए मल्टी-एडेप्टर और टास्क-कंडीशन्ड प्रीफिक्स फाइन-ट्यूनिंग रणनीतियों का उपयोग करता है, जो ओब्फस्केटेड (obfuscated) मालवेयर को डिकंपाइल करने और सोर्स कोड को असेंबली में अनुवाद करने में मौजूदा टूल्स से बेहतर प्रदर्शन करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक अपराध को सुलझाने की कोशिश कर रहे एक जासूस हैं, लेकिन आपके पास एकमात्र सबूत एक फटा हुआ, उलझा हुआ और एन्क्रिप्टेड डायरी है जो एक गुप्त कोड में लिखी गई है। यह अनिवार्य रूप से वही है जिसका सामना साइबर सुरक्षा विशेषज्ञ तब करते हैं जब वे मालवेयर (हानिकारक कंप्यूटर प्रोग्राम) का विश्लेषण करने की कोशिश करते हैं।
एक वायरस का मूल कोड अक्सर छिपा हुआ, बिना लेबल वाला, या जानबूझकर उलझा हुआ (जिसे "ऑब्फस्केशन" कहा जाता है) होता है ताकि उसके वास्तविक उद्देश्य को छुपाया जा सके। वायरस क्या कर रहा है, इसे समझने के लिए विशेषज्ञों को रिवर्स इंजीनियरिंग करनी पड़ती है: उन्हें मशीन की लो-लेवल भाषा (असेंबली कोड) को वापस मानव-पठनीय सोर्स कोड में अनुवादित करना होता है।
यह अविश्वसनीय रूप से कठिन है, जैसे कि केवल ढीले, मिले-जुले ईंटों के ढेर को देखकर एक जटिल लेगो कैसल (Lego castle) को फिर से बनाने की कोशिश करना।
समस्या: "जेनेरिक" अनुवादक
हाल ही में, शक्तिशाली AI मॉडल (LLMs) भाषाओं को अनुवाद करने और कोड लिखने में बहुत कुशल हो गए हैं। हालाँकि, अधिकांश AI मॉडलों को "अच्छे" कोड पर प्रशिक्षित किया गया था—जैसे ओपन-सोर्स सॉफ़्टवेयर या ऐप्स जिन्हें आप ऐप स्टोर से डाउनलोड करते हैं। वे "विनम्र अंग्रेजी" बोलने वाले अनुवादकों की तरह हैं।
जब आप उनसे "मालवेयर रूसी" (उलझा हुआ, दुर्भावनापूर्ण कोड) का अनुवाद करने के लिए कहते हैं, तो वे भ्रमित हो जाते हैं। वे स्लैंग (slang), छिपी हुई चालों, या अपराधियों द्वारा अपने पदचिह्नों को छिपाने के विशिष्ट तरीकों को नहीं समझते हैं। वे दुर्भावनापूर्ण कोड को एक "विनम्र" आकार में जबरदस्ती ढालने की कोशिश करते हैं, जिससे अक्सर गलत उत्तर मिलते हैं।
समाधान: LLM4CodeRE
शोधकर्ताओं ने एक नया AI सिस्टम बनाया जिसे LLM4CodeRE कहा जाता है। इसे एक विशेषज्ञ जासूसी अनुवादक के रूप में समझें जिसने केवल विनम्र उपन्यासों का नहीं, बल्कि वास्तविक आपराधिक डायरियों का अध्ययन करने में वर्षों बिताए हैं।
यहाँ बताया गया है कि उन्होंने इसे कैसे बनाया, सरल उपमाओं का उपयोग करते हुए:
1. "विशेष प्रशिक्षण" (डोमेन-एडेप्टिव प्रीट्रेनिंग)
AI को केवल एक सामान्य कोड की किताब देने के बजाय, शोधकर्ताओं ने उसे वास्तविक दुनिया के मालवेयर का एक विशाल पुस्तकालय खिलाया। उन्होंने AI को लाखों उदाहरण दिखाए कि वायरस कैसे उलझाए और अन-अनस्क्रैंबल किए जाते हैं।
- उपमा: कल्पना कीजिए कि एक भाषा छात्र जिसने केवल शेक्सपियर का अध्ययन किया है। यदि आप उससे गैंगस्टर के स्लैंग का अनुवाद करने के लिए कहते हैं, तो वह विफल हो जाएगा। लेकिन यदि आप उसे एक साल के लिए गैंगस्टर मोहल्ले में रहने के लिए भेजते हैं (मालवेयर पर प्रशिक्षण), तो वह विशिष्ट स्लैंग, छिपे हुए अर्थ और चालों को सीख जाता है। LLM4CodeRE यही करता है।
2. "दो-तरफा रास्ता" (द्विदिश अनुवाद)
अधिकांश उपकरण केवल एक दिशा में चलते हैं: मशीन कोड मानव कोड। लेकिन LLM4CodeRE एक दो-तरफा अनुवादक है।
- डीकंपाइलेशन (असेंबली सोर्स): बिखरे हुए मशीन कोड को लेकर उसे वापस पठनीय कोड में बदलना।
- रीकंपाइलेशन (सोर्स असेंबली): पठनीय कोड को लेकर उसे वापस मशीन कोड में बदलना।
- उपमा: यह एक द्विभाषी अनुवादक की तरह है जो न केवल अंग्रेजी से फ्रेंच में भाषण का अनुवाद कर सकता है, बल्कि एक फ्रेंच भाषण को वापस अंग्रेजी में भी पूरी तरह से अनुवादित कर सकता है, यह सुनिश्चित करते हुए कि अर्थ बदला नहीं है। यह सत्यापित करने में मदद करता है कि अनुवाद वास्तव में सही है या नहीं।
3. "स्मार्ट अटैचमेंट्स" (मल्टी-अडैप्टर और Seq2Seq)
शोधकर्ता नहीं चाहते थे कि हर नए कार्य के लिए पूरा AI मस्तिष्क फिर से बनाया जाए। इसके बजाय, उन्होंने एक चतुर रणनीति का उपयोग किया:
- मल्टी-अडैप्टर: कल्पना कीजिए कि AI एक स्विस आर्मी नाइफ है। मुख्य हैंडल वही है, लेकिन वे अलग-अलग कामों के लिए अलग-अलग "ब्लेड" (अडैप्टर) जोड़ते हैं। एक ब्लेड असेंबली को सोर्स में अनुवाद करने के लिए है, दूसरा सोर्स को असेंबली में। यह AI को तेज़ और कुशल रखता है।
- Seq2Seq यूनिफाइड: वैकल्पिक रूप से, उन्होंने "जादुई टैग्स" (प्रीफिक्स) का उपयोग किया। आप AI को बताते हैं, "यहाँ एक काम है: अनुवाद करें," और AI बिना किसी नए ब्लेड के ठीक जानता है कि इसे कैसे संभालना है।
4. "वास्तविक दुनिया का परीक्षण" (पुनः निष्पादन क्षमता)
यह सबसे महत्वपूर्ण हिस्सा है। कई AI उपकरण ऐसा कोड बनाते हैं जो दिखने में तो सही लगता है लेकिन काम नहीं करता।
- उपमा: कल्पना कीजिए कि एक AI केक की रेसिपी लिखता है। यह कागज पर एकदम सही दिखती है, लेकिन यदि आप इसे बेक करते हैं, तो यह एक ईंट बन जाती है।
- नवाचार: शोधकर्ताओं ने केवल यह नहीं जांचा कि कोड मूल के समान दिखता है या नहीं। उन्होंने वास्तव में कोड को एक सुरक्षित, अलग "सैंडबॉक्स" (डिजिटल प्लेपेन) में कंपाइल और रन किया। यदि कोड बिना क्रैश हुए सफलतापूर्वक चला, तो उन्होंने उसे उच्च स्कोर दिया। यदि यह विफल रहा, तो वे जान गए कि AI झूठ बोल रहा है।
परिणाम
जब उन्होंने अपने नए जासूसी अनुवादक (LLM4CodeRE) का मौजूदा उपकरणों के विरुद्ध परीक्षण किया:
- इसने "अपराधिक स्लैंग" (मालवेयर पैटर्न) को बहुत बेहतर ढंग से समझा।
- इसने ऐसा कोड तैयार किया जो न केवल पठनीय था बल्कि वास्तव में काम भी करता था जब इसे चलाया गया।
- यह मालवेयर को मानव कोड में अनुवाद करने और मानव कोड को वापस मशीन कोड में बदलने, दोनों में बेहतर था।
यह क्यों मायने रखता है
साइबर सुरक्षा की दुनिया में, गति ही सब कुछ है। यदि कोई नया वायरस दिखाई देता है, तो विशेषज्ञों को इसे मिनटों में समझना होता है, दिनों में नहीं। इस विशेष AI का उपयोग करके, हम वायरस को डिकोड करने के उबाऊ और कठिन काम को स्वचालित कर सकते हैं, जिससे मानव विशेषज्ञ कोड को समझने के बजाय खतरे को रोकने पर ध्यान केंद्रित कर सकें।
संक्षेप में: उन्होंने एक ऐसा AI बनाया जो "वायरस" भाषा धाराप्रवाह बोल सकता है, इसे आगे-पीछे अनुवाद कर सकता है, और पुलिस को सौंपने से पहले वास्तव में यह जांचता है कि अनुवाद काम करता है या नहीं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।