حمله اجرای مجدد، که گاهی اوقات حمله عقب گرد نیز نامیده میشود، حمله سایبری است که در آن شخص مخرب (مهاجم) انتقال داده معتبری را که از طریق یک شبکه انجام میشود رهگیری کرده و سپس تکرار میکند. پروتکلهای امنیتی شبکه با توجه به اعتبار دادههای اصلی (که به طور معمول از یک کاربر مجاز میآید)، با این حمله به گونهای رفتار میکنند که گویی یک انتقال داده طبیعی است. از آنجا که پیامهای اصلی به صورت لفظی رهگیری و مجدداً منتقل میشوند، لازم نیست هکرهایی که از حملات تکراری استفاده میکنند رمزگشایی آنها را انجام دهند.
هکرها با حمله اجرای مجدد چه کاری میتوانند انجام دهند؟
از حمله اجرای مجدد (Replay Attack) میتوان برای دستیابی به اطلاعات ذخیره شده در یک شبکه محافظت شده متفاوت با عبور از گواهینامههای به ظاهر معتبر استفاده کرد. همچنین میتوان از آنها برای فریب موسسات مالی در تراکنشهای تکراری استفاده کرد که به مهاجمین اجازه میدهد پول را مستقیماً از حساب قربانیان خود خارج کنند. در برخی موارد، هکرها قسمتهایی از پیامهای رمزگذاری شده مختلف را با هم ترکیب میکنند و متن رمز شده حاصل را به شبکه حمله منتقل میکنند. واکنش شبکه در برابر این نوع حمله اغلب اطلاعات ارزشمندی را در اختیار هکر قرار میدهد که میتواند برای بهره برداری بیشتر از سیستم مورد استفاده قرار گیرد.
با وجود خطرات واضح مرتبط با این نوع حملات، محدودیتهایی برای هکرها در این نوع حملات وجود دارد. مهاجمان نمیتوانند دادههای ارسالی را بدون اینکه شبکه آنها را رد کند تغییر دهند و این کار تأثیر حملات را به تکرار اقدامات گذشته محدود میکند. دفاع از این حملات نیز نسبتاً آسان است. دفاع اساسی در برابر این حمله با اضافه کردن زمان سنج به انتقال داده میتواند از حملات اجرای مجدد ساده جلوگیری کند. سرورها همچنین میتوانند پیامهای تکراری را در حافظه پنهان کرده و پس از تعداد دفعات مشخص تکرار آنها را قطع کنند تا تعداد تلاشی که یک مهاجم میتواند با پخش مجدد پیامها به سرعت انجام دهد، محدود شود.
چرا حمله اجرای مجدد در دنیای ارزهای رمزنگاری اهمیت دارد؟
اما این حملات به ویژه مربوط به محیط معاملات ارزهای رمزنگاری و دفترهای بلاکچین است. دلیل این امر این است که دفترهای بلاکچین گاهی اوقات از طریق تغییر پروتکل یا به روزرسانی معروف به هارد فورک عمل میکنند. وقتی یک هارد فورک اتفاق میافتد، دفتر موجود به دو قسمت تقسیم میشود، یکی نسخه قدیمی نرم افزار را اجرا میکند و دیگری نسخه جدید و به روز شده را اجرا میکند. برخی از هارد فورکها صرفاً به منظور ارتقا دفتر حساب هستند، در حالی که برخی دیگر منشعب میشوند و به طور موثر ارزهای رمزنگاری کاملاً جدیدی را تشکیل میدهند. یکی از شناخته شدهترین نمونههای هارد فورک از نوع آخر، همان موردی است که به بیت کوین کش اجازه داد از بلاکچین اصلی بیت کوین در 1 آگوست 2017 فورک شود.
هنگامی که این هارد فورکها اتفاق میافتد، از نظر تئوری امکان استفاده از حملات اجرای مجدد علیه دفترهای بلاکچین برای مهاجمان وجود دارد. معاملهای که بر روی دفتر کل توسط شخصی انجام میشود که کیف پول وی قبل از هارد فورک معتبر بوده، بر روی دفترکل دیگری نیز معتبر خواهد بود. در نتیجه، شخصی که تعداد مشخصی واحد ارز رمزنگاری را از طریق یک دفتر از شخص دیگری دریافت کرده است، میتواند به دفتر دیگری تغییر کرده و معامله را تکرار کرده و با تقلب در بار دوم تعداد یکسانی واحد ارز رمزنگاری را به حساب خود منتقل کند. از آنجا که کیف پول آنها بخشی از سابقه مشترک دفترها نیست، کاربرانی که پس از ایجاد یک هارد فورک به زنجیره بلوک میآیند در معرض این حملات نیستند.
چگونه میتوان از بلاکچین در برابر این حملات محافظت کرد؟
اگرچه آسیب پذیری دفتر کل بلاکچین فورک شده (منشعب شده) در برابر حملات اجرای مجدد یک نگرانی درستی است، اما بیشتر هارد فورکها شامل پروتکلهای امنیتی هستند که به طور خاص برای جلوگیری از موفقیت این حملات طراحی شدهاند. اقدامات موثر در برابر حملات اجرای مجدد بلاکچین به دو دسته تقسیم میشوند که به عنوان محافظت قوی در برابر حملات مجدد و انتخاب محافظت در برابر حملات مجدد شناخته میشوند. در محافظت قوی در برابر حملات مجدد، یک نشانگر ویژه به دفتر جدیدی که از هارد فورک خارج میشود اضافه میشود تا اطمینان حاصل شود که معاملات انجام شده بر روی آن معتبر هستند در دفتر قدیمی معتبر تلقی نشوند و برعکس. این همان محافظتی است که وقتی بیت کوین کش از بیت کوین منشعب شد، اجرا شد.
هنگامی که اجرا میشود، محافظت قوی در برابر حملات اجرای مجدد به محض وقوع هارد فورک به طور خودکار انجام میشود. با این حال، محافظت قوی در برابر حملات مجدد، از کاربران میخواهد تا به صورت دستی در معاملات خود تغییراتی ایجاد کنند تا اطمینان حاصل شود که این موارد قابلیت پخش مجدد را ندارند. انتخاب محافظت در برابر حملات مجدد میتواند در مواردی مفید باشد که هارد فورک برای ارتقا دفتر اصلی ارز رمزنگاری در نظر گرفته شده باشد.
علاوه بر این راه حلهای دفتر کل، کاربران نیز می توانند بطور جداگانه برای محافظت از خود در برابر حملات مجدد، اقدامات لازم را انجام دهند. یکی از روشهای انجام این کار، قفل کردن امکان انتقال کوینها است تا زمانی که ثبت دفتر به تعداد مشخصی از بلوکها برسد، بنابراین از تأیید هرگونه حمله مجدد که شامل آن واحدهای کوین باشد توسط شبکه جلوگیری میشود. اگرچه باید توجه داشت که همه کیف پولها یا دفترها این عملکرد را ارائه نمیدهند.
جمع بندی
حملات اجرای مجدد در صورت موفقیت تهدید واقعی برای امنیت شبکه است. برخلاف بسیاری از انواع دیگر حملات، حملات تکراری به رمزگشایی دادهها متکی نیستند که آنها را به یک راه حل موثر برای هکرهایی تبدیل میکند که به طور فزایندهای با پروتکلهای رمزگذاری امن روبرو میشوند. به دلیل سخت افزارهایی که برای به روزرسانی یا تقسیم آنها استفاده میشود، دفترهای بلاکچین بخصوص در برابر این نوع حمله سایبری آسیب پذیر هستند. با این حال، راه حلهای قوی وجود دارد که به طور منطقی در محافظت از سیستمهای بلاکچین در برابر این حملات موثر میباشند. به طور خاص، استفاده از محافظت قوی در برابر حملات مجدد میتواند تضمین کند که مهاجمان قادر به تکرار معاملات پس از وقوع یک هارد فورک نباشند.