PDFlib 技術情報ピックアップ
WEBシステムのリスクから顧客を守れ!
第一弾「PHP 4の脆弱性を岡田良太郎が斬る!」
2010年3月1日
解説 TechStyle代表 岡田良太郎
「ガンブラー問題」など、政府機関から大企業に至るまで、WEBサイトをとりまく重大な被害は、増す一方である。そこで、WASForumの発起人兼理事であり、またセキュリティスペシャリストとしてセキュリティ&プログラミングキャンプ(経済産業省主催)のインストラクターを務める岡田良太郎が、改めて「PHP 4」に関する疑問に答えます。
どうして、「PHP 4」のシステムをこのままにしておいてはいけないのでしょうか?
PHPバージョン 4は、2008年8月7日にリリースされた PHP 4.4.9をもってすべての開発とサポートが終了しています。
その後、数々のセキュリティ上の問題が発生していますが、それに対する改修は行われていないことを意味しています。
そのようなPHPの数々の脆弱性は、以後メンテナンスされてきた、PHP 5.xに対しての修正は行われてきましたが、PHP 4についてはサポート終了、すなわち放置されているのです。
PHP 4を使用し続けることは、そのこと自体が様々な脆弱性に対して、「無防備に なる」ことを意味していると言っても過言ではありません。
「PDFlib 8」は「PHP 4」のシステムをどう考えていますか?PHP 4をベースとしたプログラムは、捨てなければいけないのでしょうか。
PDFlib社は、PDFlib 7を最後に「PHPバージョン 4」をサポートしない決定をしました。PHP 5のシリーズはサポートされており、それぞれのバイナリを今後も提供していきます。
考えてみると、脆弱なシステム基盤で、PDFのように安全なドキュメントデータを扱うということは、ITガバナンスの観点では明らかに矛盾していますよね。弊社としましても、お客様のシステムの安全性を重視し、PHP 4の継続的なご使用をお勧めしません。また、この機会にPHP 4のプログラムをPHP 5に書き換えることはいろんな意味で良いことだと思います。
ただ、参考までに申し上げますと、PDFlib 8はPHPバージョン 5のZend Engine 1 互換モード、つまりPHP 4方式のコードを動作させることができます。つまり、この機能を使えば、PHP 4に対する既存のアプリケーションの改修を短期的には抑えることができると考えられます。

最近のPHP事情について教えてください。
残念なことに、特に日本においては、請負によるシステム構築が多いため、2008年以前に制作された PHP 4ベースのシステムが今なお多く稼働している と考えられています。もちろん、社内での使用の目的でシステムの利用継続を望むケースもあろうかと思いますが、既知のセキュリティホールを攻撃 されるリスクは社内・社外を問いませんので、注意しなければなりません。
2008年のPHP 4のサポート終了を受けて、ほぼすべてのLinuxディストリビューションは提供するPHPパッケージのメインバージョンを 5にしています。中にはいくらかのパッチを提供しているものもありますが、それらはPHP 4の最終パッチであるPHP 4.4ベースですらありません。
こうした状況を受け、最近では、商用・オープンソースを問わず、アプリケーションの動作環境において、PHP 4に対応しなくなっている状況が見られるのは当然のことでしょう。
現在の段階でPHP 4を使い続けることは、オープンソースソフトウェアのメリットを捨て、そのセキュリティリスクも含めて、すべて自前で面倒を見る覚悟が必要ということになります。これは見合わないリスクではないでしょうか。
PHP 4を使っている場合はどうしたらいいでしょうか?
まず、当然のことですがなるべく早くPHP 5へのアプリケーションの移行をお勧めいたします。それでも様々な理由ですぐには移行ができないお客様もおられるかと思いますし、実際にどうしたら良いのかとお問い合わせを頂いています。
弊社では、こうしたニーズやお問い合わせをうけ、上記のようなPHP 5でのコード運用、あるいはアップグレードに関する支援や、PHP 4を含むシステムの利用継続におけるリスク軽減をはかるサービスなどに関し、継続的に情報提供をさせて頂こうと思っています。
