体系的に学ぶ 安全なWebアプリケーションの作り方 第2版の表紙

体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版(タイケイテキニマナブアンゼンナウエブアプリケーションノツクリカタダイニハン)

脆弱性が生まれる原理と対策の実践

インターネット・WEBデザイン
著者:
徳丸 浩(トクマル ヒロシ)
出版社:
SBクリエイティブ
出版日:
2018年06月22日頃
ISBN:
9784797393163
在庫:
在庫あり
4.27(17 件 / 楽天ブックス)
中級者向け
サーバー管理インターネット・WEBデザインインターネットセキュリティPHPJavaScript脆弱性APIHTMLWebアプリケーション開発OWASPセキュリティ対策脆弱性診断

なぜ注目されているか

インターネット・WEBデザイン
2
総合14 4 ランクアップ 76 件の言及
言及数
22
03620222023202420252026

書籍紹介

日本中の現場で支持されたベストセラーが、最新環境にあわせて全面刷新+大増ページ!

Web アプリケーションにはなぜ脆弱性が生まれるのか?
脆弱性を解消するにはどうプログラミングすればよいか?

PHP サンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる!

Web アプリ開発者の必読書、待望の改訂版!
OWASP Top 10 - 2017 対応

<主な改訂内容>
・ HTML5 の普及に対応して Web APIJavaScript に関する解説を新設

・ OWASP Top 10 - 2017 に対応して、 XXE や安全でないデシリアライゼーションなどを解説

・脆弱性診断に対する関心が高まっていることから、脆弱性診断の入門の章を親設

・ IE7 のサポート終了など現在のソフトウェアの状況に対応

・実習環境を Windows に加えて Mac にも対応

技書の森解説

Web アプリケーションのセキュリティを 1 冊で体系的に学ぶなら、まず名前が挙がるのが本書、通称「徳丸本」です。『体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版』 (徳丸浩 著・ SB クリエイティブ・ 2018 年 6 月刊行・ 688 ページ) は、 SQL インジェクション・ XSSCSRF ・セッション管理の不備といった代表的な脆弱性について、攻撃が成立する原理と、なぜその対策で防げるのかを一気通貫で解説する定番書です。個別の対策テクニックを暗記させるのではなく、脆弱性が生まれる仕組みそのものを理解させる構成が、初版 (2011 年 3 月刊行) から一貫した本書の核になっています。

攻撃を手で再現する実習スタイルが最大の読みどころ

最大の特徴は、実際に手を動かして攻撃を再現する学習スタイルです。 PHP で書かれたサンプルアプリケーションに読者自身が攻撃を仕掛け、脆弱性が生まれる過程をコードと HTTP リクエストのレベルで確認してから、対策の実装へ進みます。攻撃側の視点を先に体験するため、「エスケープしておけば安全」「フレームワークに任せれば大丈夫」といった丸暗記の対策が、どんな条件で破れるのかまで自分の言葉で説明できるようになります。実習環境は Windows に加えて Mac にも対応しています。

第 2 版の改訂内容と初版との違い

第 2 版は 初版から 7 年ぶりの改訂 で、差し替えの幅が大きい全面刷新です。 HTML5 の普及に対応して Web APIJavaScript に関する解説が新設され、 OWASP Top 10 の 2017 年版を踏まえて XXE や安全でないデシリアライゼーションといった脆弱性への対処が加わりました。実務での需要の高まりを受けて脆弱性診断入門の章が新設された一方、初版にあった携帯電話向け Web アプリケーションの章は削除されています。 2026 年 8 月時点で本書より新しい版は刊行されておらず、第 2 版が現行版です。

原理から学ぶ構成が効く理由

Web セキュリティ が独学しにくいのは、脆弱性がプログラミング言語の文法でもフレームワークの機能でもなく、 HTTP や HTML 、ブラウザの仕様と、それを前提に書かれた実装との「すき間」で生まれるからです。たとえば SQL インジェクションはデータと命令の境界が崩れる問題であり、 XSS はブラウザが HTML を解釈する仕様そのものに根ざしています。だから特定フレームワークの対策機能だけを覚えても、設定や使い方が変わった途端に守れなくなります。本書が原理からの説明にこだわる意味はここにあり、仕組みで理解しておけば、言語やフレームワークが変わっても同じ判断基準で安全なコードを書けます。 OWASP のような業界標準の分類と対応づけて学べることも、脆弱性診断やセキュリティレビューの実務にそのまま持ち込める強みです。

対象読者と読む前に必要な前提知識

対象読者は、 HTML と HTTP の基礎を知っていて、何らかの言語で Web アプリケーションを作った経験がある開発者です。逆に Web アプリケーションを一度も作ったことがない段階では、攻撃コードの意味が取れずに挫折しやすいため、先に Web 開発の入門書 を 1 冊挟むことをおすすめします。ネットワーク層の攻撃やマルウェア解析など、 Web アプリケーション以外のセキュリティ領域も本書の守備範囲外です。その前提を満たす人にとっての見返りは大きく、自分の書いたコードのどこが危ないかを自分で見つけて直せるようになること、レビューの場で「なぜ駄目か」を根拠付きで説明できるようになることが、 688 ページを読み切る具体的なペイオフです。 Web 開発を仕事にするエンジニアが開発中に該当章を引き続ける常備書として、長く元が取れる 1 冊です。

言及 Qiita 記事 (69 件)

この本に興味がある方におすすめ

この本に関連

関連記事

関連用語

共有:Xはてブ