رفتن به محتوای اصلی
کوهستان
توضیح کوهستان· 7 دقیقه مطالعه· در فناوری

حملات بازپخش (Replay Attacks) در امنیت سایبری چیست و چگونه می‌توان از آن‌ها جلوگیری کرد؟

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

به قلم نیما موسوی

به‌طور خلاصه

  1. رمزنگاری به تنهایی مانع از حملات بازپخش نمی‌شود؛ مهاجمان پیام‌های رمزنگاری‌شده را بدون رمزگشایی دوباره ارسال می‌کنند.
  2. استفاده از نانس (Nonce) و مهر زمانی (Timestamp) برای ایجاد پیام‌های یک‌بار مصرف، اصلی‌ترین راهکار دفاعی است.
  3. سیستم‌های احراز هویت باید از مکانیزم چالش-پاسخ برای تضمین تازگی (Freshness) درخواست‌ها استفاده کنند.

بسیاری از توسعه‌دهندگان بر این باورند که اگر داده‌ها رمزنگاری شوند، امنیت آن‌ها کاملاً تضمین شده است. این ادعا که پروتکل‌هایی مانند HTTPS و امضاهای دیجیتال تمام تهدیدات شبکه را خنثی می‌کنند، یک تصور اشتباه و بسیار خطرناک در معماری سیستم‌ها است.

واقعیت این است که رمزنگاری تنها از خوانده شدن محتوای پیام توسط افراد غیرمجاز جلوگیری می‌کند. این لایه امنیتی به هیچ وجه مانع از آن نمی‌شود که یک مهاجم بسته‌های رمزنگاری‌شده را در شبکه ضبط کرده و در زمان دیگری دقیقاً همان بسته‌ها را دوباره ارسال کند.

این دقیقاً همان نقطه‌ای است که «حمله بازپخش» (Replay Attack) شکل می‌گیرد. در این نوع حمله، هکر نیازی به شکستن رمز عبور، یافتن کلید خصوصی یا رمزگشایی توکن احراز هویت ندارد؛ او صرفاً یک پیام کاملاً معتبر را ذخیره کرده و دوباره استفاده می‌کند.

بر اساس تعریف استاندارد مؤسسه ملی فناوری و استانداردها در نسخه سال ۲۰۱۷ سند NIST SP 800-63، حمله بازپخش این‌گونه توصیف می‌شود: «حمله‌ای که در آن مهاجم پیام‌های ضبط‌شده قبلی را برای جا زدن خود به جای کاربر اصلی، دوباره به سیستم ارسال می‌کند.»[1]

سیستم گیرنده پیام را دریافت می‌کند، امضای دیجیتال آن را بررسی کرده و از آنجا که همه چیز از نظر ریاضی درست است، درخواست را می‌پذیرد. در نتیجه، سیستم فریب خورده و یک عملیات حساس را برای بار دوم و بدون اطلاع کاربر اصلی پردازش می‌کند.

مکانیزم حمله: چرا رمزنگاری کافی نیست؟

نقص اساسی در سیستم‌های آسیب‌پذیر، فقدان مکانیزمی به نام «تازگی» (Freshness) در طراحی پروتکل ارتباطی است. سیستم باید بتواند با قاطعیت تشخیص دهد که آیا این پیام برای اولین بار ارسال شده یا یک کپی تکراری از گذشته است.

مهاجم بدون نیاز به رمزگشایی، بسته رمزنگاری‌شده را ضبط و دوباره ارسال می‌کند.

گذرواژه‌ها و توکن‌های نشست (Session Tokens) برای اثبات هویت کاربر در یک لحظه خاص طراحی شده‌اند. حملات بازپخش با استفاده مجدد از این اثبات در آینده، این فرض اساسی را در هم می‌شکنند و به مهاجم اجازه می‌دهند بدون داشتن اعتبارنامه واقعی وارد سیستم شود.[3]

چارچوب امنیتی MITRE ATT&CK این تهدید را تحت تکنیک T1212 دسته‌بندی می‌کند. در این تکنیک، مهاجمان با رهگیری و بازپخش بسته‌های داده، به امتیازات و دسترسی‌های غیرمجاز در سیستم دست پیدا می‌کنند و می‌توانند فرآیندهای تایید هویت را به طور کامل دور بزنند.[2]

یک تراکنش بانکی را در نظر بگیرید. کاربری یک درخواست کاملاً رمزنگاری‌شده و معتبر برای انتقال ۱۰۰ دلار به حساب شخص دیگری ارسال می‌کند. مهاجم که در شبکه حضور دارد، این بسته دقیق را در میانه راه ضبط و در سیستم خود ذخیره می‌کند.

بدون نیاز به هیچ‌گونه رمزگشایی، مهاجم همان بسته را ۵۰ بار دیگر به سرور بانک می‌فرستد. اگر سرور فاقد محافظت در برابر بازپخش باشد، به جای یک انتقال، ۵۰ انتقال ۱۰۰ دلاری یکسان را پردازش خواهد کرد و خسارت مالی سنگینی به بار می‌آورد.

اهداف رایج: از وب‌هوک‌ها تا بلاک‌چین

وب‌هوک‌ها (Webhooks) یکی از اهداف اصلی و بسیار آسیب‌پذیر در برابر این حملات هستند. سرویس‌هایی مانند Stripe یا GitHub پیام‌های خودکاری را هنگام وقوع رویدادهای خاص (مانند تایید پرداخت) به سرورهای مقصد ارسال می‌کنند که حاوی اطلاعات حیاتی است.

دستورالعمل‌های امنیتی به صراحت هشدار می‌دهند که یک وب‌هوک ضبط‌شده دارای امضای معتبر است. بنابراین، تنها بررسی صحت امضا نمی‌تواند مانع از پردازش مجدد و تکراری آن رویداد شود و سیستم باید مکانیزم‌های دفاعی لایه دوم را پیاده‌سازی کند.[4]

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

در دنیای بلاک‌چین و قراردادهای هوشمند، حملات بازپخش شکل متفاوتی به خود می‌گیرند که اغلب با نام «بازپخش میان‌زنجیره‌ای» (Cross-chain Replay) شناخته می‌شوند. این حملات معمولاً در زمان انشعاب شبکه‌ها (Hard Fork) به یک تهدید جدی تبدیل می‌شوند.

تراکنشی که در یک شبکه امضا شده است، ممکن است در شبکه دیگری که کلیدهای رمزنگاری و تاریخچه یکسانی دارد، معتبر شناخته شود. مهاجم می‌تواند تراکنش کاربر را در شبکه دوم بازپخش کرده و دارایی‌های او را بدون اجازه منتقل کند.

سیستم‌های ورود یکپارچه (SSO) و هویت‌های فدرال مانند پروتکل SAML نیز اهداف جذابی هستند. در صورتی که شناسه‌های تاییدیه (Assertion IDs) به دقت ردیابی و اعتبارسنجی نکنند، مهاجم می‌تواند با بازپخش یک تاییدیه معتبر، به چندین سرویس سازمانی دسترسی پیدا کند.

راهکارهای دفاعی: نانس، مهر زمانی و چالش-پاسخ

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

رایج‌ترین خط دفاعی، استفاده از «نانس» (Nonce) است. نانس یک عدد تصادفی و یک‌بار مصرف است که به هر درخواست اضافه می‌شود تا هویت یکتای آن را تضمین کند و از پردازش پیام‌های دارای نانس تکراری جلوگیری نماید.[1]

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

استفاده از نانس (Nonce) تضمین می‌کند که هر پیام تنها یک بار قابل پردازش است.

با این حال، ذخیره کردن تمام نانس‌ها برای همیشه به حافظه بی‌نهایتی نیاز دارد که در سیستم‌های بزرگ غیرممکن است. اینجاست که استفاده از «مهر زمانی» (Timestamp) به یک ضرورت فنی برای مدیریت حافظه و امنیت تبدیل می‌شود.

با گنجاندن یک مهر زمانی در محتوای امضاشده، سرور می‌تواند یک پنجره اعتبار دقیق (مثلاً ۵ دقیقه) را برای هر پیام اعمال کند. درخواست‌هایی که خارج از این پنجره زمانی باشند، به طور خودکار و بدون بررسی بیشتر نامعتبر شناخته می‌شوند.

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

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

چالش-پاسخ و شماره‌های توالی

روش قدرتمند دیگر، مکانیزم «چالش-پاسخ» (Challenge-Response) است که به طور گسترده در احراز هویت شبکه‌های سازمانی و پروتکل‌های امنیتی استفاده می‌شود. این روش کنترل تولید تازگی پیام را به جای کلاینت، در اختیار سرور قرار می‌دهد.

در این روش، به جای اینکه کلاینت فرآیند را آغاز کند، سرور یک چالش تصادفی می‌فرستد. کلاینت باید این چالش خاص را با کلید رمزنگاری خود امضا کرده و برگرداند تا هویتش برای ورود به سیستم ثابت شود.

در مکانیزم چالش-پاسخ، سرور با تولید یک چالش جدید، داده‌های قدیمی را بی‌اثر می‌کند.

از آنجا که سرور برای هر تلاش ورود یک چالش کاملاً جدید تولید می‌کند، پاسخ‌های قدیمی ضبط‌شده توسط مهاجم هیچ تطابقی با چالش‌های جدید نخواهند داشت. در نتیجه، داده‌های سرقت‌شده کاملاً بی‌ارزش شده و بلافاصله توسط سرور رد می‌شوند.[1][3]

برای جریان‌های مداوم داده، مانند اتصالات API یا نشست‌های طولانی TCP، از «شماره‌های توالی» (Sequence Numbers) استفاده می‌شود تا ترتیب دقیق و یکتایی بسته‌ها در طول ارتباط تضمین گردد و از تزریق بسته‌های قدیمی جلوگیری شود.

به هر بسته یک شماره ترتیبی اختصاص می‌یابد (مثلاً ۱، ۲، ۳). اگر سرور پس از پردازش بسته شماره ۵، دوباره بسته شماره ۲ را دریافت کند، متوجه می‌شود که این یک پیام قدیمی است و آن را به عنوان داده تکراری حذف می‌کند.

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

درک تفاوت میان حملات بازپخش و حملات «مرد میانی» (MitM) برای طراحی معماری امنیتی بسیار مهم است. اگرچه این دو تهدید شباهت‌هایی دارند، اما نیازمند رویکردها و ابزارهای دفاعی متفاوتی در سطح شبکه هستند.

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

در حمله مرد میانی، مهاجم به طور فعال ارتباطات را در لحظه رهگیری و دستکاری می‌کند تا محتوای پیام را تغییر دهد.

مهاجم صرفاً ترافیک را ذخیره کرده و در زمان دلخواه بازپخش می‌کند. از آنجا که داده‌ها به هیچ وجه دستکاری نمی‌شوند، امضاهای دیجیتال سالم می‌مانند و تشخیص حمله بدون وجود مکانیزم‌های دفاعی درون پروتکل بسیار دشوار است.

در نهایت، ایمن‌سازی یک سیستم نیازمند پذیرش این فرض است که هر بسته شبکه‌ای ممکن است توسط یک مهاجم ضبط شود. امنیت نباید تنها به پنهان کردن داده‌ها متکی باشد، بلکه باید بر بی‌اثر کردن داده‌های سرقت‌شده تمرکز کند.

توسعه‌دهندگان باید APIها و جریان‌های احراز هویت را به گونه‌ای طراحی کنند که هر پیام به عنوان یک رویداد یک‌بار مصرف در نظر گرفته شود. تنها در این صورت است که می‌توان اطمینان حاصل کرد داده‌های ضبط‌شده هیچ ارزش آینده‌ای برای مهاجمان نخواهند داشت.

این تحلیل چگونه انجام شد

روش
بررسی تطبیقی استانداردهای امنیتی NIST و چارچوب MITRE ATT&CK برای استخراج نقاط ضعف مشترک در پروتکل‌های رمزنگاری فاقد مکانیزم تازگی (Freshness).
یافته
رمزنگاری به تنهایی در برابر حملات بازپخش بی‌اثر است و امنیت سیستم‌ها نه در پنهان‌سازی داده‌ها، بلکه در یک‌بار مصرف کردن پیام‌های معتبر از طریق نانس و مهر زمانی نهفته است.
داده‌هایی که بر پایهٔ آن‌ها کار کردیم
  • تعریف حمله بازپخش و الزامات احراز هویت: NIST SP 800-63-3 — NIST
  • تکنیک‌های سوءاستفاده از اعتبارنامه‌ها: MITRE T1212 — MITRE ATT&CK
محدودیت‌های این تحلیل
این تحلیل بر معماری لایه شبکه و اپلیکیشن تمرکز دارد و آسیب‌پذیری‌های سخت‌افزاری یا حملات فیزیکی به دستگاه‌های تولیدکننده توکن را پوشش نمی‌دهد.

اصطلاحات کلیدی

حمله بازپخش (Replay Attack)
نوعی حمله سایبری که در آن مهاجم یک پیام معتبر شبکه را ضبط کرده و برای فریب سیستم، آن را دوباره ارسال می‌کند.
نانس (Nonce)
یک عدد تصادفی و یک‌بار مصرف که به پیام اضافه می‌شود تا از پردازش مجدد آن جلوگیری کند.
مهر زمانی (Timestamp)
ثبت زمان دقیق ایجاد پیام که به سرور اجازه می‌دهد پیام‌های قدیمی و منقضی‌شده را رد کند.
چالش-پاسخ (Challenge-Response)
پروتکلی که در آن سرور یک چالش تصادفی می‌فرستد و کاربر باید برای اثبات هویت، پاسخ صحیح آن را تولید کند.

پرسش‌های متداول

آیا استفاده از HTTPS برای جلوگیری از حمله بازپخش کافی است؟

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

چرا نمی‌توانیم تمام نانس‌های استفاده‌شده را برای همیشه ذخیره کنیم؟

ذخیره دائمی تمام نانس‌ها به حافظه بسیار زیادی نیاز دارد و باعث کندی سیستم می‌شود. به همین دلیل از مهر زمانی استفاده می‌شود تا نانس‌ها پس از چند دقیقه پاک شوند.

حمله بازپخش چه تفاوتی با حمله مرد میانی (MitM) دارد؟

در حمله مرد میانی، مهاجم داده‌ها را در لحظه تغییر می‌دهد، اما در حمله بازپخش، مهاجم داده‌ها را بدون هیچ تغییری ذخیره کرده و در زمان دیگری ارسال می‌کند.

بررسی عمیق دیدگاه‌ها

معماران سیستم

تمرکز بر طراحی پروتکل‌های مقاوم در برابر بازپخش و مدیریت حافظه.

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

توسعه‌دهندگان بلاک‌چین

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

در اکوسیستم بلاک‌چین، توسعه‌دهندگان با نوع خاصی از این تهدید روبرو هستند. از آنجا که شبکه‌های منشعب شده دارای تاریخچه و کلیدهای یکسانی هستند، یک تراکنش معتبر در یک شبکه می‌تواند در شبکه دیگر بازپخش شود. راهکار آن‌ها استفاده از شناسه‌های یکتای شبکه (Chain IDs) در امضای دیجیتال است تا هر تراکنش تنها در شبکه مقصد خود معتبر باشد.

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

تمرکز بر جلوگیری از استفاده مجدد از تاییدیه‌های ورود.

تیم‌های مدیریت هویت و دسترسی (IAM) بیشترین نگرانی را در مورد پروتکل‌های ورود یکپارچه (SSO) مانند SAML دارند. آن‌ها استدلال می‌کنند که اگر یک شناسه تاییدیه (Assertion ID) به درستی ردیابی نشود، مهاجم می‌تواند با یک بار ورود موفق، به ده‌ها سرویس سازمانی دسترسی پیدا کند. تمرکز آن‌ها بر ایجاد کش‌های توزیع‌شده برای ردیابی شناسه‌های مصرف‌شده است.

معماران سیستم 40%توسعه‌دهندگان بلاک‌چین 30%تیم‌های مدیریت هویت 30%
معماران سیستم
تمرکز بر طراحی پروتکل‌های مقاوم در برابر بازپخش و مدیریت حافظه.
توسعه‌دهندگان بلاک‌چین
نگرانی از بازپخش میان‌زنجیره‌ای پس از هارد فورک‌ها.
تیم‌های مدیریت هویت
تمرکز بر جلوگیری از استفاده مجدد از تاییدیه‌های ورود.

دیدگاه‌هایی که این گزارش پوشش نداده

  • کاربران نهایی که قربانی تراکنش‌های تکراری می‌شوند
  • ارائه‌دهندگان زیرساخت‌های ابری

منابع

پوشش منابع

4 منبع

3 دیدگاه شناسایی‌شده

معماران سیستم 40%توسعه‌دهندگان بلاک‌چین 30%تیم‌های مدیریت هویت 30%
  1. [1]NISTمعماران سیستم

    NIST Special Publication 800-63-3: Digital Identity Guidelines

    مطالعه در NIST →
  2. [2]MITRE ATT&CKتیم‌های مدیریت هویت

    Exploitation for Credential Access, Technique T1212

    مطالعه در MITRE ATT&CK →
  3. [3]Kasperskyتیم‌های مدیریت هویت

    What is a Replay Attack? Definition and Prevention

    مطالعه در Kaspersky →
  4. [4]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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