悪い人は穴を秘密にするのに、なぜ修正版が間に合うのか PHP2Shellで崩れた「いつもの流れ」

悪い人は穴を秘密にするのに、なぜ修正版が間に合うのか PHP2Shellで崩れた「いつもの流れ」

PHPの重大な穴(PHP2Shell)のニュースを追っていた夜中、素朴な疑問がわきました。

「悪い人たちは、自分のやっていることを秘密にしておくものじゃないの?」

穴を見つけた攻撃者が黙っていれば、誰も気づかない。
なのに、なぜ修正版が用意できて、「今すぐ更新を」と呼びかけられるのか。

穴を見つけるのは、悪い人だけではない

実は、穴を見つけるのは良い側であることが多いのです。

  • セキュリティの研究者:穴を探すのが仕事の人たち
  • 開発チーム自身:コードを見直す中で見つける
  • 懸賞金に応じる人:「穴を見つけたらお金を払います」という募集に応じる人たち。犯罪者に売るより、安全に稼げる

いつもの流れ:直してから公表する

良い側が穴を見つけたときは、ふつうこう進みます。

  1. 研究者が穴を見つけ、開発チームにこっそり知らせる
  2. 開発チームが、秘密のまま修正版を作る
  3. 修正版と一緒に「こういう穴がありました」と公表する

公表したときには、もう直し方ができている。
だから「対策ができる」のです。

この進め方を「協調公開」と呼びます。

悪い人は穴を秘密にするのに、なぜ修正版が間に合うのか PHP2Shellで崩れた「いつもの流れ」

今回は、その流れが崩れた

ところが、PHP2Shellでは、この流れがうまくいきませんでした。

報道によると、公表の予定日より前に、穴の情報がネットに漏れてしまったのです。
PHPのチームは前日に「10月21日に修正版を出す。詳細が出回ったり攻撃が始まったりしたら前倒しする」と告知し、予定どおり21日に修正版を出しました。

秘密のはずの情報が、直す前に外へ出てしまう。
これは、守る側にとってかなり怖い状況です。

悪い人が先に見つけていたら

攻撃者が先に見つけて、秘密のまま使っている穴もあります。これを「ゼロデイ」と呼びます。

それでも、気づくきっかけはあります。

  • 攻撃を受けた会社が、記録の中に不審な動きを見つける
  • セキュリティ会社が仕掛けた「おとりのサーバー」に、攻撃が引っかかる

そこから手口を分析して開発チームに知らせ、修正が始まります。

いちばん危ないのは「公表したあと」

意外かもしれませんが、修正版が出たあとが、いちばん危ない時間です。

攻撃者は、修正前と修正後のプログラムを見比べます。
どこを直したかが分かれば、穴の場所も分かってしまうからです。

悪い人は穴を秘密にするのに、なぜ修正版が間に合うのか PHP2Shellで崩れた「いつもの流れ」

今回も、「修正版の公開から短時間で大量の攻撃が始まる」と予想した専門家がいました。
すでに攻撃を観測したという報告と、まだ確認していないという報告が、並んで出ています。

だから、「修正版が出た」というニュースは、「今すぐ動いてください」という合図なのです。

PHPの版の確かめ方や、レンタルサーバーで自分にできることは、こちらにまとめました。

PHPの穴はエンジンにあった レンタルサーバーのWordPressで、自分にできること・できないこと

ブログ

BLOG

PAGE TOP