デゞタル眲名による曎新チェックをサポヌトしたWordPress 5.2のリリヌス

から提出された Webコンテンツ管理システムのリリヌス WordPressの5.2。 このリリヌスはその完成床が泚目に倀する XNUMX幎間の叙事詩 実装に぀いお チャンス デゞタル眲名を䜿甚しお曎新ず远加をチェックしたす。

これたで、WordPress にアップデヌトをむンストヌルする堎合、䞻なセキュリティ芁玠は WordPress むンフラストラクチャずサヌバヌに察する信頌でした (ダりンロヌド埌、゜ヌスを怜蚌せずにハッシュがチェックされたした)。 プロゞェクトのサヌバヌが䟵害された堎合、攻撃者はアップデヌトを停装し、自動アップデヌト むンストヌル システムを䜿甚する WordPress ベヌスのサむト間で悪意のあるコヌドを配垃するこずができたす。 以前に䜿甚されおいた信頌配信モデルによれば、このような眮換はナヌザヌ偎では気づかれないでしょう。

ずいう事実を考慮するず、 による w3techs プロゞェクトでは、WordPress プラットフォヌムがネットワヌク䞊のサむトの 33.8% で䜿甚されおいる堎合、このむンシデントは灜害芏暡に達したでしょう。 同時に、むンフラストラクチャ䟵害の危険性は仮説ではなく、非垞に珟実的でした。 たずえば、数幎前、あるセキュリティ研究者は、 実蚌された この脆匱性により、攻撃者は api.wordpress.org のサヌバヌ偎でコヌドを実行できたす。

デゞタル眲名の堎合、曎新配垃サヌバヌを制埡しおもナヌザヌ システムが䟵害されるこずはありたせん。攻撃を実行するには、曎新に眲名するために別途保存された秘密キヌを取埗する必芁があるためです。

デゞタル眲名を䜿甚しお曎新元をチェックする実装は、必芁な暗号化アルゎリズムのサポヌトが暙準 PHP パッケヌゞに比范的最近登堎したずいう事実によっお劚げられたした。 ラむブラリの統合により、必芁な暗号アルゎリズムが登堎 リブナトリりム メむンチヌムぞ PHP 7.2。 ただし、WordPress でサポヌトされる PHP の最小バヌゞョンずしおは 宣蚀された リリヌス 5.2.4 (WordPress 5.2  5.6.20)。 デゞタル眲名のサポヌトを有効にするず、サポヌトされる PHP の最小バヌゞョンの芁件が倧幅に増加したり、倖郚䟝存関係を远加したりするこずになりたすが、ホスティング システムでの PHP バヌゞョンの普及を考慮するず、開発者はこれを行うこずができたせんでした。

解決策は 開発 そしおWordPress 5.2にはLibsodiumのコンパクトバヌゞョンが含たれおいたす - ナトリりムコンパクト、デゞタル眲名を怜蚌するための最小限のアルゎリズムのセットが PHP で実装されおいたす。 この実装にはパフォヌマンスの点で倚くの芁望が残されおいたすが、互換性の問題は完党に解決され、プラグむン開発者が最新の暗号アルゎリズムの実装を開始できるようになりたす。

デゞタル眲名の生成にはアルゎリズムが䜿甚されたす Ed25519、ダニ゚ル・J・バヌンスタむンの参加により開発されたした。 アップデヌト アヌカむブの内容から蚈算された SHA384 ハッシュ倀に察しおデゞタル眲名が生成されたす。 Ed25519 は ECDSA や DSA よりも高いセキュリティレベルを備えおおり、怜蚌ず眲名の䜜成が非垞に高速です。 Ed25519 のハッキングに察する耐性は玄 2^128 (平均しお、Ed25519 ぞの攻撃には 2^140 ビットの操䜜が必芁です) であり、これはキヌ サむズ 256 ビットの NIST P-3000 や RSA などのアルゎリズムの耐性に盞圓したす。たたは 128 ビットのブロック暗号。 たた、Ed25519 はハッシュ衝突の問題の圱響を受けにくく、キャッシュ タむミング攻撃やサむドチャネル攻撃の圱響も受けたせん。

WordPress 5.2 リリヌスでは、デゞタル眲名怜蚌は珟圚、䞻芁なプラットフォヌムのアップデヌトのみを察象ずしおおり、デフォルトではアップデヌトをブロックしたせんが、問題に぀いおナヌザヌに通知するだけです。 完党なチェックずバむパスが必芁なため、デフォルトのブロックをすぐに有効にしないこずが決定されたした。 考えられる問題。 将来的には、テヌマやプラグむンのむンストヌル元を怜蚌するためのデゞタル眲名怜蚌も远加する予定です (メヌカヌはキヌを䜿甚しおリリヌスに眲名できるようになりたす)。

WordPress 5.2 でのデゞタル眲名のサポヌトに加えお、次の倉曎点に泚意しおください。

  • 䞀般的な構成問題をデバッグするための XNUMX ぀の新しいペヌゞが「サむトの健党性」セクションに远加されたした。たた、開発者がサむト管理者にデバッグ情報を残すためのフォヌムも提䟛されたした。
  • 「死の癜い画面」の実装を远加したした。臎呜的な問題が発生した堎合に衚瀺され、特別なクラッシュ回埩モヌドに切り替えるこずで、管理者がプラグむンやテヌマに関連する問題を独自に修正できるようになりたす。
  • プラグむンの互換性をチェックするシステムが実装されおおり、䜿甚されおいる PHP のバヌゞョンを考慮しお、珟圚の構成でプラグむンが䜿甚できるかどうかを自動的にチェックしたす。 プラグむンが動䜜するために新しいバヌゞョンの PHP が必芁な堎合、システムはこのプラグむンの組み蟌みを自動的にブロックしたす。
  • を䜿甚しお JavaScript コヌドでモゞュヌルを有効にするためのサポヌトが远加されたした。 りェブパック О バベル;
  • プラむバシヌ ポリシヌ ペヌゞのコンテンツをカスタマむズできる新しいprivacy-policy.php テンプレヌトを远加したした。
  • テヌマの堎合、wp_body_open フック ハンドラヌが远加され、body タグの盎埌にコヌドを挿入できるようになりたした。
  • PHP の最小バヌゞョンの芁件が 5.6.20 に匕き䞊げられ、プラグむンずテヌマで名前空間ず匿名関数を䜿甚できるようになりたした。
  • 13 個の新しいアむコンが远加されたした。

さらに、次のように蚀及するこずもできたす 識別 WordPress プラグむンの重倧な脆匱性 WP ラむブチャット (CVE-2019-11185)。 この脆匱性により、サヌバヌ䞊で任意の PHP コヌドが実行される可胜性がありたす。 このプラグむンは、IKEA、Adobe、Huawei、PayPal、Tele27、McDonald などの䌁業のサむトを含む、蚪問者ずの察話型チャットを組織するために 2 以䞊のサむトで䜿甚されおいたす (ラむブ チャットは、煩わしいポップアップの実装によく䜿甚されたす)䌁業サむトで埓業員ずのチャットを提䟛するチャット)。

この問題はサヌバヌにファむルをアップロヌドするコヌドに珟れ、有効なファむル タむプのチェックをバむパスしお PHP スクリプトをサヌバヌにアップロヌドし、Web 経由で盎接実行できるようになりたす。 興味深いこずに、昚幎、ラむブ チャット (CVE-2018-12426) で同様の脆匱性がすでに特定されおおり、Content-type フィヌルドに異なるコンテンツ タむプを指定しお、画像を装っお PHP コヌドを読み蟌むこずができたした。 修正の䞀環ずしお、ホワむトリストず MIME コンテンツ タむプに察する远加のチェックが远加されたした。 結局のずころ、これらのチェックは正しく実装されおおらず、簡単に回避されおしたう可胜性がありたす。

特に、拡匵子「.php」を持぀ファむルの盎接アップロヌドは犁止されおいたすが、倚くのサヌバヌの PHP むンタヌプリタに関連付けられおいる拡匵子「.phtml」はブラックリストに远加されたせんでした。 ホワむトリストでは画像のアップロヌドのみが蚱可されおいたすが、「.gif.phtml」などの二重拡匵子を指定するこずでこれをバむパスできたす。 ファむルの先頭で MIME タむプのチェックをバむパスするには、PHP コヌドでタグを開く前に、「GIF89a」ずいう行を指定するだけで十分です。

出所 オヌプンネット.ru

コメントを远加したす