セキュア・バイ・デザイン(セキュア バイ デザイン)
安全なソフトウェア設計
- 著者:
- Dan Bergh Johnsson/Daniel Deogun/Daniel Sawano/須田智之
- 出版社:
- マイナビ出版
- 出版日:
- 2021年09月24日頃
- ISBN:
- 9784839975999
- 価格:
- ¥4,686
- 在庫:
- 1
- 判型:
- 単行本
書籍紹介
プログラミングの質を高めることで、セキュリティを向上させることができるー 著者らの考えを様々な形で試し検証を行い、本書「セキュア・バイ・デザイン (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 章: 最後に:セキュリティを忘れるべからず!
言及の推移
言及 Qiita 記事 (9 件)
「防御的プログラミング」を学ぶ
♡ 19プログラミング, 設計ドメイン・プリミティブ / Domain Primitive を使って分かりやすく安全なプログラムを書こう!
♡ 14DDD, 値オブジェクト, ドメイン・プリミティブ, ドメインプリミティブセキュリティから始まるドメイン駆動設計
♡ 6DDD, ドメイン駆動設計「開発を加速するためのテスト講座」から得た学び
♡ 2テスト, アジャイル, QA2025/5/15主にITとかセキュリティの記事
♡ 0Security, ニュース2025/2/16主にITとかセキュリティの記事
♡ 0Security, ニュースミノ駆動さんのデータ破壊駆動を防ぐ設計のセミナーレポート
♡ 0DDD, #セミナー2024/2/23主にITとかセキュリティの記事
♡ 0Security, ニュースGoでRead-Onceオブジェクトを作ってみた
♡ 0Go
この本に興味がある方におすすめ
この本に関連
関連記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
バグを生むのは知識不足ではなく想像力不足である
バグの多くは、コードを書いた時点で「こういうケースもありうる」と想像できなかったことが原因です。想像力を鍛える読書法と、エッジケースへの感度を高める方法を解説します。
本棚を見ればエンジニアのレベルがわかる
エンジニアの本棚に並ぶ本の構成は、その人のスキルレベルとキャリアの方向性を映し出します。本棚の変遷パターンから、自分の現在地と次のステップを読み解く方法を紹介します。
関連用語
ドメイン駆動設計 (DDD)
ビジネスドメインの知識を中心に据え、ドメインエキスパートと開発者が共通言語で協働しながらソフトウェアを設計する手法
DevSecOps
開発・セキュリティ・運用を統合し、セキュリティをパイプラインに組み込むアプローチ
DNS
ドメイン名を IP アドレスに変換するインターネットの名前解決システム
貧血ドメインモデル
ドメインオブジェクトがデータのみを持ち、ビジネスロジックが外部のサービスに散在するアンチパターン
OWASP
Web アプリケーションセキュリティのベストプラクティスを提供するオープンコミュニティ
Route 53
AWS のマネージド DNS サービスで、ドメイン登録、DNS ルーティング、ヘルスチェックを提供する