ウェブ・セキュリティ基礎試験(徳丸基礎試験)①
徳丸基礎試験勉強まとめ①
「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」の1章と2章を自分なりにまとめる
アドバイスや間違い指摘など歓迎です
1章「Webアプリケーションの脆弱性とは」
1.1 脆弱性とは、「悪用できるバグ」
悪用とは?
他人の個人情報などを勝手に閲覧できる、別ユーザーに成りすましできるなど
本書の目的は?
脆弱性のない安全なWebアプリ開発方法を説明
1.2 脆弱性があるとなぜ駄目なのか
なにがだめ?
経済的損失、法的な要求、攻撃インフラ(ボットネットワークなど)構築に加担してしまう
法的な要求って?
-
用語1「個人情報保護法」
個人情報の保護に関する法律 -
用語2「個人情報取扱事業者」
個人情報データベースを事業に用いている事業者 -
用語3「安全管理措置」
個人情報取扱事業者は安全管理措置を講じる義務がある(個人情報保護法第二十条)
義務なので、これをやらないと法律違反
攻撃インフラ(ボットネットワークなど)って?
-
用語1「攻撃インフラ」
他のWebサーバーを攻撃する多数のPCたち -
用語2「ボット」
マルウェアの一種。
ボットに感染したPCは、攻撃者PCから指令を受けて一斉に攻撃(DDoSやスパム送信など)する -
用語3「ボットネットワーク」
攻撃インフラの一種
脆弱性のあるWebサイトを攻撃者が改ざんし、ボット感染する仕組みを仕掛ける
そのWebサイトを利用したPCがボットに感染してネットワークが拡大する
1.3 脆弱性が生まれる理由
脆弱性発生原因は?
-
バグによるもの
SQLインジェクションやXSSなど -
チェック機能の不足によるもの
ディレクトリトラバーサルなど
1.4 セキュリティバグとセキュリティ機能
バグと機能って何が違うの?
-
セキュリティバグの例
フォームの入力項目に意図しない文字が入って、個人情報が閲覧できる状態になる -
セキュリティ機能の例
HTTPSによる暗号化
1.5 本書の構成
割愛
1.6 セキュリティガイドラインとの対応
セキュリティガイドラインって?
-
安全なウェブサイトの作り方
https://www.ipa.go.jp/security/vuln/websecurity.html -
OWASP Top 10
https://owasp.org/www-project-top-ten/
2章「実習環境のセットアップ」
2.1 実習環境の概要
なにを使うの?
-
VirtualBox
仮想マシンの上で攻撃対象用マシン(Webサーバー)構築
ブラウザから実際に攻撃してセキュリティの理解を深めます -
Linux(Debian)
攻撃対象用マシンのOS -
Apache
攻撃対象用マシンのWebサーバー -
nginx
攻撃対象用マシンのリバースプロキシ -
PHP
Webサーバー内のPHPコードを処理 -
Tomcat
Webサーバー内のJava Servletコードを処理 -
MariaDB
攻撃対象用マシンのデータベースサーバー -
Postfix
攻撃対象用マシンのメールサーバー -
Firefox
攻撃実行者(ブラウザ) -
OWASP ZAP
脆弱性診断ツール -
FoxyProxy-Standard
プロキシを切り替えるFirefoxアドオン
これでFirefoxのプロキシをOWASP ZAPに変更してhttp通信などを閲覧&操作する
下記割愛
2.2 Firefoxのインストール
2.3 VirtualBoxのインストール
2.4 仮想マシンのインストールと動作確認
2.5 OWASP ZAPのインストール
2.6 Firefoxの拡張FoxyProxy-Standardのインストール
2.7 OWASP ZAPを使ってみる
2.8 Webメールの確認