【技術書】体系的に学ぶ 安全なWebアプリケーションの作り方 第2版【メモ】

はじめに

読後メモです。

「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」を読みました。

現在参画しているプロジェクトで立ち上げから携わらせていただいているのですが、個人でもチーム全体でもセキュリティに関する知識が薄いことに加え、だれもそれを危険だと感じていないことに危機感を覚え、体系的に学ぼうと思い本書を読んでみました。

感想

とにかくすごいボリューム(全部で650ページくらいある)があり、全てを完璧に網羅するのは難しいが、自分が開発する際にどんなところに注意して開発すべきかを考えるいいきっかけになった。
ザーッと読むだけではあまり頭に入ってこないと思ったので、業務で利用しているFWのサポートなどと照らし合わせて読むことで理解が深まった。
以下のようなことを調べた。

  1. Angularではバインディングを利用している限り、XSS対策を自動で行ってくれるが、DOMを直接操作する場合には注意が必要。
  2. .Net Core の認証機能を利用することで、XSS対策をした状態(HttpOnlyを設定した状態)でCookie認証をしてくれる。
  3. .Net の EntityFrameworkでは、LINQ to Entitiesを利用する限りはSQLインジェクションが発生しないが、生のSQLを使う際には対応が必要。

上記のように、FWを利用することで脆弱性は大きく減らせることがわかった。
Webアプリで生まれる脆弱性情報以外にも、脆弱性診断方法などの情報もあり、セキュリティに関して必要な情報が網羅されているので、Webアプリ開発する時にはとりあえず近くに置いておいて、辞書的な使い方をするのが良いと思う。

今回チーム内で情報を共有するために、この本の内容で全員が知っておくべき基礎知識をまとめ、公開した。
そしてプロジェクトで利用しているFWでどんな脆弱性対策をしているのかという情報を調べ、本書で紹介されている脆弱性と比較し、プロジェクト内で対応・または注意すべき脆弱性リストを作成した。
まだまだ脆弱性対策として不足している部分はあると思うが、上記をベースにブラッシュアップしていきたい。