プログラミングの質を高めセキュリティを向上させよう。設計による安全「セキュア・バイ・デザイン」の基盤となる考えから、設計の原則・コンセプト、レガシーコードの改善といった応用までを解説する。【「TRCMARC」の商品解説】プログラミングの質を高めることで、セキュリティを向上させることができる―著者らの考えを様々な形で試し検証を行い、本書「セキュア・バイ・デザイン(SecurebyDesign)・安全なソフトウェア設計」にまとめました。
本書はEricEvans氏のドメイン駆動設計(Domain-DrivenDesign:DDD)に関する考えの影響を大きく受けています。設計の中心にセキュリティを取り込む考え、ドメイン駆動セキュリティ(Domain-DrivenSecurity)という名のコンセプトを生み出しこの考えを実際に開発に導入し、発展させてきました。
対象読者はソフトウェア開発者(C言語、JavaやC#など基本的なプログラミング技術を習得済みの方)ですが、特定の言語やフレームワークに依存しすぎないよう、主にセキュリティにおいて重要だと思うものだけを含めるようにしています。全体的なプログラミング・スキルを向上したかったり、既存のプログラムをさらに「安全」なものにしなくてはならなかったりするのであれば、本書はまさにあなたにとっての一冊となることでしょう。
第1部:導入編
セキュア・バイ・デザインについて実例と共に見ていきます。セキュリティと開発についてどのように考え、それらが組み合わさるのか。あわせてどこで問題が起こりやすいのかと何ができるのかを分析します。
第2部:基礎編
ソフトウェアの作成におけるセキュア・バイ・デザインの基盤を構築する設計の原則、考え、コンセプトについて学んでいきます。
第3部:応用編
多くの開発者は「セキュア・バイ・デザイン」をレガシー・コードに適用することが難しいと感じる傾向があります。レガシー・コードの改善、モノリシック・アーキテクチャでよく起こる問題、マイクロサービス・アーキテクチャについて見ていきます。
第1部:導入編
第1章:なぜ、設計がセキュリティにおいて重要なのか?
第2章:ちょっと休憩:『ハムレット』の悲劇
第2部:基礎編
第3章:ドメイン駆動設計の中核を成すコンセプト
第4章:安全性を確立する実装テクニック
第5章:ドメイン・プリミティブ(domainprimitive)
第6章:状態の完全性(integrity)の保証
第7章:状態の複雑さの軽減
第8章:セキュリティを意識したデリバリ・パイプライン
第9章:安全性を考えた処理失敗時の対策
第10章:クラウド的考え方によるメリット
第11章:ちょっと休憩:保険料の支払いなしに成立してしまった保険契約
第3部:応用編
第12章:レガシー・コードへの適用
第13章:マイクロサービスでの指針
第14章:最後に:セキュリティを忘れるべからず!