اخیرا محققان موفق به شناسایی یک حمله کانال جانبی جدید شدهاند که روی تمام پردازندههای سرور مدرن اینتل که از سال ۲۰۱۲ ساخته شدهاند، تاثیرگذار است.
آسیبپذیری شناسایی شده به خرابکاران اجازه میدهد تا پسوردهای رمزگذاری شده را در حین تایپ آنها در یک نشست SSH[۲] استخراج کنند.
این حمله که NetCAT[۳] نامگذاری شده است از یک تکنولوژی بهبود عملکرد اینتل به نام تکنولوژی DDIO[۴] ریشه میگیرد. DDIO به صورت پیشفرض در اغلب CPUهای سطح سرور اینتل شامل Xeon E5، E7، و SP فعال است. با هدف قرار دادن DDIO، حملهکننده میتواند طی یک حمله Remote cache side channel، زمان رسیدن بستههای شبکه از یک نشست SSH را کشف کرده و بنابراین، اطلاعاتی حساس از Cache سرور تحت تاثیر قرار گرفته به دست آورد.
به گفته Michael Kurth (از اعضای گروه کشفکننده این حمله از دانشگاه Vrije آمستردام)، NetCAT میتواند محرمانگی یک نشست SSH را بدون اجرای هیچ بدافزاری روی سرور راه دور یا کلاینتی که روی SSH ارتباط برقرار کرده، نقض کند. در این حمله، ماشین حملهکننده به هیچ وجه در نشست SSH بین سرور راه دور و کلاینت دخیل نمیباشد. NetCAT، Keystrokeهای کلاینتهای سرور هدف قرار گرفته شده را در نشستهای SSH رمزگذاری شده آنها افشا میکند (حتی اگر در یک بخش شبکه متفاوت از حملهکننده قرار داشته باشند و بنابراین، حملات Sniffing سنتی ممکن نباشد).
DDIO با اعطا اجازه نوشتن و خواندن در LLC[۵] (در مقابل نوشتن و خواندن از حافظه با سرعت پایین)، دسترسی به Cache پردازنده را برای دستگاههای شبکه و دیگر لوازم جانبی فراهم کرده و به عملکرد Applicationهای سرور سرعت میبخشد. LLC به طور معمول با همه واحدهای کاربردی موجود در تراشه به اشتراک گذاشته میشود و آخرین سطح Cache از پردازنده است.
LLC جایی است که میتوان از این حمله برای سرقت دادهها استفاده کرد. با استفاده از مهندسی معکوس ویژگیهای DDIO، محققان دانشگاه Vrije دریافتهاند که LLC یک منبع مشترک بین هستههای CPU و کارت شبکه است و به حملهکنندگانی که به شبکه دسترسی دارند، یک راه بالقوه برای ورود ارائه میکند.
برای انجام این حمله، حملهکنندگان میتوانند از یک سرور تحت کنترل خود برای ارتباط با یک سرور Application که از DDIO پشتیبانی میکند، استفاده کنند. آنها از RDMA[۶]، که اجازه وجود لینکی مستقیم از حافظه یک کامپیوتر به حافظه کامپیوتر دیگری را میدهد، برای ارتباط استفاده میکنند.
به گفته محققان، از طریق این ارتباط، خرابکاران قادر به مشاهده زمانبندی بستههای داده و استخراج اطلاعات از آن هستند. به ویژه، آنها قادر به مشاهده Keystrokeهای ارسالی که در قالب مشخص ارسال میشوند بوده و میتوانند پسوردهای حساس را افشا کنند.
در یک نشست SSH تعاملی، هر زمان که کلیدی فشار داده میشود، بستههای شبکه به طور مستقیم منتقل میشوند. در نتیجه، هر بار که یک قربانی یک کاراکتر را در یک نشست SSH رمزگذاری شده تایپ میکند، NetCAT میتواند زمانبندی رویداد را با افشا زمان رسیدن بسته شبکه موردنظر افشا کند. انسانها الگوهای تایپ منحصر به فردی دارند. با توجه به این موضوع، NetCAT میتواند با تجزیه و تحلیل ایستای زمانبندی بین بازهای زمان رسیدن بستهها (طی حملهای به نام Keystroke timing attack) به افشا آنچه در یک نشست SSH محرمانه تایپ شده است، بپردازد.
استفاده از این آسیبپذیری آسان نیست. حملهکننده نیازمند احراز هویت شدن بوده و باید ارتباط شبکه مستقیم به سیستم هدف داشته باشد. علاوهبراین، یک خرابکار نیازمند دسترسی خواندن/نوشتن RDMA روی ماشین هدف با استفاده از DDIO اینتل برای اجرای حمله است.
در یک هشدار ارائه شده توسط اینتل (با هدف کم نشان دادن تاثیر این حمله) بیان شده که این مشکل از امتیاز پایه CVSS[۷] پایین ۲.۶ برخوردار است. به گفته اینتل، در سناریوهایی که DDIO اینتل و RDMA فعال هستند، کنترلهای امنیتی قوی روی یک شبکه امن نیاز است. همانطور که یک خرابکار نیازمند دسترسی خواندن/نوشتن RDMA روی یک ماشین هدف با استفاده از DDIO اینتل برای استفاده از این حفره است. در سناریوهای پیچیده که DDIO اینتل و RDMA به طور معمول استفاده شدهاند، مانند Clusterهای محاسباتی انبوه، خرابکاران به طور معمول مستقیما از شبکههای غیرقابل اطمینان دسترسی مستقیم ندارند.
با این حال، به گفته Kurth، با توجه به امتیاز متوسط حملات مهمی مانند Spectre، CVSS به طور کلی معیار مناسبی برای بررسی شدت حملات جانبی سختافزار نیست. با استفاده از NetCAT میتوان Keystrokeهای کاربر را در یک نشست SSH افشا کرد.
شرکت اینتل توصیه کرده که در زمان فعال بودن DDIO و RDMA، کاربران دسترسی مستقیم از شبکههای غیرقابل اطمینان را محدود کنند. Michael Kurth، Ben Gras، Dennis Andriesse، Cristiano Giuffrida، Herbert Bos، و کاوه رضوی از دانشگاه Vrije آمستردام به دلیل گزارش این مشکل از سوی اینتل مورد قدردانی قرار گرفتهاند.
[۱] منبع: threatpost.com
[۲] Secure Shell session
[۳] Network Cache Attack
[۴] Data-Direct I/O
[۵] Last-Level Cache
[۶] Remote Direct Memory Access
[۷] Common Vulnerability Scoring System