OpenSSH

در چند سال اخیر، چندین گروه از محققان امنیت سایبری، چندین آسیب‌پذیری در کانال‌های جانبی حافظه را در پردازنده‌های مدرن و DRAM ها، مانند Rowhammer، RAMBleed، Spectre و Meltdown افشا کرده‌اند [۱-۵].

آیا تابه‌حال متوجه شده‌اید که همه آن‌ها حداقل یک مورد مشترک دارند؟

مورد مشترک در حقیقت OpenSSH است.

به‌عنوان یک اثبات ادعا، بسیاری از محققان حملات کانال جانبی خود را علیه برنامه‌ی OpenSSH نصب‌شده روی یک کامپیوتر هدف انجام می‌دهند، جایی که یک فرایند متعلق به مهاجم غیرمجاز، از آسیب‌پذیری‌های حافظه خواندنی(۱) بهره‌برداری می‌کند تا کلید خصوصی SSH مخفی را از مناطق محدودشده‌ی حافظه(۲) از سیستم به سرقت برد.

این امکان وجود دارد زیرا OpenSSH دارای یک عامل است که یک کپی از کلید SSH شما را در حافظه نگه می‌دارد به‌طوری‌که شما لازم نیست هر بار که می‌خواهید به یک سرور از راه دور متصل شوید، عبارت عبور را تایپ کنید.

بااین‌حال، سیستم‌عامل‌های مدرن به‌طور پیش‌فرض اطلاعات حساس ازجمله کلیدهای رمزنگاری و کلمات عبور را در حافظه کرنل که توسط فرایندهای مجاز در سطح کاربر قابل‌دسترسی نیست، ذخیره می‌کنند.

اما ازآنجاکه این کلید SSH در حافظه RAM یا CPU در فرمت متن ساده قرار دارد، این ویژگی به هک شدن در زمانی که حملات شامل آسیب‌پذیری‌های حافظه خواندنی می‌شوند، حساس می‌شود.

OpenSSH در حال حاضر تنها کلیدهای رمزگذاری شده را در حافظه ذخیره می‌کند.

آخرین به‌روزرسانی از توسعه‌دهندگان OpenSSH این مسئله را با معرفی یک ویژگی امنیتی جدید که کلید خصوصی را قبل از ذخیره آن در حافظه سیستم، رمزگذاری می‌کند، برطرف کرده است و تقریباً از آن در برابر انواع حملات کانال جانبی محافظت می‌کند.

طبق گفته Damien Miller، توسعه‌دهنده‌ی OpenSSH، وصله‌ی جدید برای OpenSSH در حال حاضر “رمزهای خصوصی را زمانی که آن‌ها توسط یک کلید متقارن که از یک Prekey نسبتاً بزرگ متشکل از داده‌های تصادفی (در حال حاضر ۱۶ کیلوبایت)، در حال استفاده نیستند؛ رمزگذاری می‌کند[۶] [۶].”

Miller دراین‌باره توضیح می‌دهد: “مهاجمان قبل از اینکه بتوانند کلید خصوصی محافظت‌شده را رمزگشایی کنند، باید کل prekey را با دقت بالا بازیابی کنند، اما نسل فعلی حملات دارای نرخ‌های خطای بیتی(۳) هستند که وقتی‌که به‌طورکلی به تمام prekey اعمال می‌شود، احتمال انجام این کار بسیار پایین می‌آید.”

لازم به ذکر است که این وصله فقط تهدید را کاهش می‌دهد و یک راه‌حل دائمی نیست. Miller می‌گوید OpenSSH این حفاظت در برابر حملات کانال‌های جانبی را در چند سال آینده و زمانی که معماری کامپیوتر ایمن‌تر شود، حذف خواهد کرد.

منابع

[۱] https://thehackernews.com/2019/05/intel-processor-vulnerabilities.html

[۲] https://apa.aut.ac.ir/?p=5280

[۳] https://thehackernews.com/2015/03/dram-rowhammer-vulnerability.html

[۴] https://thehackernews.com/2019/06/rambleed-dram-attack.html

[۵] https://apa.aut.ac.ir/?p=3397

[۶] https://marc.info/?l=thn&m=156109087822676

[۷] https://thehackernews.com/2019/06/openssh-side-channel-vulnerability.html


(۱) memory read vulnerabilities
(۲) restricted memory regions
(۳) bit error rates