BugBounty入門
はじめに
今日の社会では情報化が進み、個人情報の漏洩やサイバー攻撃が増えている傾向にあります。
これらの攻撃を完全に防ぐことは現状の技術では難しく、特に脆弱性を用いた攻撃などはエンドユーザーに影響を及ぼす可能性が高いため、バグを可能な限り減らしていくことが安全に繋がります。
BugBounty(バグバウンティ)とは
BugBountyを運営する企業に脆弱性を報告し報奨金を受けとることを指します。
報奨金以外にも有益な情報などに対しSWAG(Tシャツなど)が貰えたり、双方に利点がある
のが特徴です。
脆弱性について知るには
-
hacktivityのようにレポートが公開されているので積極的に見ましょう
-
セキュリティ研究者/bug hunterのブログやTwitterなどをみる
-
情報セキュリティについて学ぶ
-
ハッカーが集まり情報共有するコミュニティに参加する
必要な知識
- WebフレームワークやWebAPI
- 主要なプロトコルやネットワーク技術
- hardware(IoT)
- mobileAppフレームワーク
- 脆弱性の手法や対策
- プログラミング言語
他にも挙げれば出てきますが、まず抑えるべきものについて書きました
脆弱性報告時のコツ
- 見てすぐにわかるレポートのタイトル、概要
- 攻撃シナリオが現実的であること
- 再現手順が分かりやすい(PoCなど)
- 修正案や根本的な原因が書いてあること
- 検証時の環境や使用したツール等の詳細
攻撃シナリオが理論的/潜在的、仮説上のものである場合、報告内容が合っていたとしてもレポートが閉じられる場合があるため。
検証時の環境やバージョンの詳細をレポートに書く理由は、影響が一部のバージョンやOSなどに限定される場合レポートの再現に影響がでるため。
高額な報奨金を得るには
連鎖的なバグを見つけると高額報奨金を手にいれるチャンスです
具体的にはいくつかのバグを用いてインパクトのあるバグとして報告することです
例)
IDORとImproperAccessControlが見つかりAccountTakeoverまで発展するなど
RCE(RemoteCodeExecution)などは単体でも高く評価されます
情報漏洩や重要なデータの改ざんや読み取りなども比較的高く評価されます
脆弱性を探すときの注意
余談
私は脆弱性報告時のPoCはGolangで記述していて次回の記事はGolangについて
書こうと思います
良い一日を!
Discussion