脆弱性の検査の市場は価格競争の時代に突入してしまっている感があります。確かに多くの業者が脆弱性検査の市場に参入した結果、ある程度の品質は確保できるようになってきています。しかしながら、Webアプリケーションの検査はある程度以上のレベルの検査項目になると、格段に高い技術を持った検査の専門家が必要になるのです。

 多くの業者は独自の検査ツールを開発し、それを使いこなしていますが、それは各企業のノウハウの結晶でもあります。市販検査ツールと併せて使うこともあります。さらに、手作業が加わることで精密で見逃しや誤報の少ない検査が可能になります。

 情報セキュリティ業界に身を置いていますのでよく分かりますが、脆弱性検査ツールの検査精度の低さは多くの場合、そのツールを使って検査するセキュリティ技術者の個人技によってカバーされているのです。脆弱性検査サービスといっても、実際には検査ツールを誰が使うのかによって品質が左右されてしまうことがあります。

 従って、ハイレベルな検査を希望する場合には、業者選びだけでなく、「担当者選び」も重要な要素となります。理想的な姿としては、検査の作業の標準化がハイレベルな検査にまで拡張されて整備されて、高度な検査ができる技術者には認定制度などの「見える化」が進めばいいのですが、テクノロジーが進化する状況の中では、まだまだ整備には時間がかかりそうです。

 では、どうやって信頼できる業者、いや、技術者をアサインするかと言えば、これは信頼できる関係者に紹介してもらうしかありません。

 一方、そもそもWebアプリケーションの脆弱性はソースコードの欠陥が原因で生まれるのだから、ソースコードそのものを調べれば良いという考えに基づくソースコード検査(ホワイトボックス検査)に着目して前職から取り組んできましたが、その精度や開発環境への対応などの課題があり、実用化には時間がかかっていました。

 しかしながら、ようやくそのような技術的課題も解決されつつあるように思います。ソースコード検査の良いところは「高速にほぼ全自動で全ソースコードの検査ができる」というところにあります。検査項目の設定には高度な技術が必要なところはこれまで通りですが、一度設定すれば一気に検査することが可能です。

 実際の検査の現場でもソースコード検査は使われるようになってきました。特に大規模なサイトにおける短期間の全数検査には向いています。修正箇所を自動的に指摘するような機能が組み込まれている製品もあり、開発しながら検査ということも可能になってきました。

 欧米では普及が進んでいる手法ですが、日本ではまだまだブラックボックス型の脆弱性検査が主流のようです。今後は、セキュアプログラミングの考え方の普及とともに、実装するためのツールとして普及することが考えられます。

 ところが他のセキュリティ製品に漏れず、「設定が命」であることは変わりません。開発環境やシステムによって設定を変える必要があり、このようなところではやはり高度なセキュリティ技術者が必要とされますし、是非活用して頂きたいと思います。

 ブラックボックス型の脆弱性検査が主流でしたが、今後は状況に応じてそれらを使い分けて、効果的かつ経済的に脆弱性の撲滅につとめるようなマネジメントができる脆弱性のポートフォリオを企画・推進できるマネージャ能力が今のPMあるいはセキュリティ品質管理者には求められていくのだと思います。