クラウド&データセンター完全ガイド:特集

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは

データこそ最大の経営資産の今[攻め]で臨むITインフラセキュリティ[Part 3]

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは 	https://book.impress.co.jp/books/1117102046

弊社刊「クラウド&データセンター完全ガイド 2017年秋号」から記事を抜粋してお届けします。「クラウド&データセンター完全ガイド」は、国内唯一のクラウド/データセンター専門誌です。クラウドサービスやデータセンターの選定・利用に携わる読者に向けて、有用な情報をタイムリーに発信しています。
発売:2017年9月29日
定価:本体2000円+税

デジタルトランスフォーメーションの機運が高まる中で、IT企業やゲーム開発会社ではない“普通”の企業においても、継続的にソフトウェアやアプリケーションを開発し、リリースする動きが起こっている。そこに向かううえでは、ソフトウェア開発のスキル・ノウハウ不足と、脆弱なソフトウェア開発が引き起こす深刻なセキュリティ事故への対処が大きなハードルとなる。本稿では解決策の1つとして、「BSIMM」というソフトウェア開発のセキュリティフレームワークについて、その採用の意義とメリットを紹介する。 text&photo:鈴木恭子

社内ソフトウェア開発体制がなぜ必要か

 ソフトウェア開発やシステムの運用保守を、システムインテグレーター(SIer)に外注する――これまで日本企業では当たり前に行われてきたことだ。しかし、最近ではこの当たり前が変化し、自社でソフトウェアやアプリケーションを開発する企業が徐々に増えている。

 すでに米国では、小売や製造業といった一般企業も社内にソフトウェア開発部門を擁し、要件定義から設計、開発、実装、展開、運用までを手がけることが一般的になってきている。例えば、スポーツメーカーのナイキ(Nike)では、独自のソフトウェアを自社開発し、「Nike+ app」としてIoT(Internet of Things)デバイスなどと連携させ、運動データを活用したこうしたサービスを提供している。新たなサービス/機能をいち早く市場に投入することが求められる環境では、迅速なソフトウェア開発を担う体制を社内に持つことは必須と言える。

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは 画面1:「Nike+ app」のポータルサイト。あらゆる企業がソフトウェア開発会社のようにアプリを開発し、継続的にリリースする時代になっている
画面1:「Nike+ app」のポータルサイト。あらゆる企業がソフトウェア開発会社のようにアプリを開発し、継続的にリリースする時代になっている

 いわゆるビジネスのデジタル化にあたって、これからそうした体制を築こうとする企業にはいくつかの課題が待ち受けている。ご存じのとおり今は、企業の情報資産を狙うサイバー攻撃の規模や頻度が数年前の比ではない。さまざまなモノに接続しようとすればするほど攻撃の餌食となる。

 そこで、ソフトウェアの自社開発体制を持とうとするなら、設計/構築段階から安全性を確保する仕組みが必要になる。設計/構築段階で適切な検証作業を怠ると、脆弱性が放置されたままリリースされ、脆弱性を突く攻撃の餌食になる。実際、運用段階で発生するソフトウェアのセキュリティ問題は、その85%が構築過程で見逃された脆弱性が原因だと言われている。

「スピード」と「高信頼性」両立のジレンマ

 ソフトウェア開発を行う際、どの企業も「市場の変化に応じた迅速な配布/展開」と、「信頼性を担保した高品質」という2つの要件をどう両立するかというジレンマに直面することになる。

 「スピードと信頼性・高品質の両方を共に実現するためには、ソフトウェア開発プロセスを検証し、種々の作業の達成度を客観的に評価するフレームワークが必要だ」と力説するのは、米シノプシス(Synopsys)のソフトウェアインテグリティグループでマネージング プリンシパルを務めるナビル・ハンナン(Nabil Hannan)氏(写真1)である。

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは 写真1:米シノプシス ソフトウェアインテグリティグループ マネージング プリンシパルのナビル・ハンナン氏
写真1:米シノプシス ソフトウェアインテグリティグループ マネージング プリンシパルのナビル・ハンナン氏

 同氏はセキュアなソフトウェア開発を実現する手法として「BSIMM(The Building Security in Maturity Model)」を挙げる。これは、ソフトウェア開発プロセスを、セキュリティ構築の「成熟度モデル(Maturity Model)」を基に評価し、改善するためのフレームワークだ。

 ソフトウェア開発の上流工程から運用保守/管理までを網羅し、各工程のセキュリティに対する取り組みを具体的な数値で示す。図1にあるように、具体的なフレームワークは4つのドメイン(領域)に大別される。上流工程は、「ガバナンス(セキュリティ施策のマネジメントに関する活動)」と「インテリジェンス(情報収集およびセキュリティ施策計画)」の2つのドメインがある。下流工程は、「ソフトウェアセキュリティ開発ライフサイクル(SSDL)タッチポイント」と「デプロイメント(ソフトウェア運用管理におけるセキュリティ施策)」の2つのドメインで構成される。

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは 図1:BSIMMの4つのドメインと12のクライテリア(判断基準)。これに基づいて自社の行動をスコアリングする(出典:米シノプシス)
図1:BSIMMの4つのドメインと12のクライテリア(判断基準)。これに基づいて自社の行動をスコアリングする(出典:米シノプシス)

 BSIMMはもともと、米シジタル(Cigital)が構築したフレームワークである。2016年11月にシノプシスが同社を買収したことで傘下となった。2015年4月には、アスタリスクリサーチが当時のシジタルと日本国内におけるパートナーシップを締結している。アスタリスクリサーチ代表取締役社長の岡田良太郎氏は、BSIMMの特徴を以下のように説明する。

 「ソフトウェア開発プロセスは可視化しにくい。そのため、完成したソフトウェアにセキュリティ上のトラブルがあっても、設計/開発工程の改善が難しかった。BSIMMはドメインごとに、『自社がどれだけセキュリティ開発を実現しているのか』を知る指標となる」

経営層が“腹落ち”する具体的な解決プランを提示

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは 画面2:BSIMMの公式Webサイト(https://www.bsimm.com/)では同セキュリティ開発フレームワークに関するさまざまな情報を提供している
画面2:BSIMMの公式Webサイト(https://www.bsimm.com/)では同セキュリティ開発フレームワークに関するさまざまな情報を提供している

 BSIMMの成熟度モデルの基となるのは、同じくBSIMMを利用している先行企業から収集したデータである。12のクライテリアからセキュアなソフトウェア開発に関連する110個の質問に対し、「どのくらい達成しているのか」を回答してもらう。これを集計し、スコアリングして指標化する。2016年リリースのBSIMM 7では、95社の先行企業を調査し、データを収集しているという。対象業種/業界も金融関係、ソフトウェア、電気製品、ヘルスケアと幅広い。

 各クライテリアのスコアは、スパイダーチャートで確認できる。これにより、どの取り組みが不足しているのかを視覚的にとらえることが可能だ。さらに、BSIMM全体や業界ごとの取り組み(指標)とも比較でき、最近のセキュリティ強化トレンドを知ることもできる。

 図2は、IoT業界とヘルスケア業界、保険業界の平均スコアを比較したスパイダーチャートである。すべてのクライテリアにおいてIoT業界がハイスコアであるのに対し、ヘルスケア業界、保険業界は「攻撃モデル(Attack Model:AM)」対策は低スコアであることが読み取れる。

ITインフラ信頼性の根幹を担う「BSIMM」ソフトウェア開発セキュリティフレームワークとは 図2:自社の取り組みをスパイダーグラフで表示。業界のベストプラクティスとも比較できるので、経営層に対して「どの部分が足りていないのか」を説明しやすい(出典:米シノプシス)
図2:自社の取り組みをスパイダーグラフで表示。業界のベストプラクティスとも比較できるので、経営層に対して「どの部分が足りていないのか」を説明しやすい(出典:米シノプシス)

導入のメリットは開発改善案を提示できること

 BSIMM導入のメリットとしてハンナン氏は、「経営層に対して具体的な(ソフトウェアの)セキュリティ開発改善案を提示できること」を挙げる。スコアリングによって自社の行動を同業他社と比較し、「どの部分が十分でないのか」を可視化することで、それを改善する具体的施策を経営層に提案できるというのが、その理由だ。また、定期的にベンチマークを測定することで、目標に対する達成度と効果測定も可能になる。

 岡田氏は、「客観的なフレームワークを使い、自社の強みと弱みを理解したうえで、(問題が発生したら)優先的に対応していくという継続的な改善が可能だ。経営者も、『今、そこにある問題を解決して改善するためにどのくらいの予算が必要か』を示されれば納得する。BSIMMはITやセキュリティに明るくない経営者にとって、“腹落ち”しやすい指標となっている」と評価する。

 実際、セキュアなソフトウェア開発にどれだけ予算を割けばよいのか。これは経営層にとって頭の痛い問題だ。ハンナン氏は企業が抱える課題として、「セキュリティ予算配分のアンバランス」を指摘する。「サイバー攻撃による情報漏洩やウイルス感染などが発覚すれば、経営者はその対処に大枚をはたく。そして、『これだけ予算を投じたのだから大丈夫だ』と自分に言い聞かせるだろう。でも、サイバー攻撃対策費用を増額したところで、設計段階で見逃した脆弱性が修正されるわけではない」(同氏)

 セキュアなソフトウェア開発を実現するためには、自社の置かれている状況に応じて、すべてのクライテリアを“バランスよく”満たす必要がある。例えば、脆弱性診断を重点的に行っても、要件定義段階の取り組みが十分でなければ、全体としてセキュアなソフトウェア開発と評価することはできない。岡田氏は、「スパイダーチャート全体の“形”を見れば、ソフトウェア開発に関する構造的な課題も詳らかになる」と指摘する。

 「例えば、スパイダーチャートで『要件定義』『ソフトウェア(維持)環境』『実装テスト』『セキュリティテスト』がハイスコアで、『トレーニング』と『設計レビュー』がロースコアという結果が出たとする。ここから読み取れるのは、『曖昧に設計されたものを、十分なトレーニングを受けていない技術者が開発しているが、できたモノに対する確認は厳しい』という体制だ。これでは技術者が疲弊してしまう。こうした課題が見つかるのも、BSIMMのメリットだ」(岡田氏)

可視化して現実を直視することが重要

 とはいえ、日本におけるBSIMMの知名度は低く、普及に向けた啓蒙は始まったばかりだ。企業がBSIMMを受け入れるためには、スコアリングに対する理解を深める必要もある。ハンナン氏は「ソフトウェア開発部門がBSIMMのスコアを成績表ととらえると、自らの評価が下がることを恐れ、ロースコアの部分を報告しなくなる。しかし、BSIMMはセキュアなソフトウェア開発を実現するためのアセスメント(査定/影響評価)であり、善し悪しの判断をするものではない。『現実を直視しよう』というのがBSIMMの本質だ」と説明する。

 今後、IoTの普及や自動運転車の登場などで、ソフトウェアが複雑化・高機能化することは明白だ。そうなれば、サードパーティー/サプライチェーンパートナーからのソフトウェア(コード)提供も増加する。そのような状況においては、サプライチェーンが提供するソフトウェアのセキュリティリスクを把握すると同時に、「どのような環境で開発されたソフトウェアなのか」を管理しなければならない。

 現実的にサプライチェーンからのソフトウェアを管理できている企業は少数派だ。独立行政法人情報処理推進機構(IPA)が2017年3月に公開した「情報セキュリティに関するサプライチェーンリスクマネジメント調査」報告書では、「委託元にとってサプライチェーンが多いほど、情報セキュリティ問題への対策状況の把握は困難である」と指摘されている。

 例えば、直接の取引があるサードパーティー/サプライチェーンの対策状況を把握している企業の割合は約86%であるものの、サードパーティーがその先で外注しているベンダーの情報セキュリティ対策状況を把握している企業は約47%だったという。

 ソフトウェア開発を手がける企業は、客観的なフレームワークに基づき、自社の取り組みを第三者に説明する時代がくるだろう。そうした状況においてもBSIMMは、1つの有用な指針となるはずだ。

クラウド&データセンター完全ガイド2017年秋号