امن ترین رمزگذاری فایل ها و دیسک ها. مجموعه ای از برنامه های قابل اعتماد برای محافظت از داده ها و تجهیزات شخصی. آیا ارزش تغییر از TrueCrypt به VeraCrypt را دارد؟

انتخاب سردبیر

برنامه های رمزگذاری فایل

همه چیز را رمزگذاری کنید!

هر بار که اطلاعاتی در مورد رسوایی مربوط به اسناد مهم در جایی به بیرون درز می کند، از خودم می پرسم که چرا آنها رمزگذاری نشده اند؟ امنیت اسناد باید در همه جا وجود داشته باشد.

الگوریتم های رمزگذاری

الگوریتم رمزگذاری مانند یک جعبه سیاه است. روگرفتی از سند، تصویر یا فایل دیگری که در آن آپلود می کنید همان چیزی است که پس می گیرید. اما آنچه می بینید دیوانه به نظر می رسد.

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

دولت ایالات متحده استاندارد رمزگذاری پیشرفته (AES) را به عنوان یک استاندارد به رسمیت شناخته است و تمام محصولاتی که در اینجا جمع آوری می شوند از استاندارد رمزگذاری AES پشتیبانی می کنند.

حتی کسانی که از الگوریتم های دیگر پشتیبانی می کنند، به طور کلی استفاده از AES را توصیه می کنند.

اگر متخصص رمزگذاری هستید، ممکن است الگوریتم دیگری، Blowfish و شاید حتی الگوریتم GOST دولت شوروی را ترجیح دهید.

اما این کاملاً برای طرفداران سرگرمی های شدید است. برای کاربر معمولی، AES به سادگی یک راه حل عالی است.

رمزنگاری و تبادل کلید عمومی

رمزهای عبور مهم هستند و شما باید آنها را مخفی نگه دارید، درست است؟ خوب، نه هنگام استفاده از زیرساخت کلید عمومی (PKI)، که در رمزنگاری استفاده می شود.

اگر بخواهم یک سند محرمانه برای شما ارسال کنم، آن را به سادگی با کلید عمومی رمزگذاری می کنم. پس از دریافت آن، می توانید از آن برای رمزگشایی سند استفاده کنید. ساده است!

با استفاده از این سیستم به صورت معکوس، می توانید یک امضای دیجیتالی ایجاد کنید که تأیید می کند سند شما از طرف شما آمده و تغییری نکرده است. چگونه؟ فقط آن را با کلید خصوصی خود رمزگذاری کنید.

این واقعیت که کلید عمومی شما آن را رمزگشایی می کند، دلیلی بر این است که شما حق ویرایش آن را دارید.

پشتیبانی PKI نسبت به پشتیبانی از الگوریتم های متقارن سنتی کمتر رایج است.

بسیاری از محصولات امکان ایجاد فایل های اجرایی خود رمزگشایی را فراهم می کنند.

همچنین ممکن است متوجه شوید که گیرنده می تواند از یک ابزار خاص به صورت رایگان فقط برای رمزگشایی استفاده کند.

چی بهتره؟

اکنون مجموعه عظیمی از محصولات در فضای رمزگذاری موجود است.

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

گاوصندوق دیجیتال CertainSafe از یک الگوریتم امنیتی چند مرحله ای عبور می کند که شما را در سایت شناسایی می کند. هر بار باید چندین بار بررسی احراز هویت را انجام دهید.

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

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

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

بسیاری از ویژگی‌های مفید دیگر عبارتند از خرد کردن، خرد کردن فضای آزاد، پشتیبان‌گیری امن آنلاین و رمزگشایی فایل‌ها.

VeraCrypt (Windows/OS X/Linux)

VeraCrypt از رمزگذاری واقعی پشتیبانی می کند که سال گذشته متوقف شد.

تیم توسعه ادعا می کند که آنها قبلاً به موضوع مطرح شده در طول ممیزی اولیه truecrypt رسیدگی کرده اند و معتقدند که هنوز می توان از آن به عنوان یک نسخه در دسترس برای OS X و OS X استفاده کرد.

اگر به دنبال یک ابزار رمزگذاری فایل هستید که واقعاً کار کند، این همان است. VeraCrypt از AES (متداول ترین الگوریتم مورد استفاده) پشتیبانی می کند.

همچنین از رمزهای رمزگذاری TwoFish و Serpent پشتیبانی می کند و از ایجاد حجم های رمزگذاری شده پنهان پشتیبانی می کند.

این نرم افزار منبع باز است و بیشتر کدهای آن Truecrypt است.

این برنامه همچنین با به‌روزرسانی‌های امنیتی منظم و ممیزی‌های مستقل در مرحله برنامه‌ریزی (به گفته توسعه‌دهندگان) دائماً در حال تغییر است.

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

کاربران به ویژه توجه دارند که این برنامه ابزار قدرتمندی است که استفاده از آن آسان و همیشه در جای خود است. بله، فاقد رابط کاربری زیبا یا تعداد زیادی زنگ و سوت است.

AxCrypt (ویندوز)

AxCrypt یک برنامه رایگان با مجوز گنو منبع باز است.

یک ابزار رمزگذاری دارای مجوز GPL برای ویندوز که استفاده از آن ساده، کارآمد و ایمن است.

کاملاً با پوسته ویندوز ادغام می شود، بنابراین می توانید روی فایلی که می خواهید رمزگذاری کنید کلیک راست کرده و دستوری را صادر کنید.

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

فایل‌های دارای AxCrypt می‌توانند در صورت درخواست رمزگشایی شوند یا در حین استفاده رمزگشایی شوند و سپس به طور خودکار رمزگذاری شوند.

از رمزگذاری AES 128 بیتی پشتیبانی می کند و در برابر تلاش های هک محافظت می کند. بسیار سبک است (کمتر از 1 مگابایت.)

هر کس خودش تصمیم می گیرد از کدام برنامه استفاده کند، اما اگر اطلاعات شما برای شما ارزشی دارد، حتماً به این واقعیت فکر کنید که به یک برنامه رمزگذاری نیاز دارید.

رمزگذاری فایل ها و پوشه ها در ویندوز

برنامه های رمزگذاری فایل: کدام یک را بهتر انتخاب کنیم؟

5 برنامه برای رمزگذاری هارد دیسک ها و فایل ها در ویندوز 10

رمزگذاری یک راه قدرتمند برای محافظت از فایل ها و داده های شما در برابر دسترسی غیرمجاز است. من پنج برنامه را برای .

1.AxCrypt

AxCrypt یک ابزار منبع باز برای است که فقط از رمزگذاری AES 128 بیتی پشتیبانی می کند.

2.VeraCrypt

VeraCrypt دارای ویژگی های امنیتی پیشرفته است که از AES 256 بیت، رمزگذاری رمزگذاری Serpent و الگوریتم های Two Fish پشتیبانی می کند.

3. DiskCryptor

DiskCryptor یک ابزار رمزگذاری منبع باز است که برای قفل کردن پارتیشن های دیسک و همچنین پارتیشن های سیستم استفاده می شود. از الگوریتم های AES-256، Serpent و Twofish پشتیبانی می کند.

4. LaCie Private-Public

Lacie Private-public یک برنامه متن باز است. از الگوریتم رمزگذاری AES-256 پشتیبانی می کند.

5. Gpg4win

Gpg4win - برای محافظت از فایل های شما و انتقال ایمن ایمیل های شما استفاده می شود. از تمام استانداردهای رمزنگاری مانند Open PGP و S/MIME (X.509) پشتیبانی می کند.

Gpg4win شامل چندین مؤلفه نرم افزار رایگان است:

  • GnuPG - Backend. این ابزار رمزگذاری واقعی است.
  • کلئوپاترا یک مدیر گواهی برای OpenPGP و X.509 (S/MIME) و مکالمات رمزنگاری عمومی است.
  • GpgOL - افزونه Microsoft Outlook - از MS Exchange Server پشتیبانی می کند.
  • GpgEX - پلاگین برای Microsoft Explorer (رمزگذاری فایل).
  • GPA یک مدیر گواهی جایگزین برای OpenPGP و X.509 (S/MIME) است.

با تشکر برای خواندن! مشترک شدن در کانال من در تلگرامو Yandex.Zen . فقط آخرین به روز رسانی وبلاگ و اخبار از دنیای فناوری اطلاعات وجود دارد.

همچنین من را در شبکه های اجتماعی دنبال کنید: فیس بوک , توییتر , VK , خوب.

من به کمک شما نیاز دارم

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

تمام سرمایه جمع آوری شده برای توسعه سایت و آبجو کمیاب برای نویسنده استفاده خواهد شد!

با جستجوی "BitLocker" و انتخاب "Manage BitLocker" ابزار رمزگذاری را در ویندوز راه اندازی کنید. در پنجره بعدی، می توانید با کلیک بر روی "فعال کردن BitLocker" در کنار هارد دیسک، رمزگذاری را فعال کنید (اگر پیام خطا ظاهر شد، بخش "استفاده از BitLocker بدون TPM" را بخوانید).

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

استفاده از BitLocker بدون TPM

راه اندازی BitLocker
BitLocker همچنین بدون تراشه TPM کار می کند - اگرچه این به تنظیماتی در ویرایشگر سیاست گروه محلی نیاز دارد.

اگر رایانه شما دارای تراشه TPM (ماژول پلتفرم قابل اعتماد) نیست، ممکن است لازم باشد برخی تنظیمات را برای فعال کردن BitLocker انجام دهید. در نوار جستجوی ویندوز، "Edit Group Policy" را تایپ کنید و بخش "Local Group Policy Editor" را باز کنید. اکنون در ستون سمت چپ ویرایشگر «Computer Configuration |.» را باز کنید قالب های اداری | اجزای ویندوز | رمزگذاری درایو BitLocker | دیسک‌های سیستم عامل» و در ستون سمت راست، ورودی «احراز هویت اضافی مورد نیاز هنگام راه‌اندازی» را علامت بزنید.

سپس در ستون وسط، روی پیوند «ویرایش تنظیمات سیاست» کلیک کنید. کادر کنار «Enable» را علامت بزنید و کادر کنار «Allow BitLocker without a compatible TPM» را در زیر علامت بزنید. پس از کلیک بر روی "اعمال" و "OK"، می توانید از BitLocker همانطور که در بالا توضیح داده شد استفاده کنید.

جایگزینی به شکل VeraCrypt

برای رمزگذاری پارتیشن سیستم یا کل هارد دیسک با استفاده از جانشین TrueCrypt، VeraCrypt، "Create Volume" را از منوی اصلی VeraCrypt انتخاب کنید و سپس "Encrypt the system partition or whole system drive" را انتخاب کنید. برای رمزگذاری کل هارد دیسک به همراه پارتیشن ویندوز، "Encrypt the whole drive" را انتخاب کنید، سپس دستورالعمل های راه اندازی مرحله به مرحله را دنبال کنید. توجه: VeraCrypt در صورتی که رمز عبور خود را فراموش کنید، یک دیسک نجات ایجاد می کند. بنابراین به یک سی دی خالی نیاز خواهید داشت.

هنگامی که درایو خود را رمزگذاری کردید، باید PIM (Personal Iterations Multiplier) را بعد از رمز عبور خود هنگام بوت کردن مشخص کنید. اگر در حین راه اندازی PIM را نصب نکرده اید، فقط Enter را فشار دهید.

احتمالاً هر یک از ما پوشه ها و پرونده هایی داریم که دوست داریم آنها را از چشمان کنجکاو پنهان کنیم. علاوه بر این، زمانی که نه تنها شما، بلکه سایر کاربران نیز در رایانه کار می کنند.

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

1. برنامه رمزگذاری

با وجود تعداد زیاد برنامه های پولی (به عنوان مثال: DriveCrypt، BestCrypt، PGPdisk)، تصمیم گرفتم در این بررسی بر روی برنامه رایگان تمرکز کنم که قابلیت های آن برای اکثر کاربران کافی است.

http://www.truecrypt.org/downloads

یک برنامه عالی برای رمزگذاری داده ها، اعم از فایل ها، پوشه ها و غیره. ماهیت کار این است که فایلی ایجاد کنید که شبیه یک تصویر دیسک باشد (به هر حال، نسخه های جدید برنامه به شما امکان می دهد حتی کل پارتیشن را رمزگذاری کنید. به عنوان مثال، می توانید یک درایو فلش را رمزگذاری کنید و بدون ترس از اینکه کسی - غیر از شما، قادر به خواندن اطلاعات از آن باشد، از آن استفاده کنید. این فایل به این راحتی باز نمی شود؛ رمزگذاری شده است. اگر رمز چنین فایلی را فراموش کنید، بعید است که هرگز فایل های ذخیره شده خود را در آن مشاهده کنید...

چه چیز دیگری جالب است:

به جای رمز عبور، می توانید از یک فایل کلیدی استفاده کنید (یک گزینه بسیار جالب، بدون فایل - بدون دسترسی به دیسک رمزگذاری شده).

چندین الگوریتم رمزگذاری؛

توانایی ایجاد یک دیسک رمزگذاری شده پنهان (فقط شما از وجود آن مطلع خواهید شد).

امکان اختصاص دکمه هایی برای نصب سریع دیسک و جدا کردن آن (قطع آن).

2. ایجاد دیسک و رمزگذاری

قبل از شروع رمزگذاری داده ها، باید دیسک خود را ایجاد کنیم، که روی آن فایل هایی را که باید از چشمان کنجکاو پنهان شوند کپی می کنیم.

برای انجام این کار، برنامه را اجرا کنید و دکمه "Create Volume" را فشار دهید، یعنی. بیایید شروع به ایجاد یک دیسک جدید کنیم.

اولین مورد "ایجاد یک ظرف فایل رمزگذاری شده" را انتخاب کنید - یک فایل ظرف رمزگذاری شده ایجاد کنید.

در اینجا دو گزینه برای فایل کانتینر به ما پیشنهاد می شود:

1. عادی، استاندارد (یکی که برای همه کاربران قابل مشاهده خواهد بود، اما فقط کسانی که رمز عبور را می دانند می توانند آن را باز کنند).

2. پنهان. فقط شما از وجود آن مطلع خواهید شد. سایر کاربران نمی توانند فایل کانتینر شما را ببینند.

حالا برنامه از شما می خواهد که محل درایو مخفی خود را مشخص کنید. من توصیه می کنم درایوی را انتخاب کنید که در آن فضای بیشتری دارید. معمولا چنین درایو D است، زیرا درایو C درایو سیستم است و معمولاً سیستم عامل ویندوز روی آن نصب می شود.

یک مرحله مهم: الگوریتم رمزگذاری را مشخص کنید. چندین مورد از آنها در برنامه وجود دارد. برای یک کاربر معمولی ناآشنا، من می گویم که الگوریتم AES که برنامه به طور پیش فرض ارائه می دهد، به شما این امکان را می دهد که از فایل های خود بسیار مطمئن محافظت کنید و بعید است که هیچ یک از کاربران رایانه شما بتوانند آن را هک کنند! می توانید AES را انتخاب کنید و روی "NEXT" کلیک کنید.

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

رمز عبور - چندین کاراکتر (حداقل 5-6 کاراکتر توصیه می شود) که بدون آنها دسترسی به دیسک مخفی شما ممنوع می شود. من به شما توصیه می کنم رمز عبوری انتخاب کنید که حتی بعد از چند سال فراموش نکنید! در غیر این صورت، اطلاعات مهم ممکن است برای شما غیر قابل دسترس شود.

اگر می خواهید از یک رمز عبور قوی استفاده کنید، توصیه می کنیم از یک ژنراتور برای ایجاد آن استفاده کنید. بهترین انتخاب، پلتفرمی است که به سوال "آیا رمز عبور من امن است" نیز پاسخ دهد: https://calcsoft.ru/generator-parolei.

پس از مدتی برنامه به شما اطلاع می دهد که یک فایل کانتینر رمزگذاری شده با موفقیت ایجاد شده است و می توانید کار با آن را شروع کنید! عالی…

3. کار با یک دیسک رمزگذاری شده

مکانیسم بسیار ساده است: انتخاب کنید که کدام فایل کانتینری را می خواهید وصل کنید، سپس رمز عبور آن را وارد کنید - اگر همه چیز "درست است" - سپس یک دیسک جدید در سیستم شما ظاهر می شود و می توانید با آن مانند یک هارد دیسک واقعی کار کنید. .

بیایید نگاه دقیق تری بیندازیم.

روی حرف درایوی که می‌خواهید به محفظه فایل خود اختصاص دهید کلیک راست کنید، «Select File and Mount» را از منوی کشویی انتخاب کنید - فایل را انتخاب کنید و آن را برای کار بیشتر پیوست کنید.


بعد از اینکه با دیسک کار کردید، باید آن را ببندید تا دیگران نتوانند از آن استفاده کنند. برای انجام این کار، شما باید فقط یک دکمه را فشار دهید - "Dismount All". پس از این، تمام درایوهای مخفی غیرفعال می شوند و برای دسترسی به آنها باید رمز عبور را دوباره وارد کنید.

به هر حال، اگر راز نیست، چه کسی از چه نوع برنامه هایی استفاده می کند؟ گاهی اوقات، نیاز به پنهان کردن ده ها فایل در رایانه های کاری وجود دارد...

محققان دانشگاه پرینستون راهی برای دور زدن رمزگذاری هارد دیسک با بهره برداری از توانایی ماژول های RAM برای حفظ اطلاعات برای مدت کوتاهی حتی پس از قطع برق کشف کرده اند.

پیشگفتار

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

از این طریق می توان کلیدهای رمزگذاری (و دسترسی کامل به هارد دیسک) مورد استفاده توسط برنامه های BitLocker، FileVault و dm-crypt در سیستم عامل های ویندوز ویستا، مک او اس ایکس و لینوکس و همچنین هارد دیسک رایگان محبوب را به دست آورد. سیستم رمزگذاری TrueCrypt

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

یک نمایش تصویری از فرآیند در ارائه شده است ویدئو.

حاشیه نویسی

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

معرفی

اکثر کارشناسان تصور می کنند که داده های RAM کامپیوتر تقریباً بلافاصله پس از خاموش شدن برق پاک می شوند یا معتقدند که بازیابی داده های باقی مانده بدون استفاده از تجهیزات ویژه بسیار دشوار است. ما نشان خواهیم داد که این فرضیات نادرست هستند. حافظه‌های DRAM معمولی حتی در دمای معمولی، اطلاعات را به تدریج طی چند ثانیه از دست می‌دهند و حتی اگر تراشه حافظه از روی مادربرد حذف شود، اطلاعات برای دقیقه‌ها یا حتی ساعت‌ها در آن باقی می‌ماند، مشروط بر اینکه تراشه در دمای پایین ذخیره شود. داده های باقی مانده را می توان با استفاده از روش های ساده ای که نیاز به دسترسی فیزیکی کوتاه مدت به رایانه دارد، بازیابی کرد.

ما مجموعه ای از حملات را نشان خواهیم داد که با استفاده از اثرات ماندگاری DRAM، به ما امکان می دهد کلیدهای رمزگذاری ذخیره شده در حافظه را بازیابی کنیم. این یک تهدید واقعی برای کاربران لپ تاپ است که به سیستم های رمزگذاری هارد دیسک متکی هستند. به هر حال، اگر مهاجمی لپ‌تاپ را در حالی که دیسک رمزگذاری شده متصل است بدزدد، می‌تواند یکی از حملات ما را برای دسترسی به محتوا انجام دهد، حتی اگر خود لپ‌تاپ قفل یا در حالت خواب باشد. ما این را با حمله موفقیت آمیز به چندین سیستم رمزگذاری محبوب مانند BitLocker، TrueCrypt و FileVault نشان خواهیم داد. این حملات باید در برابر سایر سیستم های رمزگذاری نیز موفق باشند.

اگرچه ما تلاش خود را بر روی سیستم های رمزگذاری هارد دیسک متمرکز کرده ایم، اما اگر یک مهاجم به رایانه دسترسی فیزیکی داشته باشد، هر اطلاعات مهم ذخیره شده در RAM می تواند به هدف حمله تبدیل شود. این احتمال وجود دارد که بسیاری از سیستم های امنیتی دیگر نیز آسیب پذیر باشند. به عنوان مثال، ما متوجه شدیم که Mac OS X رمزهای عبور حساب را در حافظه باقی می گذارد، از جایی که ما می توانستیم آنها را استخراج کنیم، و همچنین حملاتی را برای به دست آوردن کلیدهای RSA خصوصی سرور وب آپاچی انجام دادیم.

در حالی که برخی از جوامع امنیت اطلاعات و فیزیک نیمه هادی از قبل از اثر ماندگاری در DRAM آگاه بودند، اطلاعات بسیار کمی در مورد آن وجود داشت. در نتیجه، بسیاری از کسانی که سیستم‌های امنیتی را طراحی، توسعه یا استفاده می‌کنند، به سادگی با این پدیده و اینکه چگونه به راحتی می‌تواند توسط مهاجم مورد سوء استفاده قرار گیرد، آشنا نیستند. تا جایی که ما می دانیم، این اولین کار مفصلی است که پیامدهای امنیت اطلاعات این پدیده ها را بررسی می کند.

حمله به درایوهای رمزگذاری شده

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

ما از چندین نوع حمله به سیستم های رمزگذاری هارد دیسک معروف استفاده کردیم. چیزی که بیشترین زمان را گرفت نصب دیسک های رمزگذاری شده و بررسی صحت کلیدهای رمزگذاری شناسایی شده بود. دریافت تصویر رم و جستجوی کلیدها تنها چند دقیقه طول کشید و کاملاً خودکار بود. دلایلی وجود دارد که باور کنیم اکثر سیستم های رمزگذاری هارد در معرض حملات مشابه هستند.

BitLocker

BitLocker سیستمی است که در برخی از نسخه های ویندوز ویستا گنجانده شده است. این به عنوان یک درایور عمل می کند که بین سیستم فایل و درایور هارد درایو اجرا می شود و بخش های انتخابی را در صورت درخواست رمزگذاری و رمزگشایی می کند. کلیدهای مورد استفاده برای رمزگذاری تا زمانی که دیسک رمزگذاری شده رمزگذاری شده است در RAM باقی می مانند.

برای رمزگذاری هر بخش از هارد دیسک، BitLocker از یک جفت کلید ایجاد شده توسط الگوریتم AES استفاده می کند: یک کلید رمزگذاری بخش و یک کلید رمزگذاری که در حالت زنجیره بلوک رمز (CBC) کار می کند. این دو کلید به نوبه خود با کلید اصلی رمزگذاری می شوند. برای رمزگذاری یک بخش، یک روش افزودن باینری بر روی متن ساده با کلید جلسه که با رمزگذاری بایت افست بخش با کلید رمزگذاری بخش تولید می شود، انجام می شود. سپس داده های به دست آمده توسط دو تابع ترکیبی که از الگوریتم فیل توسعه یافته توسط مایکروسافت استفاده می کنند، پردازش می شود. این توابع بدون کلید برای افزایش تعداد تغییرات در تمام بیت های رمز و بر این اساس، افزایش عدم قطعیت داده های بخش رمزگذاری شده استفاده می شود. در مرحله آخر، داده ها با الگوریتم AES در حالت CBC و با استفاده از کلید رمزگذاری مناسب رمزگذاری می شوند. بردار اولیه با رمزگذاری بایت افست بخش با کلید رمزگذاری مورد استفاده در حالت CBC تعیین می شود.

ما یک حمله آزمایشی کاملاً خودکار به نام BitUnlocker را پیاده سازی کرده ایم. این از یک درایو USB خارجی با سیستم عامل لینوکس و یک بوت لودر اصلاح شده مبتنی بر SYSLINUX و درایور FUSE استفاده می کند که به شما امکان می دهد درایوهای رمزگذاری شده BitLocker را به سیستم عامل لینوکس متصل کنید. در یک کامپیوتر آزمایشی با ویندوز ویستا، برق خاموش شد، یک هارد USB متصل شد و از آن بوت شد. پس از آن، BitUnlocker به طور خودکار رم را روی یک درایو خارجی ریخت، از برنامه keyfind برای جستجوی کلیدهای احتمالی استفاده کرد، همه گزینه های مناسب (جفت کلید رمزگذاری بخش و کلید حالت CBC) را امتحان کرد و در صورت موفقیت، درایو رمزگذاری شده را متصل کرد. به محض اتصال دیسک، کار با آن مانند هر دیسک دیگری امکان پذیر شد. در یک لپ تاپ مدرن با 2 گیگابایت رم، این فرآیند حدود 25 دقیقه طول کشید.

قابل ذکر است که این حمله بدون مهندسی معکوس هیچ نرم افزاری امکان پذیر شد. در مستندات مایکروسافت، سیستم BitLocker به اندازه کافی توصیف شده است تا نقش کلید رمزگذاری بخش و کلید حالت CBC را درک کرده و برنامه خود را ایجاد کنید که کل فرآیند را اجرا می کند.

تفاوت اصلی BitLocker با سایر برنامه های این کلاس، نحوه ذخیره کلیدها هنگام قطع اتصال درایو رمزگذاری شده است. به طور پیش فرض، در حالت اولیه، BitLocker از کلید اصلی فقط با استفاده از ماژول TPM محافظت می کند که در بسیاری از رایانه های شخصی مدرن وجود دارد. این روش، که به نظر می رسد به طور گسترده مورد استفاده قرار می گیرد، به ویژه در برابر حمله ما آسیب پذیر است، زیرا اجازه می دهد تا کلیدهای رمزگذاری را حتی اگر رایانه برای مدت طولانی خاموش باشد، به دست آوریم، زیرا هنگامی که رایانه بوت می شود، کلیدها به طور خودکار در آن بارگذاری می شوند. RAM (قبل از پنجره ورود) بدون وارد کردن اطلاعات احراز هویت.

ظاهراً متخصصان مایکروسافت با این مشکل آشنا هستند و بنابراین توصیه می کنند BitLocker را در حالت بهبود یافته پیکربندی کنید، جایی که کلیدها نه تنها با استفاده از TPM، بلکه با رمز عبور یا کلید در درایو USB خارجی محافظت می شوند. اما، حتی در این حالت، اگر مهاجم در لحظه ای که در حال کار است به رایانه شخصی دسترسی فیزیکی پیدا کند، سیستم آسیب پذیر است (حتی می تواند قفل یا در حالت خواب باشد (حالت ها - به سادگی خاموش یا خواب زمستانی در این مورد در نظر گرفته می شود. مستعد این حمله نیست).

FileVault

سیستم FileVault اپل تا حدی مورد بررسی و مهندسی معکوس قرار گرفته است. در Mac OS X 10.4، FileVault از یک کلید AES 128 بیتی در حالت CBC استفاده می کند. هنگامی که رمز عبور کاربر وارد می شود، هدر حاوی کلید AES و کلید دوم K2 رمزگشایی می شود و برای محاسبه بردارهای اولیه استفاده می شود. بردار اولیه برای بلوک دیسک Ith به صورت HMAC-SHA1 K2(I) محاسبه می شود.

ما از برنامه تصویربرداری EFI RAM خود برای بازیابی اطلاعات از مک مبتنی بر اینتل با درایو رمزگذاری شده با FileVault استفاده کردیم. پس از این، برنامه keyfind به طور خودکار کلیدهای FileVault AES را بدون خطا پیدا کرد.

بدون بردار اولیه، اما با کلید AES حاصل، رمزگشایی 4080 از 4096 بایت هر بلوک دیسک (همه به جز اولین بلوک AES) امکان پذیر می شود. ما مطمئن شدیم که بردار مقداردهی اولیه نیز در dump باشد. با فرض اینکه داده‌ها هنوز خراب نشده‌اند، مهاجم می‌تواند بردار را با آزمایش تمام رشته‌های 160 بیتی موجود در dump یکی یکی و بررسی اینکه آیا آنها می‌توانند یک متن ساده احتمالی را هنگامی که باینری به اولین قسمت رمزگشایی شده بلوک اضافه می‌شود، تعیین کند. . با هم، استفاده از برنامه هایی مانند vilefault، کلیدهای AES و بردار اولیه به شما امکان می دهد تا یک دیسک رمزگذاری شده را کاملاً رمزگشایی کنید.

در حین بررسی FileVault، متوجه شدیم که Mac OS X 10.4 و 10.5 کپی های متعددی از رمز عبور کاربر را در حافظه باقی می گذارند، جایی که آنها در برابر این حمله آسیب پذیر هستند. رمز عبور حساب اغلب برای محافظت از کلیدها استفاده می شود، که به نوبه خود می تواند برای محافظت از عبارت عبور درایوهای رمزگذاری شده FileVault استفاده شود.

TrueCrypt

TrueCrypt یک سیستم رمزگذاری منبع باز محبوب است که بر روی Windows، MacOS و Linux اجرا می شود. این الگوریتم های بسیاری از جمله AES، Serpent و Twofish را پشتیبانی می کند. در نسخه 4، همه الگوریتم ها در حالت LRW کار می کردند. در نسخه 5 فعلی از حالت XTS استفاده می کنند. TrueCrypt کلید رمزگذاری را ذخیره می کند و کلید را در هدر پارتیشن در هر درایو تغییر می دهد، که با کلید متفاوتی که از رمز عبور وارد شده توسط کاربر مشتق شده است، رمزگذاری می شود.

ما TrueCrypt 4.3a و 5.0a را در لینوکس آزمایش کردیم. ما درایو را وصل کردیم، با یک کلید AES 256 بیتی رمزگذاری شده بود، سپس برق را حذف کردیم و از نرم افزار تخلیه حافظه خودمان برای راه اندازی استفاده کردیم. در هر دو مورد، Keyfind یک کلید رمزگذاری 256 بیتی دست نخورده پیدا کرد. همچنین، در مورد TrueCrypt 5.0.a، keyfind توانست کلید توییک حالت XTS را بازیابی کند.

برای رمزگشایی دیسک های ایجاد شده توسط TrueCrypt 4، باید کلید حالت LRW را تغییر دهید. ما متوجه شدیم که سیستم آن را در چهار کلمه قبل از برنامه کلید AES ذخیره می کند. در روگرفت ما، کلید LRW خراب نبود. (اگر خطایی رخ دهد، ما همچنان می‌توانیم کلید را بازیابی کنیم).

Dm-crypt

هسته لینوکس، که با نسخه 2.6 شروع می شود، شامل پشتیبانی داخلی برای dm-crypt، یک زیرسیستم رمزگذاری دیسک است. Dm-crypt از الگوریتم‌ها و حالت‌های مختلفی استفاده می‌کند، اما به‌طور پیش‌فرض از رمز ۱۲۸ بیتی AES در حالت CBC با IVهایی که بر اساس اطلاعات کلیدی تولید نشده‌اند، استفاده می‌کند.

ما پارتیشن ایجاد شده توسط dm-crypt را با استفاده از شاخه LUKS (Linux Unified Key Setup) از ابزار cryptsetup و هسته 2.6.20 آزمایش کردیم. دیسک با استفاده از AES در حالت CBC رمزگذاری شد. ما برای مدت کوتاهی برق را خاموش کردیم و با استفاده از یک بوت لودر PXE اصلاح شده، حافظه را تخلیه کردیم. برنامه Keyfind یک کلید AES 128 بیتی صحیح را شناسایی کرد که بدون هیچ خطایی بازیابی شد. پس از بازیابی، مهاجم می تواند پارتیشن رمزگذاری شده dm-crypt را با تغییر ابزار cryptsetup رمزگشایی و نصب کند تا کلیدها را در قالب مورد نیاز بپذیرد.

روش های حفاظت و محدودیت های آنها

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

رونویسی حافظه

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

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

محدود کردن دانلود از شبکه یا از رسانه های قابل جابجایی

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

حالت خواب ایمن

نتایج مطالعه نشان داد که قفل کردن ساده دسکتاپ رایانه شخصی (یعنی سیستم عامل به کار خود ادامه می دهد، اما برای شروع تعامل با آن باید رمز عبور وارد کنید) از محتویات RAM محافظت نمی کند. حالت Hibernation نیز در صورت قفل بودن رایانه شخصی هنگام بازگشت از حالت خواب مؤثر نیست، زیرا مهاجم می تواند بازگشت از حالت خواب را فعال کند، سپس لپ تاپ را راه اندازی مجدد کرده و حافظه را خالی کند. حالت Hibernate (محتوای RAM در هارد دیسک کپی می شود) نیز کمکی نمی کند، مگر در موارد استفاده از اطلاعات کلیدی در رسانه های بیگانه برای بازگرداندن عملکرد عادی.

در اکثر سیستم های رمزگذاری هارد دیسک، کاربران می توانند با خاموش کردن رایانه شخصی از خود محافظت کنند. (سیستم Bitlocker در حالت اولیه عملکرد ماژول TPM آسیب پذیر باقی می ماند، زیرا با روشن شدن رایانه شخصی دیسک به طور خودکار متصل می شود). محتویات حافظه ممکن است پس از قطع شدن برای مدت کوتاهی باقی بمانند، بنابراین توصیه می شود چند دقیقه دیگر ایستگاه کاری خود را زیر نظر داشته باشید. علیرغم اثربخشی آن، این اقدام به دلیل زمان بارگذاری طولانی ایستگاه های کاری بسیار ناخوشایند است.

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

اجتناب از پیش محاسبات

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

انجام ندادن پیش محاسبات عملکرد را کاهش می دهد زیرا محاسبات بالقوه پیچیده باید تکرار شوند. اما، به عنوان مثال، می توانید مقادیر از پیش محاسبه شده را برای مدت زمان مشخصی ذخیره کنید و اگر در این بازه زمانی استفاده نشد، داده های دریافتی را پاک کنید. این رویکرد مبادله ای بین امنیت و عملکرد سیستم را نشان می دهد.

گسترش کلید

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

در عمل تصور کنید که ما یک کلید 256 بیتی AES K داریم که در حال حاضر استفاده نمی شود اما بعداً مورد نیاز خواهد بود. ما نمی‌توانیم آن را بازنویسی کنیم، اما می‌خواهیم آن را در برابر تلاش‌های بازیابی مقاوم کنیم. یکی از راه‌های رسیدن به این هدف، تخصیص یک ناحیه بزرگ B-bit داده، پر کردن آن با داده‌های تصادفی R، و ذخیره نتیجه تبدیل زیر K+H(R) در حافظه است (جمع دودویی، یادداشت ویرایشگر)، که در آن H یک تابع هش است، مانند SHA-256.

حال تصور کنید برق قطع شده باشد، این باعث می شود بیت های d در این ناحیه تغییر کنند. اگر تابع هش قوی باشد، هنگام تلاش برای بازیابی کلید K، مهاجم فقط می‌تواند روی حدس زدن اینکه کدام بیت‌های ناحیه B از تقریباً نیمی که می‌توانست تغییر کرده باشد، حساب کند. اگر بیت‌های d تغییر کرده باشند، مهاجم باید ناحیه‌ای با اندازه (B/2+d)/d را جستجو کند تا مقادیر صحیح R را بیابد و سپس کلید K را بازیابی کند. اگر ناحیه B بزرگ است، مانند یک جستجو می تواند بسیار طولانی باشد، حتی اگر d نسبتا کوچک باشد

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

حفاظت فیزیکی

برخی از حملات ما متکی به دسترسی فیزیکی به تراشه های حافظه بود. با محافظت از حافظه فیزیکی می توان از چنین حملاتی جلوگیری کرد. به عنوان مثال، ماژول های حافظه در یک محفظه کامپیوتری دربسته قرار دارند، یا با چسب اپوکسی مهر و موم شده اند تا از تلاش برای برداشتن یا دسترسی به آنها جلوگیری شود. همچنین می توانید پاک کردن حافظه را به عنوان پاسخی به دمای پایین یا تلاش برای باز کردن کیس اجرا کنید. این روش مستلزم نصب سنسورهایی با سیستم منبع تغذیه مستقل است. بسیاری از این روش ها شامل سخت افزارهای مقاوم در برابر دستکاری (مانند پردازنده کمکی IBM 4758) هستند و می توانند هزینه ایستگاه کاری را تا حد زیادی افزایش دهند. از طرف دیگر، استفاده از حافظه لحیم شده به مادربرد بسیار ارزان تر خواهد بود.

تغییر معماری

می توانید معماری رایانه شخصی را تغییر دهید. این برای رایانه های شخصی که قبلاً استفاده شده است غیرممکن است، اما به شما امکان می دهد رایانه های جدید را ایمن کنید.

اولین رویکرد این است که ماژول های DRAM را طوری طراحی کنیم که همه داده ها را سریعتر پاک کنند. این می تواند مشکل باشد زیرا هدف از پاک کردن داده ها در سریع ترین زمان ممکن با هدف دیگر جلوگیری از گم شدن داده ها بین دوره های تجدید حافظه در تضاد است.

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

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

محاسبات مورد اعتماد

سخت افزار مربوط به مفهوم "محاسبات قابل اعتماد"، به عنوان مثال، به شکل ماژول های TPM، قبلاً در برخی رایانه های شخصی استفاده می شود. اگرچه برای محافظت در برابر برخی حملات مفید است، اما در شکل فعلی آن چنین تجهیزاتی به جلوگیری از حملاتی که توضیح می دهیم کمک نمی کند.

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

نتیجه گیری

برخلاف تصور رایج، ماژول های DRAM در صورت غیرفعال شدن، داده ها را برای مدت نسبتا طولانی ذخیره می کنند. آزمایش‌های ما نشان داده‌اند که این پدیده به‌رغم تلاش‌های سیستم‌عامل برای محافظت از محتویات آن، امکان دسته‌بندی کاملی از حملات را فراهم می‌کند که می‌توانند داده‌های حساس، مانند کلیدهای رمزگذاری، را از RAM دریافت کنند. حملاتی که توضیح دادیم می‌توانند در عمل پیاده‌سازی شوند و نمونه‌های حملات ما به سیستم‌های رمزگذاری محبوب این را ثابت می‌کند.

اما انواع دیگر نرم افزارها نیز آسیب پذیر هستند. سیستم‌های مدیریت حقوق دیجیتال (DRM) اغلب از کلیدهای متقارن ذخیره شده در حافظه استفاده می‌کنند و اینها را نیز می‌توان با استفاده از روش‌های توضیح داده شده به دست آورد. همانطور که نشان دادیم، وب سرورهای دارای SSL نیز آسیب پذیر هستند زیرا کلیدهای خصوصی مورد نیاز برای ایجاد جلسات SSL را در حافظه ذخیره می کنند. تکنیک‌های جستجوی اطلاعات کلیدی ما احتمالاً برای یافتن گذرواژه‌ها، شماره حساب‌ها و هر اطلاعات حساس دیگری که در RAM ذخیره می‌شود، مؤثر است.

به نظر می رسد هیچ راه آسانی برای رفع آسیب پذیری های یافت شده وجود ندارد. تغییر نرم افزار به احتمال زیاد موثر نخواهد بود. تغییرات سخت افزاری کمک خواهد کرد، اما هزینه زمان و منابع بالا خواهد بود. فناوری محاسباتی مورد اعتماد در شکل فعلی آن نیز ناکارآمد است زیرا نمی تواند از کلیدهای واقع در حافظه محافظت کند.

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

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