پردازندههای اینتل (Intel) درمواجههبا اسکریپتهای فراریسمانی (HyperThread) مخربی هستند که با سوءاستفاده از حفرهی پردازشی، کلیدهای خصوصی و عمومی کیفپول رمزارزها را شناسایی میکنند و میربایند. بهموازات آن، مشاهدهشدن همین آسیبپذیری که از نوع Side-Channelاست، در سری پرادازندههای اسکایلیک (SkyLake) و کبیلیک (KabyLake)، بهنظر میرسد شرایط مشابه برای پردازندههای AMD هم وجود داشته باشد.
طی یازده ماه گذشته، پردازندههای کامپیوترها و بعضا گوشیهای موبایل، به بستری برای اجرای حملات مخرب تبدیل شدهاند. نامهای منفوری نظیر Meltdown and Spectre ،BranchScope ،TLBleed و Foreshadow متعلق به کدهای مخربی هستند که تهدیدی برای سرقت اطلاعات محرمانهی ما نظیر رمزهایمان و کلید خصوصی کیفپولهایمان از پردازندهها محسوب میشوند. این بهگونهای است که با سازوکارهای تدافعی ساده و سنّتی نمیتوان آنها را شناسایی و متوقف کرد. در همین زمینه، ماه گذشته پژوهشگران اعلام کردند یکی از حفرههای امنیتی که پیشازاین در تعداد زیادی از پردازندههای اینتل شناسایی شده بود، با وجود برطرفشدن مشکل بهصورت نرمافزاری کماکان وجود دارد و حملات جدیدی برپایهی آن طرحریزی شده و احتمال وقوع دارد. این تهدید برای پردازندههای غیراینتلی هم متصور است.
این حمله جدید که نامش PortSmash است، از محل حفرهی مغفولماندهی نوع Side-Channel در فناوری فراریسمانی اینتل صورت میگیرد. این فناوری فراریسمانی نوع خاص و ارتقایافتهای از فناوری چندریسمانی همزمان است که سرعت اجرای حجم زیادی از فرمانهای محاسباتی را افزایش میدهد که باید همزمان و موازی اجرا شوند. در این معماری، کل توان پردازشی تولیدشده هم برآمده از فعالیت دو هستهی پردازش مجازی است که روی پردازندهای فیزیکی بنا شدهاند. هستههای اضافهشده تقسیم فرمانهای محاسباتی بزرگ به فرمانهای ساده و کوچکتر را تسهیل میکنند؛ درنتیجه، اجرای آنها سریعتر انجام میشود.
پژوهشگران در سندی که بهزودی آن را منتشر میکنند، فرایند سرقت داده از سرور OpenSSL و بازیابی کلید خصوصی موجود در آن دادهها ازطریق همین نقصان تازهکشفشده را تشریح میکنند. مکانیزم این حمله که روی سرورها با پردازندههای اسکایلیک و کبیلیک اینتل و سیستمعامل اوبونتو صورت میگیرد، بدینترتیب است که جریان پایدار و متراکمی از کدهای اجرایی را به یکی از آن هستههای مجازی پردازنده میفرستند و بادقت زمان پردازش و اجرای آنها را میسنجد تا به مدل تخصیص وظایف به درگاهها و زمانبندی آنها پی ببرد.
باتوجهبه الگوی زمانبندی منحصربهفرد موجود در این پردازندهها و تکنیکی که برای تخصیص آن جریان پردازش به درگاهها طراحی شده، درنتیجه میتوان پردازنده را مجبور کرد همهی پردازشهای غیرمرتبط با این جریان ساختگی را به هستهی دیگر منتقل کند و در زمانیکه آن هسته مشغول پردازش کلیدهای خصوصی است، دادههای رمزشده ربوده و رمزگشایی شوند.
آنچه زمینهی این نفوذ را فراهم میکند، مفهومی است بهنام «ترافیک تبادلی بین درگاههای پردازنده» (Port Contention) و زمانی رخ میدهد که در پردازندهای فیزیکی رستهای از دستورالعملها به درگاههای مختلف برای پردازش تخصیص داده میشوند و در صف اجرا قرار میگیرند. این آسیبپذیری با عبارت CVE-2018-5407 کدگذاری شده است. هم کامپیوترهای شخصی و هم سرورها در معرض چنین آسیبی قرار دارند؛ هرچند دراینمیان سرورهای بیشتر مدنظر مهاجمان هستند.
پژوهشگران در این سند آوردهاند:
تکنیکی که برای انتخاب درگاههای هدف برای ارسال جریان محاسبات طراحی کردهایم اینگونه است که با انتخاب چندین پیکربندی ازپیشآماده و اعمال آنها روی پردازنده، زمینه را برای اجرای چند سناریوی شناسایی پردازشهای خاص روی هستهی دیگر فراهم میکنیم که حکم طعمه را دارد. PortSmash انتقالپذیری بسیاری دارد؛ به این معنا که بهراحتی قابل نشر و استقرار در رایانههای مختلف است و حداقل پیشنیازها را برای اجرا لازم دارد. برای بهرهگیری از آن نه نیازی به آشنایی با تکنیکهای یادگیری ماشین هست و نه نیاز به آشنایی با تکنیک مهندسی معکوس.