پرش به محتوای اصلی
پرش به محتوای مقاله

«نادیده گرفتن اسرار»؛ توهمِ امنیتی در پردازش لاگ‌های WAF

·۲۰ شهریور ۱۴۰۵۷ دقیقه مطالعه۱ بازدید
راهنما
بررسی لاگ‌های مسدودسازی WAF پیش از آنکه مدل کوکی متوقف‌شده را ببیند
بررسی لاگ‌های مسدودسازی WAF پیش از آنکه مدل کوکی متوقف‌شده را ببیند
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی یک چارچوب عملیاتی برای پاک‌سازی سخت‌گیرانه لاگ‌های WAF قبل از تبدیل به پرامپت — برخلاف روش‌های رایج که بر دستورات متنی (Prompting) برای حفظ حریم خصوصی تکیه می‌کنند.

تصور کنید مهندس امنیتی هستید که برای تشخیص یک «مثبت کاذب»، لاگ یک درخواست مسدودشده را از دیوار آتش اپلیکیشن (WAF) کپی کرده و در یک مدل کدنویسی می‌چسباند. در همین لحظه، او شناسه‌های فعال نشست (Session IDs) و توکن‌های Bearer را به یک API شخص ثالث تحویل می‌دهد و یک اقدام ساده با کلیپ‌بورد را به ضعیف‌ترین حلقه در مرز اعتماد تولیدی تبدیل می‌کند.

این ریسک به این دلیل وجود دارد که کنترلی که مانع رسیدن درخواست به سرور مقصد می‌شود، به‌طور خودکار داده‌های حساس موجود در لاگ را پاک‌سازی نمی‌کند. طبق یک راهنمای فنی که در ۱۱ سپتامبر ۲۰۲۶ منتشر شد، عمل کپی-پیست یک اقدام دارای امتیاز است که داده‌های حساس را از یک ذخیره‌ساز امن لاگ به محیط اجرای مدل منتقل می‌کند و اغلب تمام مناطق امنیتی شرکت را دور می‌زند.

سناریو را این‌گونه ببینید: یک WAF با موفقیت جلوی یک حمله SQL Injection را می‌گیرد. مهاجم هرگز به اپلیکیشن نمی‌رسد، اما ورودی لاگ همچنان شامل هدر کامل Cookie مرورگر و توکن‌های Authorization است. اگر این لاگ در یک مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن کتاب‌ها جواب می‌دهد — قرار بگیرد، اطلاعات نشست اکنون در تاریخچه پرامپت‌های ارائه‌دهنده یا حافظه موقت GPU ذخیره شده است.

جابه‌جایی مرز اعتماد

برای درک این شکست، باید به مسیر داده‌ها نگاه کرد. WAF در مسیر کلاینت به مقصد قرار دارد، اما کلیپ‌بورد شما در مسیر مهندس به مدل است. این دو، مرزهای متفاوتی هستند. اشتباه گرفتن این دو باعث می‌شود یک کوکی مسدودشده به یک پرامپت تبدیل شود.

جریان داده‌ها معمولاً به این شکل است:

  • کلاینت $\rightarrow$ درخواست HTTPS $\rightarrow$ WAF
  • WAF $\rightarrow$ اجازه/مسدود $\rightarrow$ مقصد
  • WAF $\rightarrow$ رویداد مسدودسازی $\rightarrow$ ذخیره‌ساز لاگ
  • ذخیره‌ساز لاگ $\rightarrow$ خروجی/کپی $\rightarrow$ مهندس
  • مهندس $\rightarrow$ بسته پرامپت $\rightarrow$ محیط اجرای مدل

باید این سؤال دشوار را پرسید: چه کسی اجازه دارد کوکی را ببیند؟ شاید فرآیند WAF، سامانه SIEM یا مهندس آن‌کال با دسترسی تولید. یک API تکمیل متن یا یک باکس GPU مشترک در این لیست نیست، حتی اگر سرویس رایگان باشد.

شکست حریم خصوصی مبتنی بر پرامپت

مشکل اصلی، درک نادرست از نحوه عملکرد مدل‌های زبانی است. بسیاری از مهندسان باور دارند که دستور دادن به مدل برای «نادیده گرفتن اسرار» یا «رعایت حریم خصوصی»، یک کنترل امنیتی است. در واقعیت، مدل‌ها متن را تکمیل می‌کنند؛ آن‌ها سیاست‌های حریم خصوصی را اجرا نمی‌کنند. چه مدل یک API باشد و چه یک نمونه میزبانی‌شده شخصی روی GPU محلی، داده‌ها در لحظه چسباندن (Paste)، مرز امن را ترک کرده‌اند.

میزبانی شخصی (Self-hosting) — یعنی «دستور پخت» مدل علناً منتشر شده و روی سخت‌افزار خودتان اجرا می‌شود — مرز را جابه‌جا می‌کند اما آن را حذف نمی‌کند. اسنپ‌شات‌های دیسک، دسترسی اپراتورهای مشترک، حافظه موقت پرامپت‌ها و حتی نشست tmux کارآموز بعدی همچنان می‌توانند این بسته داده‌ها را ببینند. عبارت «این GPU متعلق به ماست» یک مکان است، نه یک ویژگی امنیتی.

همان‌طور که در تحلیل‌های قبلی ما درباره‌ی امنیت مدل‌های بازمتن اشاره کردیم، جابه‌جایی سخت‌افزار هرگز جایگزین پروتکل‌های پاک‌سازی داده نمی‌شود.

پیاده‌سازی دروازه پاک‌سازی سخت

برای حل این مشکل، نویسنده رویکرد «بسته پرامپت» (Prompt Pack) را پیشنهاد می‌کند؛ یک دروازه بازگشتی که تضمین می‌کند فقط فیلدهای مجاز به مدل می‌رسند. این بر اساس سه حقیقت غیرقابل مذاکره است:

  • لاگ‌های مسدودشده، ورودی‌های خصمانه هستند.
  • آن‌ها شامل محموله‌های مهاجم و هر چیزی هستند که مرورگر ضمیمه کرده است.
  • رشته‌های پرس‌وجو (Query Strings) در واقع هدرهای تغییر شکل یافته‌اند.

توکن‌ها اغلب در رشته‌های پرس‌وجو ظاهر می‌شوند، چون پیاده‌سازی‌های ضعیف سال ۲۰۱۹ هرگز اصلاح نشدند. جمله «من فقط یک خط را کپی کردم» یک کنترل امنیتی نیست؛ یک خط برای به خطر انداختن یک نشست کافی است.

به جای تکیه بر احتیاط انسانی، این فرآیند از یک اسکنر پایتونی برای اعمال یک طرح سخت‌گیرانه استفاده می‌کند:

فیلدهای مجاز و ممنوعه

  • فیلدهای مجاز: برچسب زمانی (ts)، متد HTTP، مسیر (بدون رشته پرس‌وجو)، وضعیت، شناسه قانون (rule_id)، اقدام، تأخیر (latency_ms) و پروتکل (proto).
  • ممنوع در بدو ورود:
    • هدرهای Cookie و Set-Cookie.
    • هدرهای Authorization (به‌ویژه توکن‌های Bearer).
    • X-Api-Key و X-Auth-Token.
    • رشته‌های با ساختار JWT (مثلاً شروع شده با eyJ).
    • کلیدهای رشته پرس‌وجو: access_token ،id_token ،refresh_token ،sessionid و sid.
    • بدنه خام درخواست و URL اصلی اگر علامت ? همچنان متصل باشد.
    • هر کلید JSON اضافی که صراحتاً در لیست مجاز نیست.

پیاده‌سازی فنی

راهکار پیشنهادی از یک اسکریپت پایتون ۳.۱۲ استفاده می‌کند که با لاگ‌های مسدودشده مانند ورودی‌های خصمانه برخورد می‌کند. این اسکریپت از عبارت‌های منظم (Regular Expressions) برای شناسایی الگوهایی مثل JWTها (مثلاً eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}) و کلیدهای خاص مثل sessionid یا sid در رشته‌های پرس‌وجو استفاده می‌کند.

نکته حیاتی این است که اسکریپت هر کلید JSON را که صراحتاً در لیست مجاز نیست، رد می‌کند. این کار مانع می‌شود که صادرکنندگان «کمک‌کننده» WAF، داده‌ها را از طریق فیلدهای غیرمنتظره‌ای مثل raw_request ،header_map یا decoded_body نشت دهند. وجود یک کلید اضافی، لیست مجاز را به یک نمایش نمایشی تبدیل می‌کند.

برای اثبات کارکرد این دروازه، نویسنده اجرای دو مورد آزمایشی را پیشنهاد می‌کند:
۱. مورد منفی: یک لاگ پاک که فقط شامل فیلدهای مجاز است (مثلاً {"ts":"2026-09-11T02:14:08Z","method":"POST","path":"/login","status":403,"rule_id":"sql-1","action":"block","latency_ms":12,"proto":"HTTP/1.1"}). این مورد باید پذیرفته شود (exit 0).
۲. مورد مثبت: لاگی که شامل خطوط ترکیبی با Authorization: Bearer lab-token-32chars یا شیء JSON با cookie: session=abc یا مسیری حاوی access_token=eyJ... باشد. این مورد باید با خطاهایی مثل cookie_header ،authorization_header ،access_token_qs یا json_keys_outside_allowlist رد شود.

استراتژی دفاع لایه‌ای

امنیت واقعی مستلزم انتقال نقطه اجرا به نزدیک‌ترین فاصله از منبع است. سلسله‌مراتب توصیه‌شده عبارت است از:

  • پیشگیری:
    • خروجی WAF: غیرفعال کردن raw_request و تخلیه کامل هدرها در اقدام کپی پیش‌فرض.
    • نشست اپلیکیشن: استفاده از کوکی‌های کوتاه‌مدت و توکن‌های محدودشده. پیاده‌سازی قوانین WAF برای مسدود کردن توکن‌ها در رشته‌های پرس‌وجو.
  • تشخیص:
    • خروجی WAF: هشدار هنگام وجود کلیدهای کوکی یا Authorization در خروجی.
    • لپ‌تاپ مهندس: کنترل بسته پرامپت با اسکریپت پایتون. استفاده از pre-commit hook روی فایل prompt-pack.json یا شکست دادن CI.
  • بازیابی:
    • خروجی WAF: چرخش فوری خانواده نشست در آن خط لاگ؛ بحث نکنید که آیا مدل از آن «استفاده» کرده است یا خیر.
    • لپ‌تاپ مهندس: تاریخچه کلیپ‌بورد را آلوده تلقی کرده و پاک کنید.
    • نشست اپلیکیشن: ابطال sid یا توکن‌های refresh از زمان برچسب زمانی کپی.
  • محیط اجرای مدل:
    • ارسال فیلدهای مجاز.
    • ثبت هش‌های پرامپت و نام فیلدها، اما هرگز مقادیر آن‌ها را ثبت نکنید.
    • فرض کنید ارائه‌دهنده یا دیسک داده‌ها را نگه می‌دارند و در هر صورت چرخش را انجام دهید.

محدودیت‌های پاک‌سازی با Regex

باید توجه داشت که عبارت‌های منظم جایگزینی برای یک پارسر کامل HTTP نیستند. نویسنده هشدار می‌دهد که کوکی‌های کدگذاری‌شده، هدرهای تقسیم‌شده، بدنه تکه‌تکه (chunked)، gzip، صادرکنندگان protobuf و آپلودهای multipart می‌توانند به‌راحتی این الگوها را دور بزنند. همچنین هم‌شکل‌ها (Homoglyphs) در نام هدرها می‌توانند شناسایی را دور بزنند. اگر WAF شما اشیاء باینری را در ذخیره‌سازهای Object می‌نویسد، این اسکریپت شما را نجات نخواهد داد.

علاوه بر این، لیست مجاز عمداً جزئیات جرم‌شناسی را حذف می‌کند. در برخی موارد، مسیر به‌اضافه پرس‌وجو، تمامِ حادثه است. برای پاسخ به حوادث (IR) فعال که بازسازی کامل درخواست در آن لازم است، مهندسان باید از SIEM یا سیستم‌های تیکت با کنترل دسترسی سخت‌گیرانه استفاده کنند، نه یک مدل کدنویسی.

اگر در شرایط زیر هستید، این رویکرد را رها کنید:

  • مالک خط لوله لاگ نیستید (همیشه با فرمت خروجی در جنگ خواهید بود).
  • نیاز به بازسازی کامل PCAP یا بدنه درخواست در همان پنجره بررسی مدل دارید.
  • WAF شما یک داشبورد CDN است که نمی‌توان آن را قبل از دانلود پاک کرد.
  • به دنبال پرامپتی جادویی هستید که نشت داده را امن کند.

این رویکرد تمرکز را از رفتار مدل به حرکت داده‌ها منتقل می‌کند. با تلقی کردن کلیپ‌بورد به عنوان یک منطقه آلوده، سازمان‌ها می‌توانند از هوش مصنوعی برای طبقه‌بندی قوانین استفاده کنند بدون اینکه ریسک ربایش نشست (Session Hijacking) را بپذیرند. هدف این است که کنسول WAF از کپی فیلدهای ممنوعه خودداری کند، نه اینکه به مهندس تکیه شود تا بعد از نشت داده در کلیپ‌بورد، یک اسکریپت پایتون اجرا کند. اگر محیط‌های کدنویسی میزبانی‌شده را ارزیابی می‌کنید، این دروازه را قبل از اولین تکمیل متن در بسته پرامپت قرار دهید — حتی روی سرورهای رایگان. اصل ثابت این است: هیچ ماده‌ای مربوط به نشست نباید در بسته پرامپت باشد.

گام بعدی شما

  • بررسی تنظیمات خروجی WAF خود و غیرفعال کردن کپی خودکار هدرهای Authorization و Cookie.
  • پیاده‌سازی یک اسکریپت ساده برای اعتبارسنجی فایل‌های JSON قبل از ارسال به APIهای هوش مصنوعی.
  • آموزش تیم امنیت در مورد خطرات کپی-پیست لاگ‌های خام در مدل‌های زبانی.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این موضوع نشان می‌دهد که حتی ابزارهای امنیتی (WAF) می‌توانند به دلیل خطای انسانی در تحلیل لاگ‌ها، به بردار حمله تبدیل شوند. اعتبار این ادعا بر اساس تحلیل مسیر داده‌ها و ماهیت استنتاج مدل‌های زبانی است که داده‌های ورودی را در حافظه موقت ذخیره می‌کنند.

تأثیر برای ایران

برای تیم‌های DevOps و امنیت در ایران که از مدل‌های ابری برای تحلیل لاگ‌ها استفاده می‌کنند، پیاده‌سازی این اسکریپت‌های محلی برای جلوگیری از نشت توکن‌های دسترسی به سرورهای خارجی حیاتی است.

·نگاه ما
تحریریه دات‌هوش

این گزارش یک تغییر پارادایم در امنیت AI را نشان می‌دهد: انتقال از «اعتماد به رفتار مدل» به «کنترل جریان داده». تکیه بر پرامپت برای حفظ حریم خصوصی، یک توهم مهندسی است؛ زیرا مدل‌ها ابزار اجرای سیاست نیستند، بلکه ابزارهای پیش‌بینی متن‌اند. راهکار واقعی در ایجاد لایه‌های فیزیکی پاک‌سازی (Redaction) قبل از خروج داده از محیط امن است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.