kakiro-webカキローウェブ

システム開発情報とコンピューター書籍の紹介サイト

Webセキュリティに関するおすすめのコンピューター書籍「体系的に学ぶ 安全なWebアプリケーションの作り方」

Webサイトのセキュリティ対策に関するおすすめのコンピューター書籍は「体系的に学ぶ 安全なWebアプリケーションの作り方」です。

Webサイトを作成する際には、情報の漏洩や、サイトの改ざん、サーバーの不正利用等へのセキュリティ対策が必ず必要となります。

この書籍ではWebサイトのセキュリティ対策として、考慮すべき点や対応方法が、ひとつひとつ簡単なサンプルプログラムを使用して、分かり易く解説されています。

セキュリティ対策のガイドラインとして一般に公開されているものには、IPAが公開している「安全なウェブサイトの作り方」というものや、OWASPが公開している「OWASP Top 10」というものがあるのですが、本書はこれらと対応したものにもなっています。

各種脆弱性の説明の前に基礎知識として、HTTPやセッション管理の仕組みと、その仕組みのどのようなところが脆弱性となるのかについて記載されています。

また、JavaScript等から他のドメインへのアクセスを禁止する同一オリジンポリシーという制限についての説明と、その制限を超えてアクセスを可能とするCORS(Cross-Origin Resource Sharing)というものの仕組みについても記載されています。

CORSに関する記載は、Web関連の情報をチェックしていて見かけないこともあるので、貴重かと思います。

この部分は短くまとまっていて、Webの仕組みと脆弱性の基礎知識を得るのに、読み易いものになっているかと思います。

本書のメインとなる各種脆弱性の記載では、ブラウザ上での画面表示の書き換えや、不正なJavaScriptの実行に関するもの、サーバー上での不正なコマンドの実行や、不正なファイルの読み込みに関するもの、ブラウザからサーバーへの不正なデータの送信に関するもの、セッション管理、クッキーの使用方法に関するもの、データベースでのSQLの実行に関するもの、メールの送信に関するもの等、多くのものが取り上げられています。

XMLの外部実体参照(XXE)による外部のファイルの読み込み等、脆弱性対策として定番のもの以外も紹介されています。

各脆弱性の説明は、簡単なサンプルプログラムを使用して、脆弱性が発生する状況と、その対応方法が記載されていますので、全体のページ数は長いですが、ひとつひとつを理解しながら読み進められるものになっているかと思います。

脆弱性対策以外にも認証、認可、アカウント管理といった機能や、脆弱性診断の実施方法等、セキュリティに関する情報が記載されています。

Webサイトのセキュリティ対策に関する知識は、概要の説明を見ているだけでは、脆弱性に対する攻撃が実際にどのように行われれるのか、イメージがつかみにくいかもしれませんが、この書籍ではサンプルプログラムを用いて攻撃の状況が解説されていますので、理解し易くなっているかと思います。

本書の全体のページ数は長いですが、ひとつひとつの内容は短くまとめられていますので、開発者ではない方でも読み易いものになっているかと思います。