BSIMMは、米Cigital(シジタル/2016年11月に米Synopsysが買収)が構築したフレームワークである。ソフトウェア開発プロセスを、セキュリティ構築の「成熟度モデル(Maturity Model)」を基に、実際のソフトウェア セキュリティ対策で実行されるアクティビティを定量化して評価する。BSIMMを指針としながら改善を継続することで、セキュアなソフトウェア開発が実施できるというわけだ。
BSIMMがユニークなのは、自社のソフトウェア セキュリティ対策を、同業他社と比較して評価できる点である。BSIMMの成熟度モデルの基となるのは、すでにBSIMMを利用している先行企業から収集したデータだ。4つのドメインと12のプラクティス(判断基準)に基づいて自社の行動をスコアリングすることで、先行企業と比較した開発プロセスのベンチマークが得られる。
「日本においてBSIMMの普及はこれからだが、必要になることは間違いない」と語るのは、米Synopsysのソフトウェアインテグリティグループでプリンシパルサイエンティストを務めるSammy Migues(サミー ミグエス)氏だ。BSIMMの導入で、企業のソフトウェア開発はどのように改善され、セキュリティが強化されるのか。話を聞いた。
同業他社に比較してどうなの…と
―― これまでソフトウェア開発を手掛けていなかった企業にとって「セキュアなソフトウェア開発」はクリアすべきハードルが多い。
Migues氏 最初にクリアすべき課題は、経営陣から現場のエンジニアまでが「自社のセキュリティ対策レベルを知る」こと。そして、そのレベルが客観的にどの程度なのかを把握し、全社的に情報を共有することだ。
多くの企業/組織では複数のソフトウェア開発を同時並行で進めている。そして、ほとんどのケースではそれぞれの開発チームが独自の手法でプロジェクトを進め、問題があった場合には個別に対処している。つまり、「安全なソフトウェアとは何か」「この問題がどれだけの危険性をはらんでいるのか」という判断が全社で統一されていないのだ。これでは、企業全体でセキュリティリスクを理解しているとは言いがたい。
セキュリティリスクを客観的に把握できなければ、適切なコスト配分も不可能だ。セキュリティ対策に十分な予算を充てられる企業が少数であることを考えれば、「自社ではセキュアなソフトウェアの開発に、どれだけ労力を割いているか」を客観的に判断する必要がある。BSIMMはそのためのフレームワークだ。自社の対策状況が同業他社に比較し、どの程度進んでいるかを明確に認識できる。これにより、どの分野を強化すべきかが詳らかになる。
――「セキュア“ではない”ソフトウェア開発」がもたらすビジネスリスクを、企業はどのように測定すべきか。
Migues氏 大前提となるのは「コンプライアンスを遵守しているか」だ。例えば世の中にはクレジットカード情報を保護するグローバルセキュリティ基準の「PCIデータセキュリティスタンダード」や、医療保険の携行と責任に関する法律「HIPAA(Health Insurance Portability and Accountability Act)」のように「遵守することが大前提」の決まりがある。これらと同様に、企業も自社のビジネスの目標に対して、ソフトウェアがコンプライアンス要件を考慮していることを確認する必要がある。
ただし、注意してほしいのは、「ソフトウェアを自社開発している」と言っても、すべて“自前”で開発しているわけではないことだ。ほとんどの企業では、オープンソースソフトやサードパーティのソフトを利用している。大規模企業のWebサイトを考えてほしい。第三者配信による広告やコンテンツなどは、その企業が管理できない。そのリスク評価は異なる種類のテストが必要であり、リスクを適切に管理しているかどうかは、(ソフトウェアの)サプライチェーン全体で見る必要がある。そのような指針の意味でも、BSIMMによる評価は有用になるだろう。