पिछले महीने, मैंने एक फॉरेंसिक रिपोर्ट की समीक्षा की जहाँ एक वित्तीय सेवा फर्म ने एक आंतरिक ग्राहक सेवा बॉट का नियंत्रण खो दिया था। फर्म के पास अत्याधुनिक सुरक्षा स्टैक था, फिर भी एक सपोर्ट टिकट में चतुराई से वाक्यांशित एक वाक्य ने हर सुरक्षा घेरे (guardrail) को दरकिनार कर दिया। यह आधुनिक AI का वास्तुशिल्प विरोधाभास (architectural paradox) है। हम इन मॉडलों को पारंपरिक सुरक्षा की परतों में लपेटते हैं, लेकिन हम मुख्य भेद्यता को दूर करने में विफल रहते हैं: मॉडल अविश्वसनीय डेटा को विश्वसनीय निर्देशों से अलग करने में असमर्थ है। क्राउडस्ट्राइक (CrowdStrike) ने हाल ही में इस समस्या को पांच अलग-अलग नए हमले के वेक्टरों में संहिताबद्ध किया है जिन्हें हर सुरक्षा वास्तुकार को समझने की आवश्यकता है।
मैंने कल सुबह अपनी लैब में लामा 3 (Llama 3) के स्थानीय संस्करण पर इनमें से एक तकनीक को दोहराने की कोशिश में बिताई। इस कारनामे की सरलता ही इसे खतरनाक बनाती है। जोखिम के दृष्टिकोण से, हम वर्तमान में जनरेटिव AI के 'वाइल्ड वेस्ट' में हैं। क्राउडस्ट्राइक द्वारा पहचाने गए पांच नए प्रॉम्प्ट इंजेक्शन खतरे दर्शाते हैं कि हमलावर साधारण 'पिछले सभी निर्देशों को अनदेखा करें' कमांड से आगे बढ़ रहे हैं। वे अब सिस्टम से समझौता करने के लिए भाषाई हेरफेर और बहु-चरणीय वितरण का उपयोग कर रहे हैं।
प्रॉम्प्ट इंजेक्शन इसलिए मौजूद है क्योंकि लार्ज लैंग्वेज मॉडल जिस तरह से जानकारी को प्रोसेस करते हैं। पारंपरिक सॉफ़्टवेयर में, कोड और डेटा को आमतौर पर अलग-अलग मेमोरी स्पेस में रखा जाता है। एक SQL डेटाबेस गलती से उपयोगकर्ता के अंतिम नाम को कमांड के रूप में निष्पादित नहीं करता है जब तक कि SQL इंजेक्शन जैसी कोई विशिष्ट भेद्यता न हो। एक LLM में, डेवलपर के निर्देश और उपयोगकर्ता का डेटा एक ही संदर्भ विंडो (context window) में बैठते हैं। मॉडल हर टोकन को समान महत्व के साथ देखता है।
अलगाव की यह कमी नेटवर्क परिधि को एक पुराने किले की खाई बना देती है। यदि आप एक LLM को ईमेल पढ़ने की अनुमति देते हैं, तो आप अनिवार्य रूप से उस ईमेल को कीबोर्ड पर बैठने की जगह दे रहे हैं। हमलावर डेटा के भीतर निर्देशों को एम्बेड करके इस डिज़ाइन का फायदा उठाते हैं जिन्हें मॉडल अंततः एक निर्देश के रूप में संसाधित करता है। क्राउडस्ट्राइक का नया वर्गीकरण एक नक्शा प्रदान करता है कि कैसे ये हमलावर बुनियादी कीवर्ड फ़िल्टरिंग से आगे रहने के लिए अपने तरीकों को विकसित कर रहे हैं।
पहली नई तकनीक ट्रिगर-सक्रिय नियम जोड़ना (trigger-activated rule addition) है। इस परिदृश्य में, हमलावर तुरंत मॉडल को तोड़ने की कोशिश नहीं करता है। इसके बजाय, वे एक नया नियम पेश करते हैं जो हानिरहित प्रतीत होता है। उदाहरण के लिए, हमलावर मॉडल को बता सकता है कि यदि वह 'bluebird' शब्द देखता है तो हमेशा एक विशिष्ट प्रारूप में टेक्स्ट को संक्षेप में प्रस्तुत करे। अपने आप में, यह कोई उल्लंघन नहीं है। यह एक मामूली अनुकूलन जैसा दिखता है।
हालाँकि, हमलावर अजीब या दुर्भावनापूर्ण व्यवहार पैदा करने के लिए बाद में इस नियम को ट्रिगर कर सकता है। नियम एक 'स्लीपर एजेंट' के रूप में कार्य करता है। एक बार ट्रिगर सक्रिय हो जाने पर, मॉडल अपने आउटपुट को अनधिकृत API पर पुनर्निर्देशित कर सकता है या संवेदनशील सिस्टम प्रॉम्प्ट लीक करना शुरू कर सकता है। चूंकि प्रारंभिक नियम जोड़ना निर्दोष है, इसलिए यह अधिकांश बुनियादी पहचान प्रणालियों से गुजर जाता है। खतरा तब तक सुप्त रहता है जब तक कि विशिष्ट शर्तें पूरी नहीं हो जातीं। हमले की सतह का आकलन करने के लिए दीर्घकालिक बातचीत इतिहास या सिस्टम निर्देशों में दबे इन छिपे हुए 'if-then' बयानों की तलाश करने की आवश्यकता होती है।
संज्ञानात्मक टोकन दमन (Cognitive token suppression) सुरक्षा उपायों को दरकिनार करने का एक अधिक तकनीकी दृष्टिकोण है। अधिकांश LLM में अंतर्निहित इनकार पैटर्न (refusal patterns) होते हैं। यदि आप किसी मॉडल से मैलवेयर लिखने में मदद करने के लिए कहते हैं, तो उसे 'मैं उस अनुरोध में सहायता नहीं कर सकता' जैसा कुछ कहने के लिए प्रशिक्षित किया जाता है। सुरक्षा टीमें अक्सर मॉडल को सुरक्षित रखने के लिए इन स्थापित इनकार पैटर्न पर भरोसा करती हैं।
संज्ञानात्मक टोकन दमन का उपयोग करने वाला हमलावर मॉडल के भाषाई विकल्पों को इन पैटर्न से दूर ले जाता है। वे जटिल बाधाओं का उपयोग कर सकते हैं जो मॉडल को 'cannot', 'refuse', या 'policy' शब्दों का उपयोग करने से रोकते हैं। मॉडल को अपने सामान्य तरीके से ना कहने की क्षमता से वंचित करके, हमलावर LLM को ऐसी स्थिति में मजबूर करता है जहाँ उसके दुर्भावनापूर्ण अनुरोध को पूरा करने की अधिक संभावना होती है। यह भाषाई हथकड़ी का एक रूप है। मॉडल को अनुरोध के माध्यम से एक ऐसा रास्ता खोजने के लिए मजबूर किया जाता है जो उसके सुरक्षा प्रशिक्षण से बचता है। नतीजतन, सुरक्षा फ़िल्टर विफल हो जाता है क्योंकि मॉडल के पास अब उस शब्दावली तक पहुंच नहीं होती है जिसकी उसे इनकार व्यक्त करने के लिए आवश्यकता होती है।
एल्गोरिथम पेलोड अपघटन (Algorithmic payload decomposition) एक ऐसा हमला है जो सरल भागों से जटिल विचारों को इकट्ठा करने की मॉडल की क्षमता पर निर्भर करता है। एक हमलावर कई चरणों में संदेश पहुँचाता है। अलग से देखे जाने पर प्रत्येक चरण निर्दोष होता है। एक प्रॉम्प्ट मॉडल को वर्णों की एक विशिष्ट स्ट्रिंग संग्रहीत करने के लिए कह सकता है। दूसरा प्रॉम्प्ट उसे एक निश्चित फ़ंक्शन को परिभाषित करने के लिए कह सकता है।
जब संयुक्त किया जाता है, तो ये टुकड़े एक एकल कमांड में असेंबल हो जाते हैं जो खतरनाक होता है। यह प्रॉम्प्ट इंजेक्शन का डिजिटल 'ट्रोजन हॉर्स' है। सुरक्षा उपकरण जो दुर्भावनापूर्ण इरादे के लिए व्यक्तिगत प्रॉम्प्ट को स्कैन करते हैं, उन्हें कुछ भी गलत नहीं दिखेगा। खतरा केवल वास्तुशिल्प स्तर पर उभरता है जब मॉडल सभी टुकड़ों को एकीकृत करता है। मैंने इसे उन वातावरणों में प्रभावी ढंग से काम करते देखा है जहाँ संदर्भ विंडो इतनी बड़ी है कि कई प्रतीत होने वाली असंबंधित बातचीत को पकड़ सके जो अंततः एक पूर्ण शोषण श्रृंखला (exploit chain) बनाती हैं।
विशेष टोकन इंजेक्शन (Special token injection) एक ऐसी तकनीक है जो LLM के नियंत्रण स्विच को लक्षित करती है। मॉडल किसी विचार के अंत या सिस्टम निर्देश की शुरुआत को चिह्नित करने के लिए विशेष टोकन का उपयोग करते हैं। ये टोकन पायलट के डैशबोर्ड पर लगे बटन की तरह होते हैं। यदि कोई हमलावर इन टोकन को अपने स्वयं के इनपुट में इंजेक्ट कर सकता है, तो वे मॉडल को यह सोचने के लिए धोखा दे सकते हैं कि उपयोगकर्ता की सामग्री वास्तव में उच्च-प्राथमिकता वाला सिस्टम निर्देश है।
यह हमला भ्रम पैदा करता है जो मॉडल को अविश्वसनीय उपयोगकर्ता सामग्री को ऊपर उठाने के लिए धोखा देता है। यह मॉडल के आंतरिक तर्क पर सीधा हमला है। इन नियंत्रण स्विचों को स्पूफ करके, हमलावर डेवलपर के मूल निर्देशों को अधिलेखित करने की क्षमता प्राप्त कर लेता है। मॉडल हमलावर को प्रशासक के रूप में मानना शुरू कर देता है। यह उन मॉडलों के लिए विशेष रूप से खतरनाक है जो बाहरी टूल या डेटाबेस से जुड़े हैं। एक बार जब मॉडल को विश्वास हो जाता है कि हमलावर एक विश्वसनीय सिस्टम आवाज है, तो वह उन्नत विशेषाधिकारों के साथ कार्यों को निष्पादित करेगा।
अनजान उपयोगकर्ता संदर्भ-डेटा इंजेक्शन (Unwitting user context-data injection) शायद इस नई सूची में सबसे व्यापक खतरा है। यह शोषण विश्वसनीय डेटा और निष्पादन योग्य निर्देशों के बीच की सीमा पर आधारित है। उपयोगकर्ता वह है जो दुर्भावनापूर्ण निर्देश पेश करता है, लेकिन वे ऐसा बिना जाने करते हैं। ऐसा तब होता है जब कोई उपयोगकर्ता दस्तावेज़ अपलोड करता है, ईमेल अग्रेषित करता है, या वेब सामग्री जोड़ता है जिसे AI बाद में संसाधित करता है।
पर्दे के पीछे, दुर्भावनापूर्ण निर्देश दस्तावेज़ या ईमेल के अंदर छिपा होता है। उपयोगकर्ता जो प्रॉम्प्ट लिखता है वह हानिरहित हो सकता है, जैसे 'इस PDF को संक्षेप में प्रस्तुत करें'। PDF में ही टेक्स्ट की एक छिपी हुई पंक्ति होती है जो मॉडल को सारांश को अनदेखा करने और इसके बजाय उपयोगकर्ता के सत्र टोकन को बाहरी सर्वर पर भेजने के लिए कहती है। उपयोगकर्ता हमले के लिए वितरण वाहन है। डेटा अखंडता के संदर्भ में, यह एक दुःस्वप्न है। इसका मतलब है कि जानकारी का हर टुकड़ा जिसे एक LLM छूता है, समझौते के लिए एक संभावित वेक्टर है।
सुरक्षा टीमें कई तरीकों से ऐसे हमलों से बचाव कर सकती हैं। सक्रिय रूप से बोलते हुए, पहला कदम हर उस स्थान का थ्रेट मॉडलिंग करना है जहाँ मॉडल संदर्भ उत्पन्न हो सकता है। आपको हर इनपुट को एक जहरीली संपत्ति के रूप में मानना चाहिए। इसमें उपयोगकर्ताओं द्वारा अपलोड की गई फ़ाइलें, इनबॉक्स से प्राप्त ईमेल और आंतरिक डेटाबेस से निकाला गया डेटा शामिल है।
क्राउडस्ट्राइक इन विशिष्ट पांच वेक्टरों को शामिल करने के लिए परीक्षण का विस्तार करने की सिफारिश करता है। रेड टीमिंग को एकल-प्रॉम्प्ट विफलताओं के बजाय मिश्रित हमलों पर ध्यान केंद्रित करना चाहिए। आपको यह देखने की ज़रूरत है कि क्या आपके मॉडल को अपघटन या दमन द्वारा धोखा दिया जा सकता है। पैचिंग के अलावा, वास्तविक समाधान ग्रैनुलर डिटेक्शन इंजीनियरिंग है। हमें ऐसे सिस्टम की आवश्यकता है जो मॉडल की आंतरिक स्थिति की निगरानी कर सकें और अलर्ट कर सकें जब वह अपने मूल निर्देशों को अनदेखा करना शुरू कर दे।
LLM में प्रवाहित होने वाले डेटा पर जीरो ट्रस्ट (Zero trust) लागू किया जाना चाहिए। इसे हर आंतरिक दरवाजे पर VIP क्लब बाउंसर के रूप में सोचें। डेटा पर कभी भरोसा न करें, भले ही वह लॉग-इन उपयोगकर्ता से आया हो। बाउंसर को यह सत्यापित करना होगा कि सामग्री में छिपे हुए निर्देश नहीं हैं, इससे पहले कि उसे मॉडल की संदर्भ विंडो में जाने की अनुमति दी जाए। अगली पीढ़ी के प्रॉम्प्ट इंजेक्शन का सामना करने वाले लचीले सिस्टम बनाने का यही एकमात्र तरीका है।
फॉरेंसिक के नजरिए से, आपको हर बातचीत के लिए पूरी संदर्भ विंडो का विस्तृत लॉग भी बनाए रखना चाहिए। उल्लंघन की स्थिति में, यह समझने के लिए ये लॉग मिशन-क्रिटिकल हैं कि हमलावर ने आपके फिल्टर को कैसे दरकिनार किया। यदि आप केवल अंतिम आउटपुट लॉग करते हैं, तो आप हमले की श्रृंखला के सबसे महत्वपूर्ण हिस्से को याद कर रहे हैं।
AI एक शक्तिशाली उपकरण है, लेकिन यह एक नए प्रकार की हमले की सतह भी है। इन पांच नए खतरों को समझकर, आप एक ऐसी सुरक्षा बनाना शुरू कर सकते हैं जो उन मॉडलों की तरह ही स्मार्ट हो जिन्हें आप सुरक्षित करने की कोशिश कर रहे हैं।
स्रोत: CrowdStrike Falcon Intelligence, NIST AI Risk Management Framework, MITRE ATLAS.
अस्वीकरण: यह लेख केवल सूचनात्मक और शैक्षिक उद्देश्यों के लिए है और पेशेवर साइबर सुरक्षा ऑडिट या घटना प्रतिक्रिया सेवा का स्थान नहीं लेता है।



हमारा एंड-टू-एंड एन्क्रिप्टेड ईमेल और क्लाउड स्टोरेज समाधान सुरक्षित डेटा एक्सचेंज का सबसे शक्तिशाली माध्यम प्रदान करता है, जो आपके डेटा की सुरक्षा और गोपनीयता सुनिश्चित करता है।
/ एक नि: शुल्क खाता बनाएं