آسیب پذیری در بردهای FPGA شرکت Xilinx

دسته بندی ها : آسیب پذیری ۴ خرداد ۱۳۹۹ آپا دانشگاه تبریز 75 بازدید
xilinx

چکیده

امروزه تراشه­ های FPGA (آرایه گیتی قابل برنامه ­ریزی میدانی) یک بوم سفید نقاشی را در اختیار طراحان الکترونیک قرار می ­دهند که به آن­ها اجازه می ­دهد تا طراحی دیجیتال خود را آنچنان که می خواهند و با هر حجم و پیچیدگی لازم، طراحی کنند. FPGAها نسل جدید مدارهای مجتمع دیجیتال قابل برنامه­ ریزی هستند که سرعت اجرای توابع منطقی در آن­ها بسیار بالا بوده و در حد نانو ثانیه است. به طور کلی هر پردازش محاسباتی را می ­توان با FPGA انجام داد. این مسئله به این دلیل است که عملا می­ توان توسط یک FPGA ، یک پردازنده را طراحی کرد و در نتیجه می ­توان همه پردازش هایی را که با پردازنده ­های دیگر انجام می شود، با FPGA نیز انجام داد. به تازگی یک آسیب­ پذیری غیر قابل وصله در محصولات منطقی قابل برنامه­ ریزی شرکت Xilinx کشف شده است که به مهاجمان امکان می ­دهد بتوانند رمزنگاری جریان بیت­ها را بشکنند و عملکرد را تغییر دهند و یا حتی بدافزارهای سخت­ افزاری را روی آن­ها نصب کنند. در ادامه به بررسی بیشتر این آسیب ­پذیری خواهیم پرداخت.

 محصولات تحت تاثیر

آسیب ­پذیری یافت شده، بردهای FPGA سری ۷ و Virtex-6 از محصولات شرکت Xilinx را تحت تاثیر قرار می ­دهد. این آسیب­ پذیری در اثر یک اشکال در طراحی به وجود آمده است که جریان بیتی رمزگشایی شده را به صورت تکه ­ای افشا می­ کند. برای بهره­ برداری از آسیب ­پذیری، تنها دسترسی داشتن به یک واسط پیکربندی لازم است و از ابزارهای پیچیده­ ای استفاده نمی ­شود. همچنین بسته به سیستم هدف، ممکن است بتوان بهره­ برداری از این آسیب­ پذیری را از راه دور نیز انجام داد.

تاثیر آسیب پذیری

امنیت FPGA موضوع مهمی است؛ زیرا هرگونه آسیب­ پذیری در سخت افزار، در صورت استفاده در یک طراحی امن می­ تواند پیامدهای جدی به دنبال داشته باشد. از آنجایی که طرح های FPGA با استفاده از جریان بیت­ ها رمزگذاری می­ شوند، تأمین امنیت جریان بیت­ها در آن­ها، از اهمیت بالایی برخوردار است. از این رو مهاجمان نیز انگیزه­های بسیاری برای بازیابی و دستکاری جریان بیت­ ها دارند، از جمله انتشار طراحی، سرقت IP، دستکاری در طرح و یا جاسازی بدافزارهای سخت ­افزاری.

با توجه به اینکه FPGAها اغلب جزئی از سیستم های فیزیکی سایبری هستند که در کاربردهای زیادی از جمله در وسایل حمل و نقل هوایی، پزشکی یا صنعتی استفاده می ­شوند، اخلال در عملکرد آن­ها حتی می­ تواند به آسیب جسمی منجر شود. از این رو فروشندگان، رمزگذاری جریان بیت ­ها را معرفی کرده ­اند که قابلیت­ های احراز هویت و محرمانگی را ارائه می ­دهد. با این که در گذشته نیز حملاتی علیه این رمزگذاری معرفی شده بود مانند حمله تجزیه و تحلیل کانال جانبی؛ اما این حملات نیاز به تجهیزات پیشرفته و تخصص فنی قابل توجهی داشتند. با این حال، بهره­ برداری از آسیب ­پذیری تازه کشف شده در این بردها، نیاز به تجهیزات پیچیده ندارد و تنها با دسترسی داشتن به یک واسط پیکربندی، قابل بهره ­بردای است.

 مشخصه های آسیب پذیری

FPGAها مدارهای یکپارچه قابل برنامه ­ریزی هستند که می­ توانند تنظیم مجدد شوند تا بسته به محلی که مستقر می شوند، با یک برنامه یا عملکرد دلخواه مطابقت داشته باشند. FPGAها به دلیل انعطاف­ پذیری زیاد، در توسعه شبکه های تلفن همراه ۵G، لوازم الکترونیکی مصرفی، مراکز داده، هوافضا و فناوری خودرو به طور گسترده مورد استفاده قرار می­ گیرند.

شایان ذکر است که Xilinx و Intel (از طریق مالکیت شرکت Altera) بر بازار FPGA تسلط دارند و Xilinx به تنهایی نزدیک به ۵۰٪ از سهم بازار را به خود اختصاص داده است. به گفته محققان با توجه به اینکه طراحی­ های FPGA به صورت جریانی از بیت­ ها رمزگذاری می ­شوند، آسیب ­پذیری سخت­ افزاری در این مقیاس می­ تواند عواقب جدی داشته باشد.

بر خلاف دیگر حملات کانال جانبی و کاوشی شناخته شده علیه بردهای FPGAی Xilinx و Altera ، حمله “کم­ هزینه” جدید با هدف بازیابی و دستکاری جریان بیت ­ها با بهره ­گیری از رابط پیکربندی (مانند SelectMAP یا JTAG) برای خواندن داده های برگشتی از دستگاه FPGA انجام می ­گیرد.

به عنوان یک ویژگی ، “بازخوانی” به منظور تأیید صحت بارگیری طرح در دستگاه انجام می­ گیرد؛ اما به منظور محافظت از طرح، جریان بیتی رمزگذاری می ­شود (با رمزنگاری AES-256 در حالت CBC) تا از بازخوانی در همه درگاه­های خارجی جلوگیری شود.

حمله ابداع شده توسط محققان برای دستکاری جریان بیتی رمزگذاری شده، برای هدایت داده­ های پیکربندی رمزگشایی شده به یک ثبّات آدرس شروع راه ­اندازی چندگانه(WBSTAR) به کار می­رود. در این حالت، امکان جابجایی بین تصاویر در حال انتقال برای به­ روز رسانی­ های راه دور و بارگیری جریان بیتی یک طراحی خوب شناخته شده روی دستگاه FPGA فراهم می ­شود.

اما با توجه به استفاده از حافظه فلش برای ذخیره این قطعات، تنظیم مجدد محتوای ثبّات را پاک نمی­کند. در نتیجه، محرمانه بودن جریان بیت ­ها می تواند به شرح زیر شکسته شود:

  • یک جریان بیتی مخرب و یک جریان بیتی بازخوانی، ایجاد کنید. جریان بیتی مخرب از قابلیت انعطاف رمزگذاری جریان کاری رمزهای قطعه ­ای برای تغییر دستور در جریان بیت ­ها استفاده می ­کند، که داده ­ها را روی ثبّات پیکربندی WBSTAR می­نویسد.
  • جریان بیتی مخرب را روی دستگاه FPGA بارگیری کنید.
  • تنظیم مجدد خودکار FPGA به دلیل تغییراتی که در مرحله اول روی جریان بیتی انجام می­ شود، اتفاق می­افتد؛ اما محتوای WBSTAR را که برای ویژگی راه ­اندازی چندگانه و برگشت به عقب مجددا تنظیم نمی­ شود.
  • محتوای ثبّات WBSTAR با استفاده از بازخوانی جریان بیتی، دوباره بخوانید.
  • دستگاه FPGA را برای تکرار مراحل بالا و بازیابی کل جریان بیتی رمزگذاری شده به صورت کلمات ۳۲ بیتی، به صورت دستی تنظیم کنید.

به طور خلاصه، برد FPGA اگر با کلید رمزگذاری بارگیری شود، جریان بیتی را رمزگشایی می­کند و آن را برای مهاجم روی ثبات قابل خواندن، می ­نویسد. از این رو، FPGA برای رمزگشایی استفاده می­شود. این واقعیت که در هر بار تکرار در طول رمزگشایی، تنها یک کلمه ۳۲ بیتی قابل کشف است. برای مثال، محققان توانسته ­اند جریان بیتی یک برد Kintex-7 XC7K160T در ۳ ساعت و ۴۲ دقیقه رمزگشایی کنند.

در نوع دوم حمله، برد FPGA می­ تواند برای رمزگذاری هر جریان بیتی دلخواه استفاده شود و یک برچسب احراز هویت پیام معتبر (HMAC) ایجاد می­کند. از این طریق صحت اصالت جریان بیتی، به خوبی شکسته می­ شود.

به گفته محققان، این حملات ناشی از خطایی است که قبل از تایید داده، داده رمزشده سربرگ جریان بیتی تفسیر می­ شود و  از این رو، به یک جریان بیتی مخرب اجازه می ­دهد تا روی برد منطقی FPGA اجرا شود.

اقدامات جهت کاهش شدت آسیب پذیری

با توجه به این که حملات برای بهره­ برداری از آسیب­ پذیری مورد بحث، مبتنی بر پروتکل است؛ هر نوع تغییر غیرقابل پیش­ بینی در پروتکل امنیتی بدون طراحی مجدد سخت­ افزار FPGA ممکن نیست و در حال حاضر امکان چنین تغییری برای دستگاه­های Virtex-6 و سری­ های ۷ آن فراهم نیست.

علاوه بر توصیه به توسعه ­دهندگان سخت­ افزار برای اعتبارسنجی رمزگذاری شده داده ورودی و استفاده از موتور رمزگذاری جریان بیتی قابل وصله که هردوی آن­ها در حال حاضر برای دستگاه ­های Zynq-7000، UltraScale و UltraScale+ شرکت Xilinx وجود دارد؛ تعدادی اقدامات متقابل نیز پیشنهاد شده است. از جمله این اقدامات، عبارت است از پیاده ­سازی طرح­ های مبهم و یا وصله کردن PCB برای استفاده از پین­ های انتخاب تجدیدنظر برای جلوگیری از بازخوانی ثبات WBSTAR.

به گفته محققان، این آسیب­ پذیری شدید است؛ زیرا امکان وصله کردن سیلیکون مورد استفاده برای پروتکل رمزنگاری وجود ندارد. همچنین با توجه به این که بردهای سری ۷ دارای سهم قابل توجهی از بازار بردهای FPGA هستند، جایگزینی آن­ها مشکل و حتی غیرممکن است.

 جمع بندی و نتیجه‌گیری

با توجه به اینکه FPGAها اغلب جزئی از سیستم های فیزیکی سایبری هستند که در کاربردهای زیادی از جمله در وسایل حمل و نقل هوایی، پزشکی یا صنعتی استفاده می ­شوند؛ اخلال در عملکرد آن­ها حتی می­تواند به آسیب جسمی منجر شود. از این رو توسعه ­دهندگان این بردها، رمزگذاری جریان بیت ­ها را معرفی کرده ­اند که قابلیت­ های احراز هویت و محرمانگی را ارائه می­دهد. اخیرا محققان یک آسیب ­پذیری در برخی بردهای FPGA از شرکت Xilinx پیدا کرده ­اند که بهره­ برداری از آن می ­تواند به رمزگشایی جریان بیتی رمزشده منجر شود و از این رو، امنیت طرح­ ها و سیستم ­ها را به خطر اندازد. همچنین با توجه به این که آسیب­ پذیری مورد بحث، مربوط به پروتکل امنیتی مورد استفاده است و بردهای آسیب­ پذیر سهم زیادی از بازار را به خود اختصاص داده ­اند، وصله کردن این آسیب ­پذیری بسیار مشکل و حتی ناممکن است.

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

نظرات کاربران

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    لینک کوتاه :