SSD

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

محققان امنیتی چندین آسیب‌پذیری بحرانی را در بعضی از درایوهای حالت‌جامد(۱) رمزنگاری‌شده کشف کرده‌اند که می‌تواند یک مهاجم را قادر به رمزگشایی یک دیسک رمزگذاری و بازیابی داده‌های محافظت‌شده بدون دانستن کلمه عبور برای دیسک موردنظر کند.

Carlo Meijer و Bernard van Gastel که محققانی در دانشگاه Radboud در هلند هستند، firmware چندین SSD را که رمزنگاری کامل سخت‌افزاری را ارائه می‌دادند، برای شناسایی مشکلاتشان مهندسی معکوس کردند و یافته‌های آن‌ها در یک مقاله و در روز ۵ نوامبر ۲۰۱۸ منتشر شد[۱].

محققان می‌گویند: “این تجزیه‌وتحلیل‌ها یک الگو از مسائل حیاتی را در میان فروشندگان کشف کرد. برای چندین مدل، می‌توان رمزنگاری را به‌طور کامل دور زد، که امکان بازیابی کامل داده‌ها را بدون هیچ‌گونه دانشی از کلمه عبور یا کلیدها فراهم می‌کند.

این دو محقق با موفقیت حمله موردنظر را بر روی سه مدل مهم از SSD ها یعنی هاردهای کروشال MX100 ،MX200 و MX300 و چهار مدل از هاردهای سامسونگ یعنی ۸۴۰ EVO، ۸۵۰ EVO، T3 Portable و T5 Portable انجام دادند و حداقل یک نقص مهم را که باعث شکستن رمزنگاری می‌شود را کشف کردند. اما محققان هشدار دادند که بسیاری از SSD های دیگر نیز ممکن است در معرض این خطر باشند.

این آسیب‌پذیری‌ها که در زیر توضیح داده شده‌اند، به دلیل پیاده‌سازی امنیتی نادرست ویژگی‌های ATA و TCG Opal به وجود آمده‌اند. این دو ویژگی برای پیاده‌سازی رمزنگاری بر روی SSD هایی استفاده می‌شوند که از رمزنگاری مبتنی بر سخت‌افزار استفاده می‌کنند.

رمز عبور و کلید رمزنگاری داده‌ها مرتبط نیستند.

به گفته محققان هاردهای کروشال مدل  MX100و MX200 و هاردهای سامسونگ مدل ۸۵۰ EVO و T3 Portable SSD دارای مسائل امنیتی حیاتی در هر دو سیستم امنیتی ATA و پیاده‌سازی TCG Opal هستند.

ازآنجایی‌که ارتباط رمزنگاری بین کلمه عبور و کلید رمزنگاری داده‌ها (DEK) وجود ندارد، یک مهاجم می‌تواند درایوها را با استفاده از اصلاح روال اعتبارسنجی رمز عبور در RAM از طریق رابط اشکال‌زدایی(۲) JTAG و با هر کلمه عبوری باز کند.

با دسترسی فیزیکی به پورت اشکال‌زدایی دستگاه، محققان توانستند firmware آن را مهندسی معکوس کنند و آن را به‌منظور رمزگشایی داده‌های رمزنگاری‌شده‌ی سخت‌افزاری با وارد کردن هر کلمه عبوری اصلاح کنند.

کلمه عبور Secret Master

هارد کروشال MX300 همچنین دارای یک پورت JTAG است، اما ازآنجاکه به‌طور پیش‌فرض غیرفعال شده است، رویکرد فوق ناکافی خواهد بود.

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

بااین‌حال، محققان کشف کردند که هارد SSD کروشال مدل MX300 نیز یک پیاده‌سازی رمز عبور Master دارد و مقدار پیش‌فرض آن توسط سازنده تنظیم شده است که در مورد MX300 یک رشته خالی است.

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

بهره‌بردار Wear Leveling

در هارد سامسونگ مدل ۸۴۰ EVO، محققان توانستند کلیدهای رمزنگاری داده‌ها را با بهره‌برداری از ویژگی‌های wear leveling بازیابی کنند. این ویژگی یک تکنیک مورداستفاده در درایوهای حالت‌جامد برای افزایش عمر حافظه فشرده قابل پاک شدن است.

در اکثر SSD ها، الگوریتم wear leveling توسط جابجایی منظم داده‌های استاتیک به مکان‌های مختلف فیزیکی در حافظه فلش NAND کار می‌کند. اما حتی پس از انتقال داده‌ها، در مکان قدیمی و تا زمانی که دوباره بر روی آن نوشته شود، در دسترس باقی می‌ماند.

بااین‌حال، این فرایند یک تأثیر منفی بر روی امنیت می‌گذارد که دراین‌باره این دو محقق توضیح می‌دهند:  “فرض کنید کلید رمزنگاری دیسک به‌صورت محافظت نشده نگهداری می‌شود و پس‌ازآن یک کلمه عبور توسط کاربر نهایی تنظیم می‌شود، DEK محافظت نشده با یک متغیر رمزنگاری‌شده جایگزین می‌شود.”

همچنین این محققان اضافه کردند: “با توجه به wear leveling، این نوع جدید می‌تواند درجایی دیگر در داخل تراشه ذخیره‌سازی شود و مکان قدیمی به‌عنوان استفاده‌نشده مشخص شود. اگر بعداً توسط فرآیندهای دیگر بازنویسی نشود، متغیر DEK محافظت نشده هنوز هم می‌تواند بازیابی شود” .

به BitLocker برای رمزنگاری SSD خود اعتماد نکنید.

ازآنجاکه نرم‌افزار رمزنگاری تمام-دیسک(۳) ویندوز یا همان BitLocker به‌طور پیش‌فرض از رمزنگاری مبتنی بر سخت‌افزار در صورت موجود بودن استفاده می‌کند، کاربران ویندوز به‌جای الگوریتم‌های رمزنگاری مبتنی بر نرم‌افزار به BitLocker اعتماد می‌کنند و با استفاده از درایوهای آسیب‌پذیر همچنان در معرض آسیب‌پذیری‌های فوق قرار دارند.

محققان می‌گویند: “BitLocker، نرم‌افزار رمزنگاری بر پایه مایکروسافت ویندوز است که می‌تواند این نوع سوئیچ را به رمزنگاری سخت‌افزاری تبدیل کند، اما به دیسک‌های آسیب‌دیده هیچ راه‌حل محافظت مؤثری را در موارد ذکرشده ارائه نمی‌دهد. رمزنگاری نرم‌افزاری در سیستم‌عامل‌های دیگر (مانند macOS، iOS، اندروید و لینوکس) به نظر می‌رسد که اگر این سوئیچ را اجرا نکنند، تحت تأثیر قرار نمی‌گیرند.”

بااین‌حال، شما می‌توانید BitLocker را مجبور به استفاده از رمزنگاری مبتنی بر نرم‌افزار تنها با تغییر تنظیمات در Windows Group Policy کنید. شما می‌توانید این کار را با دنبال کردن مراحل زیر انجام دهید:

  • با وارد کردن msc در پنجره Run، بخش Local Group Policy Editor را باز کنید.
  • به این قسمت بروید: Computer Configuration\Administrative Templates\Windows Components\BitLocker Drive Encryption
  • در پنل سمت راست بر روی گزینه Configure use of hardware-based encryption for fixed data drives دو بار کلیک کنید.
  • گزینه Disabled را انتخاب کنید و روی OK کلیک کنید تا تنظیماتِ جدید ذخیره شود.
  • با توجه به اینکه حفاظت BitLocker را به حالت تعلیق درآوردید، مجدداً آن را فعال کنید تا تغییرات در اثر آن ایجاد شود.

به‌عنوان یک راه‌حل جایگزین، به‌جای متکی بودن به BitLocker، شما می‌توانید از ابزار منبع باز VeraCrypt برای رمزنگاری هارددیسک سیستم‌عامل ویندوز یا هر درایو دیگر استفاده کنید. VeraCrypt مبتنی بر نرم‌افزار TrueCrypt است و فرآیند رمزنگاری را بدون استفاده از SSD انجام می‌دهد.

علاوه بر این، برخلاف BitLocker که فقط در نسخه‌های حرفه‌ای، سازمانی و آموزشی ویندوز ۱۰ در دسترس است، VeraCrypt بر روی ویندوز ۱۰ و ویندوز ۷ نسخه خانگی نیز در دسترس است.

وصله‌های امنیتی برای SSD های سامسونگ و کروشال

Meijer و Gastel قبل از اینکه یافته‌های خود را در اختیار عموم قرار دهند، این آسیب‌پذیری‌ها را به کروشال و سامسونگ گزارش کردند. درحالی‌که کروشال در حال حاضر وصله‌های firmware را برای تمامی درایوهای تحت تأثیر خود منتشر کرده است، سامسونگ تنها وصله‌های امنیتی را برای SSD های T3 و T5 Portable خود عرضه کرده است[۲].

بااین‌حال، برای درایو‌های EVO، سامسونگ توصیه می‌کند که از نرم‌افزارهای رمزنگاری (که به‌صورت رایگان و آنلاین در دسترس هستند) استفاده کنید که با سیستم شما سازگار هستند.

محققان دراین‌باره می‌گویند: “رمزنگاری‌های سخت‌افزاری در حال حاضر با نقص‌هایی نظیر تکیه کردن بر طرح‌های رمزنگاری اختصاصی، غیرعمومی و hard-to-audit که توسط تولیدکنندگانشان طراحی شده‌اند، همراه هستند. پیاده‌سازی درست رمزنگاری دیسک واقعاً سخت است و پیامدهای اشتباهات آن اغلب فاجعه‌بار است.”

“به همین دلیل، این پیاده‌سازی‌ها باید مورد بازرسی قرار گیرند و به هراندازه که ممکن است موردبررسی عمومی قرار گیرند. تولیدکنندگانی که مسئله امنیت را به‌طورجدی دنبال می‌کنند، باید طرح‌های رمزنگاری و کد مربوطه خود را منتشر کنند تا ادعاهای امنیتی بتوانند به‌طور مستقل تأیید شوند.”

شما می‌توانید برای کسب اطلاعات بیشتر در مورد آسیب‌پذیری‌های گزارش‌شده به مقاله پژوهشی با عنوان Self-encrypting deception: weaknesses in the encryption of solid state drives  که در تاریخ ۵ نوامبر ۲۰۱۸ توسط این محققان منتشر شده است، مراجعه کنید.

منابع

[۱] https://www.ru.nl/publish/pages/909275/draft-paper_1.pdf

[۲] https://www.samsung.com/semiconductor/minisite/ssd/support/consumer-notice

[۳] https://thehackernews.com/2018/11/self-encrypting-ssd-hacking.html


(۱) solid state drives (SSD)
(۲) debugging
(۳) full-disk