یادگیری ماشین با تحلیل عملکرد پردازنده، حملات سخت‌افزاری به RISC-V را شناسایی می‌کند

bioengineer.org

انتشار در منبع: انتشار در سایت ما:

مقاله اصلی · English

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

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

محور این پژوهش، مجموعه‌داده جدیدی به نام HARPY-V-GEM5 است که به گفته نویسندگان، نخستین مجموعه‌داده عمومی برای معماری RISC-V محسوب می‌شود که خوانش‌های شمارنده‌های عملکرد سخت‌افزاری را با فراوانی نام اختصاری دستورالعمل‌های نهایی‌شده پردازنده ترکیب می‌کند. RISC-V یک معماری مجموعه‌دستورالعمل متن‌باز و بدون حق امتیاز است که به‌دلیل ساختار ماژولار و شفافیت خود، برای پژوهش و سامانه‌های توکار جذابیت زیادی دارد. بااین‌حال، پژوهشگران خاطرنشان می‌کنند که همین گشودگی باعث تفاوت بیشتر میان پیاده‌سازی‌های مختلف و گسترش سطح حمله در لایه سخت‌افزار می‌شود؛ لایه‌ای که تدابیر حفاظتی متعارف مبتنی بر نرم‌افزار اغلب قادر به مشاهده فعالیت‌های آن نیستند. به گفته آن‌ها، مجموعه‌داده‌های پیشین RISC-V عمدتاً بر صحت عملکرد یا محک‌زنی کارایی تمرکز داشته‌اند، نه رفتارهای مرتبط با امنیت؛ ازاین‌رو، مجموعه‌داده جدید برای پر کردن این خلأ طراحی شده است.

برای ساخت این مجموعه‌داده، پژوهشگران ۳۲ فایل اجرایی سفارشی را در شبیه‌ساز کامل سامانه gem5، نسخه 24.1.0.3، و در حالت شبیه‌سازی فراخوانی‌های سیستمی اجرا کردند. از این تعداد، ۱۶ برنامه کاربردی بی‌خطر و ۱۶ نمونه بهره‌برداری مخرب بودند. همه برنامه‌ها با زنجیره ابزار GCC مخصوص RISC-V به‌صورت ایستا کامپایل شدند. پردازنده شبیه‌سازی‌شده نیز یک هسته RISC-V با اجرای خارج از ترتیب، تک‌هسته‌ای و تک‌رشته‌ای بود که با فرکانس ۳ گیگاهرتز کار می‌کرد و به حافظه نهان سطح اول ۱۶ کیلوبایتی و حافظه نهان سطح دوم ۲۵۶ کیلوبایتی مجهز بود. پژوهشگران با اعمال وصله‌ای سفارشی به gem5 توانستند نام اختصاری دستورالعمل‌های نهایی‌شده را در کنار شمارنده‌های استاندارد عملکرد استخراج کنند؛ قابلیتی که ابزارهای معمول شبیه‌ساز به‌طور پیش‌فرض ارائه نمی‌کنند. داده‌ها در فواصل ثابت، پس از هر ۱۰ هزار دستورالعمل نهایی‌شده، نمونه‌برداری شدند. این وضوح زمانی بالا برای ثبت ناهنجاری‌های گذرای ریزمعماری انتخاب شد؛ ناهنجاری‌هایی که در فعالیت‌های کانال جانبی، از جمله تغییرات زمان‌بندی حافظه نهان و الگوهای بهره‌برداری از اجرای حدسی، دیده می‌شوند.

بارهای کاری مخرب طیف متنوعی از حملات را در بر می‌گرفتند؛ از حملات مبتنی بر حافظه نهان و بهره‌برداری از اجرای حدسی گرفته تا روش‌های مبتنی بر زمان‌سنج و تکنیک‌های استنباط دسترسی به حافظه. مجموعه برنامه‌های بی‌خطر نیز شامل پردازش چندرسانه‌ای، فشرده‌سازی داده، پردازش متن، محاسبات عددی و ارزیابی عملکرد سامانه بود تا مدل‌ها با طیف گسترده‌ای از رفتارهای عادی آشنا شوند. ازآنجاکه برنامه‌های بی‌خطر معمولاً طولانی‌تر از کدهای بهره‌برداری اجرا می‌شوند، پژوهشگران از روش کم‌نمونه‌گیری سخت‌گیرانه‌ای استفاده کردند: ردپای اجرای هر برنامه از ابتدا تا طول کوتاه‌ترین بار کاری مخرب بریده شد. در نتیجه، برای هر برنامه دقیقاً ۱۲٬۸۹۰ نمونه و در مجموع ۴۱۲٬۴۸۰ نمونه به دست آمد. این متوازن‌سازی تعداد نمونه‌های دو کلاس، نیاز به روش‌های افزایش مصنوعی داده، مانند شبکه‌های مولد تخاصمی، را از میان برد و کمک کرد مدل‌ها به‌جای یادگیری تفاوت‌های ناشی از طول اجرا، امضاهای رفتاری را شناسایی کنند. یک بار کاری به نام GhostWrite به‌طور طبیعی تنها ۲٬۳۴۰ نمونه تولید کرد که با تکرار اجراها افزایش یافت. نویسندگان گزارش می‌کنند که عملکرد دسته‌بند، چه هنگام آموزش با ردپای اصلی و چه با ردپای توسعه‌یافته، پایدار باقی ماند.

برای انتخاب ویژگی‌ها، پژوهشگران از روش SelectKBest همراه با آزمون‌های اف یک‌متغیره مبتنی بر تحلیل واریانس (ANOVA) استفاده کردند. آن‌ها عمداً انتخاب ویژگی را به شمارنده‌هایی محدود کردند که معمولاً در پردازنده‌های فیزیکی در دسترس‌اند تا نتایج شبیه‌سازی قابلیت انتقال به سخت‌افزار واقعی را داشته باشند. در یک مطالعه حذف ویژگی‌ها با استفاده از دسته‌بند جنگل تصادفی، دقت تشخیص با افزایش تعداد شمارنده‌ها از ۶۷٫۱۷ درصد با یک شمارنده به ۹۹٫۶۰ درصد با چهار شمارنده رسید و پس از استفاده از بیش از پنج ویژگی، به حالت تقریباً ثابت درآمد. شمارنده‌های برتر شامل دسترسی‌ها و خطاهای حافظه نهان سطح اول و دوم و نیز معیارهای پیش‌بینی انشعاب بودند. در مجموعه آزمون حملات شناخته‌شده، مدل جنگل تصادفی به دقت تشخیص ۹۹٫۵۵ درصد و امتیاز F1 برابر با ۹۹٫۵۵ درصد رسید. درخت تصمیم نیز با دقت ۹۹٫۵۴ درصد عملکردی تقریباً مشابه داشت. هر دو مدل در طبقه‌بندی چندکلاسه انواع حمله با استفاده از شمارنده‌های سخت‌افزاری نیز عملکرد خوبی نشان دادند؛ دقت مدل جنگل تصادفی در این وظیفه به ۹۷٫۵۲ درصد رسید. این نتیجه نشان می‌دهد که حملاتی با ماهیت متفاوت، مانند Spectre و Flush+Reload، ردپاهای ریزمعماری متمایزی در میزان فشار بر حافظه نهان و پیش‌بینی‌کننده انشعاب بر جای می‌گذارند.

ویژگی‌های استخراج‌شده در سطح دستورالعمل‌ها نتایج متفاوت‌تری داشتند. با استفاده از هشت نام اختصاری دستورالعمل برتر که نهایی شده بودند، دقت تشخیص همچنان بالاتر از ۹۹ درصد باقی ماند، اما توانایی مدل در تعیین خانواده مشخص حمله به حدود ۶۰ درصد سقوط کرد. به باور نویسندگان، دلیل این تفاوت آن است که کد مخرب از نظر بنیادی با کد بی‌خطر تفاوت دارد؛ برای مثال، ممکن است دستورالعمل‌های خاص را با تراکم بیشتری اجرا کند یا از حلقه‌های فشرده بهره ببرد. در مقابل، انواع مختلف کد مخرب شباهت زیادی به یکدیگر دارند، زیرا بسیاری از روش‌های بهره‌برداری، روال‌های راه‌اندازی مشترکی مانند تخلیه خطوط حافظه نهان دارند. تحلیل توزیع کدهای عملیاتی نیز این الگو را تأیید کرد: در برنامه‌های بی‌خطر، دستورالعمل‌های محاسباتی و بارگذاری، مانند c_add و lw، غالب بودند؛ اما در برنامه‌های مخرب، فراوانی دستورالعمل‌های فشرده ذخیره دو واژه، دستورالعمل‌های انشعاب مانند bne و به‌ویژه csrrs به‌طور چشمگیری بیشتر بود. دستورالعمل csrrs برای دسترسی به شمارنده‌های عملکرد سخت‌افزاری و منابع زمان‌سنجی به کار می‌رود؛ عملیاتی که در حملات کانال جانبی نقش محوری دارند.

نگران‌کننده‌ترین بخش پژوهش به ارزیابی حملات روز صفر اختصاص داشت. نویسندگان از روش اعتبارسنجی متقابل «حذف یک برنامه» استفاده کردند؛ در این روش، یک برنامه کامل، شامل تمام ۱۲٬۸۹۰ نمونه آن، از فرایند آموزش کنار گذاشته شد و فقط برای آزمون به کار رفت تا مواجهه با یک فایل اجرایی ناشناخته شبیه‌سازی شود. نتایج کلی در نگاه نخست قابل‌قبول بودند: دقت جنگل تصادفی با استفاده از ویژگی‌های شمارنده‌های سخت‌افزاری به ۹۰٫۰۸ درصد و دقت درخت تصمیم به ۸۵٫۶۷ درصد رسید. بااین‌حال، این میانگین‌ها تفاوت‌های بسیار زیادی میان برنامه‌ها را پنهان می‌کنند؛ انحراف معیار نتایج برای برنامه‌های مختلف بین ۲۵ تا ۳۶ واحد درصد بود. برخی حملات کنارگذاشته‌شده، از جمله spectrev2 با دقت ۱٫۳۴ درصد و flush-fault-ret با دقت صفر درصد، عملاً قابل‌شناسایی نبودند. علت این بود که مدل‌ها به‌جای الگوهای بنیادی آسیب‌پذیری، امضاهای ریزمعماری مختص هر برنامه را آموخته بودند.

بااین‌حال، نقاط ضعف دو نوع ویژگی تا حد زیادی مکمل یکدیگر بودند. مدل‌های مبتنی بر شمارنده‌های سخت‌افزاری در شناسایی حملاتی مانند flush_fault، flush-fault-ret، interrupt-timing و spectre-rsb ناکام ماندند، اما ویژگی‌های مبتنی بر دستورالعمل توانستند این حملات را با دقتی بیش از ۹۹ درصد تشخیص دهند. در جهت مقابل، حمله timer-drift که بر زمان‌بندی متکی است، هنگام استفاده از ویژگی‌های دستورالعملی دقت صفر درصد داشت، اما با کمک شمارنده‌های سخت‌افزاری تقریباً به‌طور کامل شناسایی شد. این نتیجه نشان می‌دهد که فراوانی دستورالعمل‌ها به‌تنهایی نمی‌تواند ناهنجاری‌های زمانی را که شمارنده‌ها مستقیماً آشکار می‌کنند، ثبت کند. تنها حمله spectrev2 در برابر هر دو روش مقاوم ماند. پژوهشگران همچنین میزان بیش‌برازش را اندازه‌گیری کردند: فاصله میان دقت آموزش و دقت روی داده‌های کنارگذاشته‌شده برای مدل جنگل تصادفی مبتنی بر شمارنده‌های سخت‌افزاری ۲۱٫۶ واحد درصد بود، درحالی‌که این فاصله برای درخت تصمیم مبتنی بر دستورالعمل‌ها به ۹٫۷ واحد درصد می‌رسید. این تفاوت نشان می‌دهد که شمارنده‌های سخت‌افزاری، با وجود قدرت تفکیک بیشتر در برابر حملات شناخته‌شده، بیشتر مستعد یادگیری ویژگی‌های مختص هر برنامه هستند.

اما چرا پژوهشگران به‌جای یادگیری عمیق، مدل‌های ساده درختی را انتخاب کردند؟ آن‌ها به محدودیت‌های محاسباتی ناظرهای امنیتی در سامانه‌های توکار اشاره می‌کنند. درخت تصمیم برای هر بار استنتاج تنها به تعداد مقایسه‌هایی متناسب با عمق درخت، یعنی O(d)، نیاز دارد؛ در مقابل، شبکه عصبی باید عملیات ضرب و انباشت متناسب با تعداد وزن‌های خود را انجام دهد که با نماد O(w) بیان می‌شود. تحلیل آن‌ها نشان می‌دهد که استنتاج با درخت تصمیم تقریباً سه مرتبه بزرگی سریع‌تر از یک پرسپترون چندلایه با اندازه متوسط است و کمتر از ۱۰۰ کیلوبایت حافظه نیاز دارد، درحالی‌که شبکه عصبی ممکن است چندین مگابایت حافظه اشغال کند. پژوهشگران همچنین دریافتند که ماشین‌های بردار پشتیبان با هسته تابع پایه شعاعی (RBF) در طبقه‌بندی عملکرد قابل‌قبولی داشتند و به دقت ۹۲٫۵۴ درصد رسیدند، اما در تشخیص دودویی عملکرد ضعیفی نشان دادند و دقت آن‌ها تنها ۶۱٫۰۸ درصد بود. این نتیجه حاکی از آن است که کلاس‌های بی‌خطر و مخرب را نمی‌توان به‌سادگی با یک مرز خطی از هم جدا کرد. گروه پژوهشی بر پایه این یافته‌ها چند پیشنهاد عملی ارائه کرد: استفاده از یک آشکارساز مبتنی بر درخت تصمیم و ویژگی‌های دستورالعملی برای پایش بلادرنگ روی تراشه، به‌کارگیری جنگل تصادفی مبتنی بر شمارنده‌های سخت‌افزاری در مرحله دوم برای تعیین نوع حمله، و ترکیب هر دو روش در یک فرایند تشخیص دومرحله‌ای.

پژوهشگران صریحاً به محدودیت‌های نتایج خود اشاره می‌کنند. تمام آزمایش‌ها در محیط gem5 انجام شده‌اند؛ شبیه‌سازی‌ای که ممکن است ویژگی‌های زمان‌بندی و تفاوت‌های خاص تراشه‌های فیزیکی RISC-V را به‌طور کامل بازتولید نکند. بنابراین، این احتمال وجود دارد که دسته‌بندها تا حدی الگوهای مختص شبیه‌ساز را یاد گرفته باشند، نه ویژگی‌های سخت‌افزار واقعی را. مجموعه نمونه‌های مخرب نیز فقط شامل ۱۶ پیاده‌سازی اثبات مفهوم از حملات است، درحالی‌که بدافزارهای دنیای واقعی ممکن است رفتارهای متنوع‌تر و پیچیده‌تری داشته باشند. اعتبارسنجی نتایج روی سخت‌افزار فیزیکی، گسترش پوشش حملات به روش‌هایی مانند برنامه‌نویسی بازگشت‌گرا (ROP) و ارتقای سطح دسترسی، و ادغام آشکارسازها در ناظرهای بلادرنگ هنگام اجرا، از جمله مسیرهای پیشنهادی برای پژوهش‌های آینده هستند. با وجود این محدودیت‌ها، این مطالعه یک مبنای قابل‌بازتولید و ارزیابی صریح از ظرفیت مدل‌های سبک‌وزن و تفسیرپذیر ارائه می‌کند؛ مدل‌هایی که با پایش شمارنده‌های داخلی پردازنده می‌توانند به یکی از راهکارهای عملی دفاع از نسل آینده سامانه‌های مبتنی بر معماری‌های مجموعه‌دستورالعمل باز تبدیل شوند.

موضوع پژوهش: شناسایی و طبقه‌بندی حملات سخت‌افزاری به RISC-V با استفاده از یادگیری ماشین، شمارنده‌های عملکرد سخت‌افزاری و داده‌های مربوط به دستورالعمل‌های پردازنده.

عنوان مقاله پژوهشی: شناسایی و طبقه‌بندی سبک‌وزن حملات سخت‌افزاری به RISC-V با استفاده از روش‌های یادگیری ماشین.

مشخصات مقاله: Pujol, J.-T., Otero, B., Verdú, J., & Canal, R. (2026). Lightweight detection and classification of RISC-V hardware exploits using machine learning techniques. Neural Computing and Applications, 38(20), 854. https://doi.org/10.1007/s00521-026-12467-4

شناسه دیجیتال مقاله (DOI): 10.1007/s00521-026-12467-4

کلیدواژه‌ها: RISC-V، امنیت سخت‌افزار، شناسایی بدافزار، یادگیری ماشین، شمارنده‌های عملکرد سخت‌افزاری، شبیه‌ساز gem5، حملات کانال جانبی، جنگل تصادفی، درخت تصمیم، حملات روز صفر، مجموعه‌داده HARPY-V-GEM5، داده‌های تله‌متری ریزمعماری.