PHPは危険か?
ちと、ネタで書いたことに、まっちゃさんに変な誤解を与えたようなので、調べてみる。
データの元はhttp://nvd.nist.gov/を使う。このサイトが何かはがんばって読んでみてw
で、ここで、PHP自身の脆弱性の数を調べてみる。
Year | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 |
---|---|---|---|---|---|---|---|---|
# of Vulns | 82 | 35 | 17 | 6 | 11 | 12 | 4 | 2 |
% of Total | 2% | 1% | 0% | 0% | 1% | 1% | 0% | 0% |
今年発見された脆弱性が妙に多いのは、MOPBで公開されたためだろう。
比較のために、JavaやPerlの脆弱性の数は?というと
Year | 2005 | 2003 | 1999 | 1996 |
---|---|---|---|---|
# of Vulns | 4 | 1 | 1 | 1 |
% of Total | 0% | 0% | 0% | 1% |
Year | 2005 | 2004 | 2003 | 2000 | 1999 | 1997 |
---|---|---|---|---|---|---|
# of Vulns | 6 | 3 | 1 | 1 | 1 | 1 |
% of Total | 0% | 0% | 0% | 0% | 0% | 0% |
まあ、確かに、JavaやPerlと比べると段違いに多いのは一目瞭然だ。
とはいえ、他の製品、例えばWindows 2000と比較してみる。この際、言語じゃねぇじゃんというツッコミはなしで。
Year | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | 1997 |
---|---|---|---|---|---|---|---|---|---|---|---|
# of Vulns | 18 | 41 | 68 | 41 | 29 | 42 | 43 | 30 | 18 | 2 | 13 |
% of Total | 0% | 1% | 1% | 2% | 2% | 2% | 3% | 3% | 2% | 1% | 5% |
数だけでWindows 2000と比べてみると、PHPが特段危険といえないところが面白いw
Windowsとの比較はいまいち不適切かも?ということで、Tomcatと比較してみる。TomcatもPHPも似たようなものだから、こっちの方が比べる価値があると思われる。
Year | 2007 | 2006 | 2005 | 2003 | 2002 | 2001 | 2000 |
---|---|---|---|---|---|---|---|
# of Vulns | 14 | 1 | 6 | 7 | 11 | 4 | 3 |
% of Total | 0% | 0% | 0% | 1% | 1% | 0% | 0% |
2007年は特殊なので除外するとしてそれ以外を見ると、確かにPHPは総数は多いけど、PHPが特別にひどいというわけではないのはないんじゃないかなぁ?
で、本当はPHPのアプリの脆弱性の数とJavaのアプリの脆弱性の数を比較してみたかったんだが、統計取るのが面倒そうなので、ちょっと割愛。そのうち取ってみるかも。
結論:PHP言語自体には問題があるかもしれないけど、OSとかWebサーバとかと比べてみても、PHP自体が特別危険というわけではないかも。
追加:
WebSphere Application Server
Year | 2007 | 2006 | 2005 | 2002 | 2001 | 2000 | 1999 |
---|---|---|---|---|---|---|---|
# of Vulns | 13 | 23 | 9 | 1 | 6 | 3 | 1 |
% of Total | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
Zend Platform
Year | 2007 | 2006 |
---|---|---|
# of Vulns | 2 | 2 |
% of Total | 0% | 0% |