アラフォーのためのバグバウンティの話

# はじめに

こんにちは。お金見つけたいですか？
最近は脆弱性を探してお金を稼ぐ記事や、企業が見つけた脆弱性にお金を払うことをよしとする記事を見かけることがあります。これらについては眉唾だと思っている人が大半だと思います。そんな怪しいことできれいなお金が稼げるなんてねえ。

そこで、経験者の立場から脆弱性で本当に稼げるのか、脆弱性って見つかるのか、のようなことについて書こうと思います。そして、吸収力のありそうな若者だけじゃなくて良い年したおっさんおばさんでも稼げるのか？ということについて、同世代の目でコメントしたいと思っています。

特にこの2年くらいは海外のバグバウンティにあまり手を出せておらず、2019年の報告は1件のみなので、海外の事情については少し遅れていることもあるかもしれません。ご了承ください。

## 本稿の対象読者
* もう若くないけどなんかやってみたい人
* 脆弱性で一儲けしたい人
* バグバウンティに興味がある人

# お前誰よ？
アラフォー会社員（Web脆弱性診断員）兼バグハンターです。主にWebの脆弱性を探しています。たまにWindowsアプリやスマホアプリ、Webブラウザーなどの脆弱性を報告したりもします。バグを探すのもお金をもらうのも好きで、お金がもらえない脆弱性もたくさん報告しています。
バグバウンティの経験としては2012年にGoogleのXSSを見つけて報奨金をもらって以来、毎年報奨金をもらい続けています。Google以外にYahoo!、Mozilla、Paypal、サイボウズ、pixivなどから報奨金をもらったことがあります。ですがこの数年はサイボウズに偏っています。日本語で報告楽ちんですね。

# 何してるの？
また、バグ報告がきっかけで2014年からWeb脆弱性診断の仕事を始めました。ちょうど40歳になった頃です。去年の12月から10月まではちょっと別のセキュリティの仕事をしていたのですが、現在は再びWebの脆弱性診断の仕事をしています。それまでは主に出版関係の仕事をしていることが多かったです。文学部卒です。
40半ばになりましたが、脆弱性を見つけることができているおかげで、今のところは割と余裕を持って生きていけています。

# 脆弱性とバグバウンティ
いきなりバグバウンティとか脆弱性とか言われてもわからない人がほとんどだと思いますので、脆弱性とバグバウンティの解説を少し。
脆弱性とは、それを使って誰かを攻撃できることだと思っていただけると簡単かと思います。例えばパスワードを使わずにアカウントを乗っ取れるとか、番号を変えるだけで別の人の口座番号が覗けるとか、成績が変えられるとか、迷惑をかける、かけられるような結果につながるものです。とはいえ攻撃はそんな単純なわけではなく、いくつかの事象が積み上がった結果できたりもするものですが。

# バグバウンティってなんですか？
バグバウンティとはその会社に関連する前述のような脆弱性を報告することで、報奨金をもらうということです。必ずしも報奨金がもらえるわけではなく、ただ褒められるだけ、ということもありますが、それは会社のポリシーによります。私はお金以外にTシャツとか、メダルとか、ステッカーとかをもらったことがあります。大体の会社はなにももらえませんし、攻撃だとされて怒られることもあります。注意しましょう。

[SonyにもらえるTシャツ](https://www.instagram.com/p/BkKXJuLBXbg/)
[たぶんXSSが理由でインターネットがとまった](https://masatokinugawa.l0.cm/2013/09/xss.benesse.html)

# どんな分野の脆弱性でお金がもらえる？
脆弱性を探すカテゴリーはWebサイト、アプリケーション（PC、スマホ）、OS、ブラウザー、IoTなどありますが、基本的にはどのような分野の脆弱性でも相手次第でお金はもらえる可能性はあります。40にもなれば何か1つくらい得意分野はあると思うので、それぞれ自分の得意分野で探せばいいと思います。報奨金が高いのはスマホなどのOSです。得意分野がない人は報奨金が高いところを勉強するのが一攫千金のチャンスかもしれません。Webサイトの脆弱性では1件あたり500ドルから5000ドルくらいが多いような気がしています。この5年で10倍くらいになった感覚です。

[Amazon EchoやGalaxy S10へのハッキング成功でセキュリティ研究者が賞金2100万円を獲得](https://gigazine.net/news/20191111-amazon-echo-hack-pwn2own-tokyo/)

# バグを探す前に
バグを探して報告する前に、調べておいた方がいいことがあります。その企業がバグ報告を受け付けているかどうか、どのバグを受け付けているか（Scope）です。特定のドメインや特定の製品の脆弱性だけに報奨金を支払う会社がほとんどです。Scope外の脆弱性を探すことは無駄かつ会社に迷惑をかけることにもつながるので止めましょう。脆弱性を報告したい会社の脆弱性報告のページを読み込みましょう。

また、法律のことも考えた方がいいです。OSやアプリケーションなど、手元の環境で動作、解析できる場合はあまり考えなくてもいいと思いますが、Webサイトの場合は不正アクセス禁止法や威力業務妨害など法律違反となる行為を行うかもしれません。幸いにも日本でバグバウンティや似たような行為によって警察のお世話になった事例は聞いたことありませんが、そのサイト、会社が脆弱性を探す行為を認めていない場合は探さない方がいいと思います。勝手に脆弱性を探して報告して、なんかくれとねだってくるケースもあるようですが、いい大人にはオススメしません。

[不正アクセス行為の禁止等に関する法律](https://elaws.e-gov.go.jp/search/elawsSearch/elaws_search/lsg0500/detail?lawId=411AC0000000128)

# 直接企業に報告する
脆弱性を探して、無事に何か見つけることができました。これを報告すると報奨金がもらえます。直接報告を受け付けている会社については直接サイトから報告しましょう。直接受け付けている会社にはGoogle、Facebook、Mozillaなどがあります。日本だとサイボウズが会社自身で脆弱性報告を受け付けています。

[Google Vulnerability Reward Program (VRP) Rules](https://www.google.com/about/appsecurity/reward-program/)
[サイボウズ脆弱性報奨金制度](https://cybozu.co.jp/products/bug-bounty/)

# バグバウンティプラットフォーム経由で報告する
最近はHackerOne、BugCrowd、Bugbounty.jpなどのバグバウンティプラットフォームから受け付けている会社も多くなっています。独自に運営していたPaypalやLINEも最近HackerOneを使うようになりました。ユーザーとしてみると、1つ登録するだけでたくさんのサイトに報告できて、報奨金の支払いについても会社ごとに情報を提出しなくてもいいので便利なのだと思います。またプラットフォームに参加するとPrivate Bountyに招待されることもあり、こちらの方が競争率が低いです。

[HackerOneに参加している企業](https://hackerone.com/directory/programs)

# 脆弱性の探し方
やり方はわかったので脆弱性をどうやって見つけるのか、どんな脆弱性でお金がもらえたのかを書こうと思ったのですが、長くなってきたのでこのくらいで。これでバグバウンティで大金稼いでウハウハかもしれませんが、脆弱性で本当に稼げるのか、脆弱性って見つかるのかって話はあんまり書けてませんね、すみません。

Let's バグハンティング！（続くかも）