آخرین اخبار
همهٔ اخبار
اکسپلویت‌ها گزارش بحرانیت ۸/۱۰

دور زدن مکانیزم OTP در محیط Production: کشف یک آسیب‌پذیری بحرانی توسط عامل هوش مصنوعی (AI Agent)

دور زدن مکانیزم OTP در محیط Production: کشف یک آسیب‌پذیری بحرانی توسط عامل هوش مصنوعی (AI Agent)

یک عامل تست نفوذ مبتنی بر هوش مصنوعی (AI Pentesting Agent) موفق شد یک نقص امنیتی بحرانی در فرآیند احراز هویت وب‌سایت یک شرکت بیمه بزرگ با میلیون‌ها کاربر شناسایی کند. این آسیب‌پذیری به مهاجم اجازه می‌داد تا کد تایید یک‌بار مصرف (OTP) را به مقصدی که خود کنترل می‌کند هدایت کرده و به حساب‌های کاربری دسترسی پیدا کند.

جزئیات فنی نقص امنیتی: دستکاری مقصد ارسال کد

در حالت عادی، کد OTP تنها زمانی هویت کاربر را تایید می‌کند که به مقصدی ارسال شود که پیش از این به حساب کاربری متصل شده است. اما در این مورد، این پیوند (Binding) شکسته شده بود.

درخواست ورود (Login Request) شامل دو فیلد برای تعیین نحوه ارسال کد بود: کانال ارسال (Channel) و آدرس مقصد (Address). در شرایط نرمال، کد از طریق پیامک به شماره تلفن ثبت شده در حساب ارسال می‌شد. اما با تغییر کانال به «ایمیل»، سرور کد را به هر آدرسی که در درخواست ذکر شده بود ارسال می‌کرد، بدون اینکه بررسی کند آیا این آدرس متعلق به کاربر مورد نظر است یا خیر.

نقض استانداردهای امنیتی

اتصال کد تایید به حساب کاربری مربوطه، یکی از ابتدایی‌ترین بررسی‌ها در فرآیند احراز هویت است. راهنمای تست OWASP صراحتاً این پرسش را مطرح می‌کند: «آیا OTPها به حساب کاربری صحیح متصل شده‌اند؟» در این مورد، عدم بررسی سرور باعث می‌شد هر مهاجمی که شناسه‌های مشتری (Customer Identifiers) را در اختیار داشت، بتواند به حساب‌های آن‌ها دسترسی یابد.

فرآیند شناسایی و تایید

عامل هوش مصنوعی این مسیر را در سه مرحله طی کرد:

  • شناسایی (Reconnaissance): تحلیل کدهای JavaScript و فراخوانی‌های API برای یافتن متغیرهای کنترل‌کننده ارسال کد.
  • فرضیه‌سازی: شناسایی دو مقدار مشکوک که احتمالاً نحوه و مقصد ارسال کد را تعیین می‌کردند.
  • تایید (Validation): اجرای یک تست هدفمند در جریان واقعی ورود (Live Login Flow) برای اثبات امکان دور زدن (Bypass) مکانیزم امنیتی.

تست‌های دوره‌ای در مقابل ارزیابی‌های مستمر

نکته قابل تامل این است که شرکت مذکور تنها شش ماه پیش یک تست نفوذ (Pentest) انجام داده بود. اگرچه تست‌های انسانی توسط متخصصان مجرب می‌توانند این نقص را پیدا کنند، اما ماهیت «نقطه‌ای» (Point-in-time) این تست‌ها باعث می‌شود تغییرات جدید در کدها یا پیکربندی‌ها پس از اتمام تست، نادیده گرفته شوند. در مقابل، سیستم‌های تست خودکار و Agentic می‌توانند همگام با تغییرات وب‌سایت، تست‌های متمرکز را تکرار کرده و شواهد لازم را برای بررسی سریع‌تر فراهم کنند.