OpenSSHプロジェクトがサイドチャネル攻撃に対する防御策を実装した。サイドチャネル攻撃は、コンピューターのメモリー上にあるデータの漏えいや、悪意を持つ脅威アクターによる機密情報の窃盗を可能にすることで知られている。
この新しい防御策は米国時間6月20日、Googleのセキュリティ研究者で、 OpenSSHを開発しているOpenBSDコミュニティでもトップクラスの開発者であるDamien Miller氏によって実装された。
これによりOpenSSHは、コンピューターのRAM上に配置されるSSHの秘密鍵を暗号化するようになる。SSHの秘密鍵が悪意を持った脅威アクターの手に渡れば、パスワードを指定することなしにリモートサーバーへの接続が可能になる。
今回の防御策によって、攻撃者がコンピューターやサーバーのRAM上からデータを抜き取ったとしても、それはSSHの秘密鍵を平文で表現したものではなく、暗号化されたものでしかなくなる。
Miller氏の手によるこの防御策によって「Spectre」や「Meltdown」「Rowhammer」「Rambleed」といったサイドチャネル攻撃をその場で阻止できるようになる。
最近になって、この種の攻撃手法に光が当てられてきている。これはCPU/RAMのハードウェア設計を学術的に研究した結果、発見されたものだ。こうした攻撃手法は、CPU/RAM上で処理されているデータの窃盗に用いられる可能性がある。
Miller氏がコードをコミットした際のログメッセージには、以下のように記されている。
この変更によって秘密鍵は、使用されていない際に対称鍵暗号によって暗号化されるようになる。この対称鍵はランダムなデータ(現在は16KB)からなる比較的サイズの大きな「prekey」(原初鍵)から導き出される。
攻撃者がシールドされた秘密鍵を解読しようとした場合、まずこのprekey全体を高い精度で復元する必要がある。しかし、現行世代の攻撃手法ではビット単位でのエラーがつきものであるため、同手法を累積的に繰り返してもprekey全体の復元はまず不可能なはずだ。
実装上、暗号鍵はロードの時点で暗号化、「シールド」されており、署名に用いる際や、保存/シリアライズの際に自動的かつ透過的にシールドが解除される。
同氏は、「コンピューターのアーキテクチャーにおける安全性が数年後により高まり」、サイドチャネル攻撃に対するこういった特殊な保護措置を除去できるようになってほしいと考えている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。