BGP Hijacking

بررسی حملات BGP Hijacking

BGP Hijacking چیست ؟

پروتکل Border Gateway Protocol (BGP) یکی از حیاتی‌ترین اجزای مسیریابی در اینترنت است که وظیفه تعیین بهترین و بهینه‌ترین مسیر برای انتقال داده‌ها از یک آدرس IP به آدرس دیگر را برعهده دارد. وقتی کاربری نام یک وبسایت را در مرورگر خود وارد می‌کند، ابتدا سیستم DNS، آدرس IP مربوط به آن سایت را پیدا می‌کند، اما این BGP است که مسیر دقیق انتقال داده‌ها را بین شبکه‌های مختلف تعیین می‌کند تا اطلاعات به مقصد برسند. اگر DNS را به ‌عنوان دفترچه تلفن اینترنت در نظر بگیریم، BGP نقش نقشه راهنمای مسیرها را در شبکه جهانی ایفا می‌کند. این پروتکل میان شبکه‌های بزرگ و مستقل که به آن‌ها Autonomous Systems (AS) گفته می‌شود، ارتباط برقرار می‌کند و به روترها این امکان را می‌دهد تا مسیرهای دسترسی به IPها را با هم به اشتراک بگذارند و بهترین مسیر را انتخاب کنند. هرچند این سیستم به ظاهر ساده و کارآمد است، اما ضعف‌هایی نیز دارد که باعث شده است این پروتکل در برابر حملات سایبری حساس و آسیب‌پذیر باشد. یکی از جدی‌ترین این تهدیدها، حمله‌ای به نام BGP Hijacking است. BGP Hijacking نوعی حمله سایبری است که با استفاده از آن مهاجم می‌تواند کنترل مسیرهای تبادل داده در پروتکل BGP را به دست بگیرد تا ترافیک اینترنتی را به مسیرهای نادرست هدایت کند. معمولاً این شرایط زمانی فراهم می‌شود که شبکه‌ها به درستی تنظیم نشده باشند، احراز هویت بین روترها ضعیف باشد یا نقص‌های امنیتی در پروتکل BGP وجود داشته باشد. چالش اصلی در مقابله با BGP Hijacking این است که پروتکل BGP بر پایه اعتماد متقابل بین شبکه‌ها ساخته شده و فرض می‌کند که همه آنها اطلاعات درست را اعلام می‌کنند. به همین دلیل، شناسایی این نوع حملات در لحظه و جلوگیری از آن‌ها کار بسیار دشواری است.
با توجه به اهمیت حیاتی این پروتکل در عملکرد اینترنت و حجم بالای ترافیکی که روزانه از طریق آن عبور می‌کند، حفظ امنیت BGP و جلوگیری از حملات Hijacking برای پایداری شبکه‌های جهانی و حفظ تجربه کاربری، امری ضروری و حیاتی است. در این مقاله، به بررسی حملات BGP Hijacking، روش‌های شناسایی سریع این حملات و راهکارهای مؤثر برای مقابله با آن‌ها خواهیم پرداخت تا آگاهی بیشتری نسبت به این تهدید و راه‌های مقابله با آن ایجاد شود.

حملات BGP

BGP Hijacking چگونه اتفاق می‌افتد؟

در ادامه، مراحل اجرای حملات BGP Hijacking به صورت گام به گام توضیح داده شده است:

مرحله 1: ارسال اعلان جعلی مسیر (Initial Advertisement)

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

مرحله 2: انتشار مسیرهای جعلی در شبکه BGP (Propagation)

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

مرحله 3: انحراف ترافیک (Traffic Diversion)

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

مرحله 4: پنهان ‌سازی فعالیت‌ها (Concealment)

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

نمونه‌های واقعی از BGP Hijacking

از ابتدای سال ۲۰۲۰ تاکنون، بیش از ۱۴۳۰ مورد حمله BGP Hijacking رخ داده است. این حملات گاهی شرکت‌های بزرگ و شناخته‌ شده‌ای مانند MasterCard، Amazon و Google را مورد هدف قرار داده‌اند و تأثیرات گسترده‌ای در سطح جهانی به جا گذاشته‌اند.

در ادامه به برخی از مهم‌ترین نمونه‌های این حملات در سال‌های اخیر اشاره می‌شود:

  • Google،Apple ،Facebook ،Microsoft ،TwitchTV ، Riot Games: در یکی از موارد قابل ‌توجه که در دسامبر ۲۰۱۷ رخ داد، ترافیک اینترنتی مربوط به شرکت‌های بزرگی مانند Google، Apple، Facebook، Microsoft، TwitchTV و Riot Games به‌ طور غیرمجاز از مسیر اصلی خود منحرف شد. در این حمله، یک سیستم Autonomous System روسی با نام DV-LINK-AS (AS39523)، حدود هشتاد IP prefix را ربود و موجب شد اطلاعات کاربران، از جمله آدرس‌های ایمیل، رمزهای عبور و سایر داده‌های ورود، در معرض دسترسی غیرمجاز قرار گیرد.
  • Amazon: در سال ۲۰۱۸، حدود ۱۳۰۰ آدرس IP مربوط به سرویس‌های ابری Amazon به‌ صورت غیرمجاز توسط شرکت eNet ربوده شد. این موضوع باعث شد که برخی شرکت‌های همکار شبکه مانند Hurricane Electric به اشتباه ترافیک اینترنت را از طریق این آدرس‌ها هدایت کنند و مشکل بزرگتر شود. هدف اصلی این حمله سرقت رمزارز بود که در نهایت نزدیک به ۱۵۰ هزار دلار از کاربران MyEtherWallet به سرقت رفت.
  • Google: در نوامبر 2018، China Telecom مظنون به ربودن ۱۸۰، IP prefix شد که باعث ایجاد اختلال گسترده در سرویس‌های مختلف گوگل، از جمله GSuite و سرویس جستجوی گوگل شد. حتی اگر این اتفاق عمدی نبوده باشد، داده‌های حساس و مهم کاربران گوگل به دست مهاجمان رسید و در معرض سوءاستفاده قرار گرفت.
  • Akamai، Amazon، Alibaba: در سال ۲۰۲۰، یک حمله گسترده BGP رخ داد که طی آن بیش از ۸۸۰۰، IP prefix متعلق به شرکت‌های بزرگی مانند Akamai، Amazon و Alibaba ربوده شد. این حمله توسط یکی از کاربران شبکه Rostelecom انجام شد و باعث ایجاد اختلالات گسترده‌ای در خدمات اینترنتی در سطح جهانی شد.
  • Cloudflare: در سال 2019، یکی از بزرگترین اختلالات مربوط به مسیریابی اینترنت رخ داد که شرکت Cloudflare نیز به ‌شدت تحت تأثیر آن قرار گرفت. در این اتفاق، یک شرکت خدمات مخابراتی به اشتباه مسیرهای BGP را برای تعداد زیادی از آدرس‌های اینترنتی به ‌سمت خود هدایت کرد (BGP route leak)، که این خطا به‌ سرعت در سراسر اینترنت منتشر شد. در نتیجه، بسیاری از کاربران در نقاط مختلف جهان برای ساعت‌ها امکان دسترسی به سرویس‌های Cloudflare را از دست دادند.

تأثیرات حملات BGP Hijacking

در ادامه به برخی از مهم‌ترین اثرات این نوع حمله اشاره می‌کنیم:

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

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

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

حملات Denial of Service (DoS): حمله BGP Hijacking می‌تواند به مهاجمان کمک کند که حملات DOS علیه وبسایت‌ها یا سرویس‌های آنلاین انجام دهند. مهاجمان با هدایت ترافیک به سمت منابع شبکه به‌ گونه‌ای که باعث بار زیاد و اشباع آن‌ها شود، سرویس‌ها را برای کاربران قانونی غیرقابل دسترس می‌کنند. این امر منجر به قطعی سرویس و خسارات مالی برای کسب‌وکارهای آسیب ‌دیده می‌شود.

سایر انواع حملات مبتنی بر BGP:

  • حملات مبتنی بر پروتکل TCP/IP: از آنجا که BGP روی پروتکل TCP کار می‌کند، هرگونه ضعف امنیتی یا حمله‌ای که به TCP وارد شود، می‌تواند به BGP نیز آسیب بزند. مهاجمان می‌توانند با سوءاستفاده از این موضوع، ارتباطات BGP بین روترها را مختل یا کنترل کنند. نمونه‌هایی از این حملات شامل spoofing، TCP reset، session hijacking و SYN flooding هستند.
  • حملات Protocol Manipulation: این نوع حملات نسبتاً جدید هستند و با سوءاستفاده از نقاط ضعف موجود در پیاده‌ سازی یا پیکربندی پروتکل BGP انجام می‌گیرند. مهاجم در این حملات با ایجاد تغییرات هدفمند در پارامترهای کنترلی پروتکل، سعی دارد رفتار BGP را از مسیر طبیعی خود خارج کرده و منجر به بروز اختلال یا تصمیم‌ گیری نادرست در مسیریابی شود. از جمله روش‌های متداول در این نوع حملات می‌توان به دستکاری مقدار Multi-Exit Discriminator (MED) اشاره کرد. همچنین بهره‌ برداری از Route Flap Damping (RFD) و Minimum Route Advertisement Interval (MRAI) از دیگر تکنیک‌های مورد استفاده در این حملات است.
  • حملات DOS via Resource Exhaustion: در این حملات، مهاجم با ارسال تعداد بسیار زیادی پیام BGP به سیستم، باعث می‌شود که دستگاه هدف دیگر نتواند بسته‌های معتبر BGP را پردازش کند و در نتیجه عملکرد شبکه مختل شود.

چگونه حملات BGP Hijacking را شناسایی کنیم؟

شناسایی به موقع حملات BGP Hijacking از اهمیت بالایی برخوردار است، زیرا این حملات می‌توانند به ‌سرعت باعث اختلال در عملکرد شبکه و حتی سرقت اطلاعات حساس شوند. برای مقابله با این تهدیدات، راهکارهای متنوعی وجود دارد که مهم‌ترین آن‌ها عبارت‌اند از:

  • نظارت مستمر بر مسیرهای BGP و تشخیص ناهنجاری‌ها: با رصد مداوم تغییرات مسیرهای BGP و تحلیل جداول مسیریابی، می‌توان هرگونه تغییر ناگهانی یا غیرعادی را به ‌سرعت شناسایی کرد. ابزارهای تخصصی مانیتورینگ قادرند مسیرهای غیرمجاز و تغییرات غیرمعمول را ردیابی نمایند.
  • استفاده از سیستم‌های تشخیص نفوذ (IDS): این سیستم‌ها با بررسی دقیق فعالیت‌های شبکه، حملات مرتبط با BGP را شناسایی کرده و هشدارهای لازم را ارسال می‌کنند.

پیشگیری از حملات BGP Hijacking

حفاظت از زیرساخت‌های شبکه در برابر حملات BGP Hijacking نیازمند اتخاذ مجموعه‌ای از اقدامات امنیتی جامع است که در ادامه به مهم‌ترین آن‌ها اشاره می‌شود:

  1. پیاده‌ سازی RPKI (Resource Public Key Infrastructure): اجرای RPKI به معنای به‌ کارگیری روشی برای تایید صحت مسیرهای BGP route است که به کمک رمزنگاری انجام می‌شود. RPKI با ایجاد امضاهای دیجیتال (digital signatures) برای مسیرهای مجاز، به روترها این امکان را می‌دهد تا مسیرهای دریافتی را بررسی کنند و مطمئن شوند که این مسیرها واقعاً از منابع معتبر آمده‌اند. به این ترتیب، مسیرهای جعلی یا غیرمجاز که ممکن است توسط مهاجمان برای فریب سیستم مسیریابی ارسال شده باشند، شناسایی و رد می‌شوند. این فرآیند باعث افزایش امنیت شبکه می‌شود و ریسک حملات BGP hijacking را کاهش می‌دهد. اجرای RPKI برای سازمان‌ها و ارائه ‌دهندگان خدمات اینترنتی که نقش مهمی در اینترنت جهانی دارند، بسیار حیاتی است.
  2. استفاده از پروتکل امنیتی BGPsec: پروتکل امنیتی BGPsec یک افزونه مهم برای پروتکل BGP است که با هدف افزایش امنیت شبکه‌های اینترنتی طراحی شده است. این پروتکل با اضافه کردن امضاهای دیجیتال به پیام‌های BGP route، اطمینان حاصل می‌کند که اطلاعات مسیر و مبدا ارسال شده، کاملاً معتبر هستند. به عبارت دیگر، BGPsec به روترها این امکان را می‌دهد که هر پیام دریافتی را از نظر صحت و اصالت بررسی کنند. این ویژگی باعث می‌شود مهاجمان نتوانند پیام‌های جعلی یا دستکاری شده ارسال کنند و از این طریق، احتمال حملات BGP hijacking به طور چشمگیری کاهش یابد.
  3. تقویت فرآیندهای احراز هویت و مدیریت نشست‌ها: استفاده از رمزهای عبور قوی، فعالسازی احراز هویت چند مرحله‌ای (MFA) و بهره‌گیری از الگوریتم‌های رمزنگاری مانند MD5 یا SHA-256، از ورود غیرمجاز به روترها جلوگیری می‌کند و امنیت نشست‌های BGP را تضمین می‌نماید.
  4. فیلترگذاری دقیق مسیرهای دریافتی و ارسالی: یکی از مؤثرترین راهکارها برای جلوگیری از حملات BGP، پیاده ‌سازی سیاست‌های سختگیرانه در فیلترگذاری مسیرها است. این فرایند شامل بررسی دقیق مشخصه‌هایی مانند طول پیشوند (Prefix Length)، شماره AS مبدأ و وضعیت اعتبارسنجی ROA (Route Origin Authorization) می‌شود. با استفاده از این معیارها، می‌توان تنها مسیرهایی را پذیرفت که از نظر فنی معتبر و قابل اعتماد هستند و در مقابل، مسیرهایی که نامعتبر، مشکوک یا مغایر با سیاست‌های تعریف ‌شده باشند را به ‌طور کامل مسدود کرد یا نادیده گرفت. 
  5. به ‌روزرسانی منظم و اعمال پچ‌های امنیتی: به ‌روزرسانی مداوم نرم‌افزارها و سیستم‌عامل روترها یکی از مهم‌ترین اقدامات برای حفظ امنیت زیرساخت‌های شبکه محسوب می‌شود. با انتشار هر نسخه جدید، معمولاً آسیب‌پذیری‌های شناسایی ‌شده در نسخه‌های قبلی رفع شده و سطح امنیت سیستم ارتقاء می‌یابد. اعمال سریع پچ‌های امنیتی از سوءاستفاده مهاجمان از حفره‌های شناخته ‌شده جلوگیری کرده و مانع از اجرای حملاتی می‌شود که ممکن است منجر به دسترسی غیرمجاز یا اختلال در فرآیندهایی مانند BGP route گردد.
  6. بهره‌گیری از فایروال‌های تخصصی و تنظیمات دقیق دسترسی: پیکربندی اصولی و هدفمند فایروال‌ها به‌ گونه‌ای که تنها به ترافیک ورودی و خروجی از منابع معتبر اجازه عبور داده شود، نقش مؤثری در کاهش سطح حملات ایفا می‌کند. این رویکرد با محدودسازی دسترسی‌های غیرمجاز، احتمال نفوذ و بهره‌برداری از نقاط ضعف را به حداقل می‌رساند.

مطالب مرتبط

دیدگاهتان را بنویسید

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