一般的なソリッドステートドライブ(SSD)で使用されている暗号化システムの根本的な欠陥を悪用すると、機器を入手した悪意のある人物が簡単にデータを解読できる可能性がある。
オランダのラドバウド大学の研究者カルロ・マイヤー氏とベルナルド・ファン・ガステル氏が執筆し、本日公開された論文[PDF]では、これらの重大な脆弱性について解説されています。要点は、これらのドライブの内容を暗号化・復号化するにはパスワードが必要であるものの、このパスワードを回避でき、犯罪者やスパイが暗号化されたデータにアクセスできるようになるという点です。
基本的に、データの暗号化と復号化に使用される暗号鍵は、所有者のパスワードから派生したものではありません。つまり、ドライブを押収し、デバッグポート経由で任意のパスワードを受け入れるように再プログラムすることが可能です。その時点で、SSDは保存されている鍵を使ってコンテンツを暗号化および復号化します。そう、それほど愚かなことです。
2人のエッグヘッドは、CrucialのSSD3モデルとSamsungのSSD4モデルをテストし、最終的な構成によって多少は異なりますが、前述の攻撃に対して脆弱性があることを発見しました。ご自身のマシンが脆弱かどうかを判断するには、以下の表で具体的な結果と設定をご確認ください。テストしたすべてのドライブは、TCG Opal規格に準拠した暗号化を安全に実装しようとしましたが、失敗しました。
研究者らは、「分析により、ベンダー間で共通する重大な問題のパターンが明らかになった」と述べている。「複数のモデルでは、暗号化を完全に回避することが可能であり、パスワードやキーを知らなくてもデータを完全に復元できる可能性がある」
フラッシュストレージを攻撃するために適応したRowhammer RAM攻撃
続きを読む
研究者らによると、特にSSDは、ドライブ内に保存されている所有者のパスワードと実際のデータ暗号化キー(DEK)を暗号的に結び付けることができない。SSDに内蔵されたプロセッサとファームウェアは、いつでもDEKを自由に使用できるが、正しいパスワードが入力された場合にのみ使用する。デバイスのデバッグポートに物理的にアクセスできる人物によってファームウェアが再プログラムまたは操作された場合、パスワード処理を省略し、DEKを直接使用するように変更される可能性がある。
本来、DEKは何らかの方法で所有者のパスフレーズから派生するべきです。パスフレーズがなければ、完全な鍵は存在しません。実際には、SSDは不正行為をしています。さらに、多くのドライブは、異なるセクションを異なるパスワードで保護することを提案しているにもかかわらず、フラッシュディスク全体に単一のDEKを使用しています。
実際には、ラドバウド氏と同氏は、ドライブの回路基板上のデバッグインターフェースに接続するだけで多数のSSDのデータを復号化し、ファームウェア内のパスワードチェックルーチンを変更して、DEKにアクセスしてデバイスを暗号化または復号化する前に任意のパスフレーズを受け入れるようにしたと述べている。
その他のケースでは、研究者はドライブのファームウェアを変更したり、攻撃者がパスワードルーチンを変更できるようにするコードインジェクションの脆弱性を悪用したりしてキーを取得できる可能性があるが、どちらの場合もドライブへの物理的なアクセスが必要である。
CrucialとSamsungのSSDモデルのテスト結果
研究者らは論文の中で、これらのデバイスを保護する一つの方法として、ドライブの復号に必要な秘密情報を機器本体から切り離して保存することを挙げている。これは、ホストコンピュータ上で動作するフルディスク暗号化ソフトウェアを使用することで実現できる。このソフトウェアは、ユーザーが入力したパスフレーズから生成された鍵を用いて、ドライブへのデータの入出力前と入出力後にデータの暗号化と復号を行う。
「本論文で示された結果は、機密性確保のためにSSDが提供するハードウェア暗号化だけに頼るべきではないことを示しています」と論文は説明している。「SSDに実装されたハードウェア暗号化に依存しているユーザーには、ソフトウェアによるフルディスク暗号化ソリューション、できればオープンソースで監査済みのソリューションも導入することをお勧めします。」
残念ながら、2 人はまた、Microsoft が Windows 10 で使用する BitLocker ツールなど、一部の一般的なデータ暗号化システムは SSD にソフトウェア暗号化を使用せず、ドライブの脆弱なハードウェア暗号化に依存していると指摘しています。
暗号の第一人者、マット・グリーン氏が今日、一切の妥協を許しませんでした...
真面目に言うと、MicrosoftがこれらのデバイスにBitlockerの実装を任せたのは、同社がこれまでに行ったことの中で最も愚かな行為と言えるでしょう。まるでパラシュートではなく傘を持って飛行機から飛び降りるようなものだ。
— マシュー・グリーン(@matthew_d_green)2018年11月5日
このような場合、Meijer 氏と van Gastel 氏は、ユーザーと管理者が代わりに VeraCrypt のようなものを使用するか、BitLocker を切り替えてドライブに組み込まれた暗号化ではなくソフトウェア暗号化を使用するようにすることを推奨しています。
「特に、VeraCryptはオペレーティングシステムの実行中にインプレース暗号化を可能にし、ハードウェア暗号化と共存可能です」と彼らは述べています。「さらに、BitLockerユーザーは、グループポリシー設定を調整することで、ハードウェア暗号化がサポートされている場合でも、ソフトウェア暗号化を強制するように設定を変更できます。」
研究者の一人、ベルナルド・ヴァン・ガステル氏は、エル・レグへの電子メールで次のように語った。
Microsoft、Crucial、Samsung にコメントを求めました。®