レッスン 3-1
攻撃面は、
読み終えたら自分の
この頁の流れ
攻め手は、
出典を確かめた日 2026年10月27日
なぜ広く開くのか
攻め手が
守る
証明書の公開記録から拾う
証明書の
守る*.example を
把握と台帳のずれ
OWASP の
経済産業省の
脆いコードと直したコード
ラボの
立てたら台帳に残すか、残さないか
Python
def deploy_host(name):
provision(name)
return namePython
def deploy_host(name, ledger):
provision(name)
ledger.add(name)
save(ledger)
return name脆い方では、
覚えている分だけ点検するか、記録と突き合わせるか
Python
KNOWN = {"www", "shop"}
def audit():
for h in KNOWN:
check(h)Python
def audit(ledger, observed):
forgotten = observed - ledger
for h in forgotten:
report(h)
return forgotten脆い方は、observed) とledger) の
ログでの見え方と検知
守る
| 見る物 | なぜ効くか |
|---|---|
| 自分の | 覚えの |
| 台帳に | 立てたまま |
| 外から | 公開する |
証明書の
直し方と、直ったことの確かめ方
自分の
- 作業用の
フォルダに、 把握している ホスト名を 書いた 台帳の ファイルを作る - 自分の
ドメインに ついて、 証明書の 記録と DNS から 見える 名前を 集め、 1 つの 集合にする - 台帳に、
わざと 1 つだけ 足りない 名前 (立てたまま 忘れた 想定) を 作っておく - 台帳と、
集めた 名前の 差を 取り、 忘れた 名前が 出てくる ことを 確かめる - 出てきた
名前は、 まだ 要るなら 台帳に 載せ、 要らないなら 閉じる - 下の
試験を 足し、 差を 取る 所を 省くと 忘れた 名前が 出なくなることも 確かめる - 終わったら、
作業用の フォルダごと消す
Python
def test_finds_forgotten():
ledger = {"www", "shop"}
observed = {"www", "shop", "old-blog"}
assert audit(ledger, observed) == {"old-blog"}
def test_nothing_forgotten_is_empty():
s = {"www", "shop"}
assert audit(s, s) == set()試験は
関わる事例
把握から
DigiNotar では、
確認クイズ
1 問目
自分の
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
洗い
2 問目
証明書の
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え ア
RFC 9162 の
説明課題
次の
- 自分の
ドメインの 資産を、 公開の 記録から どう 洗い出すか
模範解答を見る
証明書の
一次資料
どれも
- RFC 9162 Certificate Transparency Version 2.0 (IETF、英語)。
発行された 証明書を 後ろにしか 足せない 記録に 積むこと、 記録は 不正な 発行を 止めないが 見張れば 気づける こと、 見張る 側 (Monitor) の 役割 - WSTG 4.1 Information Gathering (OWASP、英語)。
検査を 自分の アプリの 偵察から 始め、 公開されている 頁や 使っている 技術を 集めること - 「ASM
(Attack Surface Management) 。導入 ガイダンス」を 取りまとめました (経済産業省、 日本語、 2023年5月29日) 外から 把握できる 情報で 自組織の IT 資産を 見つけて 管理する こと、 不正侵入の 経路に なりうる 所を 把握すること
次へ
次の
トラック 3 攻撃と検証の中で
- 再現と
影響の示し方 - 権限昇格
- 横への
広がりと 認証情報 - AssumeRole と
ロールの連鎖 - 報告と範囲 準備中
- 匿名の
ネットワークの 設計と限界 準備中 - 地下の
経済と リークサイト 準備中
