मॉडल और डेटा सिक्योरिटीएडवांस्डपाठ 1716 मिनट का पाठ

मॉडल्स और ट्रेनिंग डेटा की चोरी

API के पीछे मौजूद मॉडल से खुद उसका और उस डेटा का रिसाव हो सकता है जिससे उसने सीखा है। मॉडल एक्सट्रैक्शन, मेंबरशिप इनफेरेंस और मेमोराइजेशन के बारे में जानें, और उन कंट्रोल्स के बारे में जो इन्हें कम करते हैं।

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

60 सेकंड में

मॉडल्स और ट्रेनिंग डेटा की चोरी

API के पीछे मौजूद मॉडल से खुद उसका और उस डेटा का रिसाव हो सकता है जिससे उसने सीखा है। मॉडल एक्सट्रैक्शन, मेंबरशिप इनफेरेंस और मेमोराइजेशन के बारे में जानें, और उन कंट्रोल्स के…

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

रिसर्च से साबित हुए तीन जोखिम

हमलाहमलावर क्या चाहता हैआसान शब्दों में, कैसे
मॉडल एक्सट्रैक्शनआपके मॉडल के बर्ताव की एक कॉपीढेर सारे सवाल (queries) भेजें, जवाब इकट्ठा करें, और उनकी नकल करने के लिए अपना खुद का मॉडल ट्रेन करें
मेंबरशिप इनफेरेंसयह जानना कि क्या कोई खास रिकॉर्ड आपके ट्रेनिंग डेटा में थामॉडल्स अक्सर उन उदाहरणों पर अधिक कॉन्फिडेंट होते हैं जिन पर उन्हें ट्रेन किया गया था; तुलना करें कि मॉडल कैसी प्रतिक्रिया देता है
ट्रेनिंग-डेटा एक्सट्रैक्शनवह असली टेक्स्ट या डेटा जिसे मॉडल ने याद (memorise) कर लिया थामॉडल को ऐसे प्रॉम्प्ट दें जिससे वह ट्रेनिंग के किसी दुर्लभ कंटेंट को दोहराए, जैसे कि कोई फोन नंबर जो कई बार आया था
ये तीनों ही अकादमिक रिसर्च में अच्छी तरह से दर्ज हैं। असल में ये कितने आसान हैं, यह मॉडल पर निर्भर करता है, वह कितना ओवरफिट (overfit) होता है, API क्या लौटाती है, और कितने सवाल पूछने की अनुमति है।

मेमोराइजेशन क्यों होता है

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

बचाव (Defences)

कंट्रोलकिससे बचाता हैनोट्स
प्रति यूज़र और प्रति की (key) रेट लिमिट्स और कोटाएक्सट्रैक्शनबड़ी मात्रा में डेटा इकट्ठा करने को धीमा और महंगा बना देता है
सवालों के पैटर्न (query patterns) पर नज़र रखेंएक्सट्रैक्शन, मेंबरशिप इनफेरेंसअसामान्य मात्रा, इनपुट की व्यवस्थित कवरेज, या लगभग एक जैसे ढेरों सवालों पर नज़र रखें
आउटपुट सीमित करेंएक्सट्रैक्शन, मेंबरशिप इनफेरेंसजहाँ प्रोडक्ट अनुमति दे, वहाँ पूरी संभावनाओं (probabilities) के बजाय केवल एक लेबल या राउंड-ऑफ किया हुआ स्कोर लौटाएं
ट्रेनिंग डेटा से डुप्लिकेट हटाएं (Deduplicate)डेटा एक्सट्रैक्शनदोहराए गए कंटेंट के याद होने की संभावना अधिक होती है
सीक्रेट्स और पर्सनल डेटा साफ़ करेंडेटा एक्सट्रैक्शनट्रेनिंग से पहले कीज़, ID, फोन नंबर और ईमेल की जाँच करें
ट्रेनिंग में डिफरेंशियल प्राइवेसी (Differential privacy)मेंबरशिप इनफेरेंस, डेटा एक्सट्रैक्शनसटीकता (accuracy) में थोड़े नुकसान के साथ, यह एक गणितीय सीमा तय करता है कि कोई एक रिकॉर्ड मॉडल को कितना प्रभावित कर सकता है
उपयोग की शर्तें और कानूनी कंट्रोल्सएक्सट्रैक्शनप्रतिद्वंद्वी मॉडल्स को ट्रेन करने के लिए आउटपुट का उपयोग करने पर रोक लगाएं; निगरानी के साथ इसे लागू करें
नोट
आउटपुट फ़िल्टर जो ज्ञात सीक्रेट्स या पर्सनल डेटा के पैटर्न को ब्लॉक करते हैं, एक उपयोगी आखिरी परत हैं, लेकिन वे केवल उन्हीं को पकड़ पाते हैं जिन्हें ढूंढने के लिए उन्हें सेट किया गया है।
इसे आज़माएँ। आपके द्वारा चलाए जाने वाले किसी एक मॉडल API के लिए पता करें: यह क्या लौटाता है (लेबल, स्कोर, पूरी संभावनाएं, टेक्स्ट)? प्रति-की (per-key) रेट लिमिट क्या है? उपयोग के पैटर्न पर कौन नज़र रखता है?

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

लैब

मॉडल API के लिए एक मॉनिटरिंग नियम और आउटपुट पॉलिसी, साथ ही एक ट्रेनिंग सैंपल का सीक्रेट स्कैन।

~25 min

समस्या

कागज़ पर या अपने सैंपल डेटा के साथ काम करें।

  1. आपके द्वारा चलाए जाने वाले या डिज़ाइन किए जाने वाले मॉडल API के लिए, एक आउटपुट पॉलिसी लिखें: कॉल करने वालों को वास्तव में क्या लौटाया जाता है, और क्यों।
  2. आसान भाषा में दो मॉनिटरिंग नियम लिखें, जैसे "जब कोई एक की (key) एक घंटे में N से अधिक सवाल भेजे तो अलर्ट करें" या "जब किसी एक की (key) के सवाल इनपुट की असामान्य रूप से विस्तृत श्रृंखला को कवर करें तो अलर्ट करें"। N का मान अपने सामान्य ट्रैफ़िक से चुनें, न कि अंदाज़े से।
  3. उस टेक्स्ट के सैंपल पर स्टार्टर स्क्रिप्ट का उपयोग करें जिस पर आप ट्रेन कर सकते हैं। यह उन लाइनों को फ़्लैग करता है जो सीक्रेट्स या फोन नंबर जैसी दिखती हैं।
  4. नोट करें कि इसने क्या पकड़ा, क्या छोड़ दिया, और आप इसमें क्या जोड़ेंगे।
शुरुआती कोडpython
import re, sys

PATTERNS = {
    "email": re.compile(r"[\w.+-]+@[\w-]+\.[\w.]+"),
    "indian_mobile": re.compile(r"(?:\+91[\s-]?)?[6-9]\d{9}\b"),
    "possible_key": re.compile(r"(?i)(api[_-]?key|secret|token)\s*[:=]\s*\S{12,}"),
}

for n, line in enumerate(open(sys.argv[1], encoding="utf-8"), 1):
    for name, rx in PATTERNS.items():
        if rx.search(line):
            print(f"line {n}: {name}")
Google Colab खोलें ↗इस कोड के लिए आपके अपने सेटअप की ज़रूरत है (एक मॉडल, एक GPU या अतिरिक्त पैकेज)। इसे Google Colab में चलाएं: File → Upload notebook।

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

कठिन सवाल

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

Q1सिर्फ रेट लिमिट्स ही मॉडल एक्सट्रैक्शन को क्यों नहीं रोक पाती हैं?दिखाएं

एक धैर्यवान हमलावर कई अकाउंट्स, कीज़ या हफ़्तों में सवालों को बाँट सकता है। रेट लिमिट्स लागत बढ़ाती हैं, लेकिन आपको ऐसी मॉनिटरिंग की भी ज़रूरत होती है जो अकाउंट्स को आपस में जोड़े, समय के साथ सवालों के पैटर्न को देखे, और ऐसे कानूनी नियम हों जिन्हें आप लागू कर सकें। कई सुरक्षा परतों को एक साथ मिलाएँ।

Q2डिफरेंशियल प्राइवेसी के साथ ट्रेन किया गया मॉडल दुर्लभ समूहों (rare groups) पर कम सटीक क्यों हो सकता है?दिखाएं

डिफरेंशियल प्राइवेसी इस बात को सीमित करती है कि कोई एक रिकॉर्ड, या रिकॉर्ड्स का छोटा समूह, मॉडल को कितना प्रभावित कर सकता है। दुर्लभ समूहों में रिकॉर्ड कम होते हैं, इसलिए उनके पैटर्न ही सबसे अधिक कमज़ोर पड़ते हैं। यह निष्पक्षता (fairness) से जुड़ा एक ऐसा समझौता है जिसे मापा जाना चाहिए, नज़रअंदाज़ नहीं किया जाना चाहिए: जब आप इसका उपयोग करें तो प्रति समूह सटीकता की जाँच करें।

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

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

क्या कोई इस तरह से किसी लार्ज लैंग्वेज मॉडल को कॉपी कर सकता है?

वे सवाल पूछकर सटीक वेट्स (weights) को कॉपी नहीं कर सकते। लेकिन वे इसके कुछ बर्ताव की नकल करने वाले छोटे मॉडल को ट्रेन करने के लिए ढेरों आउटपुट का उपयोग कर सकते हैं, जिसे अक्सर डिस्टिलेशन (distillation) कहा जाता है। यही कारण है कि कई प्रोवाइडर्स इसके इस्तेमाल को सीमित करते हैं और अपनी शर्तों में इस पर रोक लगाते हैं।

अगर हमलावर को सिर्फ हाँ या ना पता चलता है, तो मेंबरशिप इनफेरेंस से क्या फर्क पड़ता है?

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

क्या हमारे अपने डेटा पर फाइन-ट्यूनिंग करने से यह जोखिम पैदा होता है?

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

क्या कॉन्फिडेंस स्कोर लौटाना हमेशा बुरा होता है?

नहीं। स्कोर ग्राहकों के लिए उपयोगी हो सकते हैं। यह नफा-नुकसान का मामला है। वही लौटाएं जिसकी प्रोडक्ट को वास्तव में ज़रूरत है, जहाँ संभव हो राउंड-ऑफ करें, और इसके गलत इस्तेमाल पर नज़र रखें।

पाठ का टेस्ट

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

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