هکرها یا افراد مخرب بیست پکیج آلوده را در npm منتشر کردهاند که خود را بهعنوان ابزار رسمی Hardhat معرفی میکنند. این پکیجها با هدف سرقت کلیدهای خصوصی توسعهدهندگان Ethereum و اطلاعات حساس دیگر طراحی شدهاند.
پژوهشگران گزارش دادهاند که تعداد کل دانلودهای بستههای نرمافزاری مخرب از مرز ۱۰۰۰ بار گذشته است.
کمپین هدفگیری محدود
Hardhat یک محیط توسعه پرکاربرد Ethereum است که توسط بنیاد Nomic نگهداری میشود. این ابزار برای توسعه، آزمایش و استقرار قراردادهای هوشمند و برنامههای غیرمتمرکز (dApps) بر روی بلاکچین Ethereum استفاده میشود.
این ابزار معمولاً توسط توسعهدهندگان نرمافزار بلاکچین، شرکتهای فناوری مالی (Fintech)، استارتاپها و مؤسسات آموزشی استفاده میشود.
کاربران، مانند توسعهدهندگان بلاکچین یا استارتاپها، معمولاً برای یافتن و نصب اجزای مورد نیاز پروژههای خود از npm استفاده میکنند. این ابزار به آنها کمک میکند تا بهراحتی وابستگیها، کتابخانهها و ماژولهای جاوااسکریپت را مدیریت و بهروزرسانی کنند.
سه حساب کاربری مخرب در npm اقدام به انتشار ۲۰ بسته آلوده به بدافزار کردند. این بستهها از تایپواسکواتینگ برای تقلید از بستههای معروف و قانونی استفاده کردند تا کاربران بدون آگاهی آنها را بهعنوان بستههای معتبر نصب کنند. هدف این بستهها، سرقت اطلاعات حساس کاربران بوده است.
Socket نام ۱۶ بسته مخرب را به اشتراک گذاشت که عبارتاند از:
- nomicsfoundations
- @nomisfoundation/hardhat-configure
- installedpackagepublish
- @nomisfoundation/hardhat-config
- @monicfoundation/hardhat-config
- @nomicsfoundation/sdk-test
- @nomicsfoundation/hardhat-config
- @nomicsfoundation/web3-sdk
- @nomicsfoundation/sdk-test1
- @nomicfoundations/hardhat-config
- crypto-nodes-validator
- solana-validator
- node-validators
- hardhat-deploy-others
- hardhat-gas-optimizer
- solidity-comments-extractors
پس از نصب بستههای مخرب، کدهای موجود در آنها سعی میکنند کلیدهای خصوصی، فایلهای پیکربندی و یادآورها را که برای محیط توسعه Hardhat استفاده میشوند جمعآوری کرده، سپس با استفاده از یک کلید رمزگذاری ثابت (AES) آنها را رمزگذاری کنند و در نهایت به مهاجمان ارسال نمایند.
Socket توضیح میدهد که این بستههای مخرب از ویژگیهای محیط زمان اجرای Hardhat مانند توابع hreInit() و hreConfig() سوءاستفاده میکنند تا اطلاعات حساس مثل کلیدهای خصوصی، یادآورها و فایلهای پیکربندی را جمعآوری کنند.
اطلاعاتی که توسط بستههای مخرب جمعآوری میشوند، به نقاط پایانی کنترلشده توسط مهاجمان ارسال میشود. این کار با استفاده از کلیدهای سختکد شده و آدرسهای Ethereum برای استخراج آسانتر دادهها انجام میشود، به این معنا که دادهها بهطور خودکار و سریع به مقصد مهاجمان منتقل میشوند.
ریسکهای امنیتی و تدابیر کاهش آنها
حملهای که به سرقت کلیدهای خصوصی یا یادآورها منجر میشود، میتواند اولین پیامدش از دست رفتن وجوه باشد، زیرا مهاجم میتواند تراکنشهای غیرمجاز را با استفاده از این اطلاعات آغاز کند و بهطور غیرقانونی پول را از کیفپولهای Ethereum انتقال دهد.
اگر مهاجمان به سیستمهای توسعهدهندگان دسترسی پیدا کنند، میتوانند به سیستمهای تولیدی نفوذ کرده و به قراردادهای هوشمند آسیب برسانند یا نسخههای مخرب از dAppهای موجود را پیادهسازی کنند. این اقدامات میتوانند زمینهساز حملات بزرگتر و خطرناکتری در مقیاس وسیعتر شوند.
فایلهای پیکربندی Hardhat ممکن است شامل کلیدهای API و اطلاعات حساس مربوط به شبکههای توسعه و نقاط پایانی باشند. مهاجمان میتوانند از این اطلاعات برای آمادهسازی حملات فیشینگ و فریب دادن کاربران استفاده کنند تا به اطلاعات حساس دست یابند.
توسعهدهندگان نرمافزار باید برای جلوگیری از خطرات امنیتی احتیاط کنند، اصالت بستهها را بررسی کنند، از حملات typosquatting آگاه باشند و قبل از نصب بستهها، کد منبع آنها را بهدقت بررسی کنند.
کلیدهای خصوصی نباید در داخل کد برنامه بهصورت ثابت قرار داده شوند (که امنیت آنها را به خطر میاندازد). بلکه باید در مکانهای امن مانند گاوصندوقهای دیجیتال ذخیره شوند تا از دسترسی غیرمجاز محافظت شوند.
برای کاهش خطرات امنیتی و مشکلات مربوط به وابستگیها، باید از فایلهای قفل برای تثبیت نسخههای وابستگیها استفاده کرد و همچنین تعداد وابستگیها را به حداقل رساند تا پیچیدگیها و ریسکها کاهش یابد.