安全なソフトウェア開発が改めて重視 – SDL 導入の手始めに役立つガイドライン
近頃、セキュリティ業界の会合やお客様との会話の中で、マイクロソフトのセキュリティ開発ライフサイクル (SDL) [i] が改めて注目を集めていると感じます。インターネット空間におけるサイバー攻撃がますます高度化かつ巧妙化する中、組織の資産をセキュリティ製品だけでは守っていけない状況は多く、ソフトウェアそのものの脆弱性をなくすこと、特に自社開発製品についてきちんと見直しを行い、より強固なソフトウェアやサービスに変えていくことが求められています。 図 1: SDL 開発プロセス 2002 年提唱の「信頼できるコンピューティング」から 10 年、マイクロソフト製品は常に研究者や悪意のあるクラッカーのハッキング対象となってきました。長年に亘るそのような状況にも鍛えられ、また徹底した SDL により、マイクロソフト製品のセキュリティは確実に向上しています。下図 2 は製品ごとの、1000 台の PC における感染 PC 台数を示していますが、より新しい製品ほど、感染率が下がっていることがわかります。 図 2: Windows OS 毎の感染率 (Security Intelligence Report v.11 より) 何から始めれば良いか? Microsoft SDL の簡単な実装というドキュメントを公開しています。ソフトウェア開発に完全な SDL フレームワークを導入するには、相応のリソースやコストが必要で、時間もかかります。このドキュメントでは SDL に準拠するための必要最小限のプロセスを説明しています。 たとえば「SDL 最適化モデル」は、以下 5 つの機能領域に基づいて構成されており、各領域におけるプラクティスと機能について 4 段階の成熟度 (基本、標準、高度、動的) を定義しています。このドキュメントでは、”高度” レベルの成熟度を実現するために必要なタスクとプロセスを重点的に説明しています。 トレーニング、ポリシー、および組織の機能 要件と設計 実装 検証 リリースと対応 …