Product Design, Manufacturing & Innovation Resources

作って、壊して、直して

Build Break Fix

作って、壊して、直して

客観的:

ソフトウェア 開発とセキュリティテストのモデルで、1つのチームがソフトウェアを開発し、別のチームがそれを破壊しようと試み(脆弱性を発見し)、最初のチームがそれらを修正する。

使用方法:

長所

短所

カテゴリー:

最適な用途:

「構築して、壊して、修正する」手法は、情報技術、電気通信、金融サービスなど、さまざまな業界で広く適用されており、特にソフトウェアやインフラストラクチャシステムの設計および開発段階で活用されています。このアプローチは、社内のセキュリティチーム、独立系のセキュリティコンサルタント、あるいは倫理的なハッカーやセキュリティ研究者の参加を促す外部のバグ報奨金プログラムによって開始されることもあります。参加者は通常、ソフトウェア開発者、セキュリティアナリスト、システムアーキテクトなどで構成され、システムの構築に協力すると同時に、脆弱性を発見するために模擬攻撃を実行する専任の「破壊」チームを編成します。この手法は、医療や電子商取引など、データ漏洩が深刻な結果を招く可能性がある分野で、高いリスクを伴うデータ保護が求められる環境で特に有効です。プロジェクトのライフサイクル全体を通して、構築、攻撃によるテスト、そして発見された脆弱性の修正という反復的なサイクルが、継続的な改善を支え、積極的なセキュリティ体制を強化します。この反復的なアプローチは、開発者がテスターから直接フィードバックを受けることでチームメンバー間のコミュニケーションを強化し、安全なコーディング慣行の文化を促進します。これらの演習を定期的に実施することで、セキュリティ対策が新たな脅威に合わせて進化し、潜在的な攻撃に対するシステムの堅牢性を確保できます。

この方法論の主なステップ

  1. セキュリティに関するベストプラクティスをプロセスに組み込んだソフトウェア製品の設計と実装を行う。
  2. 様々な脅威モデルと攻撃ベクトルを盛り込んだ攻撃計画を策定する。
  3. 事前に定義されたシナリオを使用して、システムに対する模擬攻撃を実行します。
  4. 攻撃フェーズ中に発見された脆弱性はすべて、分析のために文書化してください。
  5. 脆弱性の深刻度とシステムへの潜在的な影響に基づいて、優先順位を付ける。
  6. 特定された脆弱性や弱点に対する修正策を開発し、適用する。
  7. 脆弱性が効果的に対処されたことを確認するため、修正後にシステムを再テストしてください。
  8. セキュリティを継続的に強化するために、必要に応じて構築、破壊、修正のサイクルを繰り返します。

プロのヒント

  • 攻撃後のレビューを実施して、構築戦略と破壊戦略の両方を改善し、各テストから得られた教訓が開発プロセスに確実に反映されるようにする。
  • 自動化ツールと手動テストを併用することで、包括的なカバレッジを実現し、潜在的な脆弱性をより効率的かつ一貫して特定できます。
  • 構築者と破壊者の間でチームの役割を定期的に交代させることで、それぞれの視点に対する共感と理解を深め、より強固な設計上の選択につながる。

複数の方法論を読み比べて、 私たちは、

> 包括的な方法論リポジトリ  <
400以上の他の手法と併せて。

この方法論に関するご意見や追加情報は、 以下のコメント欄 ↓、エンジニアリング関連のアイデアやリンクも同様です。

歴史的背景

1996
1998
1999
2000
2000
2000
2002
1994
1997
1998
1999-05-01
2000
2000
2000
2003

(日付が不明または関連性がない場合、例えば「流体力学」などでは、その注目すべき出現時期の概算値が提示されます。)

フルサイズの画像とダウンロードは、登録会員のみが100%無料で利用できます。