تعریف
بردار حمله مسیر تعریفشدهای است که از طریق آن، مهاجم میتواند بدون مجوز بر یک یا چند بُعد از یک سامانه – شامل تمامیت، در دسترسبودن یا محرمانگی آن – تأثیر بگذارد. در امنیت زنجیرهبلوک (blockchain) و قرارداد هوشمند، این اصطلاح به سازوکار، وضعیت یا الگوی تعاملی مشخصی اشاره دارد که میتوان از آن برای ایجاد رفتار ناخواسته یا استخراج ارزش سوءاستفاده کرد. بردارهای حمله میتوانند از نقصهای طراحی پروتکل، خطاهای پیادهسازی، یا فرضیات ناایمن درباره اجزای بیرونی مانند یک Oracle ناشی شوند.
برخلاف «آسیبپذیری» بهطور کلی که یک ضعف در سامانه است، بردار حمله توضیح میدهد که این ضعف در عمل چگونه توسط مهاجم پیدا و استفاده میشود. برای مثال، وجود یک شرط Reentrancy در قرارداد هوشمند یک آسیبپذیری است، در حالی که توالی فراخوانیها و تغییرات حالت که آن را قابل سوءاستفاده میکند، بردار حمله را تشکیل میدهد. بازبینیهای امنیتی، برنامههای Bug Bounty و پژوهشهای White Hat بر شناسایی و توصیف بردارهای حمله تمرکز دارند تا پیش از آنکه به یک Exploit واقعی در محیط زنده تبدیل شوند، کشف و برطرف شوند.
بستر و کاربرد
در بحثهای پیشرفته امنیت کریپتو، اصطلاح بردار حمله برای دستهبندی و انتقال دقیق مسیرهای بالقوه نفوذ در سامانههای پیچیده و قابل ترکیب استفاده میشود. این اصطلاح میتواند به مشکلات سطح پایین در منطق قرارداد هوشمند، تعاملات بین قراردادها، شکستهای انگیزشی در سطح پروتکل، یا وابستگی به منابع داده و زیرساخت خارج از زنجیره اشاره کند. ترسیم و نقشهبرداری از بردارهای حمله به رسمیسازی مدل تهدید یک پروتکل کمک میکند و روشن میسازد کدام فرضیات – مانند قابلاعتماد بودن یک Oracle – حیاتیتر هستند.
بردارهای حمله اغلب در گزارشهای پس از حادثه (post-mortem) مستند میشوند؛ جایی که زنجیره کامل شرایطی که به یک Exploit منجر شده، بازسازی میشود. آنها همچنین در افشاهای Bug Bounty دیده میشوند؛ جایی که پژوهشگران White Hat پیششرطها و الگوهای تراکنشی دقیق لازم برای فعالکردن مشکل را مشخص میکنند. در طول زمان، بردارهای حمله تکرارشونده – مانند موارد مرتبط با Reentrancy یا تنظیم نادرست کنترل دسترسی – به دستههای استاندارد در ردهبندیهای امنیتی تبدیل میشوند و بهترین رویهها برای طراحی و ممیزی پروتکل را شکل میدهند.