← नवीनतम पेपर
🤖 machine learning

Fool Me If You Can: On the Robustness of Binary Code Similarity Detection Models against Semantics-preserving Transformations

यह शोध पत्र asmFooler का परिचय देता है, जो अर्थ-संरक्षण करने वाले (semantics-preserving) एडवरसेरियल ट्रांसफॉर्मेशन के विरुद्ध डीप लर्निंग-आधारित बाइनरी कोड समानता डिटेक्शन मॉडल्स की मजबूती का मूल्यांकन करता है, जो यह प्रकट करता है कि मॉडल का लचीलापन काफी हद तक प्रोसेसिंग पाइपलाइन पर निर्भर करता है और सुव्यवस्थित, न्यूनतम गड़बड़ी (perturbations) प्रभावी रूप से मॉडल के निर्णयों को बाधित कर सकती है।

मूल लेखक: Jiyong Uhm, Minseok Kim, Michalis Polychronakis, Hyungjoon Koo

प्रकाशित 2026-02-16
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Jiyong Uhm, Minseok Kim, Michalis Polychronakis, Hyungjoon Koo

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

यहाँ "Fool Me If You Can" पेपर का विवरण दिया गया है, जिसे सरल अवधारणाओं और रचनात्मक उपमाओं (analogies) में तोड़ा गया है।

बड़ी तस्वीर: "एक जैसा दिखने वाला" (Look-Alike) वाला मामला

कल्पना कीजिए कि आप एक हाई-टेक संग्रहालय में सुरक्षा गार्ड हैं। आपका काम नकली कलाकृतियों को पहचानना है। आपके पास एक सुपर-स्मार्ट AI सहायक है जो पेंटिंग्स को देखता है और आपको बताता है कि क्या दो पेंटिंग्स एक ही कलाकार की हैं।

  • अच्छी खबर: यह AI कलाकार की "शैली" (style) को पहचानने में बहुत माहिर है, भले ही पेंटिंग्स थोड़ी अलग दिखती हों।
  • बुरी खबर: बुरे लोगों (हैकर्स) ने AI को धोखा देने का तरीका ढूंढ लिया है। वे एक असली पेंटिंग ले सकते हैं, उसमें कुछ अदृश्य ब्रशस्ट्रोक जोड़ सकते हैं, या बैकग्राउंड को थोड़ा बदल सकते हैं, और अचानक AI को लगता है कि यह किसी बिल्कुल अलग कलाकार की पेंटिंग है—या इससे भी बुरा, वह एक नकली पेंटिंग को असली उत्कृष्ट कृति (masterpiece) समझ लेता है।

यह पेपर इस बारे में है कि जब ये "AI सुरक्षा गार्ड" पेंटिंग्स के बजाय कंप्यूटर कोड को देख रहे होते हैं, तो उन्हें बेवकूफ बनाना कितना आसान है।


हमारी कहानी के पात्र

  1. बाइनरी कोड (पेंटिंग):
    कंप्यूटर अंग्रेजी नहीं बोलते; वे "मशीन कोड" (बाइनरी) बोलते हैं। यह निर्देशों की एक लंबी सूची है जैसे इस नंबर को यहाँ ले जाओ या इन दो चीजों को जोड़ो| जब एक प्रोग्राम कंपाइल होता है, तो वह अपने सभी अच्छे नामों (जैसे "calculate_tax") को खो देता है और संख्याओं और कमांड्स की एक कच्ची सूची बन जाता है। यही वह चीज़ है जिसका विश्लेषण AI को करना होता है।

  2. BCSD मॉडल्स (AI गार्ड्स):
    ये डीप लर्निंग मॉडल्स (जैसे BinShot, Gemini, Asm2Vec) हैं जिन्हें दो कोड के टुकड़ों की तुलना करने और यह कहने के लिए डिज़ाइन किया गया है कि, "हे, ये दोनों कोड एक ही व्यक्ति द्वारा लिखे गए लगते हैं!" इनका उपयोग मैलवेयर खोजने, साहित्यिक चोरी (plagiarism) पकड़ने, या बग्स खोजने के लिए किया जाता है।

  3. हमलावर (जादूगर):
    इस पेपर के शोधकर्ताओं ने हमलावरों की भूमिका निभाई। वे देखना चाहते थे कि क्या वे AI गार्ड्स को बेवकूफ बनाने के लिए कोड पर "जादुई करतब" कर सकते हैं।


जादुई करतब: उन्होंने AI को कैसे बेवकूफ बनाया

शोधकर्ताओं ने एक सिस्टम बनाया जिसे उन्होंने asmFooler कहा। इसे एक जादू की छड़ी की तरह समझें जो कोड को बदल देती है लेकिन यह बदले बिना कि प्रोग्राम वास्तव में क्या करता है।

उन्होंने दो मुख्य प्रकार के करतबों का उपयोग किया:

1. "कॉस्मेटिक सर्जरी" (False Negatives)

लक्ष्य: दो समान प्रोग्रामों को AI की नज़र में अलग दिखाना।
उपमा: कल्पना कीजिए कि आपके पास एक लाल स्पोर्ट्स कार है। आप एक पुलिस अधिकारी को यह विश्वास दिलाने के लिए धोखा देना चाहते हैं कि यह एक नीला ट्रक है। आप इंजन नहीं बदलते (कार अभी भी वैसे ही चलती है), लेकिन आप:

  • पहिए बदल देते हैं।
  • सीटों को इधर-उधर कर देते हैं।
  • हुड पर एक नकली पट्टी पेंट कर देते हैं।
  • इंजन को थोड़ा बाईं ओर खिसका देते हैं।

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

  • निष्कर्ष: कुछ AI गार्ड आसानी से बेवकूफ बन गए। यदि AI केवल निर्देशों के क्रम को देखता है, तो उन्हें इधर-उधर करने से AI कहता है, "ये बिल्कुल अलग हैं!" भले ही वे समान हों। हालांकि, AI गार्ड जो इसके स्ट्रक्चर (जैसे कि कोड कैसे फ्लो होता है उसका मैप) को देखते थे, उन्हें बेवकूफ बनाना बहुत कठिन था।

2. "इम्पोस्टर" या छद्मवेशी (False Positives)

लक्ष्य: दो अलग प्रोग्रामों को AI के लिए एक जैसा दिखाना।
उपमा: कल्पना कीजिए कि आपके पास वैन गॉग की एक नकली पेंटिंग है। आप चाहते हैं कि AI इसे असली समझे। आप पूरी पेंटिंग नहीं बदल सकते, इसलिए आप शुरुआत में कुछ विशिष्ट ब्रशस्ट्रोक जोड़ते हैं जो वैन गॉग की शैली की बिल्कुल नकल करते हैं।
पेपर में: उन्होंने एक "Greedy Sampling" रणनीति का उपयोग किया। उन्होंने एक "अच्छे" कोड के टुकड़े को देखा, उससे कुछ विशिष्ट निर्देश लिए, और उन्हें एक "बुरे" कोड के टुकड़े के बिल्कुल शुरुआत में चिपका दिया।
परिणाम: AI भ्रमित हो गया। उसने शुरुआत में उन कुछ परिचित निर्देशों को देखा और कहा, "ओह, मैं इसे पहचानता हूँ! यह उस अच्छे कोड जैसा ही है!"
चौंकाने वाली बात: उन्होंने पाया कि दो पूरी तरह से अलग प्रोग्रामों को एक जैसा दिखाने के लिए उन्हें केवल लगभग 15 अतिरिक्त निर्देश (कोड की एक बहुत छोटी मात्रा) जोड़ने की आवश्यकता थी।


मुख्य निष्कर्ष (कहानी की "सीख")

शोधकर्ताओं ने चार मुख्य बातें खोजीं:

  1. यह सब 'पाइपलाइन' के बारे में है:
    AI की "आंखें" मायने रखती हैं। यदि AI केवल कच्चे निर्देशों को देखता है (जैसे शब्दों की सूची पढ़ना), तो इसे बेवकूफ बनाना आसान है। यदि AI "कंट्रोल फ्लो ग्राफ" (जैसे कि कार द्वारा लिए जाने वाले रास्ते का मैप) को देखता है, तो इसे बेकूफ बनाना बहुत कठिन है।
  • उपमा: एक गार्ड जो केवल लाइसेंस प्लेट चेक करता है, उसे नकली प्लेट से आसानी से बेवकूफ बनाया जा सकता है। एक गार्ड जो इंजन, VIN और ड्राइवर के चेहरे की जांच करता है, उसे बेवकूफ बनाना बहुत कठिन है।
  1. "बजट" की सीमा:
    हमलावर सब कुछ नहीं बदल सकते। वे एक "बजट" (कितने बाइट्स जोड़े जा सकते हैं) से सीमित हैं। यदि वे बहुत अधिक जंक कोड जोड़ते हैं, तो प्रोग्राम टूट सकता है या बहुत संदिग्ध लग सकता है। AI की लंबे इनपुट को संभालने की क्षमता भी हमलावर द्वारा किए जा सकने वाले काम को सीमित करती है।

  2. छोटे बदलाव, बड़ा प्रभाव:
    AI को बेवकूफ बनाने के लिए आपको पूरा प्रोग्राम फिर से लिखने की ज़रूरत नहीं है। शुरुआत में कुछ अच्छी तरह से रखे गए "जादुई शब्द" (निर्देश) AI की राय को पूरी तरह से बदल सकते हैं।

  3. "कॉपीकैट" प्रभाव:
    यदि आप एक AI मॉडल को बेवकूफ बनाते हैं, तो आप अनजाने में दूसरे AI मॉडल को भी बेवकूफ बना सकते हैं, खासकर यदि उन्हें समान "दिमाग" (आर्किटेक्चर) का उपयोग करके बनाया गया हो।

यह क्यों मायने रखता है?

आजकल, कई सुरक्षा कंपनियाँ मैलवेयर का पता लगाने या कोड चोरी को खोजने के लिए इन AI मॉडल्स पर भरोसा करती हैं। यह पेपर एक चेतावनी है। यह कहता है: "हे, ये AI गार्ड उतने स्मार्ट नहीं हैं जितना हम सोचते थे। एक कुशल हैकर आसानी से उनके पास से निकल सकता है।"

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

संक्षेप में: यह पेपर साबित करता है कि हालांकि AI कोड पढ़ने में बहुत अच्छा है, लेकिन वर्तमान में उस कोड पर एक भेष लगाना और AI को वह दिखाना जो वहां नहीं है, बहुत आसान है।

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

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

Digest आज़माएँ →