バグハンターじゃない人がこの先生きのこるには

>100 Views

November 28, 25

スライド概要

サイボウズ脆弱性報奨金制度 10周年記念 Meetup

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

バグハンターじゃない人が この先生きのこるには 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup はせがわようすけ

2.

長谷川陽介(はせがわようすけ) @hasegawayosuke  (株)セキュアスカイ・テクノロジー 取締役CTO  セキュリティ・キャンプ協議会代表理事  千葉大学 非常勤講師  最近の興味関心領域は哲学・倫理学 WebブラウザーやWebアプリケーションに関する多数の脆弱性を発見。 Black Hat Japan 2008、韓国POC 2008、2010、OWASP AppSec APAC 2014他講演や記事執筆も多数。 https://utf-8.jp/ ※本内容は個人のものであり所属する組織の見解ではありません 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

3.

昔話ばかりで、あんまり役に立たない内容です

4.

バグハンターな人  音楽を聴くかのように日常的に脆弱性を探してる  誰かに強制されるのではなく自分の意志で(むしろ無意識に?)脆 弱性を探してる  見つかるまで根気強く探し続けるので、かならず脆弱性が見つか る → 自分には無理。じゃあ過去、報奨金制度の外でどう脆弱性を探し ていたかを振り返ってみよう! 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

5.

1.誰も使っていないサービスを攻める!

6.

1.誰も使っていないサービスを攻める! 竹迫さん、AltSpaceで XSS見つけたんですけど 伝えておきます! ※脆弱性報奨金制度が始まるよりもだいぶ前です AltSpace サイボウズ・ラボで開発されたばかりのグループ ウェア。ベータ版でほとんど誰も使っていなかった https://ascii.jp/elem/000/000/088/88488/img.html 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

7.

2.強引に脅威をつくる!

8.

2.強引に脅威をつくる!  合宿時、ぜんぜん脆弱性が見つからないので、ちょっとした挙動に 対して無理やり脅威を作って脆弱性にすることにした ① `/user/<username>` にアクセスする → その人のプロフィールページが表示される ② `/user/<myname>` にアクセスする → `/profile` にリダイレクトされ、自分のプロフィールを設定できる  ②はリダイレクトを挟むので①と②では時間差がある  罠ページで多量に `/user/%s/` へのアクセスを行いロード完了(あるい はエラー)の時間を計測することで、罠ページへの訪問者を推定可能 ※脆弱性としてはだいぶショボい… ※記憶に頼って書いてるので詳細いろいろ異なってるかも 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

9.

3. 環境を変える!

10.

3.環境を変える!  自分ひとりだと積極的に脆弱性を探せ ないので、人と一緒にやりたいって言っ たらそうなった  ひとりだと「見つけられない」ではなく「探 さない」になりがち  周りがどんどん脆弱性を探しているの で、自分も探さないと人権を失う  「見つけられない」だとしても、「探す」は行 える https://blog.cybozu.io/entry/7875 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

11.

4. ルールを変える!

12.

4.ルールを変える!  報奨金の額でランクが可視化されるのがつらい  「脆弱性を見つけてお金をもらう」→「おれはお金が欲しくてやっ てるんじゃないぞ!」と言える根拠を作る (2015年3月) 報奨金の受け取りは辞退させて頂きたく思います。 また、もし可能でしたら、今後は報奨金の受け取りを辞退した場合に自 動的に何らかの募金にそれが回されるような仕組みがあれば、より一層 バグ発見の励みになるのではないかと思いました。 (2015年6月) 2015 年 6 月 16 日より、獲得した報奨金をサイボウズが指定する OSS コミュニティに寄付することが可能となりました。 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

13.

サイボウズ以外だと どうやって脆弱性を探していたか

14.

どうやって脆弱性を探していたか  自分の性格として、丁寧・執拗に繰り返し検査を行うことはできな い  そういうのは苦痛でしかない  新しい攻撃の方法を考えて、それが適用できる環境を探すほうが 向いている  例: 文字コードの変換における脆弱性いろいろ  あるいは、「仕様と脆弱性の境界」みたいなのを報告して相手を悩 ませるのも楽しい(性格が悪い自覚はある)  「仕様のバグ」なども考えるのが楽しい  「脆弱性とは何か」を考えることになる ← 自分の興味関心領域は哲学 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

15.

新しい攻撃手法が適用できる対象を探した例①  JVN#18282718 Hyper Estraier におけるディレクトリトラバー サル/サービス不能の脆弱性  Hyper Estraier: OSSの全文検索エンジン  Unicodeの `¥(U+00A5)` を含めたディレクトリを作ると、内部的に ANSI(Shift_JIS等)に変換されるため ディレクトリ区切りの `¥(0x5C)` へと 暗黙的に変換され、ディレクトリトラバーサルが発生  「`..¥..¥`」などを作成しておくと無限に再起処理が行われDoSも発生  当時、Unicodeとレガシー文字コードの暗黙的な変換によって脆弱性 が起こるパターンはまったく知られていなかった  おそらくこれが世界初の公表例  最近だとPHPのCVE-2024-4577などが有名  Microsoftでも新しい攻撃パターンとしてファイルされていたと聞いた 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

16.

新しい攻撃手法が適用できる対象を探した例②  Googleサイト内の複数のXSS  サーバーが返すcharsetがIEの理解できないものである場合にUTF-7 と誤認させることができる点を利用したXSS  e.g.: `http://www.google.com/search?q=...&oe=CP932` これで `Content-Type:text/html;charset=CP932` が返される  CP932 = Shift_JISの亜種。Google的には正しく処理できているが、 IEはCP932という文字コードは認識できない。  結果としてUTF-7と解釈させてXSSが可能(詳細は省略)  当時、「charsetがつけられていないとXSSとなり得る」と言わ れていた  charsetをつけていてもXSSが可能なことを実証  charsetを攻撃者が指定可能なサービスを探した結果がGoogleだった 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

17.

仕様と脆弱性の境界を報告した例  MS07-034: IE/OEの脆弱性  `mhtml:` というプロトコルハンドラを使ってIEでユニバーサルXSSが発 生できた  当初Microsoftは「IEおよびOEの仕様に基づく挙動」として修正を行う ことがなかった  MSのサイト内でこの挙動によって発生するXSSを大量に報告し た  microsoft.com / live.com / msn.com / msn.co.jp 他…  「IEの仕様のためサイト側での修正が必要」という文言も忘れずに添えて 報告 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup

18.

まとめ

19.

まとめ  バグハンターに必要な素質が自分には欠けている  が、脆弱性を発見することは一定できていた  主な戦略としては以下が多かった  新しい攻撃手法が適用できる対象を探す  仕様と脆弱性の境界を考える、仕様のバグを探す  AIによって上記が適用できる範囲が広がりそう  「丁寧に実装ミスを探す」よりも、AIの新しい使い方に伴って発生する、新 しい攻撃パターンを検討し、それが実装されていそうなサービスを探す等  とはいえ、こういう行動パターンはバグバウンティとは相性がよく ない  「決められた範囲の中で探す」ではないので。 2025-11-23 サイボウズ脆弱性報奨金制度 10周年記念 Meetup