コース目次 / 第0章
はじめに — ツールが苦手な、高価値の穴
認可の欠陥が、なぜ自動ツールに見つけにくく、なぜ診断で高価値なのかを理解します。水平と垂直の2軸で探す方針を確認し、法と倫理ゲートに同意します。
旗艦コースで、IDOR を一つ体験しました——URL の ID を変えたら、他人のメモが見えた。このコースは、その 認可(authorization)の壊れ方を、体系立てて扱います。認可は、Web セキュリティで最も価値が高く、そして最も自動ツールが苦手とする領域です。まず、その理由から。
認証と認可は、別物
もう一度、はっきり分けます。
認証(authentication) — 「あなたは誰か」を確かめること(ログイン)。
認可(authorization) — 「あなたに、これをする権利があるか」を確かめること。
このコースが扱うのは後者です。ログインは正しく通っている(誰かは分かっている)のに、「その人がやっていいことの範囲」の作り込みが甘い——そこが認可の穴です。
なぜツールが苦手なのか
自動スキャナは、XSS や SQLi は得意です。「怪しい入力を入れて、怪しい反応が返るか」を機械的に試せるから。でも、認可はそうはいきません。
スキャナは、/orders/1002 を開いて 200 が返ってきても、それが「見えてよい注文」なのか「見えてはいけない他人の注文」なのかを判断できません。「架空太郎は注文1001を見てよいが、1002は花子のものだから見てはいけない」——これはアプリ固有のビジネスルールで、ツールには“正解”が分からない。
だから認可の穴は、アプリの意図を理解した人間にしか見つけられない。人にしか見つけられない=見逃されやすい=攻撃者にとって宝の山。診断でこの領域が高価値なのは、このためです。
2つの軸で探す
認可の穴は、大きく2方向に分けて探します。
水平(horizontal) — 同じ立場の、他人の資源に手が届く。架空太郎が、花子の注文を見る。ID を変えるだけの IDOR / BOLA(Broken Object Level Authorization)がこれ。
垂直(vertical) — 上位の権限が持つ機能に手が届く。一般ユーザーが、管理者用の画面や操作にたどり着く。権限昇格 / BFLA(Broken Function Level Authorization)がこれ。
「横に(他人へ)」と「上に(管理者へ)」。この2軸を意識すると、どこを試すべきかが見えてきます。
このコースの地図
法と倫理ゲート
手を動かす前に
このコースは攻撃の技術に触れます。実習してよい相手は、次の3つだけです。
- (a) 自分で作った練習用のやられ環境(このサイトが配る自作ターゲット)
- (b) あなた自身の許可された環境(自分の Thousand SKY・secret-notes-ctf など)
- (c) CTF 競技の中(規約の範囲で)
実在する第三者のシステムを許可なく触ることは、不正アクセス禁止法に触れます。 このゲートは、その線引きを毎回の入口で確かめるためのものです。詳しくは「セキュリティの法と倫理」へ。
すべて自分の 127.0.0.1 の自作やられ相手です(法と倫理)。
| 章 | 扱うもの |
|---|---|
| 第1章 | 標的と、水平の穴(IDOR / BOLA)を体系的に |
| 第2章 | 垂直の穴(権限昇格・機能レベル認可 / BFLA) |
| 第3章 | 直す — 集中管理と、既定拒否(deny-by-default) |
準備ができたら、次の章へ。まずは標的を立て、水平の穴を体系立てて探します。
こうなっていればOK
卒業まであと4章です。
この章はまだ完了していません。
保存できませんでした(プライベートブラウズ中かもしれません)。この端末に進捗は残りませんが、先へは進めます。