Marvin Attack、時間ベースの RSA クラッキング攻撃

マービン・アタック

Marvin は、RSA の署名と復号化操作を可能にする 25 年前の脆弱性の復活です

9月25日から29日にオランダで開催されたESORICS 2023(欧州コンピュータセキュリティ研究シンポジウム)において、 Red Hatに勤務するセキュリティ研究者が、RSAアルゴリズムに基づく復号処理中の遅延を測定することで元のデータを特定できる攻撃手法「Marvin Attack」を発表した。

Marvin Attackは、1998年に提案されたBleichenbacher法の変種であり、2017年と2019年に発表されたROBOTおよびNew CAT攻撃の開発を継続するものです。

Marvin 攻撃は、25 年前の脆弱性の復活であり、秘密キーを使用して実行された復号化操作の時間のみを監視できる攻撃者として、RSA 署名および復号化操作を実行できるようになります。

1998 年、Daniel Bleichenbacher は、PKCS #1 v1.5 パディングのエラーに対して SSL サーバーによって提供されるエラー メッセージが、適応的に選択された暗号文攻撃を可能にすることを発見しました。 この攻撃は、RSA 暗号化と併用すると TLS の機密性を完全に破ります。 2018 年、Hanno Böck、Juraj Somorovsky、Craig Young は、19 年後も多くのインターネット サーバーが元の攻撃のわずかなバリエーションに対して依然として脆弱であることを示しました。

基本的に、この手法では、攻撃者はサーバーの反応や実行時間の違いに基づいて、 PKCS #1 v1.5 標準を使用して追加された正しいオラクルブロックと誤ったオラクルブロックを分離し、暗号化されたデータをブロック境界に沿って整列させます。パディングブロックの精度に関する情報を操作することで、攻撃者は総当たり攻撃によって有効な暗号文を復元することができます。

この場合、攻撃によって秘密鍵が直接復元されるわけではなく、暗号文の復号化、あるいは偽造された署名付きメッセージの生成のみが可能になります。攻撃を成功させるには、復号化のために非常に大量のテストメッセージを送信する必要があります。

RSAベースの暗号化を使用するTLSサーバーに対する攻撃では、攻撃者は傍受したトラフィックを一時的に保存し、その後復号化することが可能になります。PFSをサポートするサーバーの場合、攻撃の実行ははるかに困難になり、成功は攻撃の実行速度に左右されます。

さらに、この手法では、TLS 1.2 の ServerKeyExchange メッセージまたは TLS 1.3 の CertificateVerify メッセージ(鍵交換段階で送信される)の内容を検証する架空のデジタル署名を生成することができ、これを利用してクライアントとサーバー間の TLS 接続を傍受する中間者攻撃(MITM 攻撃)を実行できます。

マービン方式との違いは、正しい増分データと間違った増分データを分離するための技術の向上、誤検出のフィルタリング、計算遅延のより正確な決定、および測定中の追加サードパーティチャネルの使用に集約されると述べられています。

実際には、提案された方法により、RSA 秘密鍵を知らなくてもトラフィックの復号化やデジタル署名の生成が可能になります。 攻撃の適用可能性をテストするために、TLS サーバーをチェックするための特別なスクリプトと、ライブラリの問題を特定するためのツールが公開されました。

この問題は、RSAとPKCSを使用する複数のプロトコル実装に影響を与えます。最新の暗号ライブラリには、Bleichenbacherメソッドに基づく攻撃に対する保護機能がいくつか含まれていますが、今回の調査では、これらのライブラリには情報漏洩経路が存在し、正しいパディングと誤ったパディングの両方を含むパケットに対して一貫した処理時間を提供していないことが明らかになりました。例えば、MarvinによるGnuTLS攻撃の実装は、RSA関連の計算を直接実行するコードとは連動しておらず、特定のエラーメッセージを表示するかどうかを決定するコードに異なる実行時間を使用しています。

この研究の著者はまた、考慮されている脆弱性のクラスは RSA に限定されず、整数計算の標準ライブラリに依存する他の多くの暗号アルゴリズムに影響を与える可能性があると考えています。

Marvin 攻撃を実際に実行する可能性を確認するために、研究者は、M2Crypto および pyca/cryptography ライブラリに基づくアプリケーションへのこの手法の適用可能性を実証しました。この実験では、暗号化を侵害するには数時間で十分でした。平均的なラップトップ。

最後に、さらに詳しく知りたい場合は、以下のリンクから詳細をご確認いただけます。


Googleで優先ソースとして追加する