読むのがホネな(積みがちな)技術書やビジネス書を取り上げて2週間の読書期限を課して読んでアウトプットする仮想読書会「デッドライン読書会」の第30回。今回は前回前半までを読んだ「ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計」の続きである(ちょっと分厚いので前半後半に分けて読んでいる)。7章 アプリケーションの信頼と信用から最後までを読んでいる。
書籍「ゼロトラストネットワーク」の全体的な感想
- 前半の感想にも書いたのだけれども、抽象度が高いので割と難しい本だったなぁ、という印象
- 近年のパンデミックなどで、急速にリモートシフト、クラウドシフトが起こっておりゼロトラスト(ZT)の重要性は急速に高まっている。よって、このタイミングで基本的な考え方をおさえておくのは良かったかも
- いま並行して「情報処理教科書 情報処理安全確保支援士 2021年版」を勉強しているのだけれども、ZTについては一応触れられてはいる(5ページ程度)が、だいぶ浅い
後半で興味深かった内容の紹介
7章 アプリケーションの信頼と信用
本章に期待していた内容は、例えばエンタープライズシステムのゼロトラストの対応(アプリケーションにどう認証を組み込むか等)だった。しかし実際には7章はプログラマーとコードをそもそも信頼しないゼロトラストの話なので、ちょっとびっくりした。
ソースコードはソフトウェアを実行するための最初のステップである。かなり平たく言えば、信用されない人が書いたソースコードを信用するのは難しい。コードが入念に監査されるとしても、悪意を持つ開発者が脆弱性を意図的に実装する(そして隠ぺいする)可能性はやはりゼロではない。実際には、このような悪質な行為を競う有名なコンテストまで存在する†2。悪気はなくても、アプリケーションにうっかり脆弱性を作り込んでしまうこともある。しかし、ゼロトラストネットワークの焦点は、そうした開発者から信用を取り上げることではなく、悪用されたコードを特定することにある。
お前は何をいってるんだ……
ちなみに紹介されているコンテストはこちら。だいぶ面白いが2015年で終わっているようである。
(と、茶化してしまったが、本章で語られているコードを信頼し、セキュアにデプロイする考え方は非常に参考になった)
9章 ゼロトラストネットワークの実現
具体的なマイグレーションに関する説明である。GoogleのBeyondCorpおよび、PagerDutyのZTAのケーススタディを含んでいる点が興味深い。
ただ、実はこの後に読んだNISTのZTA文書(2020年発効)のほうがわかりやすかった。これは時代的なものも大きいかもしれない。
- NISTの800-207 Zero Trust Architecture(日本語PDF)
10章 攻撃者の視点
最後の章では、ZTAに対して攻撃者の視点でどのようなアプローチが考えられるのかの論考がついている。ZTAにも当然のことながら脆弱性はあり、運用等でカバーする必要があるという話。
NIST 800-207 で示される現代のネットワーク的な前提事項
本書を読んでから補足的にNISTのZTA文書(日本語PDF)を読んだのだけれども、現代のネットワークに関する前提が興味深かったのであわせて紹介しておく。
- 企業のプライベートネットワークは、暗黙のトラストゾーンとみなさない
- ネットワーク上のデバイスは、企業が所有していないか、構成可能なものではない場合がある
- どんなリソースも本質的に信頼されるものではない
- すべての企業リソースが企業のインフラストラクチャ上にあるわけではない
- リモートの企業主体と資産は、ローカルネットワークの接続を完全に信頼できない
- 企業のインフラストラクチャと非企業のインフラストラクチャとの間で移動する資産とワークフローには、一貫したセキュリティポリシーが必要
ZTAはこれから必要性が高まっていくんだろうなぁ。