ソフトウェアに脆弱性があると、さまざまな影響を及ぼす可能性があります。

当然、ベンダー各社は脆弱性を作り込まないように細心の注意を払って開発を進めていますが、ソフトウェアは当然ながら人手でつくるものですので、バグや脆弱性を皆無にすることは不可能と言えます。しかし、ベンダー各社はそれに対しても手をこまねいて見ているわけではありません。

その対策のひとつが、迅速に脆弱性を発見する体制作りです。攻撃者よりも早く、自社製品の脆弱性を探すように努力しています。こういった開発標準は「ISO/IEC 27034-1」として2011年に公開されています。

マイクロソフト社は、セキュアな開発体制を採用していることで有名です。同社においてはそれを「セキュリティ開発ライフサイクル(SDL)」という名で展開し、それを公開しています。書籍なんかも発売されているようです。

Windowsでいうと「Vista」が、SDLを採用してから最初にリリースされたコンシューマOS製品となったそうです。それ以前にリリースされたWindows XPでは、リリース後1年間で見つかった脆弱性が119個あったそうですが、Vistaでは66件まで減少したそうです。およそ半減といったところでしょうか。これを見る限り効果は出ているようです。

同社の開発体制では、ソフトウェアの要件定義や設計、実装、テストといった各開発工程において、開発チームとは別のセキュリティ専任チームがセキュリティ的に問題がないかどうかをチェックしており、このチェックを通過しないと先の工程に進めることができないようになっています。

その他にも、マイクロソフト社で開発に携わる人は、少なくとも1年に1回のペースで何らかのトレーニングを受けるなど、セキュリティ教育にも力を入れているようです。

なお、マイクロソフト社のSDLは当然ながら、前述の「ISO/IEC 27034-1」に対応しています。