「PHPの脆弱性」とは
「PHPに脆弱性が見つかった」とかで世界中で大問題になっています。
対応のために様々なウェブサイトが一時閉鎖したりと、多くの人に影響も出たようですね。
ということで、よく分からない人向けに簡単な解説をしたいと思います。

全く知識がない人向けに書くので、若干内容や言葉がおかしな部分があります。あと僕の理解の中に誤りが含まれる可能性もあるので、何かあればコメントでご指摘いただけるとありがたいです。
何が起きたの?
皆さんが普段見ているウェブサイトは、HTMLやJavaScript、PHP、Pythonといったさまざまな技術を使って作られています。今回問題になっているPHPも、そのうちの1つです。
このPHPで作ったウェブサイトを、他人が乗っ取れる裏技が発見されました。
そこで10月21日の23時から、この裏技を防ぐプログラム(セキュリティパッチ)が順次配布されました。
パッチさえ適用すれば裏技は防げます。その前にハッカーに裏技を使われないよう、多くのウェブサイト管理者はサイトを一時的にインターネットから切り離しました。そして23時以降に配布されたパッチを適用して、ウェブサイトを再びインターネットに公開しました。
何で大きな話題になったの?
「セキュリティに穴があったのでパッチ配布しまーす」的なことは、実は普段からちょいちょい発生しています。今回は、なぜ大きな話題になったのでしょうか?
その理由として、①PHPの普及率が非常に高いこと、②影響が大きいこと、③パッチの配布方法が特殊だったことの3つが挙げられます。
PHPは普及率が非常に高い
PHPは世界中のウェブサイトの7割で使われていると言われています。
皆さんがこれまでに個人情報やクレジットカード情報を入力したサイトの多くも、PHPが使われていたりするわけです。
ちなみに世の中のブログも、99%くらいはWordPressで書かれていて、WordPressはPHPを使っています。
というわけなので、多くのウェブサイトがこの問題に対応する必要がありました。
影響が大きい
今回の裏技に成功すると、ハッカーは基本的に「何でもできる状態」になります。個人情報を盗んだり、あるいはウェブサイトにウィルスを仕込んで訪問者にダウンロードさせたり…
危険度が高かったのも、大騒ぎになった理由の1つでした。
パッチの配布方法が特殊だった
これまで、裏技発見から防御までの流れはこんな感じでした。
- 裏技が発見される
- 裏技を防ぐパッチが最速で公開される
- ウェブサイト管理者はサイトにパッチを使って裏技をできなくする
しかし裏技を防ぐパッチが公開されると、それを読めばハッカーには「裏技のやり方」が分かってしまいます。ハッカー視点で言うと「パッチでここに壁が追加されている。ということは、ここをすり抜けるバグがあったんだな」みたいな感じです。
つまり、普通にパッチを配布すると、ウェブサイト管理者がそれに気づいてパッチを使うより前に、ハッカーが裏技を使って攻撃してしまう可能性があるのです。
特に今はAIの登場によって、パッチの解析も、裏技を使って攻撃するためのプログラムの作成も、爆速で行えるようになりました。
そこで今回は被害を最小限にするため、あらかじめ「10月21日の23時にパッチを公開する」という情報が全世界に共有されました。こうすれば、23時前にウェブサイトをインターネットから隔離することで、23時以降にハッカーに攻撃されることなくパッチを当てることができます。
この情報を高市首相までtwitterで拡散したりしてたので、多くの人の目に留まることになりました。
最終的にどうなりそう?
利用者からすると、昨日から今日にかけていろんなシステムが止まって不便ではあったものの、ウェブサイト管理者側さえちゃんと対応すれば、リスクの大きさは”他のヤバい脆弱性と同程度”と思われます。
利用者が気を付けることは?
(少なくとも執筆時点では)結論から言うと、ウェブサイトを見る側(一般の利用者)が直接やるべき技術的な対策はほぼありません。
ただし、万が一の被害に備えて、以下のような点を意識しておくと安心です。
- クレジットカードの利用明細を定期的に確認する
- 怪しいサイトや不審なメールのリンクを開かない
- パスワードの使い回しをやめる
過度に怖がる必要はありませんが、基本的なセキュリティ意識を持って、ニュースなどをチェックしておくと良いと思います。
ブロガーも対応の必要がある?
先ほどPHPはブログ(WordPress)にも使われていると書きました。
しかしほとんどの場合、特別な対応は必要ありません。
というのも、ブログを書いてる人の99%くらいは、ブログシステムを自宅のコンピューターに置いているのではなく、どこかのレンタルブログかレンタルサーバーのサーバーコンピューターを借りて使っています。
なのでブログの管理人ではあっても、ブログのプログラムを置いているサーバーコンピューターの管理者ではありません。
パッチはブログシステムに対して使うものではなく、サーバーコンピューターに対して使うものなので、ブログを書いてる人が自分でPHPのパッチを当てるという操作は無いです。
サーバーコンピューターの管理者がやってくれているはずです。例えばアメブロだったらアメーバを運営しているサイバーエージェントという会社がやってくれる、という感じです。一応、自分の借りている会社が今回の件に対応してくれたかどうかはチェックしておきましょう。
それと、アメブロなどのブログシステムを使わず自分でWordPressを使っている人は、PHPとWordPressのバージョンを確認しましょう。特に長年ブログを運営しているなどで、PHPのバージョンが8.2より古い場合、サーバー側が今回の件に対応してくれていない可能性があります。その場合は、自分の使うPHPのバージョンを上げるなどして対応しましょう(分かんない時はAIに聞くと結構教えてくれるかも)
お断り、など
この記事は、あくまで執筆時点での筆者の理解に基づいて書かれています。現時点で未知の問題が後から発覚する可能性もゼロではないので、気になる方は今後の情報も注視してください。
なお「ハッカー」とは本来「パソコン上手マン」的な意味で、パソコンを悪用する人という意味ではありませんが、今回は伝わりやすさを重視するために誤用しました。他にもモヤモヤしながら書いた部分がいくつかあります。中上級者の方は大変申し訳ありませんがモヤモヤしてください。




コメント
ドラクエXよりこういう記事助かるわ
>何で大きな話題になったの?
のところですが、正確には発見者と提供ベンダーの間で調整がされて、脆弱性に関する技術情報や攻撃実証コード(PoC)はパッチのリリースまでに公開されないのが通常のところ、なぜか発見者がパッチリリース前にPoCやその動画を公開してしまったからですね。一定時間後に削除されたのですが、SNSなどで広がってしまったのもこれだけの騒ぎになった一因かと思います。
当初pho8.2以上でしたが、php7.xや5.xまで対応進めてくれている話を聞きました