【コラム】どうして、Javaや Flash Player や IEは毎月脆弱性が見つかるの?
ここ数年間で、OSの脆弱性を直接突いたコンピューターの攻撃から、
汎用的なブラウザや、Java/Flash のアドオンの脆弱性利用した攻撃がほとんどを占める様になりました。
特に、 Java や Flash Player は 毎月のように脆弱性の修正プログラムがリリースされています。
ハードウェアならば、機器の劣化や電子部品の寿命などで定期的なメンテナンスが必要なのは理解できると思いますが、これらのソフトがどうして、毎月リリースされるのか。不思議に思ったことはありませんか?
それを分かり易くしたのが次の円グラフです。
※ グラフの割合については根拠はありません
外側の薄い緑のグラフは、将来の機能拡張やバグの修正などにより新たに発生する脆弱性です。
まぁ、新しい技術を採用した場合に追加機能でバグがあるのは仕方ないですよね。
脆弱性を修正したはずなのに、直り切っていなかった・・・なんてニュースもよく見かけると思いますが、そういうのもこちらに含まれます。
外側の赤色が既にソフトウェアに存在しているけど、まだ見つかっていない脆弱性です。
大きなもので2つ
・もうすでに存在している既存の技術で悪用できるが、まだ見つかっていないだけの脆弱性。
・将来のハッキング技術の発達により脆弱性になるもの。
これらは、ソフトウェアの機能追加などがなくても、定期的に見つかる物です。
つまり、毎月1つずつ、10年間にわたって 既存の脆弱性が見つかるソフトウェアは、潜在的に開発が終わった段階で100以上の脆弱性があり、10年経って見つかったものがすべて修正された最新版でも、全ての脆弱性が修正されるわけではないということです。
要するに、定期的に、たくさんの脆弱性が見つかるソフトウェアは、脆弱性が直ったから安心、なのではなくて、直した数の、数十倍~数百倍の脆弱性がまだ隠れているので、常に更新し続ける必要があるの言わば欠陥製品なのです。
フラッシュを使わず HTML5を使おうとか、Java や フラッシュを ブラウザの既定のアドオンから外そうというのも、これを考えると正しいわけです。
Flash や Javaは便利なのですが、品質の低い欠陥製品なので、ハッカーなどの攻撃者にとっても便利で都合がいいのです
難しいですね ・ω・
そういうのを踏まえた上で、 Flash Player や Java の更新の重要性を理解して、定期的にアップデートしたり、必要な時以外は無効にして使うようにしましょう
ここに書かれている事を、地球上全ての人が理解するならば、コンピュータにまつわる一連のセキュリティ問題の半分は存在しないのでしょうね。
そしてこれから生まれて来る子供たち、或いはもう生まれているがこれからこの現実に直面する子供達にも、同様の事が言えます。
こうした事を考えると、プログラムを作る人達の質を含め、問題を成すの要因を減らす努力は全て無駄、と客観的に見る人が大多数だと思いますが、その無駄な努力がゼロになったら場合を考えると、例の七つのラッパが鳴るような惨事が私には想像されて非常に怖いです。
どうすれば、最低でも現状のレベルにリスクを抑えられるのでしょうね?
今後は脆弱性のための資金と人材が足りなくなるんじゃないかな?