オープンソース・ソフト Drupal を使った Web サイトの構築・サポート・研修

Acquia、SA-CORE-2018-002 の攻撃試行を 500,000 件ブロック

3 月 28 日、Drupal セキュリティー チームは重大なセキュリティー脆弱性を解消するバージョンをリリースした。脆弱性は SA-CORE-2018-002 と呼ばれている。先週 1 週間、パッチの当てられていない Drupal サイトを乗っ取ろうとしている、さまざまな悪用活動が確認された。ハッカーたちは、この脆弱性につけ込もうと試行を続け、Acquia 社のセキュリティー チームは 1 日あたり 100,000 件を超える攻撃を観測した。

SA-CORE-2018-002 セキュリティー脆弱性は極めて重大だ。認証されていない攻撃者が、ほとんどの Drupal サイトで遠隔コードを実行できてしまう。Drupal セキュリティー チームがセキュリティー パッチを提供した時点では、SA-CORE-2018-002 の悪用あるいはその脆弱性を狙った攻撃として一般に知られているものはなかった。

その状況が変わったのは 6 日前、Check Point Research 社SA-CORE-2018-002 セキュリティー バグの詳細な説明を発表してからだ。その説明には脆弱性を悪用する手順まで解説されている。そのブログ記事公開から数時間後、ロシアのセキュリティー研究者ヴィタリイ ルドニクが脆弱性悪用の概念証明を GitHub 上に発表した。その日のうちに、Acquia のセキュリティー チームは攻撃試行が始まるのを目の当たりにした。

Check Point Research 社の記事とヴィタリイ ルドニクの概念実証コードは、おびただしい数の悪用事例を引き起こした。それらのケースは Ruby、Bash、Python など、さまざまなプログラミング言語で書かれていた。結果として、攻撃の数はここ数日で著しく増えた。

Acquia は幸い、Drupal セキュリティー チームが 3 月 28 日に SA-CORE-2018-002 対応バージョンをリリースした 1 時間後には、すべての Acquia Cloud カスタマーに対してプラットフォーム レベルの処置を適用した。先週 1 週間、Acquia は自社の抱えるサーバー群とカスタマー ベース全体に対して 3,000 を越えるさまざまな IP アドレスから行われた 500,000 件以上の攻撃を検知した。しかし、僕たちの知るかぎり、Acquia の顧客に対する(脆弱性)悪用試行はすべて失敗に終わった。

sa-core-2018-002 time line

この攻撃の規模と激しさが示しているのは、Drupal サイトをアップグレードできなかった場合、または、プラットフォーム レベルでの改修措置を備えている Acquia Cloud なり他の信頼できる業者なりのサポートを得られなかった場合、そのサイトはすでにハッキングされている可能性が非常に高いということだ。まだアップグレードもしていないし、保護されたプラットフォームを利用してもいないという場合、そのサイトは乗っ取られていると考えるべきだ。(だから、やるべきことは)まず、ホストから再構築し、脆弱性が告知されるよりも前に取ったバックアップを使って Drupal をインストールし直す。そうしたら、それを(最新バージョンの Drupal に)アップデートしたうえでオンラインにすることだ(更新情報:crontab から自らを再インストールする攻撃もあるため、バックアップから Drupal サイトを復元しても十分ではない場合もあり得る。ホスト全体が乗っ取られたと考えるべき)。

責任ある Drupal 情報開示方針

ソフトウェアには、すべてセキュリティー バグがある。それを念頭に置いておくことが大事だ。Drupal にとって幸いなのは、重大なセキュリティー バグは稀(まれ)であるということ。今回ほどの重大性があった Drupal コアのセキュリティー リリースを Drupal セキュリティー チームが公開したのは、もう 4 年近く前になる。

肝心なのは、ソフトウェア プロジェクトなりソフトウェア会社がセキュリティー バグをどう扱うかということだ。Drupal セキュリティー チームは「連携した情報開示方針」に沿って活動する。すなわち、解決策が提示されるまで問題は関係者の間だけで機密にされる。公式の告知も、該当する脅威への対応ができて、Drupal のセキュアなバージョンも利用できるようになったところで発表する。バグ フィックス バージョンが利用できるようになってからでさえも、Drupal セキュリティー チームはコミュニケーションに細心の注意を払う。ハッカーが悪用方法を思いつかないよう、可能な限り、脆弱性の詳細を明かさないようにチームとして気を配るのだ。それは、Drupal サイトの所有者にとってアップグレードするための時間をできるだけ稼ぐことになる。今回の場合、Drupal サイト所有者は最初に確認された悪用(攻撃)までに 2 週間の余裕があった。

これまでのところ、多くの商業 CMS メーカーは、これとは違うアプローチをとっている。すなわち、彼らはセキュリティー バグを常に発表するわけではなく、むしろ、こっそりとバグを修正することがしょっちゅうだ。その筋書きで行くと、密かに行うのは名案であるように見える。すなわち、サイトがハックされるのを防ぎ、悪い評判も回避できるというわけだ。しかし、脆弱性を隠すと(安全ではないのに安全であるかのような)誤ったセキュリティー感を与えることになり、それによって事態はいっそう悪くなりかねない。また、そのアプローチは「ハッカーは自力でセキュリティー問題を見つけることができない」という前提に立っている。しかし、彼らにはちゃんと見つける能力があるし、実際に見つけた場合、(脆弱性を開示するよりも)さらに多くのサイトが乗っ取られる危険があるのだ。

セキュリティーに対する Drupal のアプローチはクラスで最高だ(CMS のなかでもトップクラス)。それはバグの解消からソリューションのテスト、予告通知の送信、連携したリリース手順、事前に詳細を漏らさない姿勢、報道機関からの問い合わせに対する対応用意、アップグレードするよう利用者に繰り返し呼びかける告知に至る。

Acquia におけるプラットフォーム レベルの改修策

Drupal セキュリティー チームの責任ある情報開示方針のほかにもまだある。Acquia 社自身のセキュリティー チームは自社のインフラストラクチャー上への攻撃試行を注意深くモニタリングしていた。Check Point Research 社の記事が公開されたあと、Acquia は 500,000 件の攻撃試行の発信源を追跡した。

sa-core-2018-002 map
Acquia の顧客に対する SA-CORE-2018-002 攻撃の分布をとらえた画像。各数値はその地域からの攻撃総数。

現時点では Acquia が確認した攻撃試行は 50 パーセント以上がウクライナから発信されている。

sa-core-2018-002 countries

Acquia ではインフラと Drupal コードのどちらにも自動セキュリティー パッチ機能を提供している。セキュリティー バグに対するプラットフォーム レベルの改修策とは別にだ。Drupal セキュリティー チームが SA-CORE-2018-002 対応バージョンを発表した 1 時間後には、その改修策が利用できるようになっていた。そこには、顧客の安全を守ろうとする Acquia の取り組みが反映されている。この改修策は Acquia Cloud Free、Acquia Cloud Professional、Acquia Cloud Enterprise、Acquia Cloud Site Factory アプリケーションのすべてのカスタマーが対象となっている。これによって、Acquia の(直接的な)助力あるなしにかかわらず、顧客のみなさんは安心して自社の Drupal サイトをアップデートすることができた。すなわち、Acquia の顧客は巷(ちまた)(脆弱性の)悪用試行や攻撃が出現したときには安全だったということだ。Acquia はプラットフォームの対策も提供しているが、顧客のみなさんには常に、ベスト プラクティス(最善慣行)として、最新のセキュアなバージョンの Drupal にアップデートすることも推奨している。

このブログ記事はドリース バイテルトとキャッシュ ウィリアムズCash Williamsが共同で執筆した。