アジャイル開発にセキュリティ対策を組み込む、マイクロソフトが「Security Development Lifecycle」の新版を公開

2009年11月11日

ソフトウェア開発の際に、仕様策定から実装、運用にいたるまで、あらゆる観点でセキュリティ対策を盛り込んでおくことは、特にWebアプリケーションにとって非常に重要なことです。これからさまざまなアプリケーションがクラウドに対応することを考えても、開発プロセスそのものにセキュリティ対策のこともきちんと組み込んでおくことが望まれます。

マイクロソフトは、OSやアプリケーションなど自社開発しているソフトウェアの開発プロセスにセキュリティ対策を組み込んでおり、そのガイドラインを「Microsoft Security Development Lifecycle」として公開していました。

下記の図がMicrosoft Security Development Lifecycleを示した図ですが、ここから分かるように、まず開発者のトレーニングから始まり、要求仕様、デザイン、実装といった各フェーズごとに何をしなければならないかが明確化され、これに沿って開発プロセスを進めていくことで、セキュアなソフトウェア開発が実現できる、というものです。

fig 従来のSecurity Development Lifecycle。ウォーターフォール型の開発を前提としていた

しかし、このSecurity Development Lifecycleは基本的にウォーターフォール型の開発プロセスを想定しており、反復型の開発プロセスであるアジャイル開発には対応していませんでした。

マイクロソフトでは社内でもすでにアジャイル開発の採用が進んでおり、今回新しく改訂されたSecurity Development Lifecycleでも、アジャイル開発に対応した内容が盛り込まれています。

Security Development Lifecycleをアジャイル開発に対応させるにあたり、どのような変更が行われたのでしょうか。ドキュメントの68ページから引用します。

If Agile practitioners are to adopt the SDL, two changes must be made.

アジャイルのプラクティス実践者がSDLを受け入れるために、2つの変更が行われなければならなかった。

First, SDL additions to Agile processes must be lean. This means that for each feature, the team does just enough SDL work for that feature before working on the next one.

1つは、SDLのアジャイルプロセスへの追加は無駄のないものであること。これはチームが、十分にSDLに関する作業を行ったうえで、次の作業に進めるようにするため。

Second, the development phases (design, implementation, verification, and release) associated with the classic waterfall-style SDL do not apply to Agile and must be reorganized into a more Agile-friendly format.

2つ目は、各開発フェーズ(デザイン、実装、確認、リリース)に関連する古いウォーターフォール型のSDLはアジャイル開発にそのまま応用できず、もっとアジャイル開発にフレンドリーな形式へと再構成されたということ。

To this end, the SDL team at Microsoft developed and put into practice a streamlined approach that melds agile methods and security--the Security Development Lifecycle for Agile Development (SDL-Agile).

つまりこれは、マイクロソフトのSDLチームがアジャイル方法論と融合した一連のプラクティス ― Security Development Lifecycle for Agile Development(SDL-Agile)、を開発したということだ。

fig アジャイル開発に対応したSecurity Development Lifecycle for Agile Development
Security Development Lifecycle

新しいガイドラインは、Security Development Lifecycleで公開されています。ドキュメントはワード形式で約170ページあり、Security Development Lifecycle for Agile Developmentについては68ページから詳しい解説が行われています。

また、このWebページには「Whitepaper: Security Considerations for Client and Cloud applications」や「Microsoft SDL team releases two security verification tools as FREE DOWNLOADS」などのセキュリティ関連のドキュメントやツールも公開されています。

あわせて読みたい

DevOps アジャイル開発 セキュリティ




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本