セキュア・バイ・デザイン

書籍情報

発売日 : 2021/09/24

著者/編集 : Dan Bergh Johnsson/Daniel Deogun

出版社 : マイナビ出版

発行形態 : 単行本

ページ数 : 560p

書籍説明

内容紹介

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

目次

第1部: 導入編
第1章: なぜ、設計がセキュリティにおいて重要なのか?
第2章: ちょっと休憩: 『ハムレット』の悲劇
第2部: 基礎編
第3章: ドメイン駆動設計の中核を成すコンセプト
第4章: 安全性を確立する実装テクニック
第5章: ドメイン・プリミティブ(domain primitive)
第6章: 状態の完全性(integrity)の保証
第7章: 状態の複雑さの軽減
第8章: セキュリティを意識したデリバリ・パイプライン
第9章: 安全性を考えた処理失敗時の対策
第10章: クラウド的考え方によるメリット
第11章: ちょっと休憩: 保険料の支払いなしに成立してしまった保険契約
第3部: 応用編
第12章: レガシー・コードへの適用
第13章: マイクロサービスでの指針
第14章: 最後に:セキュリティを忘れるべからず!

著者情報

dan bergh johnsson
Dan Bergh Johnsson氏、Daniel Deogun氏、Daniel Sawano氏の3人は数十年に渡ってセキュリティと開発の分野に従事してきた経験を持つ人たちです。彼らはエンジニアであり、開発においてセキュリティが二の次となりがちなことを理解しています。そこで彼らは設計の質を高めることに意識を向けセキュリティの向上が期待できるシステム開発の習慣をまとめ上げていきました。これらの習慣はエンジニアが日々の作業を行う際に簡単に心掛けられるものになっています。著者らはそれぞれ国際的なスピーカーとしての地位を確立し、質の高い開発やセキュリティが主題となるカンファレンスによく登壇しています。
daniel deogun
daniel sawano
須田智之
10年以上おもにSI企業にシステムエンジニアとして携わり、それ以降はフリーランスに。企業向けのシステム開発のかたわら、個人での開発、および、記事や書籍の執筆や翻訳も行っている。