4.0 第4部の導入: セキュリティ
セキュリティ、プライバシー、信頼は、プロジェクトの最後に加える機能ではありません。システム全体がどう設計され、構築され、運用され、統治されるかという性質です。数千人のエンジニアが数百のサービスにわたってコードを出荷するとき、最も弱い環が、あらゆるインシデントがどれだけの被害を出しうるかを決めます。誤設定された一つのストレージバケット、パッチの当たっていない依存関係、権限の過剰なサービスアカウントが、数百万件のレコードを露出させうるのです。本書のこの部は、それを大規模に防ぐ実践と、その作業をやり遂げたことを他者に証明する実践を扱います。
企業にとって、賭け金は財務と評判です。侵害のコスト、規制上の罰金、失われる顧客、下がる企業価値。政府にとっては、さらに遠くまで及びます。国家安全保障、重要なサービスの継続性、国家が依拠する公共の信頼。市民は、税、健康、給付のデータの別の提供者を選ぶことができないので、政府は彼らに特別な注意義務を負います。どちらの設定でも、統制とゲートだけでは決して十分ではありません。セキュリティとプライバシーは、作業をする人々に内面化され、組織に説明責任を求める監査人、規制当局、市民に対して実証されなければなりません。
この部は、セキュリティを、文化、コード、インフラストラクチャ、運用、個人データ、正式な義務にまたがるエンジニアリングの規律として扱います。各章は前の章の上に築かれ、考え方から仕組み、そして証明へと進みます。
この部の章
- 4.1 セキュリティの基礎と文化。 その他すべての土台となる思考モデルと文化的な実践を確立します。セキュリティを全員の仕事にすること、脅威モデリング、セキュアな開発ライフサイクル、多層防御、ゼロトラスト、そして恐怖や流行ではなくリスクによってセキュリティの仕事に優先順位をつけること。
- 4.2 アプリケーションセキュリティ。 侵害のほとんどの背後にある欠陥に対して、アプリケーションを強靭に保つ実践を扱います。一般的な脆弱性のクラスの防御、入力の検証と出力のエンコード、認証と認可を正しく行うこと、シークレットの管理、ソフトウェアサプライチェーンの保護。
- 4.3 インフラストラクチャとクラウドのセキュリティ。 アプリケーションが動く、ソフトウェア定義の基盤を守ります。新しい境界としてのアイデンティティとアクセスの管理、ネットワークのセグメンテーション、暗号化と鍵管理、コンテナとサーバーレスのセキュリティ、誤設定のずれに対する継続的な態勢管理。
- 4.4 セキュリティ運用。 脅威を素早く見つけ、予防が失敗したときにうまく対応することを扱います。デリバリーのパイプラインへのセキュリティの統合(DevSecOps)、脆弱性管理とパッチ適用、インシデント対応とフォレンジック、SIEM(セキュリティ情報イベント管理)とSOAR(セキュリティのオーケストレーション、自動化、対応)による検知、レッドチームとパープルチームによる検証。
- 4.5 プライバシーとデータ保護。 プライバシーを、セキュリティとは別の設計上の制約として扱います。プライバシー・バイ・デザイン、データの最小化と保持、PII(個人を特定できる情報)とPHI(保護対象の医療情報)の分類と保護、同意と適法な根拠、国境を越える移転とデータ所在地の要件。
- 4.6 コンプライアンスとガバナンス。 義務が満たされていることを証明し、それを繰り返し可能にすることを扱います。主要なフレームワーク(GDPR、HIPAA、PCI-DSS、ISO 27001、SOC 2)、政府の制度(FedRAMP、FISMA、NIST 800-53と800-171、CMMC)、アクセシビリティの義務、定期的な監査から継続的で証拠駆動のコンプライアンスへの移行。
- 4.7 アイデンティティとアクセスの管理。 誰が何をしてよいかを確立します。認証対認可、入社・異動・退社のライフサイクル、シングルサインオンと現代のフェデレーション(OAuth 2.0、OIDC、SAML)、フィッシングに強い多要素認証とパスキー、ロールベースと属性ベースのアクセス制御、最小権限、ゼロトラストの制御面としてのマシンのアイデンティティ。
- 4.8 暗号と鍵管理。 暗号を自分で発明せずに正しく使うことを扱います。検証済みのプリミティブによる機密性、完全性、真正性、転送中と保存時の暗号化、そして本当に難しい部分である鍵のライフサイクル。鍵管理サービスとハードウェアセキュリティモジュール、PKIと証明書の自動化、暗号のアジリティ、耐量子への移行。
- 4.9 セキュアなソフトウェア開発ライフサイクル。 最後にテストして取り込むのではなく、あらゆるフェーズにセキュリティを組み込みます。セキュリティ要件と悪用ケース、脅威モデリングとセキュア設計のゲート、セキュアコーディング、パイプラインのセキュリティツール(SAST、DAST、SCA、シークレットとIaCのスキャン)、セキュリティチャンピオン、是正のSLA。NIST SSDFやOWASP SAMMのようなフレームワークに導かれます。
- 4.10 ペネトレーションテストとレッドチーム演習。 攻撃者のやり方で弱点を見つけます。脆弱性スキャンからペネトレーションテスト、レッドチーム、パープルチームまでの全域にわたり、明確なスコープと交戦規則を持ち、あらゆる発見を検知と防御にフィードバックします。
これらの章の相互関係
章は意図した筋道に沿っています。文化が条件を設定します。コードとインフラストラクチャが統制を実装します。運用がすり抜けたものを捉えます。プライバシーが、そもそもそのデータが存在すべきかを統治します。そしてコンプライアンスが、システム全体が義務を満たしていることを証明します。4.1章は残りが依存する根です。その脅威モデリングとセキュアな開発ライフサイクルが、4.2章のアプリケーションの防御と、4.3章のアイデンティティ中心の統制を形づくります。4.4章は、それらの防御が存在することを前提に、それらが試されたときの検知と対応に焦点を当てます。4.5章は同じデータを別のレンズで見ます(守れるものだけでなく、それで何をしてよいか)。そして4.6章は、そのすべてを監査可能な証拠に変えます。
これらの関心事は、本書全体にも及びます。4.2章のアプリケーションのサプライチェーンセキュリティは、10.3章のオープンソースのライセンスと、10.2章のソフトウェア部品表(SBOM)と保証につながります。4.5章のプライバシーは、7.1章のより広いデータ戦略とガバナンスに依存します。セキュリティ運用は、本書の他の箇所の信頼性とインシデントの実践と、ツールとオンコールの規律を共有します。合わせて読むと、これらの章は、セキュリティとプライバシーを、専門化されたサイロとしてではなく、大きな組織がどのようにエンジニアリングし、運用し、信頼を得るかの共有された性質として描いています。