TryHackBox ( AI Security ): post #352 — TG.ME

RobustRAG — از دفاع‌های heuristic تا certifiable robustness در برابر Retrieval Corruption

Retrieval-Augmented Generation یک معماری استاندارد شده، اما یک نقطه‌ضعف بنیادی دارد:
هر passage بازیابی‌شده بدون هیچ ایزوله‌سازی وارد context می‌شود؛ بنابراین یک passage آلوده کافی‌ست تا کل خروجی مدل را hijack کند.

این تهدید دو شکل اصلی دارد:

- PoisonedRAG: تزریق passage جعلی به knowledge base
- Indirect Prompt Injection: جاسازی دستور مخرب داخل متن passage

نمونه‌های واقعی:
- خطای AI Overview گوگل (پیتزا + چسب)
- آسیب‌پذیری RCE در Microsoft Copilot

---

⚠️ مشکل دفاع‌های موجود
اغلب دفاع‌ها فقط empirical robustness ارائه می‌کنند:
در برابر چند حمله‌ی شناخته‌شده تست می‌شوند و اگر عبور کنند، «robust» نامیده می‌شوند.

این دقیقاً همان توهم امنیت در adversarial ML است:
attacker adaptive همیشه راه دور زدن را پیدا می‌کند.

---

🔥 نوآوری RobustRAG
مقاله‌ی NVIDIA / Princeton / Berkeley اولین چارچوبی را ارائه می‌کند که:

certifiable robustness
نه فقط در برابر حملات شناخته‌شده، بلکه در برابر هر attacker ممکن در یک threat model مشخص.

attacker فرض می‌شود که:

- الگوریتم دفاع را می‌داند
- وزن‌های LLM را می‌داند
- کل knowledge base را می‌داند
- query کاربر را می‌داند
- و می‌تواند تعداد مشخصی passage مخرب تزریق کند

با وجود این، RobustRAG یک کران پایین formal روی کیفیت پاسخ ارائه می‌دهد.

---

🧩 معماری: Isolate → Aggregate

1) ایزوله‌سازی
به‌جای concatenate کردن همه‌ی k passage در یک context:

- passageها به گروه‌های مستقل و disjoint تقسیم می‌شوند
- برای هر گروه یک پاسخ LLM جداگانه تولید می‌شود
- هر passage فقط در یک گروه است → پس تعداد گروه‌های آلوده محدود است

این کار blast radius حمله را از «کل خروجی» به «چند گروه محدود» کاهش می‌دهد.

---

2) تجمیع امن (Secure Aggregation)

الف) Secure Keyword Aggregation
برای پاسخ‌های کوتاه:

- از هر پاسخ ایزوله کلیدواژه‌های unique استخراج می‌شود
- هر گروه فقط می‌تواند یک واحد به شمارش هر کلیدواژه اضافه کند
- کلیدواژه‌های عبورکرده از آستانه نگه داشته می‌شوند
- LLM دوباره فقط با همین کلیدواژه‌ها پاسخ نهایی را می‌سازد

اثر هر passage آلوده ریاضیاتی محدود است.

---

ب) Secure Decoding Aggregation
برای متن‌های طولانی:

- در هر مرحله‌ی decoding، توزیع احتمال next-token از همه‌ی گروه‌ها جمع می‌شود
- دو توکن برتر انتخاب می‌شوند
- اگر فاصله‌ی احتمال کافی باشد → توکن برتر انتخاب می‌شود
- اگر نه → سیستم به دانش پارامتری مدل عقب‌نشینی می‌کند (مصون از corruption)

هیچ passage مخرب نمی‌تواند توزیع تجمیعی را نامحدود جابه‌جا کند.

---

⚙️ پارامتر کلیدی: اندازه‌ی گروه
Trade-off مستقیم:

- گروه بزرگ‌تر → کیفیت بهتر، robustness کمتر
- گروه کوچک‌تر → robustness بیشتر، هزینه‌ی inference بالاتر

در حالت حدی (گروه = کل passageها) RobustRAG = vanilla RAG → یک passage مخرب کافی‌ست.

---

📊 نتایج
روی سه دیتاست و سه مدل (Mistral-7B، Llama-2-7B، GPT-3.5):

- clean accuracy ≈ vanilla RAG
- certifiable robust accuracy > 0
- vanilla RAG = صفر مطلق
- موفقیت حملات PoisonedRAG و indirect prompt injection از ۹۰٪ → ۱۰٪ کاهش یافت

---

🧨 اهمیت عملیاتی
RobustRAG اولین معماری است که:

- robustness certification را از classification
- به free-form text generation با خروجی نامحدود
- منتقل می‌کند

این مسئله قبلاً حل‌نشده بود.

پیام امنیتی روشن:

- دفاع‌های heuristic و prompt-based هیچ تضمین واقعی نمی‌دهند
- در threat model واقعی (attacker adaptive با دانش کامل)
- فقط معماری‌های formal مثل isolate-then-aggregate معنا دارند

هزینه‌ی این تضمین:
به‌جای یک فراخوانی LLM → چند فراخوانی موازی.

@Aithb
August 18, 2026 229 4