به خطر انداختن زنجیره تأمین
Supply Chain Compromiseتوضیحات
مهاجمان زنجیره تأمین نرمافزار یا سختافزار را به خطر میاندازند تا کد مخرب را قبل از رسیدن به قربانی نهایی وارد کنند. این تکنیک شامل دستکاری ابزارهای توسعه، وابستگیهای نرمافزاری، مکانیزمهای بهروزرسانی یا سختافزار است. حملات زنجیره تأمین میتوانند تعداد زیادی از قربانیان را همزمان تحت تأثیر قرار دهند.
زیرتکنیکها (3)
مهاجمان وابستگیهای نرمافزاری و ابزارهای توسعه را به خطر میاندازند تا کد مخرب را در محصولات نرمافزاری تزریق کنند. این شامل آلوده کردن کتابخانههای open-source پرطرفدار در npm، PyPI، Maven یا سایر مخازن است. حمله به وابستگیها میتواند هزاران برنامه را که از آن وابستگی استفاده میکنند تحت تأثیر قرار دهد.
مهاجمان مکانیزمهای توزیع و بهروزرسانی نرمافزار را به خطر میاندازند تا نرمافزار مخرب را به کاربران نهایی تحویل دهند. این شامل دستکاری سرورهای بهروزرسانی، جایگزینی نرمافزار قانونی با نسخههای آلوده یا تزریق کد مخرب به فرایند build است. حمله SolarWinds نمونه معروفی از این تکنیک است.
مهاجمان سختافزار را در هر مرحله از زنجیره تأمین، از تولید تا تحویل، به خطر میاندازند. این شامل تزریق implant های سختافزاری، دستکاری فریمور، نصب keylogger های سختافزاری یا سایر اصلاحات فیزیکی است. سختافزار به خطر افتاده بسیار دشوار شناسایی میشود و میتواند دسترسی پایدار ایجاد کند.
روشهای شناسایی
بررسی integrity نرمافزارهای نصبشده. پایش تغییرات غیرمجاز در کد منبع. نظارت بر رفتار غیرعادی پس از بهروزرسانی نرمافزار. استفاده از code signing verification.
روشهای مقابله
استفاده از code signing و integrity verification. بررسی دقیق وابستگیهای نرمافزاری. پیادهسازی Software Composition Analysis (SCA). محدودسازی منابع نصب نرمافزار. بررسی امنیتی تأمینکنندگان.