「Webアプリケーションからデータを盗まれる原因の過半数は、SQLインジェクションの脆弱性である。SQLインジェクション対策は、簡単なのに実行されていない。その理由は、啓蒙不足ではないか」――Webアプリケーション開発者へセキュリティの注意喚起などを行うOWASPが主催する会議「AppSec APAC 2014」で2014年3月19日、米アスペクト・セキュリティのCOOであるデイブ・ウィカーズ氏(写真1)はこう話した。
OWASPは、3年ごとにWebアプリケーション担当者が注意すべきトピック10個を、「OWASP TOP10」として公表している(写真2)。キーノートに登壇したウィカーズ氏は、2013年版のTOP10を執筆した担当者である。SQLインジェクションは、TOP10の1位(最も注意すべきトピック)に入った「インジェクション」の一つだ。
インジェクションとは、SQLのほかにもXMLやJavaScriptなどのインタープリタに攻撃者が不正なコードを挿入させて、想定外の動きをさせる攻撃。ウィカーズ氏は、「開発時に、ユーザーの入力値に実行権限を与えないといった設定を行っておけば、インジェクションは防げるはずだ」とした。
このほかウィカーズ氏はTOP10の9位に入った「脆弱性を持つソフトウエアライブラリの使用」について警鐘を鳴らした。このトピックは、以前のTOP10に入っていたが、過去2回はランク外になっていた。最近Webアプリケーションが脆弱性を持つ原因として増えていることから、2013年版で復活させたという。
脆弱性を持つソフトウエアライブラリは、アプリケーションの開発中に紛れ込むのではなく、開発を開始する際に最初にそろえたライブラリの中に含まれているという。アスペクト・セキュリティなどが行った調査によれば、開発当初から既知の脆弱性を持ったライブラリを使ってしまうケースが、全体の26%もあるというのだ。脆弱性を持ったライブラリを使用すれば、そのアプリケーションは攻撃者の格好のターゲットになる。防ぐためには、使用するライブラリのバージョン管理を徹底するよう呼びかけた。