CODE BLUE 2023 参加記

Posted on Nov 15, 2023

はじめに

11月8、9日に開催されたCODE BLUE 2023に参加しました。自分の発表と印象に残った発表について振り返ります。

自分の発表について

Blueboxのセッションで「OSBT: OpenID Connect Scenario-Based Tester」というタイトルで発表を行いました。Blueboxセッションの内容については以下参考

Blueboxは本年新設されたコーナーで、さまざまなオープンソースツールやプロジェクトを紹介する場です。同時に、開発者・参加者の交流の場であり、プレゼンテーションやライブデモなども行われます。

発表概要

この発表ではOSBTというツールを紹介しました。OSBTはOpenID Connect実装のテストシナリオをプログラムで記述・実行可能なテストツールです。既存のOpenID Connectのテストツールはテストシナリオが内部に組み込まれており、各実装に適したテスト内容のカスタマイズができないという課題がありました。OSBTではテストシナリオをプログラムで記述・実行可能なため、テスト内容をカスタマイズでき、各OpenID Connect実装に適した脆弱性検証を行うために使用することができます。また、OSBTはGithub Actionsで利用可能なため、CI/CDパイプラインに組み込むことができます。

発表資料はこちらです。また、発表内で使用したデモ動画はこちらから確認できます。

また、今回の自分の発表はClassmethodのべこみんさんがブログで紹介してくださっています。発表終了後に爆速で投稿されていて驚きました。本当にありがとうございます!

Q&A

発表後のQ&Aコーナーで複数の質問をいただいたため、その質問と回答をまとめます。

  • Q. OSBTはOpenID Connectの実装者が、実装をテストするために使用できるツールですか?
    • A. そうです。テストシナリオは自身で記述する必要がありますが、記述することでOpenID Connectの各実装に適した脆弱性検証を行うことができます。
  • Q. githubレポジトリを見たのですが、Contributerが1人でした。1人で開発しているということですか?
    • A. そうです。今後は様々な方々に貢献していただけるようにしたいと考えています。
  • Q. Attacker IdPが必要になる攻撃はどのような状況で可能となりますか?
    • A. 例えば、RPにおいてユーザが使用するIdPを自由に選択できる場合に起こり得ます。プロトコル仕様ではRPはホワイトリストでユーザが使用するIdPを許可する必要があると示されますが、実際にはそのような実装になっていることがあります。
  • Q. 診断を行う際には認可コードやトークンを外部サービス(RequestBin)に送信したくないのですが、ローカルで通信を留めておくことはできますか?(OSBTでは認可コードやトークンの窃取可否を確認する際の送信先としてRequestBinを使用しているため)
    • A. 現在、OSBTではRequestBinを使用しているためローカルで通信を留めておくことはできません。今後、ローカルで動作するリクエスト受信用のサーバを用意する予定です。

今後の方針

OSBTの今後の方針としては、SAMLなどその他のID連携プロトコルやFIDO2/WebAuthnなどの認証プロトコルの実装の検証にも対応できるような一般化、脆弱性検出能力を高めるためのテストシナリオの自動生成等を検討しています。今後はBlack HatのArsenalなどのカンファレンスで発表を行えるように頑張っていきます。

印象に残った発表について

聴講した発表はどれも質が高く素晴らしいものでしたが、着眼点や発表の仕方について特に印象深かったものを紹介します。発表の詳細については、Classmethodさんのブログや発表資料等をご参照ください。

macOSのセキュリティとプライバシーの機構をバイパスする手法について: Gatekeeper から System Integrity Protection まで

macOSのセキュリティ・プライバシー機構を全てバイパスする手法を紹介するという非常に野心的な発表でした。技術的な内容はもちろんのこと、その発表の仕方についても、macOSにおいて表示されるポップアップなどのスクリーンショットを交えつつ、分野外の人も概要は理解できる発表になっていて素晴らしかったです。

Pwn2Ownのターゲットをハッキングした3年間の物語:攻撃、ベンダーの進化、そして教訓

Pwn2Ownにおける過去3年間の取り組みについて、経験やストーリーを交えつつ紹介するという発表でした。バグハンティングにおけるリアルな話(Fake bugやセキュリティチームとの闘いなど)や1つのターゲットを深く掘り下げていくことで得られる知見について、非常に興味深い内容でした。また、発表の中でたくさん笑いが起こっていたのも印象的でした。

stelftools: クロスアーキテクチャに対応した静的結合されたライブラリ関数の特定ツール

IoTマルウェアに静的結合されたライブラリ関数を特定するためのツールであるstelftoolsを紹介する発表でした。IoTマルウェアの解析において、使用されているライブラリ関数を検出するために目でコードを解析する必要があるという現実的な課題に着目している点が印象的でした。stelftoolsは多くのアーキテクチャ、ツールチェーンをサポートしており、検出の精度も高いため、かなり実用的なツールだと思いました。また、発表はデモを主体とした構成になっており、聴講者を飽きさせないための工夫がなされていてとてもよかったです。

その他

Flatt Securityさん主催のSpeedrun CTFに参加していました。Speedrun CTFでありながら全完できず、5問中3問しか解けませんでした。4問目のJWT問が2時間くらいかけて解けなかったのがかなり悔しいです。しかし、良い問題ばかりでとても楽しかったです。

おわりに

CODE BLUE 2023では様々な素晴らしい発表の聴講と、多くの方々との交流を行うことができました。また今後も発表者として参加できるように頑張っていきたいと思います。運営の方々、発表者の方々、参加者の方々、本当にありがとうございました。