یک گروه از محققان امنیتی آسیبپذیری کانال جانبی دیگری را در پردازندههای شرکت اینتل شناسایی کردند. این آسیبپذیری در پردازندههایی که بر روی آنها ویژگی چند-نخی فعال شده قابل بهرهبرداری است. مهاجم میتواند با بهرهبرداری از این آسیبپذیری به اطلاعات حساس و محافظتشدهای مانند پسوردها و کلیدهای رمزنگاری دسترسی پیدا کند. این آسیبپذیری PortSmash نامگذاری شده و به آن شناسهی CVE-2018-5407 اختصاص یافته است. قبلا نیز آسیبپذیریهای کانال جانبی دیگری با نامهای Meltdown، Spectre، TLBleed و Foreshadow در این پردازندهها شناسایی شده بود.
این آسیبپذیری در فناوری Hyper-Threading که ویژگی چند-نخی همزمان (SMT) را فراهم میکند وجود دارد. این ویژگی در راستای بهبود کارایی پردازنده ارائه شده و بهوسیلهی آن یک هستهی فیزیکی از پردازنده به چندین هستهی مجازی تقسیم میشود که به هریک از آنها نخ گفته شده و میتوانند مجموعهای از دستورالعملها را اجرا کنند. از آنجا که در ویژگی SMT دو نخ را در دو پرازهی مستقل در کنار یکدیگر در همان هسته فیزیکی برای افزایش کارایی اجرا میکند، ممکن است یک پردازه آنچه را که دیگر پردازهها انجام میدهند، مشاهده کند. در نهایت مهاجم میتواند یک پردازهی PortSmash را در کنار پردازهی قربانی در یک هستهی یکسان اجرا کرده و با اندازهگیری میزان زمانیکه برای هر عملیات صرف میشود، اطلاعاتی در مورد پردازهی قربانی به دست آورد.
حملهی PortSmash برای بدست آوردن کلیدهای رمزگشایی OpenSSL
محققان امنیتی کد اثبات مفهومی را در گیتهاب منتشر کردهاند. در این کد بهرهبرداری از این آسیبپذیری برای بدست آوردن اطلاعات از کتابخانهی رمزنگاری OpenSSL با نسخههای ۱٫۱٫۰h و قبلتر صورت گرفته است. محققان مشاهده کردند که پس از بهرهبرداری موفق از این آسیبپذیری، میتوانند کلیدهای رمزنگاری خصوصی این کتابخانه که در پردازهای جداگانه بر روی هستهی یکسان با پردازهی مهاجم و مخرب اجرا میشد را بدست آورند. در حال حاضر آسیبپذیر بودن پردازندههای Kaby Lake و Skylake اینتل تایید شده است ولی به نظر میرسد با برخی تغییرات در کد بهرهبرداری، این آسیبپذیری پردازندههای AMD را که بر روی آنها SMT فعال است تحت تاثیر قرار دهد.
برای محافظت از سیستمهای خود در برابر حملات PortSmash چه باید بکنید؟
محققان امنیتی اوایل ماه گذشته این آسیبپذیری کانال جانبی را به گروه اینتل گزارش کردهاند ولی این گروه تا تاریخ ۱ نوامبر نتوانست وصلهای را برای این آسیبپذیری منتشر کند و محققان کد اثبات مفهومی را به صورت عمومی منتشر کردند. سادهترین راه برای برطرف کردن این آسیبپذیری این است که در بایوس پردازندههای اینتل فناوری SMT/Hyper-Threading را غیرفعال کنید. کاربران OpenSSL نیز میتوانند به نسخهی OpenSSL 1.1.1 بهروزرسانی انجام دهند.