آنچه در این مطلب میخوانید:
حمله زنجیره تامین (Supply Chain Attacks) یکی از پیچیدهترین تهدید هایی است که پروژه های بلاکچین و ارز دیجیتال با آن رو بهرو هستند. این نوع حملات بهجای هدف قرار دادن مستقیم یک پروژه، وابستگی های نرمافزاری، کتابخانه ها، API ها و حتی سختافزارهای مورد استفاده در اکوسیستم کریپتو را آلوده میکنند. از این طریق، هکرها میتوانند بدون جلب توجه، کد مخرب تزریق کنند، کلیدهای خصوصی، دادههای حساس و سرمایه کاربران را به سرقت ببرند.
از آنجا که آشنایی با سازوکار حمله زنجیره تامین و راهکارهای پیشگیری از آنها برای توسعه دهندگان و کاربران حیاتی است، در این مقاله تصمیم گرفتیم به سراغ این موضوع برویم و این حمله سایبری را به طور دقیق بررسی کنیم. همراه کریپتونگار باشید.
آشنایی با حمله زنجیره تأمین در ارز دیجیتال
حمله زنجیره تأمین (Supply Chain Attack) در حوزه کریپتو نوعی حمله سایبری است که در آن هکرها بهجای حمله مستقیم به یک پروژه، اجزای جانبی، خدمات یا نرمافزارهای شخص ثالثی را هدف قرار میدهند که پروژه به آنها متکی است. این اجزا میتوانند شامل کتابخانهها، رابطهای API یا ابزارهایی باشند که در برنامههای غیرمتمرکز، صرافی ها یا سیستم های بلاکچین مورد استفاده قرار میگیرند.
با نفوذ به این ابزارهای خارجی، مهاجمان میتوانند کد مخرب وارد سیستم کنند یا دسترسی غیرمجاز به سیستم های حیاتی پیدا کنند. برای مثال، آنها ممکن است یک کتابخانه متنباز پرکاربرد در پلتفرم های دیفای را تغییر دهند تا کلیدهای خصوصی را سرقت کنند یا پس از پیادهسازی، تراکنش ها را به مسیر دیگری هدایت کنند.
اتکای اکوسیستم کریپتو به نرمافزار های متنباز و پلتفرم های شخص ثالث باعث میشود این فضا بهشدت در برابر چنین حملاتی آسیبپذیر باشد. در این حملات اغلب از ابزار های آلوده در Node Package Manager (NPM) یا GitHub سوءاستفاده میشود و مهاجمان کد مخرب را به کتابخانه های پرکاربرد تزریق میکنند.
کیف پول های سختافزاری یا SDK ها نیز میتوانند در مرحله تولید یا بهروزرسانی دستکاری شوند و کلیدهای خصوصی کاربران را در معرض خطر قرار دهند. علاوه بر این، هکرها ممکن است به متولیان شخص ثالث یا اوراکل ها نفوذ کنند و با دستکاری دادهها یا دسترسی به کیف پول ها، وجوه کاربران را سرقت کنند یا قرارداد های هوشمند در پلتفرم های دیفای را مختل کنند.
همچنین، بعضی از هکرها کد سالم را روی گیت هاب میزبانی میکنند اما نسخه های آلوده را در PyPI یا npm منتشر میکنند. توسعه دهندگانی که به مخزن گیت هاب اعتماد دارند ممکن است هرگز متوجه نشوند که آنچه نصب میکنند نسخهای متفاوت و خطرناک است.
بیشتر بخوانید: حمله ربایش DNS چیست؟
نحوه عملکرد حملات زنجیره تأمین در ارز دیجیتال
حملات زنجیره تأمین در حوزه ارزهای دیجیتال، حملاتی پیچیده هستند که از آسیبپذیری های موجود در وابستگی های خارجی پروژه سوءاستفاده میکنند.
مراحل وقوع این حمله به شرح زیر است:
- هدف قرار دادن یکی از اجزا: مهاجمان یک برنامه شخص ثالث پرکاربرد مانند یک کتابخانه متنباز، قرارداد هوشمند یا نرمافزار کیف پول را شناسایی میکنند که بسیاری از پروژههای کریپتو از آن استفاده میکنند.
- آلوده کردن برنامه: آنها با تزریق کد مخرب یا تغییر عملکرد آن، برنامه را دستکاری میکنند. این کار میتواند شامل هک مخزن گیت هاب، توزیع یک فایل نرمافزاری جعلی یا تغییر در یک کیف پول سختافزاری باشد.
- استفاده ناخواسته: توسعه دهندگان یا پلتفرمها بدون اطلاع از تغییرات، این برنامه آلوده را در سیستم خود ادغام میکنند. از آنجا که بسیاری از پروژهها از فرآیند های خودکار و منابع مورد اعتماد استفاده میکنند، حمله بدون شناسایی شدن گسترش مییابد.
- بهرهبرداری هنگام استفاده: وقتی جزء آلوده در یک برنامه فعال میشود، ممکن است هنگام تعامل کاربران با برنامه، اقدامات مخربی مانند سرقت کلیدهای خصوصی، تغییر مسیر وجوه یا دستکاری دادهها انجام دهد.
- تأثیر گسترده: اگر جزء آلوده بهطور گسترده استفاده شود، حمله میتواند کاربران و پلتفرمهای متعددی را تحت تأثیر قرار دهد و پیش از شناسایی، خسارات زیادی وارد کند.
- کشف حمله و واکنش: معمولاً پس از وقوع خسارت قابلتوجه (مانند سرقت وجوه) نقض امنیتی کشف میشود. پاسخ مستقیم به مهاجمان و بازیابی دارایی ها به دلیل ماهیت ناشناس و غیرقابل برگشت تراکنشهای بلاکچین بسیار دشوار است.
گفتنی است، بسیاری از مهاجمان زنجیره تأمین از رباتهای تلگرام برای دریافت داده های سرقتشده مانند عبارت بازیابی یا کلیدهای API استفاده میکنند. این روش سریع، مخفی و غیرقابلردیابی است و یکی از دلایلی است که تلگرام در گزارش های هک کریپتو زیاد دیده میشود.
نمونه هایی از حملات زنجیره تأمین علیه پروژه های کریپتویی
در سال ۲۰۲۴، هکرها از مخازن نرمافزار متنباز (OSS) بهطور فزایندهای برای اجرای حملات زنجیره تأمین علیه داده ها و ارز دیجیتال استفاده کردند. هدف آنها این بود که توسعه دهندگان را فریب دهند تا اطلاعات آلوده را دانلود کنند.
گزارش ReversingLabs تحت عنوان «گزارش امنیت زنجیره تأمین نرمافزار ۲۰۲۵» به شرح زیر میباشد:
- مخازن هدف: مهاجمان کد مخرب را در دو پلتفرم پرکاربرد npm و Python Package Index (PyPI) بارگذاری کردند.
- تعداد کمپینها: در مجموع ۲۳ کمپین مرتبط با کریپتو شناسایی شد.
- تمرکز بر npm: از این میان، ۱۴ کمپین روی npm اجرا شد که بیشترین هدفگیری را داشته است.
- مابقی موارد : ۹ مورد دیگر روی PyPI انجام شد.
حملات در سطحهای مختلفی اجرا شدند. برخی ساده و شناختهشده و برخی پیشرفته و مخفیانه. یکی از تکنیکهای رایج این حملات Typosquatting است که در آن پکیجهای مخرب با نام هایی بسیار مشابه پکیجهای قانونی منتشر میشوند.
در ادامه چهار نمونه واقعی از حملات زنجیره تأمین در حوزه کریپتو را بررسی میکنیم:
۱. حمله به Bitcoinlib
در آوریل ۲۰۲۵ (فروردین-اردیبهشت ۱۴۰۴)، هکرها کتابخانه Python مربوط به Bitcoinlib را هدف قرار دادند و بسته های مخرب bitcoinlibdbfix و bitcoinlib-dev را در PyPI بارگذاری کردند که بهعنوان بهروزرسانی های معتبر معرفی میشدند. این بسته ها شامل بدافزاری بودند که ابزار خط فرمان “clw” را با نسخهای جایگزین میکرد که کلید های خصوصی و آدرس های کیف پول را سرقت میکرد.
پس از نصب، بدافزار دادههای حساس را برای مهاجمان ارسال میکرد و آنها میتوانستند کیف پول قربانیان را خالی کنند. پژوهشگران امنیتی با استفاده از یادگیری ماشین، این تهدید را شناسایی و از خسارت بیشتر جلوگیری کردند. این حمله نشاندهنده خطرات حملات Typosquatting در پلتفرمهای متنباز و لزوم بررسی اعتبار بسته ها قبل از نصب است.
۲. حمله Aiocpa
حمله “aiocpa” یک حمله پیچیده زنجیره تأمین بود که توسعه دهندگان ارز دیجیتال را از طریق PyPI هدف قرار داد. این بسته در سپتامبر ۲۰۲۴ (شهریور-مهر ۱۴۰۳) بهعنوان یک کلاینت معتبر برای Crypto Pay API منتشر شد و بهمرور اعتماد توسعه دهندگان را جلب کرد. اما در نوامبر (آبان-آذر ۱۴۰۳)، در نسخه ۰.۱.۱۳ کدی مخفی اضافه شد که اطلاعات حساس مانند توکن های API و کلیدهای خصوصی را سرقت کرده و به ربات تلگرام ارسال میکرد.
این کد مخرب در مخزن گیت هاب وجود نداشت و از بررسی های کد عبور کرده بود تا زمانی که ابزارهای یادگیری ماشین آن را شناسایی و بسته را قرنطینه کردند. این حمله اهمیت مدیریت دقیق وابستگیها و استفاده از ابزار های پیشرفته شناسایی تهدیدات را نشان میدهد.
۳. حمله به @solana/web3.js
در یکی از بدنامترین حملات زنجیره تأمین در سال ۲۰۲۴، مهاجمان بسته @solana/web3.js را آلوده کردند که یک API جاوااسکریپتی پرکاربرد برای تعامل با بلاکچین سولانا بود. مهاجمان کد مخرب را در نسخه های ۱.۹۵.۶ و ۱.۹۵.۷ تزریق کردند تا اطلاعات حساس کاربران را سرقت کنند.
این بسته بیش از ۳۰۰۰ پروژه وابسته و ۴۰۰٬۰۰۰ دانلود هفتگی داشت، که آن را به یک هدف ایدهآل تبدیل کرد. این حمله نشان داد که حتی بسته های معتبر و پرطرفدار میتوانند خطرات بزرگی برای توسعه دهندگان و کاربران ایجاد کنند.
۴. حمله DNS به Curve Finance
در سال ۲۰۲۳، کرو فایننس (Curve Finance) قربانی حمله DNS Hijacking شد. مهاجمان حساب ثبتکننده دامنه را هک کردند و رکوردهای DNS را تغییر دادند تا کاربران از وبسایت رسمی به یک سایت جعلی هدایت شوند. اگرچه قرارداد های هوشمند در بکاند در امان ماندند، ولی کاربران در فرانتاند جعلی، تراکنش هایی را تأیید کردند که کیف پول شان را خالی کرد.
این حادثه یک آسیبپذیری مهم در دیفای را نشان داد؛ اگرچه زیرساخت بلاکچین امن است، اتکای پلتفرمها به خدمات متمرکز وب مانند DNS نقاط ضعفی ایجاد میکند که قابل سوءاستفاده هستند.
قابل ذکر است، در حملهای به نام Dependency Confusion، مهاجمان بسته های جعلی با همان نام بسته های داخلی در رجیستری های عمومی بارگذاری میکنند. اگر سیستم توسعه دهنده نسخه اشتباه را نصب کند، مهاجمان به برنامه های کریپتویی دسترسی پیدا میکنند.
بیشتر بخوانید: حمله Erebus چیست؟ مواردی که باید درباره حمله Erebus بدانیم
تأثیر حملات زنجیره تأمین بر پروژه های ارز دیجیتال چیست؟
حملات زنجیره تأمین میتوانند منجر به خسارات مالی عظیم، افشای دادههای کاربران و آسیب به اعتبار پروژه شوند و اعتماد به سیستم های غیرمتمرکز را از بین ببرند. از پیامد های این حادثه میتوان به موارد زیر اشاره کرد:
- از دست رفتن وجوه و دارایی ها: مهاجمان میتوانند کد مخرب وارد کنند تا کلیدهای خصوصی را سرقت کنند، تراکنش ها را تغییر دهند یا کیف پول ها را هک کنند.
- لطمه به اعتبار پروژه: حتی یک جزء آلوده میتواند باعث از بین رفتن اعتماد کاربران، سرمایه گذاران و شرکا شود و رشد پروژه را متوقف کند.
- مشکلات قانونی و نظارتی: نقض های امنیتی معمولاً توجه نهادهای نظارتی را جلب میکند و ممکن است منجر به پیگرد قانونی، ممیزی های اجباری یا حتی تعطیلی پلتفرم شود.
- اختلال در خدمات: این حملات میتوانند باعث توقف موقت خدمات، بازگشت به نسخه های قبلی کد یا نیاز به اصلاحات فوری شوند که روند توسعه را کند میکند.
- تأثیر بر کل اکوسیستم: اگر یک برنامه پرکاربرد (مثل کتابخانه های npm یا API ها) آلوده شود، حمله میتواند به پروژه های متعددی سرایت کند و خسارت را چند برابر کند.
راه های جلوگیری از حملات زنجیره تأمین در بلاکچین
حملات زنجیره تأمین اغلب به اجزای مورد اعتماد مانند کتابخانه ها، API ها و ابزار های زیرساختی بهصورت مخفیانه حمله میکنند. برای مقابله با این حملات، اقدامات پیشگیرانه در طول توسعه و عملیات پروژه ضروری است:
- مدیریت کد و وابستگی ها: توسعه دهندگان باید فقط از منابع معتبر استفاده کنند، نسخه های پکیج ها را قفل کنند و یکپارچگی فایلها را با چکسام بررسی کنند. بررسی منظم برنامه های وابسته بهویژه آن هایی که به توابع حساس دسترسی دارند ضروری است. حذف بسته های قدیمی یا غیرضروری خطر را کاهش میدهد.
- امنیت زیرساخت: خط لوله های CI/CD را با کنترل دسترسی قوی و احراز هویت چندمرحلهای ایمن کنید. از امضای کد برای تأیید اصالت نرمافزار استفاده کنید. تنظیمات DNS و حساب های ثبتکننده دامنه را بهطور منظم بررسی کنید تا دستکاری ها سریع شناسایی شوند. محیط های ساخت ایزوله به جلوگیری از آلوده شدن کد اصلی کمک میکند.
- مدیریت ریسک طرف های ثالث: امنیت متولیان، اوراکل ها و ارائهدهندگان خدمات خارجی را بررسی کنید و تنها با شرکای شفاف و دارای گواهی امنیتی همکاری کنید. برنامه های پشتیبان برای مواقع نفوذ آماده داشته باشید.
- آگاهی و حاکمیت اجتماعی: جامعه توسعه دهندگان را به بازبینی کد، برنامهها و آموزش روش های امنیتی تشویق کنید. حاکمیت شفاف و آموزش مداوم به تمام ذینفعان در مورد روش های حمله و واکنش ضروری است.
جمع بندی
حملات زنجیره تأمین بهدلیل ماهیت غیرمستقیم و گسترده خود، میتوانند خسارات مالی عظیم و آسیب های جبرانناپذیری به اعتبار پروژه های کریپتویی وارد کنند. از دست رفتن دارایی های کاربران، اختلال در سرویس ها و کاهش اعتماد جامعه تنها بخشی از پیامد های این حملات است. بهترین راه مقابله با چنین تهدیداتی، تقویت امنیت در تمام مراحل توسعه، مدیریت دقیق وابستگی های نرمافزاری، بررسی مداوم زیرساخت ها و همکاری با ارائهدهندگان معتبر است. همچنین افزایش آگاهی کاربران و توسعه دهندگان درباره روش های نوین حمله، میتواند خط دفاعی اول در برابر این تهدیدات باشد. در دنیای غیرمتمرکز ارز دیجیتال، پیشگیری همیشه آسانتر و کمهزینهتر از جبران خسارت است.
سوالات متداول
آیا کیف پول های سختافزاری کاملاً در برابر حملات زنجیره تأمین مصون هستند؟
خیر؛ اگرچه نرمافزار آنها امن است، اما ممکن است در مرحله تولید سختافزار یا هنگام بهروزرسانی فریمور آلوده شوند. برای کاهش ریسک، همیشه کیف پول ها را مستقیماً از سازنده رسمی تهیه کنید.
Typosquatting (تایپواسکواتینگ) دقیقاً چگونه در حملات زنجیره تأمین کریپتو استفاده میشود؟
تریدرها و توسعه دهندگان، بسته های نرمافزاری مخرب را به دلیل خطای تایپی در نام پکیجها (مانند کتابخانه های npm یا PyPI) دانلود میکنند. این بسته های آلوده که نامی مشابه بسته های قانونی دارند، کد مخرب را برای سرقت بیت کوین، دوج کوین و سایر دارایی ها اجرا میکنند.
رابطه بین اوراکل ها و آسیب پذیری زنجیره تأمین چیست؟
اوراکلها دادههای خارج از بلاکچین را به قراردادهای هوشمند میرسانند. نفوذ به اوراکل (به عنوان یک جزء در زنجیره تأمین) به مهاجم اجازه میدهد دادهها را دستکاری کند. این امر میتواند باعث اجرای نادرست قرارداد های هوشمند اتریوم یا لیکوئید شدن ناعادلانه دارایی های استیبل کوین در پلتفرم های دیفای شود.
علاوه بر سرقت دارایی، مهمترین تأثیر بلند مدت این حملات بر سرمایه گذاران چیست؟
مهمترین تأثیر، از بین رفتن اعتماد به کل سیستم غیرمتمرکز است. وقتی پروژه های بزرگ مورد حمله قرار میگیرند، سرمایه گذاران به امنیت زیرساخت بلاکچین و پروژه های دیفای شک میکنند که این امر رشد کلی اکوسیستم را کند خواهد کرد.