事後分析: 暗号鍵サーバー SKS Keyserver のネットワークに対する最新の攻撃についてわかっていること

ハッカーは、XNUMX 年以上前から知られている OpenPGP プロトコルの機能を使用しました。

何がポイントなのか、なぜクローズできないのかを説明します。

事後分析: 暗号鍵サーバー SKS Keyserver のネットワークに対する最新の攻撃についてわかっていること
/スプラッシュ解除/ チュンリー・ジュ

ネットワークの問題

XNUMX月中旬、不明 攻撃を実行した 暗号鍵サーバーのネットワークへ SKSキーサーバー、OpenPGPプロトコルに基づいて構築されています。 これは IETF 標準です (RFC 4880)、電子メールやその他のメッセージの暗号化に使用されます。 SKS ネットワークは、公的証明書を配布するために XNUMX 年前に作成されました。 などのツールが含まれます GnuPG データの暗号化と電子デジタル署名の作成に使用されます。

ハッカーは、XNUMX 人の GnuPG プロジェクト管理者、Robert Hansen と Daniel Gillmor の証明書を侵害しました。 破損した証明書をサーバーからロードすると、GnuPG が失敗し、システムがフリーズするだけです。 攻撃者はこれで止まらず、侵害された証明書の数は増加する一方であると考える理由があります。 現時点では、問題の程度は不明のままです。

攻撃の本質

ハッカーは OpenPGP プロトコルの脆弱性を利用しました。 彼女は何十年も前からコミュニティに知られています。 GitHub上でも 見つけることができます 対応するエクスプロイト。 しかし、これまでのところ、その「穴」を埋める責任を負った人は誰もいません(理由については後で詳しく説明します)。

ハブレに関するブログからいくつか抜粋します。

OpenPGP 仕様によれば、誰でも証明書にデジタル署名を追加して所有者を確認できます。 さらに、署名の最大数は一切規制されていません。 そして、ここで問題が発生します。SKS ネットワークでは 150 つの証明書に最大 XNUMX 万の署名を配置できますが、GnuPG はそのような数をサポートしていません。 したがって、証明書をロードすると、GnuPG (および他の OpenPGP 実装) がフリーズします。

ユーザーのXNUMX人 実験を行った — 証明書のインポートには約 10 分かかりました。 証明書には 54 を超える署名があり、その重量は 17 MB でした。

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: key F20691179038E5C6: 4 duplicate signatures removed
gpg: key F20691179038E5C6: 54614 signatures not checked due to missing keys
gpg: key F20691179038E5C6: 4 signatures reordered
gpg: key F20691179038E5C6: public key "Daniel Kahn Gillmor <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

さらに悪いことに、OpenPGP キー サーバーは証明書情報を削除しません。 これは、証明書を使用したすべてのアクションのチェーンを追跡し、それらの置き換えを防ぐために行われます。 したがって、侵害された要素を排除することは不可能です。

基本的に、SKS ネットワークは、誰でもデータを書き込むことができる大規模な「ファイル サーバー」です。 問題を説明するために、昨年、GitHub の常駐者が ファイルシステムを作成しました、暗号キー サーバーのネットワーク上にドキュメントを保存します。

なぜ脆弱性は解決されなかったのでしょうか?

脆弱性を解決する理由はありませんでした。 以前は、ハッカー攻撃には使用されていませんでした。 ITコミュニティですが、 長い間尋ねられた SKS および OpenPGP の開発者は、この問題に注意を払う必要があります。

公平を期すために、XNUMX月になってもまだ 立ち上げ 実験用キーサーバー key.openpgp.org。 このような種類の攻撃に対する保護を提供します。 ただし、データベースは最初から作成され、サーバー自体は SKS の一部ではありません。 そのため、使用できるようになるまでに時間がかかります。

事後分析: 暗号鍵サーバー SKS Keyserver のネットワークに対する最新の攻撃についてわかっていること
/スプラッシュ解除/ ルベン・バゲス

元のシステムのバグに関しては、複雑な同期メカニズムにより修正できません。 キー サーバー ネットワークは、もともと Yaron Minsky の博士論文の概念実証として作成されました。 さらに、この作業には OCaml というかなり特殊な言語が選択されました。 による によると メンテナの Robert Hansen 氏によると、コードは理解するのが難しいため、軽微な修正のみが行われています。 SKS アーキテクチャを変更するには、最初から書き直す必要があります。

いずれにしても、GnuPG はネットワークが修正されるとは考えていません。 GitHub への投稿では、開発者は SKS Keyserver を使用することは推奨しないとさえ書いています。 実際、これが新しいサービス key.openpgp.org への移行を開始した主な理由の XNUMX つです。 私たちは事態のさらなる発展を見守ることしかできません。

当社の企業ブログからのいくつかの資料:

出所: habr.com

コメントを追加します