「企業サイト、5割に「穴」 コンサル会社が『侵入』調査」というニュースを読んで(1)
調査を行ったのがNRIセキュアテクノロジーズであるため、同社の顧客の層を広げるための発表との見方も多いようですが、それを差し引いても、Webの開発に従事するものとしては考えさせられる内容です。
まず、ニュースの内容としては驚くべきことではありません。実際にIT系の現場に携わっている人であればわかると思いますが、現場のセキュリティ意識は総じて低いといわざるを得ません。
主な原因を考えてみましょう。
1. 現場プログラマのWebアプリケーションに対する技術力の低さ
2. クライアント(発注側)の意識の低さ
3. SEもしくはPMのクライアントへの説明不足
4. 価格競争のなれの果て
順に説明していきます。
ひとつめですが、これはインターネットの急成長に対して人材の供給/教育が追いついていないのが原因でしょう。「ただ単に動く」ソースコードを書くだけのプログラマが非常に多いのが現状です。書店に並んでいるプログラミング関連の書籍を見ればわかると思いますが、初心者向けの書籍が7割以上を占めています。さらに、それらの書籍に書かれているサンプルコードは、セキュリティ的に脆弱なものも多数あります。
しかし、これは書籍の著者を責めるべきではありません。人材の供給や教育が追いついていない現在、初心者向けの本の方が良く売れる(しかも書きやすい)のですから、初心者向けの本が増えるのは当然です。しかも、文法を説明するためのサンプルコードに、セキュリティに配慮したコードが混ざると、かえって読みづらくなってしまうのも避けようのない事実です。
この問題はプログラマ個人が努力することで解決できるのですが、各企業はそれを促す、もしくは各企業が解決する仕組みを用意してあげなければならないと思います。企業がプログラマの教育に時間を割き、現場レベルのセキュリティに対する教育を施すべきだと思います。
その一方で、セキュリティに対する脆弱性というのは発現しなければ表面上問題がないため、各社が積極的に取り組めないという一面もあります。
いま、「表面上」問題がないと書きましたが、実際にはセキュリティ脆弱性というのは大きな問題です。これをクライアント(発注側)がしっかりと意識し、もしくは受注側のSEやPMが正しくクライアントに説明し、そういう脆弱性の回避にコストがかかるということを双方がしっかりと認識しなければ解決しません。
次回は、2,3,4 の問題についてもう少し詳しく考えてみたいと思います。
