یک تیم از محققان امنیتی یک آسیبپذیری دیگر جدی در کانال جانبی پردازندههای اینتل کشف کرده است که میتواند به یک مهاجم اجازه دهد تا دادههای حفاظتشدهی حساس را استراق سمع کند. این دادهها مانند کلمات عبور و کلیدهای رمزنگاری هستند و مهاجمان از فرآیندهای دیگر که در هسته CPU در حال اجرا و دارای ویژگی multi-threading همزمان هستند، بهرهبرداری میکنند.
این آسیبپذیری که به نام PortSmash نامگذاری شده است (CVE-2018-5407)، به لیستی از آسیبپذیریهای جانبی خطرناک کشفشده در سال گذشته، ازجمله Meltdown و Spectre، TLBleed و Foreshadow پیوست [۱-۳].
این تکنولوژی که توسط محققان امنیتی از Tampere University of Technology در فنلاند و Technical University of Havana در کوبا کشف شده است، یک آسیبپذیری کانال جانبی جدید در تکنولوژی Hyper-Threading اینتل و پیادهسازی همزمان MultiThreading این شرکت است.
MultiThreading همزمان یک ویژگی عملکردی است که با تقسیم کردن هر هسته فیزیکی یک پردازنده به هستههای مجازی، بهعنوان thread، اجازه میدهد هر هسته برای اجرای دو دستورالعمل بهطور همزمان کار کند.
ازآنجاکه SMT دو thread را در دو فرایند مستقل در کنار یکدیگر در همان هسته فیزیکی برای افزایش عملکرد اجرا میکند، ممکن است یک فرآیند تمام کاری که دیگری انجام میدهد را ببیند.
تیم کشف کننده دراینباره میگوید[۴]: “ما اخیراً یک شاخص حمله جدید میکرو معماری پردازنده را کشف کردیم. ماهیت نشت به علت موتور اجرای به اشتراک گذاشته در معماریهای SMT (بهعنوانمثال، Hyper-Threading) است.”
“بهطور خاص، ما مغایرت پورت را برای ساخت یک کانال جانبی زمانبندی برایexfiltrate اطلاعات از فرایندهای در حال اجرا بهصورت موازی در یک هسته فیزیکی کشف کردیم.”
بنابراین، یک مهاجم میتواند یک فرآیند PortSmash موذی را در کنار یک فرآیند منتخب قربانی در همان هسته CPU اجرا کند، و اجازه میدهد کد پورت PortSmash بر روی عملیات انجامشده توسط فرایند دیگر با اندازهگیری زمان دقیق برای هر عملیات، جاسوسی کند.
حمله PortSmash برای به سرقت بردن کلیدهای رمزگشایی OpenSSL
محققان بهعنوان اثبات ادعای منتشرشده در Github، حمله PortSmash را بر روی کتابخانه رمزنگاری OpenSSL (نسخه ۱٫۱٫۰) آزمایش کردند و با موفقیت توانستند کلید رمزگذاری خصوصی را با استفاده از یک فرایند موذی (بهرهبرداری) که در همان هسته فیزیکی بهعنوان thread از نوع OpenSSL (قربانی) بدزدند.
در ماه اوت سال جاری، پس از کشف شدن حملات TLBleed و ForeShadow بنیانگذار OpenBSD و رهبر پروژههای OpenSSH یعنی Theo de Raadt، به کاربران توصیه کرد که SMT/Hyperthreading را در تمامی BIOS های اینتل غیرفعال کنند.
Theo گفت[۵]: “SMT اساساً شکسته شده است، زیرا منابع بین دو فرآیند پردازنده را به اشتراک گذاشته و منابع به اشتراک گذاشتهشده فاقد تمایز امنیتی هستند.”
او همچنین به این موضوع مشکوک بود که: “اشکالات سختافزاری و artifactهای بیشتری افشا خواهد شد. با توجه به روشی که SMT با اعداد احتمالی بر روی پردازندههای اینتل ارتباط برقرار میکند، من انتظار دارم که SMT مشکلات آینده را تشدید کند.”
چگونگی از سیستمهایتان در مقابل حملات PortSmash محافظت کنید؟
محققان در اوایل ماه گذشته این آسیب پذیری کانال جانبی را به تیم امنیتی اینتل گزارش دادند، اما هنگامیکه این شرکت تا ۱ نوامبر نتوانست وصلههای امنیتی را منتشر کند، این تیم بهرهبردار اثبات ادعای این آسیبپذیری را در اختیار عموم قرار داد.
این تیم همچنین قول داده است که در روزهای آینده، مقالهای با جزئیات در مورد حملات PortSmash، با عنوان “Port Contention for Fun and Profit” منتشر کند.
راه ساده برای اصلاح آسیب پذیری PortSmash این است که SMT/Hyper-Threading را در بایوس تراشه پردازنده غیرفعال کنید[۶] تا اینکه اینتل وصلههای امنیتی را منتشر کند. کاربران OpenSSL میتوانند به OpenSSL نسخه ۱٫۱٫۱ (یا نسخه بالاتر از ۱٫۱٫۰ اگر شما به دنبال وصلهها هستند) ارتقا دهند.
در ماه ژوئن سال جاری، پروژه OpenBSD در حقیقت Hyper-Threading اینتل را غیرفعال کرد تا از کاربران خود در برابر حملات از پیش کشفشدهی[۷] از نوع Specters و همچنین حملات آینده[۸] از نوع زمانبندی جلوگیری کند.
AMD در حال بررسی گزارش آسیب پذیری کانال جانبی PortSmash است تا بتواند تهدیدات احتمالی آینده را پیشبینی کند.
منابع
[۱] https://apa.aut.ac.ir/?p=3397
[۲] https://www.vusec.net/projects/tlbleed/
[۳] https://thehackernews.com/2018/08/foreshadow-intel-processor-vulnerability.html
[۴] https://seclists.org/oss-sec/2018/q4/123
[۵] https://marc.info/?l=openbsd-tech&m=153504937925732
[۶] https://apa.aut.ac.ir/?p=5063
[۷] https://apa.aut.ac.ir/?p=5425
[۸] https://apa.aut.ac.ir/?p=4130
[۹] https://thehackernews.com/2018/11/portsmash-intel-vulnerability.html
ثبت ديدگاه