मॉडल और डेटा सिक्योरिटीमध्यमपाठ 1697 मिनट का पाठ

Adversarial examples: मॉडल को चकमा देना

किसी इनपुट में किया गया एक छोटा सा, सोच-समझकर चुना गया बदलाव मॉडल के जवाब को पलट सकता है। जानिए ऐसा क्यों होता है, यह कहाँ मायने रखता है, और बचाव के उपाय असल में क्या हासिल करते हैं।

पाठ वीडियो में

60 सेकंड में

Adversarial examples: मॉडल को चकमा देना

किसी इनपुट में किया गया एक छोटा सा, सोच-समझकर चुना गया बदलाव मॉडल के जवाब को पलट सकता है। जानिए ऐसा क्यों होता है, यह कहाँ मायने रखता है, और बचाव के उपाय असल में क्या हासिल करते…

1/4
आसान शब्दों में
एक ऐसे टीचर की कल्पना करें जो सिर्फ कुछ खास शब्दों को देखकर उत्तरों पर नंबर देता है। कोई चालाक छात्र बिना उत्तर जाने भी उन शब्दों को जोड़कर नंबर पा सकता है। किसी मॉडल को भी इसी तरह चकमा दिया जा सकता है: उसने शॉर्टकट सीख लिए हैं, और कोई उन शॉर्टकट्स का फायदा उठा सकता है।
एक adversarial example ऐसा इनपुट होता है जिसे जानबूझकर इस तरह बदला गया हो कि मॉडल गलत जवाब दे, जबकि किसी इंसान को इसमें कोई खास फर्क न दिखे। रन टाइम पर किसी मॉडल से बचकर निकलने के लिए ऐसे इनपुट्स का इस्तेमाल करना evasion attack कहलाता है।

यह कैसा दिखता है

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

सहज रूप से समझें कि ऐसा क्यों होता है

  • एक मॉडल बहुत सारे आयामों (dimensions) वाले स्पेस में अलग-अलग क्लास के बीच सीमाएं (boundaries) खींचता है। कई पॉइंट्स सीमा के बहुत करीब होते हैं, भले ही वे हमें सामान्य दिखें।
  • कई पिक्सेल या फ़ीचर्स में फैले छोटे-छोटे बदलाव मिलकर बढ़ जाते हैं, और किसी इनपुट को उस सीमा के पार धकेल सकते हैं।
  • मॉडल अक्सर शॉर्टकट सीख लेते हैं: ऐसे पैटर्न जो ट्रेनिंग डेटा पर तो काम करते हैं लेकिन इंसान उनका इस्तेमाल नहीं करते, जैसे आकार के बजाय बनावट (texture)।
  • अगर कोई हमलावर मॉडल से बार-बार सवाल पूछ (query कर) सकता है, तो वह ऐसे बदलाव को ढूंढ सकता है जो काम कर जाए। एक मॉडल पर बनाए गए हमले अक्सर वैसे ही दूसरे मॉडल्स पर भी असर कर जाते हैं।

बचाव के उपाय और उनकी सीमाएं

बचाव का उपाययह क्या करता हैसीमा
Adversarial trainingट्रेनिंग में ऐसे उदाहरण जोड़ना जिन पर हमला किया गया हो, ताकि मॉडल उनका मुकाबला करना सीख सकेइसमें ज़्यादा कंप्यूट खर्च होता है, सामान्य सटीकता कम हो सकती है, और यह मुख्य रूप से उन्हीं हमलों से बचाता है जिनके लिए ट्रेनिंग दी गई थी
इनपुट की जांच और सफ़ाईटेक्स्ट को सामान्य (normalise) करना (जैसे मिलते-जुलते कैरेक्टर्स को ठीक करना), इमेज का साइज़ बदलना या कंप्रेस करना, असामान्य इनपुट्स को खारिज करनाहोशियार हमलावर ऐसे बदलाव तैयार करते हैं जो सफ़ाई के बाद भी बच निकलें
एन्सेम्बल (Ensembles) और दूसरी रायकई अलग-अलग मॉडल्स का इस्तेमाल करना या साथ में नियमों पर आधारित जांच भी रखनाहमले की लागत तो बढ़ा देता है लेकिन खतरे को पूरी तरह खत्म नहीं करता
क्वेरी (सवाल पूछने) पर सीमारेट लिमिट (rate limits) लगाना और सटीक स्कोर छिपाना खोज को मुश्किल बना देता हैकॉपी मॉडल पर बनाए गए ट्रांसफर हमलों को नहीं रोकता
गलती की गुंजाइश मानकर डिज़ाइन करनाकिसी अकेले मॉडल स्कोर के भरोसे कोई महत्वपूर्ण फ़ैसला न छोड़ेंइसके लिए सिर्फ़ ML का काम नहीं, बल्कि पूरी प्रक्रिया में बदलाव की ज़रूरत होती है
सावधान रहें
ऐसा कोई ज्ञात बचाव नहीं है जो किसी मॉडल को पूरी तरह सुरक्षित (robust) बना दे। जिस भी मॉडल के सामने अविश्वसनीय इनपुट आता है, उसे ऐसा मानकर चलें जिसे चकमा दिया जा सकता है, और महत्वपूर्ण फ़ैसलों के इर्द-गिर्द अन्य नियंत्रण भी रखें।

खतरे को व्यावहारिक नज़रिए से समझें

  1. 1

    फायदा किसे है?

    क्या मॉडल के गलत होने से किसी को फायदा होगा? आमतौर पर स्पैमर, धोखेबाज़ और नकलची फ़ायदे में रहते हैं।
  2. 2

    पहुंच कितनी है?

    क्या वे मॉडल से खुलकर सवाल पूछ सकते हैं, स्कोर देख सकते हैं, या सिर्फ हाँ या ना देख सकते हैं?
  3. 3

    नुकसान क्या है?

    फ़िल्म का गलत टैग लगना छोटा नुकसान है। फ़्रॉड का अलर्ट छूट जाना या मेडिकल रिपोर्ट में गलत फ़्लैग होना बड़ा नुकसान है।
  4. 4

    और क्या चीज़ इसे पकड़ सकती है?

    इंसानी समीक्षा, नियम, सीमाएं और बाद में होने वाली जांच एक गलत जवाब से होने वाले नुकसान को कम कर देती हैं।
नोट
MITRE ATLAS में AI सिस्टम्स पर होने वाले evasion और कई अन्य हमलों की सूची असली केस स्टडीज के साथ दी गई है। सिक्योरिटी टीमों द्वारा इस्तेमाल किए जाने वाले आम नामों को जानने के लिए यह एक अच्छी जगह है।
इसे आज़माएं। अपनी कंपनी का कोई ऐसा मॉडल चुनें जो किसी अविश्वसनीय इनपुट पर फ़ैसला लेता हो (जैसे स्पैम फ़िल्टर, KYC दस्तावेज़ जांच, या फ़्रॉड स्कोर)। लिखें कि इसे चकमा देने से किसे फ़ायदा होगा, और आज के समय में अगर इसे एक बार चकमा दे दिया जाए तो क्या होगा।

और देखें और पढ़ें

लैब

आपके द्वारा खुद चलाए जाने वाले टेक्स्ट क्लासिफायर के लिए एक छोटा evasion टेस्ट सेट और नतीजों की टेबल।

~25 min

समस्या

अपनी मशीन पर एक साधारण स्पैम या सेंटिमेंट क्लासिफायर का इस्तेमाल करें (scikit-learn से एक छोटा सा मॉडल ट्रेन करें, या कोई भी छोटा ओपन मॉडल इस्तेमाल करें)। उन सिस्टम्स की जांच न करें जो आपके नहीं हैं।

  1. ऐसे 10 मैसेज चुनें जिनका मॉडल सही जवाब देता है।
  2. हर एक में 3 छोटे बदलाव करें जिन्हें इंसान अब भी समझ सके: एक गलत स्पेलिंग, मिलता-जुलता कैरेक्टर (जैसे o अक्षर की जगह 0 अंक), और अतिरिक्त स्पेस या विराम चिह्न।
  3. रिकॉर्ड करें कि किन बदलावों से अनुमान पलट जाता है।
  4. इनपुट सफ़ाई का एक चरण जोड़ें (लोअरकेस करना, अतिरिक्त स्पेस हटाना, आम मिलते-जुलते कैरेक्टर्स को ठीक करना) और टेस्ट को फिर से चलाएं।
  5. 3 वाक्यों में लिखें कि सफ़ाई से क्या ठीक हुआ और क्या नहीं।

प्रैक्टिस लैब

कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।

आउटपुट

कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1एक मॉडल के ख़िलाफ़ बनाए गए हमले अक्सर किसी दूसरे मॉडल पर भी काम क्यों कर जाते हैं?दिखाएं

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

Q2इनपुट की सफ़ाई वाला चरण आपके सभी टेस्ट हमलों को रोक देता है। यह इस बात का पक्का सबूत क्यों नहीं है कि सिस्टम सुरक्षित है?दिखाएं

आपके टेस्ट केवल उन हमलों को दिखाते हैं जिनके बारे में आपने सोचा था। जो हमलावर सफ़ाई के इस चरण के बारे में जानता है, वह ऐसे बदलाव तैयार कर सकता है जो इससे बच निकलें, जैसे कि नए मिलते-जुलते कैरेक्टर या अलग शब्द। नए मामले जोड़ते रहें, evasion की कोशिशों के लिए असली ट्रैफ़िक पर नज़र रखें, और यह पक्का करें कि ज़रूरी फ़ैसलों के लिए मॉडल के अलावा भी कोई बैकस्टॉप मौजूद हो।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या ये हमले सिर्फ़ सेल्फ़-ड्राइविंग कारों और तस्वीरों के लिए मायने रखते हैं?

नहीं। ऐसा कोई भी मॉडल जो ऐसे लोगों के इनपुट की जांच करता है जो अलग जवाब चाहते हों, इस खतरे के दायरे में आता है: स्पैम और दुर्व्यवहार फ़िल्टर, फ़्रॉड स्कोर, दस्तावेज़ जांच, रेज़्युमे स्क्रीनिंग, मैलवेयर क्लासिफायर और कंटेंट मॉडरेशन। असल ज़िंदगी में टेक्स्ट-आधारित evasion बहुत आम है।

क्या लार्ज लैंग्वेज मॉडल्स पर भी इसका असर पड़ता है?

हाँ। अजीबोगरीब स्ट्रिंग्स, बात को घुमा-फिराकर कहना, दूसरी भाषाएं और एन्कोडिंग किसी लैंग्वेज मॉडल के व्यवहार को बदल सकते हैं, जिसमें सेफ्टी फ़िल्टर्स से बच निकलना भी शामिल है। Prompt injection इससे जुड़ी लेकिन एक अलग समस्या है, जिसे दूसरे ट्रैक्स में कवर किया गया है।

क्या हमें हर मॉडल पर adversarial training करनी चाहिए?

हर बार ऐसा करने की ज़रूरत नहीं है। इसमें कंप्यूट खर्च होता है और यह सामान्य सटीकता को कम कर सकता है। इसका इस्तेमाल वहाँ करें जहाँ हमलावर को बच निकलने से साफ़ तौर पर फ़ायदा मिलता हो और नुकसान बड़ा हो। कई सिस्टम्स के लिए, इनपुट चेक्स, रेट लिमिट्स और इंसानी या नियम-आधारित बैकस्टॉप इस मेहनत के बदले कहीं ज़्यादा फ़ायदेमंद साबित होते हैं।

हम अपने मॉडल की जांच कैसे करें?

अपने डोमेन के हिसाब से असली लगने वाले evasions का एक छोटा टेस्ट सेट बनाएं: गलत स्पेलिंग, मिलते-जुलते कैरेक्टर, मिली-जुली लिपियां जैसे अंग्रेज़ी अक्षरों में लिखी गई हिंदी, और अंकों वाले फ़ील्ड्स में छोटे बदलाव। हर रिलीज़ से पहले इसे चलाकर देखें और किसी भी अन्य मेट्रिक की तरह इसके नतीजों पर नज़र रखें। इमेज और टेबल वाले डेटा के लिए ओपन-सोर्स adversarial ML लाइब्रेरीज़ मददगार हो सकती हैं।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें