セキュアなアプリ開発で現場は変わる? MS-IMEの場合(2/2 ページ)

» 2006年03月03日 15時29分 公開
[高橋睦美,ITmedia]
前のページへ 1|2       

 マイクロソフト社内でSDLが適用されたのは、ちょうどIMEが「検証」フェーズに入っていた段階だった。その時点で「約1カ月間、機能コードの開発を停止し、集中してセキュリティ活動のみを行った」(同氏)。しかし、いかんせん初めての体験だったため、本を読み、オンライントレーニングを受けても、「何をどこまでやればセキュアなプログラムになるのか、当時は明確に理解できていなかった」という。

 レビューの段階では、人間によるレビューとツールによるレビュー、ファジー化という3種類のチェックを実施。特にツールを用いたレビューでは「数千件のオーダーで警告(Warning)が発生した。その内容はちょっとしたものから複雑なものまで多岐にわたっていた」(藤村氏)。中でも、オブジェクト指向でデザインされていない、古くから受け継がれてきたコードは修正に苦慮した部分があったそうだ。

 SDL導入初期、メンバーのセキュリティ理解度や検証時の自信は低かった。しかし、SDLに沿って1つのプロダクトをリリースした今、明らかにセキュリティ知識や意識が高まり、「行うべきことが明確に把握できるようになっている」と同氏は言う。

 プランやレビューといったフェーズの重要性も改めて認識した。最初のアーキテクチャやデータフローの段階で「脅威モデル」をまとめることが大事だという。仕様書の中にセキュリティの観点が記述されていると、「レビューやファジー化の際のスコープもしっかりする」(同氏)

 さらに、ツールのありがたみを実感した。「人間が指摘できる問題は限定的。レビュアーが指摘できない問題を網羅的に、効果的に発見してくれるという意味で、ツールに高く依存している」と言う。

 コーディングにも変化が生じた。「コードの内容が洗練され、読みやすさが向上した。また、開発を進めていくと、知らないうちに似たような関数が含まれがちだが、それを統合し、1つの関数のセキュリティを集中的にチェックするようになった。さらにライブラリについても、『この機能がちょっとそぐわないから』といって自分でクラスを作る代わりに、脆弱性に対応済みの既存のライブラリを利用する傾向がある」(藤村氏)

 現在同社では、さらに次のバージョンのIME開発を進めているが、このプロジェクトでは初めからSDLが採用されいる。

 「トレーニングについては、既に下地ができているので非常に楽。また、各機能仕様書にもセキュリティ事項が記述されている」(藤村氏)。コード実装においても、前回のツールや経験を生かせているといい、「ツールが発見した脆弱性に関するWarningは、コンパイル時のFatal Errorと同じように、対処しない限り次に進めないようになっている」(同氏)

 藤村氏は自らの経験を踏まえ、SDLの適用によって、短期的には開発工数が増えても、中長期的に見ると、導入前と同等か、あるいは減少する可能性があるとしている。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ