OIDC Scenario Based Tester(OSBT)湯浅 潤樹B チューターセキュリティ・キャンプ全国⼤会2023
View Slide
2湯浅 潤樹(Junki Yuasa)⾃⼰紹介奈良先端科学技術⼤学院⼤学 M2l Bチューターl OAuth、OpenID Connect関係の研究l SECCON Beginnersで作問https://melonattacker.github.io@melonattacker
3複数サービスに⼀つのアカウントで接続できる技術シングルサインオン(SSO)とは通常のログイン シングルサインオンwebサービスAwebサービスBwebサービスC webサービスAwebサービスBwebサービスC認証情報 認証情報認証情報認証情報
4OIDCは認証とID共有のためのSSOプロトコルOpenID Connect(OIDC)とは2. ユーザー情報の送信IDプロバイダWebサービス3. ログイン完了1. ユーザー情報の提供を許可、認証 ユーザー{“issuer”: “IDプロバイダ”,“aud”, “Webサービス”,“sub”, “ユーザ識別⼦”,}OpenID Connect
5OIDCにはシナリオベースのテストツールが必要l 開発者は仕様を元に実装するl チェック項⽬の検証不⾜などの論理的な⽋陥が⽣まれるl ファジングなどの⾃動検査⼿法は脆弱性検出に適さないl 定義した攻撃シナリオを正確に実⾏することが必要背景
6テストシナリオをプログラムで記述可能なツールOIDC Scenario Based Tester(OSBT)https://github.com/oidc-scenario-based-tester/osbtPythonでテストシナリオを記述
7OSBTは既存テストツールの課題を解決既存のテストツールの課題とOSBTの特徴l テストシナリオや評価条件がツール内に組み込まれている→ シナリオ記述ライブラリを⽤いてテストシナリオを記述可能l CIへの組み込みによる継続的なセキュリティ評価ができない→ CLIツールを⽤いたCIへの組み込みが可能l ブラックボックス化されている→ 攻撃をプログラムで記述することで脆弱性の理解を深められる
8テストシナリオ実⾏のために各要素間で連携OIDC Scenario Based Tester(OSBT)https://github.com/oidc-scenario-based-tester/osbt
9Github Actionsへの組み込みが可能OIDC Scenario Based Tester(OSBT)https://github.com/oidc-scenario-based-tester/osbt
10OSBTはテスト、研究、教育⽬的に使⽤可能OSBTのユースケースl ライブラリの実装者、テスターl ライブラリ実装上の脆弱性検出にツールを使⽤l 研究者l 新たな攻撃⼿法のPoC検証に使⽤l OIDCのセキュリティ学習者l 脆弱性や攻撃の理解のために使⽤テスト研究 教育
11最後にGithubレポジトリにスターを押して頂けると泣いて喜びます😭https://github.com/oidc-scenario-based-tester/osbt