Slide 1

Slide 1 text

OIDC Scenario Based Tester (OSBT) 湯浅 潤樹 B チューター セキュリティ・キャンプ全国⼤会2023

Slide 2

Slide 2 text

2 湯浅 潤樹(Junki Yuasa) ⾃⼰紹介 奈良先端科学技術⼤学院⼤学 M2 l Bチューター l OAuth、OpenID Connect関係の研究 l SECCON Beginnersで作問 https://melonattacker.github.io @melonattacker

Slide 3

Slide 3 text

3 複数サービスに⼀つのアカウントで接続できる技術 シングルサインオン(SSO)とは 通常のログイン シングルサインオン webサービスA webサービスB webサービスC webサービスA webサービスB webサービスC 認証情報 認証情報 認証情報 認証情報

Slide 4

Slide 4 text

4 OIDCは認証とID共有のためのSSOプロトコル OpenID Connect(OIDC)とは 2. ユーザー情報の送信 ID プロバイダ Web サービス 3. ログイン完了 1. ユーザー情報 の提供を許可、認証 ユーザー { “issuer”: “IDプロバイダ”, “aud”, “Webサービス”, “sub”, “ユーザ識別⼦”, } OpenID Connect

Slide 5

Slide 5 text

5 OIDCにはシナリオベースのテストツールが必要 l 開発者は仕様を元に実装する l チェック項⽬の検証不⾜などの論理的な⽋陥が⽣まれる l ファジングなどの⾃動検査⼿法は脆弱性検出に適さない l 定義した攻撃シナリオを正確に実⾏することが必要 背景

Slide 6

Slide 6 text

6 テストシナリオをプログラムで記述可能なツール OIDC Scenario Based Tester(OSBT) https://github.com/oidc-scenario-based-tester/osbt Pythonでテストシナリオを記述

Slide 7

Slide 7 text

7 OSBTは既存テストツールの課題を解決 既存のテストツールの課題とOSBTの特徴 l テストシナリオや評価条件がツール内に組み込まれている → シナリオ記述ライブラリを⽤いてテストシナリオを記述可能 l CIへの組み込みによる継続的なセキュリティ評価ができない → CLIツールを⽤いたCIへの組み込みが可能 l ブラックボックス化されている → 攻撃をプログラムで記述することで脆弱性の理解を深められる

Slide 8

Slide 8 text

8 テストシナリオ実⾏のために各要素間で連携 OIDC Scenario Based Tester(OSBT) https://github.com/oidc-scenario-based-tester/osbt

Slide 9

Slide 9 text

9 Github Actionsへの組み込みが可能 OIDC Scenario Based Tester(OSBT) https://github.com/oidc-scenario-based-tester/osbt

Slide 10

Slide 10 text

10 OSBTはテスト、研究、教育⽬的に使⽤可能 OSBTのユースケース l ライブラリの実装者、テスター l ライブラリ実装上の脆弱性検出にツールを使⽤ l 研究者 l 新たな攻撃⼿法のPoC検証に使⽤ l OIDCのセキュリティ学習者 l 脆弱性や攻撃の理解のために使⽤ テスト 研究 教育

Slide 11

Slide 11 text

11 最後に Githubレポジトリに スターを押して頂けると泣いて喜びます😭 https://github.com/oidc-scenario-based-tester/osbt