Matt Mullenwegがセキュリティの暴言に対応:WordPressアップデートのデジタル署名は重要ですが、優先事項ではありません
公開: 2017-02-16暗号化エンジニアリングの仕事で最も広く知られているParagonInitiativeEnterprisesの最高開発責任者であるScottArciszewskiは、WordPressオープンソースソフトウェアプロジェクトの共同作成者であるMatt Mullenwegを、セキュリティについて十分に気にしていないことを批判するMediumに関する投稿を公開しました。 その後、Arciszewskiは投稿を撤回しましたが、WaybackMachineを介して読むことができます。
Arciszewskiは、暗号化、復号化、署名、パスワードハッシュなどを可能にするPHP7.2のコア拡張機能であるlibsodiumと呼ばれるプロジェクトに取り組んでいます。 その目標は、開発者がより高レベルの暗号化ツールを構築できるようにすることです。
WordPressの自動更新システムはapi.wordpress.orgを通じて処理されます。 アップデートにはデジタル署名がないため、api.wordpress.orgが侵害された場合、攻撃者は悪意のあるアップデートを数千または数百万のサイトに送信する可能性があります。 このシナリオは、Wordfenceが更新サーバーを危険にさらす可能性のある複雑なセキュリティの脆弱性の詳細を公開した後、昨年末に人々の心の最前線にありました。
Arciszewskiは、解決策としてオフラインコード署名と楕円曲線暗号を提案しています。「ファイルの有効な署名を生成できるキーはサーバーに保存されないため(ファイル自体と有効な署名のみが保存されます)、サーバーがハッキングされた場合でも、攻撃者はトロイの木馬マルウェアをファイルに追加することはできません」と彼は言いました。
OpenSSLはPHPの拡張であり、公開鍵暗号として一般的に使用されますが、Arciszewskiが不十分と見なすRSAのみをサポートします。 WordPressはPHPで記述されており、バージョン5.2-7以降をサポートしているため、Arciszewskiは互換性のあるソリューションを作成する必要がありました。 これにより、彼は、WordPressの自動アップデーターにEd25519署名検証を追加するsodium_compatを作成するようになりました。
ArciszewskiはWordPressに多数のパッチを提出しましたが、WordPressのコア開発者であるDion Hulseから、サードパーティによるセキュリティ監査に合格するまで、sodium_compatライブラリをコアにマージできないと言われました。 監査には多額の費用がかかる可能性があるため、Arciszewskiの計画は、Automatticが費用の一部を負担するか、資金をクラウドソーシングできるかどうかを確認することでした。 ただし、MullenwegがHulseに、エディター、カスタマイザー、REST APIの3つの主要なフォーカス領域に関連していないため、この機能の作業を停止するように通知した後、彼のプロジェクトは保留になりました。
Arciszewskiは、この決定は無責任であり、すべてのユーザーが警戒する理由があると説明しました。 )、" 彼は言った。 「この過失行為は、ウェブの残りの部分を害することになります。」
更新の署名は重要ですが、優先事項ではありません
Mullenwegは、Medium.comの投稿に彼自身の投稿の1つで応答し、WordPress開発チームのセキュリティへの取り組みを繰り返しました。
「関係者全員が責任を真剣に受け止めており、WordPressの成長は、多くの思慮深く勤勉な人々が関与し、あらゆる角度からWPサイトのセキュリティを総合的に考えていることを意味しています」と彼は言いました。
Mullenwegはまた、WordPressの更新にデジタル署名を実装することでどのような攻撃を阻止できるかを明確にしました。
「ブログとWordPress.orgの間のネットワーク上の更新ファイルを誰かが変更する中間者攻撃を阻止したり、更新を提供する.orgの一部が侵害されたが署名が侵害されたりする状況を阻止する可能性があります。一部はそうではなく、誰かが更新を送信することを決定しましたが、拒否されることはわかっています」と彼は言いました。

チームは、この方法で攻撃されたWordPressサイトを認識していません。 可能性はありますが、被害の範囲は限定的である可能性があります。 更新サーバーは24時間監視されており、多くの大規模なWebホスティング会社が顧客のサイトを自動的にスキャンしてマルウェアを検出するため、悪意のある更新がすぐに発見される可能性があります。
Mullenwegは、更新サーバーが危険にさらされた場合にどうなるかについて説明しています。
「私たちはそれを本当に迅速にオフにし、問題があったことを世界に通知し、問題を修正し、再びオンにし、特定のサイトまたはホストに可能な限り通知します」と彼は言いました。 WordPressはAlexaが追跡している上位1,000万のサイトの27.5%に電力を供給していますが、サイトの数が危険にさらされる可能性はほとんどありません。
彼は続けて、WordPressサイトを危険にさらすより簡単な方法があると言い、影響に基づいてWordPressセキュリティの最大の問題をリストしました。
- コアを更新していないサイト。
- プラグインを更新していないサイト。
- テーマを更新していないサイト。
- ブルートフォース保護や2要素認証なしの弱いパスワード。
- サイトをスキャンおよび修正していないホスト(プロフェッショナルまたはアドホック)。
- 上記の既存の優先順位から注意をそらす、実際には見られない仮説上の問題。
Mullenwegは、Arciszewskiが投稿を公開する前日にsodium_compatの監査に寄付することを申し出たことを確認しました。 ライブラリが監査に合格したとしても、コードをすぐにコアに追加することはできませんでした。「サーバー側で重要な作業を行って、更新サーバーから署名を分離する必要があるため、そもそも価値があります。 、" 彼は言った。
また、コードがコアに追加された場合、暗号化ライブラリと更新チェックを備えたバージョンに更新されたサイトのみがそれを利用できます。 WordPress.orgは、更新チェックがない古いバージョンに更新を送信する必要があります。 これらのサイトは、悪意のある更新を受信することに対して依然として脆弱です。
Mullenwegは、デジタル署名と更新署名は最終的にWordPressに反映されると述べていますが、その前に他のセキュリティ問題があるため、優先事項ではありません。 " 彼は言った。
「最初にサーバー側を構築することをお勧めします。これは、たとえばHSMを使用して適切に構築することが、困難で重要な部分だからです。 次に、パッケージに署名します。 次に、自動更新を中断したくないため、プラグインで検証をテストします。 そして最後にコアにマージし、署名されていない更新を拒否するようにクライアントを設定します。 クライアント側では、暗号化ライブラリを選択して監査する必要があります。」
Mullenwegは、自分の回答を個人サイトではなくMediumに公開した理由を説明して投稿を終了しました。 「このような暴言で最も人気のある場所のようです。 有名なMediumエディターも試してみたかったのです」と彼は言いました。
ナトリウムコンパットの次のステップ
2017年に彼のライブラリがWordPressに追加される見込みは良くありませんが、Arciszewskiは、それから恩恵を受ける可能性のあるPHPプロジェクトは他にもたくさんあると言います。パーティーの暗号監査を行い、コストをクラウドファンディングしようとします」と彼は言いました。
