日経ビーピー・ジェーピーデジタルアリーナITプロテックオンケンプラッツメド・ウェーブ日経BPエキスパート
0
無料 会員登録
有料サービス
メルマガ登録
ログイン
ITpro Tech ITpro Data ITpro Start ITpro Watcher

 ソフトウエアにセキュリティを実装するためには,開発部門がプロセスを導入し,開発者がスキルを身に付ける必要がある。マイクロソフトではこれを支援するため,同社の開発体制のノウハウである「セキュリティ開発ライフサイクル(SDL)」を公開している。また開発者のスキルアップのためポータルサイト「セキュリティ デベロッパー センター」の内容の充実を図っている。

ある調査会社によると,ハッキングの7割以上がアプリケーションで起きているという。従来ハッキングといえば,OSのセキュリティ・ホールを狙った攻撃や,TCP/IPの空きポートを使った侵入など,プラットフォームやネットワークで起こることが多かった。ところが,ここ数年Windowsのセキュリティ・ホールは劇的に改善している。また,サーバーやルーターの設定ノウハウも定着し,ファイアウオールも普及してきた。

そこで,ハッカーの攻撃は,より上位層であるアプリケーションのセキュリティ・ホールへ矛先が移っている。それを食い止めるのは,個々のアプリケーションを開発しているソフトウエア開発者しかいないのだ。

マイクロソフトが日本の開発者に行ったセキュリティ意識調査では,「安全なアプリケーション開発に必要な知識に自信を持っている」と答えたのはわずか5%と,欧米に比べて1/5〜1/7に過ぎなかった。

日本の開発者は,セキュアなアプリケーションを開発しなければいけないという認識はあっても,どのようなところから取り掛かればいいのか分からないと思っている人が多いのである。

Microsoftの開発ノウハウ,SDLを公開

マイクロソフトは2005年12月8日,ワールドワイドで「開発者セキュリティ」施策の開始を発表した。開発者が安全なアプリケーションを開発するのを,マイクロソフトが支援するものだ。具体的には以下の3つのポイントからなる。

  1. 同社のノウハウである「セキュリティ開発ライフサイクル(SDL:Security Development Lifecycle)」を提供すること
  2. Webサイトで技術情報,ツール,トレーニングなどを提供すること
  3. セミナーやパートナー企業・団体,開発者コミュニティなどを通じて,啓蒙活動を行っていくこと

SDLは,マイクロソフト社内に導入して実績を上げている開発プロセスだ。「要件」「設計」「実装」「検証」「完成」というソフトウエア開発のベースになる流れに,セキュリティに関するアクションを取り込んだプロセスになっている(図1)

Microsoftにおけるセキュリティ開発ライフサイクル

図1. Microsoftにおけるセキュリティ開発ライフサイクル(SDL)

第1の要件をまとめる段階では,開発のチーム・メンバーの意識とスキルを底上げするために,メンバー全員に資料を配布し,トレーニングを受けさせる。トレーニングは,外部機関が開催するものや,マイクロソフトが提供しているオンライン・トレーニングがある。また,製品の要件事項にセキュリティに関する項目を追加していく。

第2の設計する段階では,どのような脅威にさらされる可能性があるのか,「脅威モデル」を作成し分析する。脅威シナリオを立てて,データやプログラムの流れを検討し,必要に応じてアーキテクチャを変更することもある。そして設計が完成すると,セキュリティ・チームによって検証する。

第3の実装と検証の段階では,コードを人間が読んでチェックするとともに,ツールを使ってもチェックする。テストプランに沿って,データ変数と権限などをテストする。ファイル・フォーマットやAPI,ネットワーク・インターフェースについてもテストで脆弱性を洗い出す。

実装のたびにチェックを繰り返して,前回の見つかった欠陥が直っているか,セキュリティ・ガイドラインに沿っているかなどをチェックする。コードが完成した段階で,セキュリティに特化したフェーズを設け,コードを検証していく。このとき当初に考えた脅威モデルが実際に完成したプログラムで防御できているかどうかを確認する。

第4の出荷直前の段階では,セキュリティ専門チームによる「最終レビュー」があり,それを終えてから出荷となる。また出荷後に発見されるセキュリティの問題にも対処する。

SDLは2002年に同社に導入され,成果を上げている。SDLを導入して開発されたWindows Server 2003ではセキュリティ報告が24件と,SDL導入以前のWindows 2000が62件あるのに比べて大幅に減った。また,Office 2003ではセキュリティ報告がまだ7件と,Office 2000の40件に比べて圧倒的に少ない。

MSDNにカスタマイズ可能な
ポータルサイトが登場

オンラインで提供されるセキュリティ情報

図2. オンラインで提供されるセキュリティ情報

Webサイトからの情報提供は,MSDN Onlineの「セキュリティデベロッパーセンター」が,「開発者セキュリティ」施策の包括的なポータル・サイトになっている(図2)。これまで製品ごとにバラバラに提供されていた情報をこのポータル・サイトにまとめている。

MSDNでは「MSDN Connection」というコーナーを2005年末から始めている。これは,MSDNのコンテンツをパーソナライズして閲覧できる機能だ。ここでセキュリティにフォーカスして情報を集約できる。ここに行けば,講演のパワーポイントも見られる。

提供されたコンテンツで,最初に読んでおきたいのが,「信頼できるコンピューティングのセキュリティ開発ライフサイクル」である。SDLの概要を図を使って丁寧に説明している。

圧巻なのは,WebCastを使ったオンライン・セミナーだ。46本ものビデオがあり充実している。まだコンテンツが増える予定であるという。グレード別になっており,自分のレベルに合わせて選択できる(図3)

WebCastで数多くのコンテンツを提供している

図3. WebCastで数多くのコンテンツを
提供している

5分間のビデオで解説する「300秒でズバリ」や,コードを解説する「10行でズバリ」といったMSDNのコンテンツで,具体的なコーディングにおけるセキュリティ対策機能を理解できる。

他にもマイクロソフトのTechNetに収められている開発者向けのセキュリティに関する記事もリンクされている。

コミュニティにも情報発信している。MSDN Forumにある「セキュア・プログラミング・フォーラム」やVisual StudioUser Groupの「ライティング・セキュアコード・フォーラム」にもアクセスしてみるといいだろう。フォーラムで疑問に思ったことをぶつけて,議論すれば解決を見つけられるはずだ。

マイクロソフトは3月2日に開発者向けのセミナー「Microsoft Developer Security Day」を開催した。このときの講演内容はWebCastのコンテンツとして公開されている。今後はエンドユーザー向けやパートナー向けにもセミナーを開催する予定だ。



ITproについてITproへのお問い合わせ・ご意見情報提供・プレスリリース日経BP書店
広告について著作権・リンクについて個人情報保護・プライバシーポリシーについて
プライバシーマーク

日経BP社 Copyright© 1995-2006 Nikkei Business Publications, Inc. All rights reserved.
このページに掲載されている記事・写真・図表などの無断転載を禁じます。著作権は日経BP社,またはその情報提供者に帰属します。
掲載している情報は,記事執筆時点のものです。