セキュア・バイ・デザインの表紙

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

安全なソフトウェア設計

著者:
Dan Bergh Johnsson/Daniel Deogun/Daniel Sawano/須田智之
出版社:
マイナビ出版
出版日:
2021年09月24日頃
ISBN:
9784839975999
在庫:
在庫あり
★★★★⯨4.67(3 件)
中級者向け
セキュリティソフトウェアアーキテクチャDDDドメイン駆動設計セキュア・バイ・デザインドメイン駆動セキュリティ安全なソフトウェア設計C言語JavaC#

なぜ注目されているか

言及数
270
総合
514
9 ランクダウン13 件の言及
03520222023202420252026

書籍紹介

プログラミングの質を高めることで、セキュリティを向上させることができるー 著者らの考えを様々な形で試し検証を行い、本書「セキュア・バイ・デザイン (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 章: 最後に:セキュリティを忘れるべからず!

技書の森解説

セキュリティ対策というと、脆弱性スキャンや WAF のようなプロダクトの外側に張る防御層が思い浮かびがちです。本書はその発想を転換し、ドメイン駆動設計 (DDD) の手法を使ってコードそのものに安全性を織り込むアプローチを体系化しています。値オブジェクトで入力の正当性を型レベルで保証する、エンティティの不変条件で状態の不整合を構造的に排除するといった具合に、設計判断がそのままセキュリティ対策になる考え方を実例とともに示します。

読み手としては、 DDD の基本的な語彙 (エンティティ、値オブジェクト、集約) をある程度知っていると吸収が速いですが、セキュリティ視点から DDD に入門する読み方も成立します。設計の良し悪しとセキュリティの強度が別々の軸ではなく同一の軸であることを実感できるため、開発者がセキュリティを「自分ごと」として引き受けるきっかけになります。

注意すべき点として、本書はインフラ寄りのセキュリティ (ネットワーク、暗号、認証基盤の構築) はスコープ外です。あくまでアプリケーション設計の内側で安全性を高めるための本であり、プラットフォーム防御と補い合う関係にあります。セキュリティ専門書とソフトウェア設計書の両方を手に取る人にとって、その交差点をはっきり言語化してくれる一冊です。

言及 Qiita 記事 (9 件)

言及 Zenn 記事 (1 件)

この本に興味がある方におすすめ

この本に関連

関連記事

関連用語

共有:Xはてブ