コース目次 / 第0章

はじめに — ツールが苦手な、高価値の穴

認可の欠陥が、なぜ自動ツールに見つけにくく、なぜ診断で高価値なのかを理解します。水平と垂直の2軸で探す方針を確認し、法と倫理ゲートに同意します。

第0章 / 全5章目安 約6分この章のゴール: 認可の穴が高価値な理由と、水平・垂直の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章です。

この章はまだ完了していません。