پردازندههای AMD تولیدی از سال ۲۰۱۱ تا ۲۰۱۹ میلادی دارای آسیبپذیریهای افشاءنشدهای هستند که آنها را در معرض حملات کانال جانبی قرار میدهد. این آسیبپذیریهای جدید Take A Way نام داشته و بردارهای حملهی آن از L1 data (L1D) cache way predictor در پردازندههای Bulldozer این شرکت بهرهبرداری کرده و اطلاعات حساس را از این پردازندهها به سرقت برده و کلیدهای رمزنگاری مورداستفاده در پردازندهها را بازیابی میکند.
این آسیبپذیریها در آگوست سال ۲۰۱۹ میلادی بهطور مسئولانه توسط عدهای از محققان امنیتی به AMD گزارش شده است. به گفتهی این محققان آسیبپذیری در این پردازندهها مربوط به برخی از ویژگیهای حافظهی نهان Cache است که امکان دستکاری دادهها به مقصدهای نامجاز را فراهم میکند. محققان در ادامه این آسیبپذیری را به آسیبپذیریای دیگر speculative execution ترکیب کردهاند. این شرکت تولیدکنندهی پردازنده معتقد است که این آسیبپذیریها نوع جدید از آسیبپذیریهای speculative execution نیستند.
محققان امنیتی اعلام کردند این آسیبپذیری در حال حاضر در معرض بهرهبرداریهای فعال قرار دارد. مشابه با آسیبپذیری Spectre در پردازندههای اینتل، دو جفت از آسیبپذیریها که به آنها Collide+Probe و Load+Reload اطلاق میشود، به دستکاری L1D cache predictor میپردازند تا به اطلاعات مورد نظر خود دست یابند.
محققان امنیتی اعلام کردند مهاجمان با بهرهبرداری از جفت آسیبپذیری Collide+Probe میتوانند دسترسیهای قربانی به حافظه را بدون دانستن آدرسهای فیزیکی و یا حافظهی اشتراکی مانیتور کنند. با استفاده و بهرهبرداری از جفت آسیبپذیری Load+Reload از way predictor برای بدست آوردن دسترسیهای بسیار دقیق به مسیرهای حافظه بر روی هستهی فیزیکی حافظه بهرهبرداری میشود.
مکانیزم L1D cache way predictor یک مکانیزم بهینهسازی است که با دسترسی داشتن به دادهها از طریق Cache میزان مصرف توان را کاهش میدهد. Predictor بر روی آدرس مجازی یک μTag را که یک تابع درهمسازی مستندسازینشده است محاسبه میکند. این μTag برای جستجوی L1D cache way در prediction table مورد استفاده قرار میگیرد. از این رو پردازنده باید تگ cache را فقط یکبار بهجای همهی حالتها مقایسه کند و این باعث کاهش مصرف توان میشود.
این حملهی cache با استفاده از مهندسی معکوس بر روی تابع درهمسازی برای دسترسی به آدرسهای حافظه از روی L1D cache کشف شده است. در حالیکه آسیبپذیریهای Collide+Probe از تصادم در L1D cache way predictor پردازندههای AMD بهرهبرداری میکنند، آسیبپذیریهای Load+Reload از مزایای استفاده از aliased آدرسها در حافظه توسط way predictor بهره میبرند.
بهعبارت دیگر این دو تکنیک حمله برای خارج کردن دادههای حساس از پردازههای دیگر، به اشتراک گذاشتن یک حافظهی یکسان با مهاجم و یا پردازهای که در هستهی منطقی دیگری از پردازنده در حال اجرا شدن است، مورد استفاده قرار میگیرد. علاوه بر این محقان امنیتی توانستهاند با موفقیت از آسیبپذیریهای Collide+Probe بر روی برخی از مرورگرها بهرهبرداری کنند که از جملهی این مرورگرها میتوان گوگل کروم و فایرفاکس را نام برد. در این بهرهبرداریها قابلیت ASLR در مرورگرها دور زده شده و اطلاعات مربوط به آدرسها به دست آمده است.
با همین روش محققان امنیتی توانستهاند از آسیبپذیریهای Collide+Probe برای افشای دادههای کرنل و بازیابی کلیدهای رمزنگاری از پیادهسازی T-table بهرهبرداری کنند. در T-table نتایج فوری حاصل از عملیات رمزنگاری با AES ذخیره میشود. خبر خوب این است که این حملات میتواند با روشهای امنیتی مختلف مبتنی بر امنیت سختافزار، تغییرات سختافزاری و نرمافزاری و مبتنی بر نرمافزار قابل پیشگیری است. این اولین بار نیست که آسیبپذیریهای امنیتی در پرازندههای شرکت AMD شناسایی شده است.