こんにちは!岡山でレンガ工場の設備保全をしながら、Webエンジニアを目指して勉強中の津上です。
今回は、国内外で話題になったPHPの脆弱性について書いてみます。
■ 最近学んだこと
現在、プログラミングスクールでPHPを学んでいます。そんな中、10月21日にPHPの重大な脆弱性が発表され、国内外で大きなニュースになりました。学び始めたばかりの言語で起きた出来事だったので、内容を調べてまとめてみました。
■ 何が起きたのか
PHPそのものに、深刻度「緊急」の脆弱性が2件見つかりました。ログインしていない人でも、外から細工したデータを送るだけで、サーバー上でプログラムを動かされるおそれがあるというものです。WordPressで作られたサイトや、PHPで動く問い合わせフォームも対象になります。
対策は、サーバーのPHPを修正版(8.2.35 など)に更新することです。WordPressやプラグインを更新するだけでは直りません。また、古いバージョン(8.1以前)には正式な修正版が出ていません。
■ 自分の環境も確認してみた
学習用のパソコンに入れているPHPのバージョンを確認したところ、8.2.4でした。修正版(8.2.35)より古く、今回の脆弱性の対象になるバージョンです。インターネットに公開していない学習用の環境なので危険性は低いものの、ニュースを「自分ごと」として受け止めるきっかけになりました。
■ 学んだこと
- プログラムが正しくても、土台が古ければ危ない
作ったプログラムに問題がなくても、それを動かしているPHP本体に穴があれば攻撃されるということを、今回初めて知りました。 - 修正版が出たら、すぐに更新することが大切
古いバージョンには修正版が出ません。また、修正版が出ていても更新しなければ意味がありません。調べてみると、2017年にはアメリカの信用情報会社Equifaxで、Webアプリの部品の脆弱性が放置されていたことが原因で、約1億4,000万人分の個人情報が流出した事件がありました。このとき、修正版はすでに公開されていたそうです。「動いているから大丈夫」ではなく、サポート期限を意識し、修正版が出たら早めに更新していく必要があると学びました。 - 設備保全と同じ考え方
今の仕事は工場の設備保全で、壊れる前に点検し、古い部品は計画的に交換しています。システムも同じで、作って終わりではなく、点検と更新を続けることで安全に動き続けるのだと感じました。
■ これから
エンジニアを目指すうえで、「動くものを作る」だけでなく、「安全に使い続けられるように守る」ことも意識して学んでいきたいと思います。