WordPress RESTAPIの脆弱性エクスプロイトが続く
公開: 2017-02-14
WordPressセキュリティチームが4.7および4.7.1のRESTAPIエンドポイントに認証されていない特権昇格の脆弱性を開示してから約2週間が経過しました。 脆弱性にはサイレントパッチが適用され、WordPressサイトの所有者が4.7.2へのアップデートを開始できるように、開示が1週間遅れました。 先週、数十万の脆弱なサイトがすでに改ざんされており、被害の報告はまだ続いています。
週末にかけて攻撃が増加し、WordPressのセキュリティ会社はファイアウォールによってブロックされる試みが増えています。 WordPressの脆弱性を報告したWebサイトセキュリティ会社のSucuriは、先週「Hacked by w4l3XzY3」キャンペーンを追跡しており、66,000件の改ざんを推定しました。 その特定のキャンペーンは現在、Googleによって索引付けされた260,000ページを通過しました。 これは、脆弱性を標的とした約20の改ざんキャンペーンの1つです。
「過去24時間の間に、キャンペーンあたりの破損ページの平均成長率は44%でした」と、WordfenceのCEOであるMarkMaunder氏は金曜日に述べています。 「Googleがインデックスに登録した、これらすべてのキャンペーンの改ざんされたページの総数は、1,496,020から1,893,690に増加しました。 これは、わずか24時間で破損したページの総数が26%増加することです。」
Maunderは、Googleトレンドのグラフを参照しました。これは、改ざんキャンペーンが過去1週間に成功したことを示しています。 急上昇は、WordPressが脆弱性を開示した日に始まりました。
しかし、セキュリティサービスを提供する別の会社であるWhite Fir Designは、180万ページがハッキングされたというWordfenceの主張に異議を唱えています。 約200万ページの数字は、BBC、The Enquirer、Ars Technica、CIO.com、およびその他の出版物からのレポートで引用されています。 White Fir Designは、Googleによってインデックスに登録されたハッキングされたページは正確な表現ではないと主張しています。
SucuriのCTOであるDanielCidも、Wordfenceによる状況の評価に完全には同意していません。 週末にいくつかの調査を行った後、Sucuriは、サイトごとに20〜30ページが改ざんされ、50,000を超えるサイトがハッキングされたと推定しています。 これは、見積もりの下限でおよそ100万になり、最大150万の範囲になります。
Sucuriはまた、投稿やページ内からのPHPの実行を可能にするプラグインを使用したサイトへのリモートコード実行(RCE)攻撃の形で、RESTAPIの脆弱性に対するより深刻な試みを目にし始めています。 そのようなキャンペーンの1つは、侵害されたサイトからコンテンツを追加し、/ wp-content / uploadsに隠されたバックドアを注入することを含むPHPインクルードを注入しようとします。
「改ざんは経済的利益をもたらさないので、それはすぐに死ぬ可能性が高い」とシドは言った。 「残っているのは、攻撃者にサイトの完全な制御を提供し、複数の収益化方法を提供するコマンド(RCE)の実行の試みと、SPAM SEO /アフィリエイトリンク/広告インジェクションです。 いくつかのサイトでそれらが試みられているのを目にし始めており、それがこの脆弱性が今後数日、数週間、場合によっては数か月で悪用される方向になる可能性があります。」
ハッカーは、4.7.2に更新されていないサイトを標的にしています–それらの間にパターンはないようです。 最も活発なキャンペーンのGoogleの結果をざっと見ると、侵害されたサイトにはブログ、メディア、政府、教育、スポーツ、医療、テクノロジーのWebサイトが含まれていることがわかります。
RESTAPIがデフォルトで有効になっている理由
WordPress REST APIはデフォルトで有効になっています。これは、将来、より多くの管理機能とプラグイン機能がRESTAPIに依存するようになるためです。 最近の攻撃の後、何人かのユーザーが脆弱性の開示についてコメントし、デフォルトで有効になっている理由を尋ねました。
「セキュリティの問題は、どのサイトでも使用していない機能(REST API)にありますが、それでも、この機能は最初にデフォルトで有効になり、WordPress 4.7ではプラグインが必要になるため、さらにセキュリティの問題が発生する可能性があります。機能を無効にするには?」 1人のユーザー(@ helios2121)が投稿にコメントしました。 「セキュリティへのアプローチを再考してください。 誰もがオプトインする必要のない機能を作成します。 または、少なくとも追加のプラグインを必要とせずにオプトアウトする方法を提供します。」

Morten Rand-Hendriksenはtracチケットを開き、デフォルトでREST APIを無効にし、サイト管理者が要求した場合、またはテーマやプラグインがそれに依存している場合にのみ有効にすることについて話し合いました。
コアコミッターのSergeyBiryukovは、RESTAPIに依存するコア機能をさらに導入する計画であることを確認しました。 「RESTAPIをオフにすることは、admin-ajax.phpをオフにするようなものです。どちらもサイトを破壊します」とBiryukov氏は述べています。
Rand-Hendriksenは、管理目的でREST APIをデフォルトでオンにできる一方で、コンテンツエンドポイントをデフォルトで保護できない理由を尋ねました。 別のユーザーが、ユーザーエンドポイントがデフォルトで保護されていない理由を尋ねました(つまり、https://news.microsoft.com/wp-json/wp/v2/usersまたはhttps://www.obama.org/wp-json/wp / v2 / users)、これにより、4.7以降を使用するすべてのサイトで「すべてのユーザー名をこれまでになく簡単に取得できるようになります」。

「サイトでRESTAPIを本当に無効にしたい場合は、これが現在の推奨事項です。認証されたユーザーに制限してください」とコアコミッターのJamesNylen氏は述べています。 「ただし、REST APIの採用と使用を増やし続けたいと考えています。この変更でさえ、API駆動のテーマや埋め込みなど、時間の経過とともにますます多くのWP機能が機能しなくなることを期待しています。」
Nylenは、WordPress 4.7以降を使用しているサイトでその推奨事項に従うことを希望する場合は、Disable JSONAPIプラグインを推奨しています。 プラグインには現在10,000を超えるアクティブなインストールがあります。
WordPressのセキュリティチームは、問題が公開される前にホストとセキュリティ会社が保護を実施するのを支援することで、攻撃を軽減するために熱心に取り組みました。 ただし、脆弱性の完全な開示は、通常のWordPressサイト所有者の間で広く読まれていないサイトであるMake / Coreブログに埋もれていました。 開示へのリンクは、1週間後のWordPressニュースブログの以前の投稿への補足として公開されました。
「この問題の責任ある開示とそれを解決するための努力に感謝しますが、以前の投稿に更新を追加するだけでなく、WordPressニュースサイトの新しい投稿を介して将来の発表を行うことを検討してください」とユーザー@johnrorkはコメントしました公式開示について。 「水曜日にRSSリーダーに新しいアイテムとして表示されていれば、侵害を回避できたのは私だけではないでしょう。」
Makeブログを読んだ人は、自分のサイトやクライアントのサイトを修正することから始めました。 セキュリティアップデートの情報をWordPressニュースブログに依存している人は、おそらく最初に公開されたときに投稿を読み、1週間後にアップデートを見るために戻ったことはありません。 この深刻な問題は、ニュースブログの新しい投稿でWordPressの透明性を保証しました。 これにより、公式のWordPressアカウントと100万以上のいいねがあるFacebookアカウントの50万人以上のフォロワーにツイートが自動的に送信されます。
幸い、攻撃者がこの脆弱性に便乗する可能性のあるプラグインも備えている脆弱なサイトの数ははるかに少ないです。 改ざんされたサイトは恥ずかしいですが、簡単に修正できます。 ほとんどの場合、管理者は4.7.2に更新し、改ざんされた投稿を最新のリビジョンにロールバックするだけで済みます。 ほとんどのサイト所有者は、公開後にエクスプロイトがどれほど速く出現し始めるかわかりませんが、この状況は、WordPressを更新することの重要性と、自動更新をオンのままにしておくことの利点を穏やかに思い出させました。
