مجموعه تراشههای FPGA، آسیبپذیر به Starbleed
به گزارش کارگروه امنیت سایبربان ، به نقل از پایگاه اینترنتی ZDNet، این باگ که به Starbleed معروف شده مهاجم با دسترسی فیزیکی یا با ارتباط از راه دور را قادر به استخراج فایل پیکربندی (Bitstream) مجموعه تراشه FGPA و در ادامه دستدرازی به آن باهدف برنامهریزی مجدد تراشه با کد مخرب میکند.
Field Programmable Gate Arrays – بهاختصار FPGA – کارتهایی جانبی هستند که علاوه بر اینکه در سیستمهای کامپیوتری از رایانههای معمول گرفته تا سرورهای با کارایی بالا قابلاستفاده هستند در مواردی بهصورت مستقل نیز به کار گرفته میشوند. بردهای کوچک مدار مجتمعی که برای اجرای کد خاصی که بر اساس نیاز مالک دستگاه در FPGA برنامهریزیشده طراحیشدهاند.
افزایش استفاده از FPGA سبب شده تا در حال حاضر این مجموعه تراشهها بازار عظیمی را در اختیار داشته باشند.
کاربرد امروز آنها بهبود کارایی با اجرای عملیات مشخص بر روی FPGA – بجای CPU اصلی – و در ادامه ارسال نتایج به CPU است.
در موارد دیگر نیز از FPGA بهعنوان یک سیستم برونتراشهای (System-on-a-Chip) بهصورت مستقل برای قدرت بخشیدن به دستگاههای هوشمند یا تجهیزات زیرساختهای حیاتی استفاده میشود.
تراشههای FPGA را میتوان در بسیاری از سیستمهای امنیت حیاتی (Safety-critical)، مراکز داده رایانش ابری، ایستگاههای پایه گوشیهای موبایل، حافظههای USB رمزگذاری شده و سیستمهای کنترل صنعتی یافت.
مزیت اصلی FPGA در مقایسه با تراشههای سختافزاری سنتی باقابلیتهای ثابت به امکان برنامهریزی مجدد آن بازمیگردد.
برنامهریزی مجدد (Reprogrammability) کاربر را قادر میسازد تا پیکربندیها موردنظر خود، متشکل از مجموعهای عملیات را در FPGA اعمال کند. این پیکربندیها که از آن با Bitstream یاد میشود معمولاً بهصورت رمزگذاری شده در یک رسانه خارجی – نظیر حافظههای غیر فرار SRAM یا ثابتافزار (Firmware) یک میکروکنترولر خارجی – ذخیره و از آن فراخوانی میشوند.
اخیراً در مقالهای علمی، محققان از وجود باگ امنیتی Starbleed در مجموعه تراشههای FPGA ساخت شرکت آمریکایی Xilinx خبر دادهاند. Xilinx یکی از اصلیترین شرکتهای فعال در بازار FPGA است.
سریهای ۷ مجموعه تراشههای FPGA شرکت Xilinx، شامل خانوادههای Spartan، Artix، Kintex و Virtex و خانواده Virtex در سری ۶ به باگ مذکور آسیبپذیر گزارششدهاند.
به گفته محققان، Starbleed مهاجم را قادر به شکستن رمزگذاری Bitstream و دستدرازی به عملیات ذخیرهشده در آن کرده و در ادامه بستر را برای اجرای کد مخرب بر روی دستگاه آسیبپذیر فراهم میکند.
وظیفه Bitstream در این دستگاهها، اصالتسنجی بر پایه HMAC مبتنی بر SHA-۲۵۶ و همچنین تأمین محرمانگی با رمزگذاری CBC-AES-۲۵۶ است.
در جریان بررسی، محققان موفق به دور زدن رمزگذاری Bitstream و رمزگشایی آن در تمامی دستگاههای سری ۷ و Virtex-۶ شدهاند.
به گفته این محققان اگرچه حملات Starbleed نیازمند دسترسی فیزیکی به درگاه JTAG در FPGA هستند اما اگر Bitstream از یک میکروکنترولر یا یک منبع شبکهای دیگر فراخوانی شود باهدف قرار دادن سیستمی که Bitstream ازآنجا فراخوانی میشود میتوان حمله را بهصورت از راه دور با موفقیت به سرانجام رساند. بهخصوص آنکه برخلاف FPGA، در بسیاری مواقع، این سیستمها در سطح شبکه یا حتی اینترنت قابلدسترساند.
همچنین محققان اعلام کردهاند که آسیبپذیری FPGA از جهات بسیاری با بهرهجوهای (Exploit) قبلی متفاوت است.
ماهیت تمامی حملات شناختهشده بر ضد رمزگذاری Bitstream در دستگاههای سری ۷ شرکت Xilinx سختافزاری بوده (از طریق تجزیهوتحلیل کانال جانبی یا کاوش نوری بدون تماس) و ازلحاظ تجهیزات، زمان و تخصص فنی موردنیاز برای اجرای اکثر آنها پرهزینه تلقی میشوند. ضمن اینکه در آن حملات فراهم بودن دسترسی فیزیکی به FPGA ضروری است.
در مقابل اما، در حملات مبتنی بر Starbleed تنها دسترسی به درگاه JTAG یا رابط کاربری SelectMAP نیاز است. به دلیل کاربرد اشکالزدایی JTAG نیز فراهم بودن امکان دسترسی از راه دور در بسیاری مواقع میتواند محتمل باشد.
درحالیکه سرقت دادههای Bitstream یا دستدرازی به آنها بیثمر به نظر میآید اما محققان تأکیددارند که امنیت این دستگاهها فوقالعاده بااهمیت است.
دادههای سرقت شده از Bitstream میتواند بسیار باارزش باشد. یا مثلاً دستدرازی به Bitstream میتواند به راهیابی یک تروجان سختافزاری به FPGA منجر شود.
ضمناً گر چه اجرای موفق حمله بهصورت از راه دور مستلزم دانش فنی بالای مهاجم است اما در صورت دستیابی به آن انجام حمله بدون دسترسی فیزیکی هم فراهم میشود.
محققان با این توضیح که سازوکارهای رمزگذاری Bitstream در سطح سختافزار بوده تنها راهترمیم Starbleed را جایگزین شدن FPGA آسیبپذیر با یک مجموعهتراشهای بازطراحیشده میدانند.
این محققان وجود آسیبپذیری Starbleed را در سپتامبر سال میلادی گذشته به شرکت Xilinx گزارش کردند.
Xilinx علیرغم پذیرفتن ممکن بودن اجرای حمله با سوءاستفاده Starbleed، در خصوص شدت خطر آن چندان با محققان همنظر نیست.
این شرکت وجود آسیبپذیری را به مشتریان خود اطلاعرسانی کرده اما درعینحال اعلام نموده که اجرای موفق حمله مبتنی بر Starbleed منوط به فراهم بودن دسترسی نزدیک و فیزیکی مهاجم به سیستم است. به گفته این شرکت در صورت مهیا شدن چنین دسترسی برای مهاجم، موارد بهمراتب نگرانکنندهتری از Starbleed وجود خواهد داشت؛ لذا به مشتریان خود توصیه کرده که با پیادهسازی سازوکارهای مناسب مانع فراهم شدن چنین دسترسیهایی شوند.
درحالیکه با اتخاذ تدابیری حفاظت فیزیکی از FPGA قابل انجام است اما اینچنین حفاظتها لزوماً به معنای عدم دسترسی از راه دور به Bitstream نخواهد بود.
لذا محققان، در صورت آسیبپذیر بودن FPGA مورداستفاده در دستگاههای دخیل در سیستمهای حیاتی، جایگزینی آن با مجموعهتراشهای با الگوی رمزگذاری پیشرفتهتر را مطلوب میدانند.
لازم به ذکر است که نسل جدید بوردهای UltraScale شرکت Xilinx به Starbleed آسیبپذیر گزارش نشدهاند.
مقاله مذکور با عنوان "The Unpatchable Silicon: A Full Break of the Bitstream Encryption of Xilinx ۷-Series FPGAs" در لینک زیر قابل دریافت و مطالعه است:
https://www.usenix.org/system/files/sec۲۰fall_ender_prepub.pdf