آنچه در این مقاله میخوانید
یکی از تکنولوژیهای جدید که متناسب با پتانسیلهای ذاتی خویش توانسته است بسیاری از حوزههای زندگی بشری را متحول سازد، فناوری بلاک چین (Blockchain) نام دارد. اصولا در دنیای کریپتوکارنسی و بستر بلاکچینی با سه دسته از افراد مواجه هستیم: توسعه دهندگان، کاربرانی که بر روی پروژههای بلاک چینی سرمایهگذاری میکنند و هکرها! به طور کلی دسته اخر، یعنی هکرها را میتوان جز دستههای باهوش فعال در حوزه کریپتوکارنسی به شمار آورد که روزانه در تلاش هستند با بهروز کردن روشهای حملاتی خویش، سلامت این اکوسیستم محبوب را به خطر اندازند!
اولین حمله هکری که در دنیای کریپتوکارنسی رخ داد، حمله فینی (Finney Attack) نام داشت که به وسیله فردی به نام «هال فینی» کشف شد و در واقع این نوع از حمله هکری در دسته حملات خاص هکری موسوم به دوبار خرج کردن (Double Spending) دستهبندی شده و سوالات و ابهامات بسیار زیادی را در ذهن کاربران فعال در حوزه کریپتوکارنسی ایجاد کرده است. مطمئنا اولین اصل در تجربه سرمایهگذاری موفق، تامین امنیت سرمایه بوده و تریدرهای حرفهای با تسلط بر این نکته همواره در حال ارتقا سطح اطلاعات خویش از انواع حملات هکری احتمالی موجود در بستر بلاکچین هستند و با توجه به اهمیت آشنایی با حمله فینی، ما این مقاله از بلاگ کریپتوباز را به معرفی و بررسی دقیق این نوع خاص از حملات هکری اختصاص دادهایم؛ اگر شما هم در این زمینه کنجکاو هستید، تا انتهای این مطلب با ما همراه باشید.
مروری بر حملات دوبار خرج کردن (Double Spending)
گفته شد که حمله فینی از انواع حملات هکری دابل اسپند به شمار میرود و با کلاهبرداری راگ پول تفاوت هایی دارد، قبل از آن که بتوانیم به یک تعریف جامع و ساده از حمله فینی (Finney Attack) دست یابیم، ضرورت دارد که نگاهی به ریشه این حملات یعنی حمله دابل اسپند داشته باشیم تا پس از آن با دیدی روشنتر بتوانید مطالبی که در ادامه خواهند آمد را مطالعه نمائید. به هنگامی که پسوند «دیجیتالی» به یک دارایی اضافه میشود، سرقت آن به وسیله کپی کردن به یک امر معمول تبدیل شده و به راحتی میتوان از این طریق تاثیرات منفی را بر ارزش آن دارایی دیجیتالی نظیر عکس، فیلم و ... تحمیل نمود؛ اما ارزهای دیجیتالی از این قاعده مستثنی هستند و به دلیل رویکرد هوشمندانه توسعهدهندگان پروژههای رمزارزی، عملا امکان کپی کردن ارزهای دیجیتال وجود ندارد ولی آیا روشی وجود دارد که با رویکرد مشابه عملیات کپی کردن، تاثیرات منفی را در دنیای کریپتوکارنسی از خود برجای بگذارد؟
مسلما پاسخ به این سوال مثبت بوده و این رویکرد دقیقا همان چیزی است که در حملات دابل اسپند ارزهای دیجیتال اتفاق میافتد؛ در این نوع خاص از حملات سایبری و هکری، یک واحد یکسان از ارز دیجیتال بیش از یک بار خرج شده و احتمالا این مشکل دو بار خرج کردن یک ارز دیجیتال را بتوان یکی از مهمترین مشکلاتی به شمار آورد که گریبانگیر داراییهای دیجیتالی شده است. حمله رقابتی (race attack)، حمله فینی (Finney attack) و حمله 51 درصدی در زیر مجموعه حملات دابل اسپند و دو بار خرج کردن قرار میگیرند که هر یک به نوبه خود قادر هستند ضربات مهلکی را به سلامت اکوسیستم شبکه بلاک چینی وارد سازند.
حمله فینی (Finney Attack) چیست؟
حمله فینی از آن دسته تهدیدات سایبری است که صرفا از طریق ماینرها امکان انجام آن وجود دارد و میتوان از آن به عنوان یکی از حملات هکری فنی و نسبتا دشوار یاد کرد. نامگذاری این حمله به حمله فینی، به این علت است که این حمله به وسیله اولین دریافت کننده تراکنش بیت کوین که فردی به نام «هال فینی» بود، در سال 2011 کشف گردید و به همین علت از این تهدید سایبری تحت عنوان حمله فینی یاد میشود. آیا به نظر شما اتفاقی بدتر از این وجود دارد که شخصی یک تراکنش تائید نشده از سوی شبکه را بپذیرد؟! در واقع در حمله فینی، ماینر در قدم اول یک تراکنش انتقال ارز دیجیتال از کیف پولی به کیف پول مشخص دیگر را در یک بلاک، از پیش استخراج مینماید و سپس مجددا از همان ارز دیجیتال اول برای انجام تراکنش دوم استفاده کرده و در نهایت بلاک از پیش استخراج شده که حاوی تراکنش اول است را در شبکه منتشر مینماید. برای درک بهتر این تهدید سایبری، یک مثال عملی را مورد بررسی قرار میدهیم:
تصور کنید که با یک ماینر مواجه هستیم که میتواند بلاکی ایجاد کند که اطلاعات موجود در آن بلاک در واقع حاوی یک تراکنش انتقال ارز دیجیتال از آدرس کیف پول A به آدرس کیف پول B است و هر دوی این کیف پولها در مالکیت این ماینر قرار دارد. حال این فرد قبل از آن که این تراکنش تائید شود، مجددا تراکنش دیگری را دقیقا با همان ارز دیجیتال قبلی انجام میدهد و این بار روند انتقال از کیف پول A به کیف پول C خواهد بود، با این تفاوت که کیف پول C برخلاف کیف پول B در مالکیت شخص ثالثی قرار دارد. حال اگر این شخص ثالث این تراکنش را بدون تائید شبکه بپذیرد، این مهاجم به راحتی قادر خواهد بود که بلاک اولیه را تائید کرده و با چنین کاری تراکنش انجام یافته میان کیف پول A به کیف پول C را رسما باطل نماید؛ در چنین حالتی گفته میشود که حمله فینی اتفاق افتاده و این ماینر و مهاجم، دو بار از یک ارز خاص استفاده کرده است.
با چنین توضیحی مشخص میشود که عموما تجار و آن دسته از فروشگاههای آنلاینی که تراکنشهای تائید نشده را میپذیرند، بیشتر در معرض چنین تهدیدات سایبری قرار دارند و بهترین راهکار برای تامین امنیت سرمایه در شبکههای بلاک چینی این است که حداقل منتظر دریافت 6 تائید از سوی شبکه بلاک چینی باشید تا از ایمن و غیرقابل برگشت بودن تراکنش انجام یافته اطمینان خاطر پیدا کنید. البته لازم به ذکر است که تعداد این تائیدیهها به مبلغی بستگی دارد که قصد سرمایهگذاری آن را دارید و در صورتی که مبلغ مورد معامله رقم بسیار بالاییست، توصیه ما به شما این است که منتظر تائیدهای بیشتر باشید.
نحوه اجرای حمله فینی (Finney Attack)
به طور کلی از آنچه که از مطالب فوق برمیآید، به خوبی روشن میشود که انجام حمله فینی کار چندان آسانی نبوده؛ چراکه ما در این حمله با مهاجمی سروکار داریم که خود، ماینر شبکه بلاک چینی بوده و قادر است بلاکی را استخراج نماید که تراکنش وی در آن مورد اعتبارسنجی قرار میگیرد و در طرف دیگر ماجرا نیز معاملهگری قرار دارد که تراکنشی را با تائید صفر از شبکه، پذیرفته است! به نظر بسیاری از صاحب نظران حوزه کریپتوکارنسی اجتماع دو پیش شرط یاد شده امری محال به نظر میرسد؛ اما این صاحبنظران به یک نکته ظریف توجهی نداشتهاند و آن نکته این است که در حالتی که کاربری حدودا 51 درصد از قدرت هش شبکه را در اختیار داشته باشد، به راحتی میتواند چنین کاری را انجام دهد. به طور کلی فرد مهاجم برای اجرای حمله فینی در شبکه بلاک چین با 3 مرحله کلیدی مواجه است که این مراحل به شرح زیر میباشند:
مرحله اول؛ ارسال ارز دیجیتال به کیف پول تحت کنترل
در مرحله اول مهاجم بایستی ارز دیجیتال مورد نظر خویش را به یک کیف پولی که تحت کنترل خود او قرار دارد ارسال کند و پس از انجام چنین کاری، استخراج بلاکی معتبر که اطلاعات تراکنش مذکور در آن قرار دارد را آغاز نماید.
مرحله دوم؛ انجام معامله شخص ثالث
پس از استخراج موفقیت آمیز بلاک معتبر حاوی اطلاعات تراکنش اول، مهاجم این بلاک را به شبکه منتقل نمیکند، بلکه دقیقا با همان مقدار ارز دیجیتال مورد استفاده در تراکنش قبلی برای انجام معامله با شخص دیگری به منظور پرداخت یک کالا، خدمات و غیره استفاده مینماید.
مرحله سوم؛ انتقال تراکنش اول به شبکه
پس از انجام تراکنش دوم و پذیرش آن از سوی شخص ثالث، مهاجم بلاک استخراج شده قبلی را به شبکه منتقل میکند و همین مسئله در نهایت به معتبر شناخته شدن تراکنش اول و بیاعتباری تراکنش دوم به وسیله شبکه بلاک چینی منجر خواهد شد و در چنین حالتی حمله فینی با موفقیت آمیز تلقی میگردد.
میزان احتمال انجام حمله فینی در بلاک چین
در حمله فینی ما با یک پیش شرط اساسی مواجه هستیم و آن پیش شرط به قدرت هش ماینر اختصاص دارد؛ هرچه قدرت هش ماینر در شبکه کمتر باشد، به همان میزان شانس وی برای اجرای موفقیت آمیز حمله فینی در شبکه بلاک چین کاهش مییابد. لازم به ذکر است که در انجام حمله فینی، زمانبندی درست امر مهم دیگری است که مهاجم باید توجه ویژهای به آن داشته باشد؛ چراکه اگر در فاصله زمانی تکمیل بلاک از پیش استخراج شده و عدم عرضه آن در شبکه، یک بلاک دیگری در شبکه تکمیل گردد، چنین مسئلهای فرد مهاجم را ناکام گذاشته و حمله فینی وی با شکست مواجه خواهد شد.
با توجه به چنین توضیحاتی به نظر میرسد که یافتن ماینری که قادر به استخراج یک بلاک پیش استخراج شده باشد، شخص ثالثی که تراکنش بدون تائید شبکه را بپذیرد و این که بلاک جدیدی در شبکه مابین عمل مهاجم در شبکه تکمیل نگردد، امری به شدت دشوار و فنی بوده و حمله فینی در حال حاضر نمیتواند چندان تهدید بالقوهای برای شبکههای بلاک چینی به شمار آید و فرد مهاجمی که از این تهدید سایبری استفاده میکند، بایستی زمان قابل توجهی را برای فراهم کردن این مقدمات یاد شده صرف نماید، در غیر این صورت حمله سایبری و کلاهبرداری وی با شکست مواجه خواهد شد.
حمله فینی؛ تهدیدی سایبری در حوزه ارز دیجیتال برای دوبار خرج کردن رمزارزها
با رشد محبوبیت استفاده از مارکت کریپتوکارنسی و سودآوری آن در سالهای گذشته، توجه بسیاری از هکران و کلاهبردارن سایبری به سمت این بستر مستعد هک جلب شده است و عموما این هکران با استفاده از روشهای نوین به سرقت دارایی سرمایهگذاران رمزارزی میپردازند و همین مسئله سبب شده تا شناخت این تهدیدات سایبری برای کلیه کاربران دنیای کریپتوکارنسی به یک ضرورت اجتنابناپذیر تبدیل گردد؛ به همین علت ما این مقاله از بلاگ کریپتوباز را به بررسی دقیق حمله فینی (Finney Attack) اختصاص دادیم و همان طور که در مطالب فوق مشاهده کردید، حمله فینی در واقع زیرمجموعه حملات دوگانه دابل اسپند به شمار میرود که برای انجام چنین حملهای مهاجمان بایستی نودها و گرههای خویش را به اجرا درآورده و تراکنش اولیه که انتقال ارز دیجیتال به کیف پول دیگر خودشان است را در یک بلاک معتبر قرار داده و قبل از ارسال این بلاک به شبکه بلاک چینی، همان ارز دیجیتال را برای معامله دیگری مورد استفاده قرار دهد و سپس همان بلاک اولیه را به شبکه منتقل کرده و تراکنش دوم را بیاعتبار سازند. ناگفته نماند که اگر در ارتباط با حمله فینی سوالی دارید که در این مقاله اشارهای به پاسخ آن نشده است، میتوانید سوال خود را در بخش نظرات مطرح کنید تا کارشناسان ما در اسرع وقت به سوال شما پاسخ دهند.