【ブックレビュー】安全なWebアプリケーションの作り方
CISSPリベンジにむけて取り組んでいます。ただ合格に向けてコスパ・タイパ重視しすぎると、大切なもの、本来必要なものを見落としてしまう、と考えています。地道に長いルートを行くことが結果として最短の道になる、こういう風に考えるようになったのも齢を重ねたからでしょうか。良いことなのか悪いことなのか(+_+)
“安全なWebアプリケーションの作り方”いわゆる「徳丸本」はソフトウェア開発におけるセキュリティで気を付けなければならないこと、対応策が書かれている本としてはあまりに有名です。著者である徳丸氏はWebセキュリティの第一人者であり、執筆、講演などで活躍されています。
徳丸 浩X(旧twitter) Podcast番組 #33 | Webセキュリティの第一人者の素顔
徳丸本は実際に脆弱性のあるアプリ(Webサイト)が付録についており(当時はCD-ROMがついてきました)実際に手を動かして脆弱性を確かめてみよう、という点がエンジニアに評価される理由だったと思います。 僕もかつてこの本でセキュリティを学んでソフトウェア開発をおこなっていたこともあります。おそらく自分が読んだのは初版(2011年出版)ですが、今回は第2版(2018年)を読みました。
この本が書かれたのは6年前ですが、紹介されている内容はセキュリティの基本中の基本。そして現代現場で使われている知識としてはけして陳腐化していません。「jQueryが広く普及している」というフレーズに時代の流れを感じますが(^^;) そして最新の脆弱性もこれら古典的な脆弱性の延長線上にあることも多く、温故知新です。
この本に書かれていることは、ソフトウェアを書いていない人間であったとしても、ソフトウェアエンジニアと会話をするためには知っておかなければならない知識です。まして僕は会社でセキュリティ担当の肩書をつけているので、自分の業務エリア(組織のセキュリティマネジメントやインフラ回り)だけでなく、アプリケーション側もちゃんとセキュリティ対応できているのかな、というのを機を使わないとならない、そう思いました。最終章「安全なWebアプリケーションの開発マネジメント」は参考になりました。
2018年にタイムスリップした気持ちで読んでいましたが、当時のリスクはアプリケーションやブラウザのバグに起因することが多かったため、そのため開発側がしっかり対策を取る必要がありました。しかし2023年現在、セキュリティのリスクは電子メールを基としたフィッシングサイトや、VPNやRDPが多くを占める、つまり”ユーザ側の対策不備によるセキュリティインシデント”が主流だと感じています。アプリ開発はプログラミング言語ないしフレームワークが用意している安全な関数を利用することで古典的な脆弱性はだいぶ回避できます。しかしセキュリティの最前線そして最大の危険ポイント「人間」はソフトウェアほどに進化できていません。時間が足らず最新版パッチを当てることができない、仕事が忙しくて注意が散漫だった、というのはなくなりません。開発側が徳丸本に書かれているようなセキュリティ対策を取ることは当然として、ユーザ起因のセキュリティ事故を如何に減らすのか、それを考えていかないとという気持ちを強く持ちました。