- Amazon.co.jp ・本 (560ページ)
- / ISBN・EAN: 9784839975999
作品紹介・あらすじ
プログラミングの質を高めることで、セキュリティを向上させることができる― 著者らのこの考えを様々な形で試したり検証を行い、本書「セキュア・バイ・デザイン(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章: 最後に:セキュリティを忘れるべからず!
感想・レビュー・書評
-
セキュリティの事を考える時に、まずデザインレベルでできることがあるというアプローチの本。
実戦で利用してみたい、すべき手法だと思った。
ドメイン駆動設計にはあまり馴染みが無かったけど、勉強してみたい。詳細をみるコメント0件をすべて表示 -
設計をしっかりやることで、ついでにセキュリティ的にも優れたものになる、という理論が説明されている本
-
ドメイン駆動設計(DDD)+セキュリティ
セキュリティと言っても、コードレベルの話ではなく意識だとか設計指針だとかそっちのお話。
文字が多くてとにかく疲れます。
前半はそれなりに良かったが、後半は退屈で眺めただけ。
例外の話とシステム開発の失敗談が面白かった。
失敗を想定可能な結果として設計し、例外として扱わない。 -
私もセキュリティは大事だという認識は持ち自学してきた一方で、今まで苦手意識というか敬遠していた一人。
設計という普段の開発の過程でセキュリティを向上させる、という本書のポリシーは、現場のエンジニアにも受け入れられやすい考え方だと思った。
【特に参考になった部分】
・ドメインプリミティブ
・妥当性確認の順序
・失敗を想定可能な結果として設計する=例外として扱わない -
これから何度か読み返すことになるであろう本。
(購入しといてよかった)
いろいろあるが、印象深いのは
・CIA-T
・ドメインプリミティブ
・正常値 異常値 境界値 極端値テスト
・スナップショット
あたりか。セキュリティの観点で手に取った(買った)けど、ソフトウェア品質の観点で目が覚める、先が開けた感じ。
開発者以外のプロダクト関係者(コンサルとか営業とか)も(こそ?)読むべきかもしれない。 -
請求記号 007.61/J 64