LLM സുരക്ഷാ വീഴ്ചകൾ 101

മിക്ക LLM സുരക്ഷാ വീഴ്ചകളും അത്ര ബുദ്ധിപരമുള്ളതല്ല. മോഡലുകൾ പ്രവർത്തിക്കുന്ന രീതിയെക്കുറിച്ചുള്ള രണ്ട് ലളിതമായ വസ്തുതകളിൽ നിന്നാണ് അവ ഉണ്ടാകുന്നത്. ഇവ മനസ്സിലാക്കിക്കഴിഞ്ഞാൽ, ഭയപ്പെടുത്തുന്ന തരത്തിലുള്ള ആക്രമണങ്ങളുടെ പട്ടിക വ്യക്തമാകും.

വസ്തുത 1: നിങ്ങളുടെ നിർദ്ദേശങ്ങളും (instructions) ഉപയോക്താവിന്റെ ടെക്സ്റ്റും തമ്മിലുള്ള വ്യത്യാസം മോഡൽ തിരിച്ചറിയുന്നില്ല. അത് ഡാറ്റയുടെ ഒരു ഒഴുക്ക് മാത്രമായാണ് കാണുന്നത്. ഏത് ഭാഗമാണ് വിശ്വസിക്കേണ്ടതെന്ന് അതിന് കൃത്യമായി പറയാൻ കഴിയില്ല.

വസ്തുത 2: ടൂളുകൾ (Tools) കളിയുടെ നിയമങ്ങൾ മാറ്റുന്നു. ഒരു മോഡലിന് ഇമെയിൽ, സെർച്ച് അല്ലെങ്കിൽ ഡാറ്റാബേസുകൾ എന്നിവ ഉപയോഗിക്കാനുള്ള അനുമതി നൽകുമ്പോൾ, വിശ്വസിക്കാൻ കൊള്ളാത്ത ടെക്സ്റ്റുകൾക്ക് പ്രവേശിക്കാൻ പുതിയ വഴികൾ നിങ്ങൾ തുറന്നു കൊടുക്കുന്നു. കൂടാതെ, സംസാരിക്കാൻ മാത്രം കഴിയുന്ന ഒരു മോഡലിനെ പ്രവർത്തിക്കാൻ (act) ശേഷിയുള്ള ഒന്നാക്കി നിങ്ങൾ മാറ്റുകയും ചെയ്യുന്നു.

മോഡലുമായി വാദപ്രതിവാദങ്ങൾ ജയിക്കാൻ ശ്രമിക്കുന്നത് നിർത്തുക. പകരം, മോഡലിന് എന്ത് ചെയ്യാൻ അനുവാദമുണ്ട് എന്നത് മാറ്റാൻ തുടങ്ങുക.

പ്രധാന സുരക്ഷാ വീഴ്ചകൾ:

  • Direct Injection: നിങ്ങളുടെ നിയമങ്ങൾ മറികടക്കാൻ ഉപയോക്താവ് "ignore previous instructions" എന്ന് ടൈപ്പ് ചെയ്യുന്നു. നിങ്ങളുടെ സിസ്റ്റം പ്രോംപ്റ്റ് (system prompt) ഒരു സുരക്ഷാ അതിർവരമ്പല്ല.
  • Jailbreaks: ഇവ നിങ്ങളുടെ ആപ്പിനെക്കാൾ ഉപരിയായി സുരക്ഷാ പരിശീലനങ്ങളെയാണ് (safety training) ലക്ഷ്യം വെക്കുന്നത്. ഫിൽട്ടറുകളെ മറികടക്കാൻ ആക്രമണകാരികൾ റോൾപ്ലേയോ (roleplay) കഥകളോ ഉപയോഗിക്കുന്നു.
  • System Prompt Leakage: മോഡലിന്റെ സ്വന്തം നിർദ്ദേശങ്ങൾ പ്രിന്റ് ചെയ്യാൻ ആക്രമണകാരികൾ അതിനെ വഞ്ചിക്കുന്നു. പ്രോംപ്റ്റുകളിൽ ഒരിക്കലും API കീകൾ അല്ലെങ്കിൽ രഹസ്യവിവരങ്ങൾ ഉൾപ്പെടുത്തരുത്.
  • Indirect Injection: യഥാർത്ഥ അപകടം ഇതാണ്. ഇമെയിലുകൾ, PDF-കൾ അല്ലെങ്കിൽ വെബ് പേജുകൾ എന്നിവയിൽ ദോഷകരമായ നിർദ്ദേശങ്ങൾ ഒളിപ്പിച്ചു വെക്കുന്നു. മോഡൽ അവയെ കമാൻഡുകളായി വായിക്കുന്നു.
  • RAG Poisoning: ആക്രമണകാരികൾ നിങ്ങളുടെ നോളജ് ബേസിലേക്ക് (knowledge base) തെറ്റായ വിവരങ്ങൾ ചേർക്കുന്നു. മോഡൽ ഈ വിവരങ്ങൾ ശേഖരിക്കുകയും അതിലെ ഒളിഞ്ഞിരിക്കുന്ന കമാൻഡുകൾ അനുസരിക്കുകയും ചെയ്യുന്നു.
  • Multimodal Attacks: ചിത്രങ്ങൾക്കോ ഓഡിയോ ഫയലുകൾക്കോ ഉള്ളിൽ നിർദ്ദേശങ്ങൾ ഒളിപ്പിച്ചു വെക്കുന്നു. ടെക്സ്റ്റ് ഫിൽട്ടറുകൾക്ക് ഇവ കണ്ടെത്താൻ കഴിയില്ല.
  • Tool Abuse: വിജയകരമായ ഒരു ഇൻജക്ഷൻ ഇമെയിലുകൾ അയക്കുകയോ കോഡ് പ്രവർത്തിപ്പിക്കുകയോ പോലുള്ള യഥാർത്ഥ പ്രവൃത്തികളിലേക്ക് നയിക്കുന്നു. ഇതാണ് "confused deputy" പ്രശ്നം.
  • The Lethal Trifecta: ഏറ്റവും അപകടകരമായ അവസ്ഥ. ഒരു ഏജന്റിന് സ്വകാര്യ വിവരങ്ങൾ ഉപയോഗിക്കാനുള്ള അനുമതിയുണ്ട്, വിശ്വസിക്കാൻ കൊള്ളാത്ത ഉള്ളടക്കം കാണുന്നു, കൂടാതെ പുറംലോകവുമായി ആശയവിനിമയം നടത്താൻ ഒരു വഴിയുമുണ്ട്.
  • Memory Poisoning: ഭാവിയിലെ സെഷനുകളിൽ ആക്രമണങ്ങൾ ഉണ്ടാക്കാൻ ആക്രമണകാരികൾ മോഡലിന്റെ ലോംഗ് ടേം മെമ്മറിയിൽ (long-term memory) തെറ്റായ നിർദ്ദേശങ്ങൾ എഴുതുന്നു.
  • Multi-Agent Spread: ഒരു ഏജന്റിന്റെ ഔട്ട്‌പുട്ട് മറ്റൊരു ഏജന്റിന്റെ നിർദ്ദേശമായി മാറുന്നു. ഒരു ആക്രമണത്തിന് നിങ്ങളുടെ മുഴുവൻ സിസ്റ്റത്തിലൂടെയും പടരാൻ കഴിയും.
  • MCP Poisoning: ദോഷകരമായ ടൂൾ വിവരണങ്ങൾ (tool descriptions) ഉപയോഗിച്ച് മോഡലിനെ കബളിപ്പിച്ച് ക്രെഡൻഷ്യലുകൾ (credentials) കൈമാറാൻ പ്രേരിപ്പിക്കാം.

പരിഹാരം മികച്ചൊരു മോഡലല്ല, മറിച്ച് മികച്ചൊരു ആർക്കിടെക്ചറാണ് (architecture).

  • കുറഞ്ഞ അവകാശം മാത്രം നൽകുക (Use least privilege).
  • നിർണ്ണായകമായ പ്രവൃത്തികളിൽ ഒരു മനുഷ്യന്റെ ഇടപെടൽ ഉറപ്പാക്കുക (Put a human in the loop).
  • സ്വകാര്യ വിവരങ്ങൾ, വിശ്വസിക്കാൻ കൊള്ളാത്ത ഇൻപുട്ട്, പുറത്തേക്ക് പോകാനുള്ള വഴി എന്നിവ ഒരേ പാതയിൽ ഒരേസമയം വരാൻ അനുവദിക്കരുത്.

നിങ്ങളുടെ ഏജന്റുകൾ ഇതിനകം തന്നെ ഹാക്ക് ചെയ്യപ്പെട്ടവയാണെന്ന രീതിയിൽ അവയെ നിർമ്മിക്കുക. അവയ്ക്ക് എന്ത് പറയാം എന്നതിലുപരി, എന്ത് ചെയ്യാൻ കഴിയും എന്നതിനും പരിധി നിശ്ചയിക്കുക.

ഉറവിടം: https://dev.to/weboko/llm-vulnerabilities-101-3pcj

ഐച്ഛികമായ പഠന സമൂഹം: https://t.me/GyaanSetuAi