勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

「セキュア・バイ・デザイン」を読んだ(3) #デッドライン読書会

読むのがホネな(積みがちな)技術書やビジネス書を取り上げて2週間の読書期限を課して読んでアウトプットする仮想読書会「デッドライン読書会」の第41回。常時、けっこうな量の積読があるのだけれども、知り合いと読書期日を約束することによって消化が捗るという仕組み。ここ最近はこんな本を読んでいる。

さて、今回は3回にわたって読んできた「セキュア・バイ・デザイン」の最終回である。
セキュア・バイ・デザイン
今回は「第3部: 応用編 第12章: レガシー・コードへの適用」から最後まで、いわゆる総集編とまとめである。いやはや、この本は難しかった!

全体を通じての感想

  • 第3部を読んでやっと(?)、著者の主張する「セキュア・バイ・デザイン」の意味を理解できたような気がする。というか(DDDの概念をある程度知っているのであれば)後ろから読んだ方がよかったかもしれない。
  • 先頭から読んでいくと本書はドメイン駆動設計を推奨する本のように見えるが、実際は逆で、現代的なセキュリティ的品質をソフトウェアの設計に練りこんでいくならDDD的なアプローチをすべきという話だったということだ。やっと腹落ちした感。
  • そして、本書が提唱する「セキュア・バイ・デザイン」は、最近バズワード的に使われている「セキュリティ・バイ・デザイン」や「DevSecOps」とも(私の理解としては)まったく異なることがわかる。
    • (私の理解では)「セキュリティ・バイ・デザイン」や「DevSecOps」は上流工程や運用において恒常的にセキュリティを意識することであるが、あくまで外付け/外部から強化するアプローチだと考えている。
    • 一方で本書「セキュア・バイ・デザイン」はユビキタス言語的な世界観の中で、慎重にソフトウェアを設計する(組み立てる)中でセキュリティを達成するという……あー、うまく言語化できない。極めて地道なアプローチである。

しかし、感想文パート2でも書いたけど、これを実現するのはめちゃくちゃ難しいんじゃないだろうか。だいぶ長期戦でチームでアプローチしないと実現できない、という意味ではプロジェクトで採用するのは難しく、プロダクト開発の中で少しずつ近づいていくしかないような気がする。

セキュリティとログの関係について

第3部で一番興味深かったのは、ログの取扱いのあたり。「第12章: レガシー・コードへの適用」「第13章: マイクロサービスでの指針」でもログの扱いについてけっこうな言及がある。
まあ確かに、設計/実装段階で一番意識が不足して、セキュリティが破れてしまうポイントの一つ(盲点)ではあると思う。
最近だとlog4shellの問題もあったばかりだしな……というわけで、このあたりはけっこうメモを取ったのだった。

そしてセキュリティに関する知識を常にアップデートしなければならないという

最終章の「第14章: 最後に:セキュリティを忘れるべからず!」では、結局のところセキュリティを設計に組み込んでいくためには、セキュリティに関する知識の継続的なアップデートが必要であるという身も蓋もない事が語られる。「セキュリティの分野を研究することが重要です」まあ、そうなんだけど……

というわけでなんとか読み切ったのだが、なかなか面白いが内容も難しく、簡単には身につかないような本だった。
さて、次は何を読もうか……