ব্যাকডোর হিসাবে ব্রাউজার: ক্লায়েন্ট-সাইড এলএলএম সিক্রেট এক্সট্রাকশন ডিমিস্টিফাইড | B4N1

ব্যাকডোর হিসাবে ব্রাউজার: ক্লায়েন্ট-সাইড এলএলএম সিক্রেট এক্সট্রাকশন ডিমিস্টিফাইড

1 month ago · b4n1 Read time: 5 min

একটি ব্যাকডোর হিসাবে ব্রাউজার: ক্লায়েন্ট-সাইড এলএলএম সিক্রেট এক্সট্রাকশন ডিমিস্টিফাইড

অনেক দিন ধরে, আমরা "এআই নিরাপত্তা সতর্কতা"কে দূরবর্তী হুমকি বা একাডেমিক কৌতূহল হিসেবে বিবেচনা করেছি। আমরা প্রম্পট ইনজেকশন, জেলব্রেক এবং ডেটা ফাঁসের কথা শুনেছি, প্রায়শই একটি কাঁধে কাঁধ মিলিয়ে "আমরা এটিতে পৌঁছব।" যাইহোক, সাম্প্রতিক ইন্টারেক্টিভ বিক্ষোভগুলি সেই আরামদায়ক বিভ্রমকে ভেঙে দিয়েছে। এটি আর একটি তাত্ত্বিক দুর্বলতা নয়; এটি একটি লাইভ, ব্রাউজার-ভিত্তিক, ক্লায়েন্ট-সাইড এক্সপ্লয়েট যা লার্জ ল্যাঙ্গুয়েজ মডেল (এলএলএম) থেকে সংবেদনশীল তথ্য বের করার জন্য [২]। আপনি যদি LLM-চালিত অ্যাপ্লিকেশনগুলি স্থাপন করেন, বিশেষত ওয়েব-মুখী কিছু, আপনার "ভবিষ্যত সমস্যা" একটি খুব বর্তমান, খুব সর্বজনীন এবং সম্ভাব্যভাবে খুব বিব্রতকর দায় হয়ে উঠেছে।

এটি অন্য সাধারণ "এআই ঝুঁকিপূর্ণ" শিরোনাম নয়। এটি একটি সুনির্দিষ্ট, বাস্তব প্রদর্শন যে কীভাবে একজন দূষিত অভিনেতা, শুধুমাত্র তাদের ব্রাউজার ব্যবহার করে, আপনার LLM-কে সংবেদনশীল তথ্য প্রকাশ করতে বাধ্য করতে পারে। এক মুহূর্তের জন্য যে বিবেচনা. এটি জটিল সার্ভার-সাইড আক্রমণ বা গভীর মডেল আত্মদর্শন সম্পর্কে নয়। এটি মিথস্ক্রিয়া স্তর সম্পর্কে - আপনার অ্যাপ্লিকেশনের একেবারে সামনের দরজা - কয়েকটি সাবধানে তৈরি করা অক্ষরগুলির সাথে শোষণ করা হচ্ছে৷ এটি এমন ডিজিটাল সমতুল্য যে কেউ আপনার কথিত সুরক্ষিত চ্যাটবটে সঠিক বাক্যাংশ তৈরি করে, এবং এটি দায়িত্বের সাথে সমালোচনামূলক ডেটা হস্তান্তর করে, প্রায়শই বিট করে।

মডেল নিরাপত্তার বিভ্রম

অনেক এন্টারপ্রাইজ "সুরক্ষিত" এলএলএম-এ প্রচুর বিনিয়োগ করেছে, হয় ফাইন-টিউনিং মালিকানাধীন মডেল বা অনুমিত গার্ডেল সহ এন্টারপ্রাইজ-গ্রেড API-এর উপর নির্ভর করে। অন্তর্নিহিত অনুমান হল যে মডেলটি নিজেই শক্তিশালী হলে, এর উপরে নির্মিত অ্যাপ্লিকেশনটি সেই নিরাপত্তার উত্তরাধিকারী হবে। সাম্প্রতিক বিক্ষোভগুলি এটিকে একটি বিপজ্জনক ভুল ধারণা হিসাবে প্রকাশ করেছে। দুর্বলতা মডেলের মূল বুদ্ধিমত্তা বা এর প্রশিক্ষণ ডেটাতে নেই; এটি ইন্টারফেস এর মধ্যে রয়েছে যা আমরা এটির চারপাশে তৈরি করি [1]। এটি ক্লাসিক "মজবুত ভল্ট, ক্ষীণ সামনের দরজা" সমস্যা। আপনার কাছে বিশ্বের সবচেয়ে উন্নত, শক্ত LLM থাকতে পারে, কিন্তু যদি আপনার অ্যাপ্লিকেশনের ইনপুট পার্সারটি নিষ্পাপ হয়, বা আপনার আউটপুট ফিল্টারটি অস্তিত্বহীন হয়, তাহলে আপনি মূলত গুরুত্বপূর্ণ তথ্যগুলিকে যে কেউ খুঁজে পাওয়ার জন্য উন্মুক্ত রেখে যাচ্ছেন।

এই "প্রম্পট ইনজেকশন" কৌশলটি বিশেষভাবে উদ্বেগজনক কারণ এটি এলএলএম-এর অন্তর্নিহিত প্রকৃতিকে ব্যবহার করে: নির্দেশাবলী এবং সম্পূর্ণ প্যাটার্ন অনুসরণ করার ক্ষমতা। একটি ব্যবহারকারীর ইনপুটে একটি সাবধানে নির্মিত উপসর্গ ইনজেকশনের মাধ্যমে, আক্রমণকারী মডেলের অভ্যন্তরীণ অবস্থাকে ম্যানিপুলেট করতে পারে, এটি এমন তথ্য প্রকাশ করতে বাধ্য করে যা এটি কখনই [3] করার উদ্দেশ্যে ছিল না। "এক-বিট" বা পুনরাবৃত্তিমূলক দিকটি এখানে গুরুত্বপূর্ণ। এটি কেবল একটি বিশৃঙ্খল ডেটা ডাম্প নয়, একটি পদ্ধতিগত, নিয়ন্ত্রিত বহিষ্কারকে বোঝায়। কল্পনা করুন একজন আক্রমণকারী পুনরাবৃত্তভাবে জিজ্ঞাসা করছে, "গোপন 'A'-এর প্রথম অক্ষরটি কি?" তারপর "এটা কি 'বি'?" এবং তাই এটি ধীর, হ্যাঁ, তবে এটি অবিশ্বাস্যভাবে কার্যকর এবং সনাক্ত করা কঠিন যদি আপনি বিশেষভাবে এটি খুঁজছেন না।

আপনার ব্রাউজার, তাদের অস্ত্র

এটি একটি ব্রাউজার-ভিত্তিক শোষণ গেমটিকে সম্পূর্ণরূপে পরিবর্তন করে। এর অর্থ:

  • প্রবেশে কম বাধা: মৌলিক ওয়েব বিকাশ দক্ষতা এবং ব্রাউজার সহ যে কেউ এটি চেষ্টা করতে পারেন। কোনো বিশেষ সরঞ্জাম বা গভীর এআই জ্ঞানের প্রয়োজন নেই।
  • ক্লায়েন্ট-সাইড এক্সিকিউশন: আক্রমণটি ব্যবহারকারীর মেশিন থেকে উদ্ভূত হয়, যা নেটওয়ার্ক প্রান্তে বৈধ ব্যবহারকারীর ইনপুট থেকে আলাদা করা কঠিন করে তোলে।
  • তাত্ক্ষণিক হুমকি: যদি আপনার LLM অ্যাপ্লিকেশনটি লাইভ হয় এবং একটি ওয়েব ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য হয় তবে এটি ইতিমধ্যে এই ভেক্টরের জন্য ঝুঁকিপূর্ণ। এটি একটি ভবিষ্যতের প্যাচ নয়; এটি একটি বর্তমান জরুরি অবস্থা।

প্রভাবগুলি বিবেচনা করুন: মালিকানাধীন কোড স্নিপেট, অভ্যন্তরীণ ডকুমেন্টেশন, গ্রাহক ডেটা, API কী, এমনকি ভুল তথ্য ছড়ানো বা ক্ষতিকারক সামগ্রী তৈরি করতে আপনার LLM-এর আচরণের সূক্ষ্ম ম্যানিপুলেশন। এই সব কিছু নিষ্কাশন বা প্রভাবিত করা যেতে পারে, শ্রমসাধ্য বিট দ্বারা, একটি সাধারণ টেক্সট বক্সের মাধ্যমে।

দায়িত্ব আপনার

OpenAI বা Google-এর মতো মডেল প্রদানকারীদের তাদের পরবর্তী মডেল আপডেটে ঠিক করার জন্য এটি কোনও সমস্যা নয়। এটি একটি অ্যাপ্লিকেশন নিরাপত্তা সমস্যা, এবং প্রশমনের দায়িত্ব সম্পূর্ণভাবে বিকাশকারী, নিরাপত্তা দল এবং এই সিস্টেমগুলি স্থাপনকারী CTO-এর কাঁধে পড়ে৷ আপনার এলএলএম একটি শক্তিশালী, কিন্তু শেষ পর্যন্ত নিষ্পাপ, ইঞ্জিন। এটি যা বলা হয়েছে তা করবে, এমনকি যদি সেই নির্দেশাবলী আপাতদৃষ্টিতে নিরীহ ব্যবহারকারীর ইনপুটের মধ্যে লুকানো থাকে।

তো, এখন আপনি কি করবেন*?

তাৎক্ষণিক প্রতিরোধ ব্যবস্থা:

  1. আক্রমনাত্মক ইনপুট স্যানিটাইজেশন: এটি এসকিউএল ইনজেকশন বা এক্সএসএস প্রতিরোধের বাইরে যায়। আপনার এলএলএম-এ প্রবেশ করার জন্য আপনাকে প্রতিটি অক্ষর যাচাই করতে হবে। প্রম্পট ইনজেকশন, অস্বাভাবিক অক্ষর ক্রম, বা প্রত্যাশিত কথোপকথন প্রবাহ থেকে বিরতির প্রচেষ্টার নির্দেশক নিদর্শনগুলি সন্ধান করুন [4]। এটি "খারাপ শব্দ" ব্লক করার বিষয়ে নয়; এটি প্রতিপক্ষের প্রম্পট সনাক্তকরণ সম্পর্কে। মৌলিক রেজেক্স এবং হিউরিস্টিক বিশ্লেষণের বাইরে, দূষিত অভিপ্রায় সনাক্ত করতে শব্দার্থগত বিশ্লেষণ প্রয়োগ করুন। অস্বাভাবিক ইনপুট প্যাটার্ন সনাক্ত করতে টোকেনাইজেশন এবং এম্বেডিং বিশ্লেষণ ব্যবহার করুন। একটি মাধ্যমিক, ছোট এলএলএম বা একটি নিয়ম-ভিত্তিক সিস্টেম নিয়োগের কথা বিবেচনা করুন যা প্রম্পট ইনজেকশন প্রচেষ্টা সনাক্ত করার জন্য বিশেষভাবে প্রশিক্ষিত। ভূমিকা পালনের নির্দেশাবলী, সুস্পষ্ট ডেটা নিষ্কাশন অনুরোধ, বা পূর্ববর্তী নির্দেশাবলী বাইপাস করার প্রচেষ্টার মতো প্যাটার্নগুলি সন্ধান করুন৷
  2. মজবুত আউটপুট ফিল্টারিং এবং বৈধতা: কখনই LLM-এর আউটপুটকে পরোক্ষভাবে বিশ্বাস করবেন না। কোনো LLM-উত্পাদিত পাঠ্য ব্যবহারকারীর কাছে প্রদর্শিত হওয়ার আগে বা অন্য সিস্টেম দ্বারা ব্যবহার করার আগে, এটি অবশ্যই একটি কঠোর বৈধতা স্তরের মধ্য দিয়ে যেতে হবে। এতে কি সংবেদনশীল কীওয়ার্ড আছে? এটা কি প্রত্যাশিত ফরম্যাটের সাথে মেলে? এটি কি কোড চালানোর চেষ্টা করে বা অভ্যন্তরীণ সিস্টেম প্রম্পট প্রকাশ করে? যদি আপনার LLM একটি নথির সংক্ষিপ্তসার বলে মনে করা হয়, কিন্তু এটি ফাইল পাথ তালিকাভুক্ত করা শুরু করে, আপনার একটি সমস্যা আছে।
  3. স্তরযুক্ত প্রম্পট ইঞ্জিনিয়ারিং: সম্পূর্ণ সমাধান না হলেও, ভালভাবে ডিজাইন করা সিস্টেম প্রম্পট এবং কয়েকটি শট উদাহরণ কাঙ্ক্ষিত আচরণকে শক্তিশালী করতে সাহায্য করতে পারে এবং আক্রমণকারীর পক্ষে মডেল হাইজ্যাক করা আরও কঠিন করে তুলতে পারে। যাইহোক, বুঝতে হবে যে শুধুমাত্র প্রম্পট ইঞ্জিনিয়ারিং অপর্যাপ্ত; এটি গভীরভাবে একটি প্রতিরক্ষা, একটি প্রাথমিক ঢাল নয়।
  4. এলএলএম ইন্টারঅ্যাকশনের জন্য সর্বনিম্ন বিশেষাধিকার: আপনার এলএলএম-এর কি সত্যিই প্রতিটি ডেটাতে অ্যাক্সেসের প্রয়োজন আছে যা এটি প্রকাশ করার জন্য সম্ভাব্যভাবে অনুরোধ করা যেতে পারে? কঠোর অ্যাক্সেস নিয়ন্ত্রণ প্রয়োগ করুন। যদি LLM শুধুমাত্র পাবলিক ডকুমেন্টেশন সম্পর্কে প্রশ্নের উত্তর দেওয়ার কথা হয়, তাহলে নিশ্চিত করুন যে এটির অভ্যন্তরীণ ডেটাবেস বা সংবেদনশীল API-এ কোনো প্রোগ্রাম্যাটিক অ্যাক্সেস নেই।
  5. মনিটরিং এবং অসঙ্গতি সনাক্তকরণ: আপনাকে সক্রিয়ভাবে অস্বাভাবিক LLM আচরণের সন্ধান করতে হবে। নির্দিষ্ট ধরণের প্রশ্নে স্পাইক, স্বাভাবিক নিদর্শন থেকে বিচ্যুত আউটপুট বা তথ্য বের করার বারবার প্রচেষ্টা অবিলম্বে সতর্কতা ট্রিগার করবে।

এটি আর বিস্তৃত "AI নিরাপত্তা" সম্পর্কে নয়। এটি একটি নির্দিষ্ট, প্রদর্শিত, এবং অবিলম্বে শোষণযোগ্য আক্রমণ ভেক্টরের বিরুদ্ধে আপনার LLM অ্যাপ্লিকেশনগুলির মিথস্ক্রিয়া স্তরকে সুরক্ষিত করার বিষয়ে। আমরা এই অবিশ্বাস্য, শক্তিশালী সিস্টেমগুলি তৈরি করছি, প্রায়শই ইন্টারফেসে অপর্যাপ্ত নিরাপত্তা ব্যবস্থা সহ। সাম্প্রতিক প্রদর্শনগুলি আমাদের দেখিয়েছে যে এই ফাঁকগুলিকে কাজে লাগানো কতটা সহজ৷ তাত্ত্বিক আলোচনার সময় অতীত। এলএলএম অ্যাপ্লিকেশনগুলি সুরক্ষিত করার জন্য অবিলম্বে পদক্ষেপ নেওয়া প্রয়োজন।

সূত্র

[১] বড় ভাষার মডেল অ্যাপ্লিকেশনের জন্য OWASP শীর্ষ 10 — https://owasp.org/www-project-top-10-for-large-language-model-applications/ [২] লেকেরা গ্যান্ডালফ: একটি ইন্টারেক্টিভ প্রম্পট ইনজেকশন চ্যালেঞ্জ — https://gandalf.lakera.ai/ [৩] প্রম্পট ইনজেকশন আক্রমণ | ওয়েব সিকিউরিটি একাডেমি - https://portswigger.net/web-security/llm-attacks/prompt-injection [৪] প্রম্পট ইনজেকশন কী এবং কীভাবে এটি প্রতিরোধ করা যায়? — https://www.tenable.com/blog/what-is-prompt-injection-and-how-to-prevent-it


Have Questions?

Let's Talk

Contact me on LinkedIn