در حالی که ثابت شده است که بازار ارزهای دیجیتال انعطافپذیر و طولانی مدت است، سرمایهگذاری در آن به دلیل نوسانات داراییها و همچنین احتمال هک شدن همچنان با خطرات زیادی همراه است. یکی از روشهای بالقوهای که هکرها میتوانند برای ورود به بلاکچینها و در اصل سرقت سکهها از کیفپولهای دیگر استفاده کنند، حملات تکراری است. اینها عمدتاً در حالی اتفاق میافتند که یک هارد فورک در حال اجرا است، که آنها را نسبتاً کمیاب میکند. این راهنما به جزئیات بیشتری در مورد حملات تکراری و چگونگی تأثیر آنها بر پلتفرمهای رمزنگاری میپردازد.
حمله تکراری چیست؟
یک حمله مجدد از برنامههای مخرب برای به تاخیر انداختن یا رهگیری انتقال دادههایی که از طریق شبکه رخ میدهد استفاده میکند. سپس این اطلاعات را میتوان پردازش کرد و چندین بار تکرار کرد تا تراکنش ها به طور موثر تکرار شوند.
حملات Replay از نیاز به اعتبارسنجی دادههای اصلی سوء استفاده میکنند. این درخواست اعتبارسنجی معمولاً توسط یک کاربر مجاز ارسال میشود. حتی اگر یک حمله تکراری مستقیماً شبکه را هدف قرار دهد، پروتکلهای امنیتی آن یک حمله تکراری را به عنوان یک انتقال استاندارد داده مشاهده میکنند. در طول انتقال، هکر دادهها را بهطور طبیعی به تأخیر میاندازد یا رهگیری میکند، که به آنها اجازه میدهد حمله را به موقع و بدون نیاز به رمزگشایی چیزی انجام دهند.
اگرچه انجام حملات تکراری برای هکرها نسبتاً آسان است، تکنیکهای متعددی وجود دارد که شبکهها میتوانند از آنها برای تقویت امنیت و جلوگیری از این حملات استفاده کنند.
چگونه حمله Replay در Crypto کار میکند؟
حملات بازپخش زمانی امکانپذیر میشوند که بلاکچینها پروتکلهای خود را تغییر داده یا ارتقا دهند، فرآیندی که به عنوان هارد فورک شناخته میشود. در حالی که هارد فورک در حال انجام است، هر دو نسخه از پروتکل همچنان کار میکنند، به این معنی که هر تراکنش معتبر در نسخه قبلی در دفتر کل جدید نیز معتبر خواهد بود.
هنگامی که یک هکر یک حمله تکراری را اجرا میکند، میتواند از هارد فورک برای شبیهسازی تراکنشهای نسخه قبلی استفاده کند، پس از آن میتوان همان مقدار وجوه را برای مدت زمان بیشتری به کیف پول منتقل کرد. حملات تکراری را میتوان چندین بار انجام داد مگر اینکه توسط شبکه متوقف شود.
چرا از هارد فورک استفاده میشود؟
هارد فورک ها به طور نسبتاً منظمی با فناوری بلاک چین رخ میدهند. آنها از پروتکل یک شبکه به روز شده به منظور معتبر ساختن تراکنشها یا بلوکهای نامعتبر ناشی میشوند. هارد فورک تنها زمانی رخ میدهد که هر کاربر یا گره به جدیدترین نسخه نرم افزار ارتقا یابد.
زمانی که جامعه یک ارز دیجیتال خاص دیگر از ویژگی ها و عملکردهای خاصی که ارز ارائه میدهد راضی نیست، فورک اتفاق میافتد. از آنجایی که کاربران در حال انتقال به نسخه جدید بلاکچین هستند، به هر کسی که توکنهایی در نسخه قدیمی نگه میدارد همچنان برای نسخه جدید توکن داده میشود.
بلاکچینهای قدیمی معمولاً نسبت به نسخههای جدید ویژگیهای بسیار کمتری دارند. به همین دلیل بسیاری از کاربران در مدت زمان کوتاهی به نسخه جدید ارتقا مییابند. بیت کوین در طول سالها از طریق فورکهای متعددی عبور کرده است که منجر به ایجاد ارزهای دیجیتال دیگری مانند بیت کوین گلد و بیت کوین کش شده است.
هنگامی که تغییر قابل توجهی در بلاکچین بیت کوین رخ میدهد، دو شاخه از بلاکچین ایجاد میشود (به دنبال نسخه قبلی و نسخه جدید). از آنجایی که نرم افزار بیت کوین در حال ارتقا است، روشهای استخراج نیز ارتقا یافته است. در صورتی که کاربر به نسخه جدید منتقل شود، تمام تراکنشهای نسخه قبلی نرم افزار رد میشود.
اولین فورک بیت کوین شامل بیت کوین XT بود که برای اولین بار در سال 2014 ایجاد شد. از بین تمام هارد فورکهای بیت کوین در تاریخ، موفقترین این فورکها به بیت کوین کش منتج شد که در حال حاضر در بین بزرگترین ارزهای دیجیتال از نظر ارزش بازار است.
در مورد اتریوم، شبکه آن در سال 2016 یک هارد فورک را در دو بلاکچین مجزا تجربه کرد. این دو بلاکچین به نامهای Ethereum Classic و Ethereum شناخته شدند. در حال حاضر، Ethereum Classic ارز دیجیتال خودش است و اهداف کاملا متفاوتی دارد.
چگونه یک حمله تکراری بر دنیای رمزنگاری تاثیر میگذارد؟
طیف گستردهای از مشکلات میتواند از یک حمله تکراری ایجاد شود. اگرچه دفاع در برابر این حملات برای یک شبکه نسبتاً آسان است، تأثیراتی که میتوانند بر دنیای رمزنگاری داشته باشند، قابل توجه است. به خاطر داشته باشید که حملات تکراری به عنوان حملات امنیتی سایبری جدی در نظر گرفته نمیشوند، زیرا دامنه آنها محدود است و روشهای زیادی برای جلوگیری از آنها وجود دارد. حتی اگر یک هکر میتواند با یک حمله مجدد، ارسالهای جعلی را انجام دهد، نمیتواند به طور کامل به دادهها دسترسی داشته باشد در حالی که انتقال ادامه دارد، زیرا انجام این کار باعث میشود شبکه انتقال را رد کند.
از سوی دیگر، کاربران و شبکهها به طور یکسان می توانند ضررهای قابل توجهی را هنگام وقوع حملات تکراری تجربه کنند. در بازارهای سنتیتر، یک حمله مجدد میتواند به هکر اجازه دهد تا به اطلاعات خاصی در یک شبکه به منظور کپی کردن تراکنشها یا انتقال اطلاعات معتبر دسترسی پیدا کند.
در حالی که حملات تکراری معمولاً با کارتهای اعتباری استفاده میشوند، میتوانند روی بلاکچین نیز انجام شوند. هنگامی که یک فورک بلاکچین رخ میدهد، دفتر کل و پروتکل آن به طور موثر تقسیم میشوند، به این معنی که دو پروتکل کاملاً مجزا بر دو کتاب حاکم هستند.
حتی امکان ایجاد یک فورک برای ایجاد ارزهای دیجیتال جدید مانند اتریوم و بیت کوین وجود دارد. اگر به شخصی از طریق بلاکچین مقداری توکن ارز دیجیتال از شخص دیگری ارسال شود، اولین فرد میتواند قبل از تکرار تراکنش به بلاکچین جداگانه منتقل شود، که به او امکان میدهد همان تعداد واحد رمزنگاری را به حساب خود ارسال کند.
آیا بلاکچینها در معرض حمله مجدد هستند؟
بلاکچینها بلافاصله پس از وقوع هارد فورک بیشتر مستعد حملات مجدد هستند. با این حال، محدودیت هایی برای کاری که یک هکر میتواند پس از انجام این حمله انجام دهد وجود دارد. هنگامی که یک حمله مجدد رخ میدهد، هکر به طور موثر جای هویت کاربر دیگر را میگیرد و پس از آن میتواند اعتبار دسترسی به شبکه این کاربر را به دست آورد. از اینجا، هکر میتواند هر اقدامی را که کاربر در گذشته انجام داده است، مشاهده کند.
با در دست داشتن این اطلاعات، انتقالهای جعلی میتواند آغاز شود. هنگامی که یک حمله مجدد با حداکثر پتانسیل خود انجام میشود، میتواند شامل انکار خدمات باشد که منجر به از دست دادن بخشی از قدرت محاسباتی بلاکچین قدیمی میشود. وقتی قدرت شروع به کاهش میکند، فضا برای بیش از 50٪ حمله باز میشود. در این مرحله، تراکنش های کاملاً جدید میتوانند بدون مشکل انجام شوند.
صرف نظر از اینکه چگونه یک هکر یک حمله مجدد را انجام میدهد، محدودیتهای احتمالی وجود دارد. به عنوان مثال، دادههایی که هکر به آنها دسترسی پیدا میکند به هیچ وجه قابل تغییر نیست. اگر تغییری رخ دهد، انتقال رد خواهد شد. به این ترتیب، هکرها فقط قادر به تکرار اقدامات گذشته هستند.
نحوه جلوگیری از حمله مجدد
اگرچه حملات تکراری میتوانند باعث از دست دادن مقدار قابل توجهی از پول شبکهها و کاربران شوند، راههای زیادی برای جلوگیری از وقوع این حملات در وهله اول وجود دارد. حملات Replay تقریبا همیشه به دلیل هارد فورک اتفاق میافتد. به این ترتیب، بسیاری از بلاکچینها پروتکلهای امنیتی بیشتری را زمانی که یکی از این فورکها انجام میشود، قرار میدهند.
همچنین این امکان برای کاربران وجود دارد که اقدامات امنیتی را برای کیف پول خود اعمال کنند. به عنوان مثال، کاربران میتوانند از انتقال سکه تا رسیدن به تعداد مشخصی از بلوک ها در نسخه جدید بلاکچین جلوگیری کنند. با اتخاذ این رویکرد، شبکه نمیتواند حملات تکراری را تأیید کند.
به طور مشابه، کاربران همچنین می توانند انتخاب کنند که مهرهای زمانی را به انتقال داده ها اضافه کنند و پیامهای مکرر را در حافظه پنهان نگه دارند، به طوری که پس از تکرار شدن برای تعداد معینی، قطع شوند. با این کار شانس مهاجم برای پخش متوالی پیامها در مدت زمان کوتاهی به حداقل می رسد و از وقوع حمله جلوگیری میکند. دو روش متداول برای متوقف کردن این حملات عبارتند از: محافظت از تکرار قوی و محافظت مجدد در حالت انتخاب.
محافظت از تکرار قوی
حفاظت از پخش مجدد قوی شامل قرار دادن یک نشانک در دفتر کل جدید است که پس از وقوع هارد فورک ایجاد میشود. با قرار دادن این نشانک، هر تراکنشی که در آن نسخه از بلاکچین انجام شود نامعتبر میشود. این نوع محافظت زمانی که برای اولین بار از بیت کوین شکل گرفت به بیت کوین کش اضافه شد. این نشانک به گرههای موجود در بیتکوین کش اجازه میداد تا تراکنشهایی را که روی بیتکوین استاندارد اتفاق میافتند از تراکنشهای روی بیتکوین کش متمایز کنند.
Opt-in Replay Protection
حفاظت از بازپخش انتخابی عمدتاً زمانی استفاده میشود که یک هارد فورک به دنبال بهروزرسانی دفتر کل ارز دیجیتال اتفاق میافتد، برخلاف تقسیم آن به دو بخش. پس از اجرای این حفاظت، کاربران باید تغییرات دستی در تراکنشها ایجاد کنند تا اطمینان حاصل شود که آنها دوباره پخش نمیشوند.
نظرات کاربران