حمله Replay چیست و چگونه بلاکچین را در معرض خطر قرار می‌دهد؟

هادی ابراهیمی
هادی ابراهیمی
حمله Replay در بلاکچین

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

چنین حمله‌هایی زمانی رخ می‌دهد که بلاکچین در حال انجام یک Hard fork باشد. البته ما هر روز شاهد هارد فورک بلاکچین‌ها نیستیم و وقوع آن‌ها بسیار نادر است. با این حال، در کریپتو کارنسی، زمانی انجام حمله بازپخش برای هکر امکان‌پذیر خواهد بود که یک بلاکچین هارد فورک جدیدی ارائه دهد.

بیشتر بخوانید: مفهوم فورک در ارزهای دیجیتال چیست؟

در این مقاله قصد داریم به معرفی حمله Replay و تبعات آن بر روی بلاکچین‌ها بپردازیم.

حمله Replay چیست؟

حمله Replay یک اپلیکیشن مخرب است که سعی می‌کند در انتقال داده‌های شبکه تاخیر یا رهگیری انجام دهد.

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

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

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

حمله Replay در کریپتو چگونه انجام می‌شود؟

حمله بازپخش یا Replay زمانی امکان پذیر است که بلاکچین‌ها در حال تغییر دادن یا ارتقا پروتکل‌های خود هستند که به این فرآیند هارد فورک گفته می‌شود.

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

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

نگاهی عمیق‌تر به Replay attack

اگر هنوز در مورد نحوه عملکرد این نوع حمله سوالات زیادی در ذهن‌تان وجود دارد ابتدا باید به نحوه عملکرد بیت‌کوین نگاهی بیندازیم.

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

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

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

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

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

چرا هارد فورک‌؟ مسئله این است!

هارد‌ فورک‌ها در تکنولوژی بلاکچین امری رایج و مهم محسوب می‌شوند. آن‌ها معمولا باعث به روز شدن پروتکل‌های یک شبکه یا هسته آن می‌شوند.

یکی از مهم‌ترین اهداف هارد فورک‌ها نامعتبر ساختن تراکنش (مانند اتریوم و اتریوم کلاسیک) یا بلاک‌های شبکه است. هارد فورک زمانی رخ می‌دهد که هر کاربر یا نود شبکه به آخرین و به روزترین نرم افزار شبکه ارتقا پیدا کند.

بیشتر بخوانید: داستان هارد فورک لندن اتریوم (و تاثیر آن روی کارمزد تراکنش)

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

در هارد فورک، با حرکت کاربران به سمت نسخه جدید بلاکچین، کسانی که توکن‌های نسخه قدیمی را در اختیار دارند، توکن‌های نسخه جدید را دریافت خواهند کرد.

مسلما بلاکچین‌های میراث (اصلی) نسبت به نسخه‌های جدید‌تر خود قابلیت‌ها و ویژگی‌های کمتری دارند. به همین دلیل بسیاری از کاربران نسخه‌های نرم افزار خود را در یک بازه زمانی کوتاه ارتقا می‌دهند.

برای مثال بیت کوین، فورک‌های زیادی را طی این سال‌ها تجربه کرده است. هر هارد فورک بیت‌کوین به ایجاد یک نسخه دیجیتال کارنسی جدید منتهی شده که احتمالا محبوب‌ترین نمونه‌های آن Bitcoin Gold و Bitcoin Cash هستند.

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

اولین فورک بیت‌کوین Bitcoin XT نام داشت که در سال 2014 ایجاد شد. در بین همه فورک‌های بیت‌کوین، فورک Bitcoin Cash با نماد BCH یکی از موفق‌ترین آن‌ها بوده است که از نظر حجم بازار یکی از بزرگ‌ترین پروژه‌های کریپتو به شمار می‌رود.

اتریوم نیز چنین رویدادی را تجربه کرده است. شبکه اتریوم در سال 2016 هارد فورک انجام داد که در نتیجه آن دو بلاکچین مجزا با نام‌های اتریوم کلاسیک (Ethereum Classic) و اتریوم شکل گرفتند.

در حال حاضر اتریوم کلاسیک که نسخه اولیه اتریوم نیز هست، ارز مخصوص به خود را دارد و اهداف کاملا متفاوتی را نسبت به اتریوم دنبال می‌کند.

حمله Replay چگونه دنیای کریپتو را تحت تاثیر قرار می‌دهد؟

زمانی که یک بلاکچین در زمان هارد فورک هدف حمله Replay قرار بگیرد، مشکلات گسترده‌ای برای آن بروز خواهند کرد.

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

برای مثال حتی اگر یک هکر بتواند در یک حمله Replay انتقال داده‌های تقلبی را انجام دهد، با این حال آن‌ها نمی‌توانند به طور کامل به داده‌های کل تراکنش و بلاک دست پیدا کنند چرا که انتقال داده یک جریان ادامه‌دار است و انجام این کار باعث می‌شود شبکه، انتقال داده‌های دستکاری شده را رد کند.

تاثیر حمله replay
زمانی که یک حمله Replay رخ دهد، کل شبکه و کاربران آن ضرر و زیان قابل توجهی را تجربه خواهند کرد!

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

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

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

آیا بلاکچین‌ها مستعد حملات Replay هستند؟

بلاکچین‌هایی که هارد فورک انجام می‌دهند، در فاصله کوتاهی پس از هارد فورک مستعد حمله Replay هستند.

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

از آن‌جا هکر می‌تواند هر اقدامی که کاربر هدف در گذشته انجام داده‌ است را مشاهده کند. با داشتن چنین اطلاعاتی، تقلب در انتقال داده را می‌توان آغاز کرد.

زمانی که این حمله در همه ابعاد بالقوه خود انجام شود، این احتمال وجود دارد که در حین حمله در خدمات قابل ارائه شبکه نیز اختلالاتی رخ دهد.

این مسئله باعث از دست رفتن بخشی از قدرت پردازش شبکه بلاکچین Legacy (بلاکچین مادر) خواهد شد. زمانی که قدرت پردازش یک شبکه افت کند، فضا برای انجام حمله 51% باز می‌شود. در چنین مرحله‌ای، هکر می‌تواند بدون مشکل تراکنش‌های جدیدی را به شبکه اضافه کند.

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

چگونه مانع حمله بازپخش شویم؟

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

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

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

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

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

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

روش حفاظت از بازپخش قوی

در این روش یک سیستم نشانک یا Bookmark بر روی دفترچه حساب‌های بلاکچین فورک شده قرار می‌گیرد. با قرار گرفتن این سیستم نشانک، هر تراکنشی که قبلا بر روی بلاکچین ایجاد شده است، نامعتبر تلقی می‌شود.

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

روش حفاظت Opt-in

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

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

نتیجه گیری

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

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

قصد خرید یا فروش ارز دیجیتال در ایران را دارید؟ در این سایت می‌توانید با اطمینان و با چند کلیک خرید کنید:

نام ویژگی‌هاامتیاز
نوبیتکس
  • خرید ارز دیجیتال با کارت بانکی شتاب
  • بدون نگرانی از تحریم
  • معامله با کارمزد و سرعت مناسب
  • ترید ارز دیجیتال با دلار (تتر) و ریال
blankblank
صرافی خارجی MEXCblankblank
هادی ابراهیمی

هادی ابراهیمی

برنامه نویس بلاکچین و علاقمند به بازار‌های مالی به ویژه کریپتو. فعالیت تخصصیم در کریپتو رو با برنامه نویسی قرارداد‌های هوشمند آغاز کردم و در این مسیر برای یادگیری هر چه بیشتر بلاکچین و متاورس تلاش می‌کنم
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

عناوین مطلب:

مطالب مرتبط

سایر دسته‌های خواندنی