web-dev-qa-db-ja.com

最も単純な(または最も軽い)安全な開発ライフサイクルとは何ですか?

マイクロソフトはSDLを簡略化しました。

「セキュリティ開発ライフサイクル(SDL)は、ソフトウェア開発に焦点を当てたセキュリティ保証プロセスです。」

「この 論文 で概説されているプロセスは、SDLコンプライアンスの最小しきい値を設定します。とはいえ、組織は均一ではありません–開発チームは、人間の才能と利用可能なリソースに適した方法でSDLを適用する必要がありますが、組織のセキュリティ目標を損なうことはありません。

安全なSDLを採用することに関心があり、適切なSDLを導入していない、またはそれに伴うものに怯えているショップの場合、最も簡単な安全なSDLを試すために何を検討しますか?

11
Tate Hansen

すばらしい質問です。
最初に、あなたが引用した「最小」はMicrosoftの最小要件ポリシーを指し、必ずしも「業界のベストプラクティス」の最小要件ではありません。私が間違っていると言っているわけではありませんが、MS-SDL自体は、Microsoft以外の組織にSDLが必ずしも必要ではないと言っています...実際、Michael HowardなどのMS-SDLアーキテクトは、しばしば-引用された格言:

私たちがしていることをするのではなく、私たちがしたことをしてください。

つまり、ドキュメントに具体的に示されているほど規定された要件ではありませんが(大部分は非常に優れている可能性があります)、リスクベースの分析、履歴メトリックの比較、傾向分析、ルート分析などの調査を繰り返し実行しました原因分析、さまざまなチームでの試行による「テイク」の確認など.

明確に定義されたシンプルなSDLはありません。インストールをダウンロードするだけで、セキュリティを確保できます。 MSからのそのポイントはスポットオンです-特定の組織、チーム、彼らの熟練度、彼らが構築している製品のタイプ、現在の開発プロセス、リスクプロファイルなどに従ってSDLを本当に調整する必要があります。そしてそれは本当に「試す」ための最良の解決策です...

さらに、SDLは1回限りのものではなく、正しいポリシーを定義して実装するという問題すらありません。 SDLの構築自体は継続的なプロセスであり、完全に実装するには数年かかる可能性があります。マイクロソフトは、SDLが模範的なものに到達するまでかなりの数の繰り返しを行いました...そして、開発者(のほとんど)に本当に浸透するまでにさらに数年かかりました。 SDLを実際に "試してみる"ことはできません。これは、通常、最初の1〜2か月以内にはメリットが見られないためです。これは本当に長期的な投資です。

したがって、組織が始まったばかりで、SDLの定義を検討している場合-ゆっくりと処理することをお勧めします。経験のある人にプロセスをガイドしてもらいます。

  • まず、現在の状況、プロセス、チーム、経験、柔軟性などを詳細に説明します。
  • Ifteams + managementがSDLの必要性、およびセキュリティ全般を100%確信していない場合は、初期セキュリティレビュー問題を解決するためだけに...ペンテストは、非常に視覚的である可能性があるため(ここでは必要ないため)この時点でのSDL自体)。
  • この時点で、幹部スポンサーとチーム自身の両方から賛同を得ていることを確認してください。どちらもなければ、SDLは失敗する運命にあります。
  • トレーニング!開発者は、物事を正しく行うことを好みます方法がわかっている場合
  • 投資した労力と比較して得られるメリット、および開発チームの混乱に応じて、ゆっくりと最小追加のセキュリティアクティビティを追加します。演習のポイントは、すべての人をセキュリティに関与させることであり、すぐにオフにしないことです。
  • チーム(セキュリティチャンピオンとして)または全員が話したり、話し合ったりできるセントラルチームにセキュリティの専門知識を設定します。さらに良いのは、(MSモデルのように)両方のハイブリッドモデルです。
  • 追加のセキュリティ投資の容量に応じて、各サイクルで、以前のアクティビティに加えてminimal追加のアクティビティを追加します。重要なのは、1つまたは2つの小さなことを実行することに慣れさせて、それが(ほぼ)2番目の性質になり、もはや「このセキュリティ処理を実行するのにそれほど長くはかからない」ことです。次に、より多くの帯域幅があります...
  • 途中でメトリックを収集して、何が機能して何が機能していないかを確認し、SDL投資から管理へのメリットを示すことができます。
  • もっとトレーニング!

さて、本当の問題は上記のリストですが、多くのように見えます。
しかし、それらの弾丸のほとんどは「メタアクティビティ」であるため、実際にはありません。それらのいくつかはおそらく、あなたと同じタイプの環境でSDLを実装した経験がある経験豊富なセキュリティ担当者/ギャル/コンサルタントが実行する必要があります。確かに、それでもそれほど単純ではありませんが、これを行うときは、中断を最小限に抑え、継続的な投資を重視します。軽量化できます。

6
AviD

私はかつて Continuous-Prevention Security Lifecycle (CPSL)と呼ばれる本当に良いものを書き、フォローアップ retrospective を行いました。今は少し古いと思いますが、あなたが求めたものです。

2
atdre