2024年6月25日
バグハンター
森岡 優太
GMOサイバーセキュリティ byイエラエ株式会社の2024年新卒セキュリティエンジニア。
学生時代から数社で脆弱性診断等の業務を経験し、現在は所属企業でWebペネトレーションテストやソースコード診断等の業務に従事する。
外部活動では、サイバーセキュリティに関する登壇や講師、執筆などに取り組み、プライベートでもバグバウンティで脆弱性探しに取り組んでいる。
また、趣味でポッドキャスト「Bug Bounty JP Podcast」の運営とスピーカーをしている。
X (旧Twitter): @scgajge12
個人サイト: https://scgajge12.github.io/
Webサービスやスマホアプリなどを提供する企業が、外部のホワイトハッカーの力を借りてサービスの脆弱性を発見し、報奨金を支払う制度、通称「バグバウンティ(Bug Bounty)」。日本でも徐々にその存在が認知されるようになったとはいえ、まだまだその実態は謎に包まれています。一方海外では、大手企業が数千万円の報奨金を設定したバグバウンティのプログラムを開催し、多くのプロのバグハンターが活躍するなど、すでに熱狂を極めている様子。
日本にも、「バグハンター」として活躍している人がいます。2024年春新卒でGMOサイバーセキュリティ byイエラエ株式会社に入社した森岡優太さんは、2020年ごろからバグハンターとしての活動を始め、以降積極的にネット上でバグバウンティの魅力を発信し続けてきました。そんな彼をお招きし、知られざるバグバウンティの世界を覗いてみましょう。
森岡:バグバウンティとは、Webサービスやスマホアプリなどを提供する企業が、外部のホワイトハッカーの力を借りてサービスの脆弱性を発見し、対価として報奨金を支払う仕組みです。日本語では「脆弱性報奨金制度」と言われています。
ちなみに「ホワイトハッカー」と言いましたが、これは「サイバー攻撃などからユーザーやシステムを守るセキュリティ人材」を指す言葉で、かなり広い概念なんですよね。バグバウンティに参加する人もホワイトハッカーではあるのですが、「脆弱性を探して報告する人」という意味で「バグハンター(Bug Hunter)」と呼ばれることが多く、僕もバグハンターを自称しています。
森岡:バグバウンティのスタイルは、大きく2つに分かれています。1つ目は『HackerOne』や『Intigriti』、日本国内だと『IssueHunt』といったバグバウンティプラットフォームに登録し、それぞれのプラットフォーム上で企業が登録したプログラムに参加する方法。要は、プラットフォームが企業とバグハンターのつなぐ役目を担っているわけですね。
2つ目は、企業が主催するバグバウンティに参加する方法。GoogleやMeta、Microsoftといった大手企業は自らバグバウンティを開催していることが多いです。
僕の場合は前者、すなわちプラットフォームを利用していて、バグバウンティを始めた当初からヨーロッパの企業が多く集まる『Intigriti』を中心的に利用しています。バグバウンティのプログラムに定められた対象のWebサービスを選んで脆弱性を調査し、脆弱性を見つけたら所定のフォーマットに内容を記載して報告する。その内容が認められれば報奨金を得る、という流れです。
ちなみに、世界的に有名で規模が大きいバグバウンティプラットフォームが3つあります。それらは「3大バグバウンティプラットフォーム」と総称され、規模の順に『HackerOne』『Bugcrowd』『Intigriti』となっています。
森岡:人それぞれですね。とにかく有名なサービスを対象としたプログラムを選ぶ人もいますし、「自分で安全な環境をつくりたい」と、自身が日常的に利用しているサービスの脆弱性を探す人もいます。
あとは、報奨金でしょうね。バグバウンティという仕組みの大きな特徴は、やはり「報奨金がもらえること」です。毎月の目標金額を決めているバグハンターもいますし、海外にはフルタイム・バグハンター、すなわち「専業バグハンター」もたくさんいるので、報奨金を意識している人は多いですね。
森岡:プラットフォームを利用する場合だと、1件の脆弱性報告につき、安くて約3,000円で、有名な企業では高ければ約500万円ほどのものもあります。ただ、GAFAなど巨大IT企業が主催しているバグバウンティの場合、最高で数千万円の報奨金が出ることもあります。
森岡:そうですね。脆弱性の危険度に応じて報奨金が設定されています。危険度は主に4段階で——Low・Medium・High・Critical——に分かれており、プログラムごとに「危険度Mediumであれば、報奨金は○○円」と決められているわけです。脆弱性の危険度の評価は、一般的には国際的な枠組みである、共通脆弱性評価システム「CVSS」に則って評価されています。
ちなみに、一例として『HackerOne』に登録されている「LY Corporation (LINE)」のプログラムでは、以下のように脆弱性の危険度に応じて報酬金が設定されています。
ただし、1件の脆弱性報告につき、報奨金を得られるのはいち早く脆弱性を発見し報告した最初の一人だけ。つまり「早い者勝ち」なんです。既に他のバグハンターが報告済みで、まだ修正されていない脆弱性を報告した場合、基本的には「重複する報告」として扱われて報酬金を得ることはできません。
もちろん高額な報奨金が設定されているプログラムには、世界中から高いスキルを持ったバグハンターが参加するため、競争率が高くて簡単に大金を手に入れられるわけではありません。ちなみに、僕の場合は1件の脆弱性報告に対して、3万円から30万円くらいの報酬金をよく獲得してきました。
森岡:脆弱性を探して見つけ、報告をする過程そのものですね。先ほども申し上げたように、脆弱性を見つけたら、そのプログラムのオーナーである企業に対して、具体的な脅威の内容を報告するわけですが、その際うまく伝えられないと危険度の評価が下がってしまうんです。つまり、自分としては「危険度Medium」の脆弱性だと思って報告をしたのに、「危険度Low」だと評価されてしまうことがあります。
逆に言えば、一見すると危険度が低そうな脆弱性であっても、脆弱性の検証を深掘りしてみると大きな事故につながり得る危険度の高い脆弱性だと判明することがあるわけです。そうすれば、当然危険度の評価は上がりますよね。
ここがまさにバグハンターの腕の見せ所で、危険度の評価を上げる、言い換えれば「その脆弱性がいかに大きな危険性を持つのか」を解明し、それをしっかりと伝えることが僕にとってのやりがいの一つです。
あとは、企業の許可の下、リアルな世界で動いているサービスの脆弱性を探すことができるのもバグバウンティのおもしろさだと思っています。当たり前のことではありますが、勝手にWebサイトやサービスの脆弱性を探すことは違法行為であり、不正アクセス禁止法を犯すことになってしまう可能性があります。
森岡:しかし、バグバウンティのプラットフォームに登録している企業は、脆弱性を探してほしいから登録しているのであって、バグハンターは規約に沿った形で自由に脆弱性を探すことができるわけです。「リアルな世界で企業の許可の下、さまざまな手段を駆使して脆弱性を探せる」のは、バグバウンティならではの魅力だと思っています。
森岡:そうですね。それに、リアルなサービスを対象としているからこそ、バグバウンティで脆弱性を発見することは企業と、その向こう側にいるユーザーのみなさんに貢献することにも繋がります。
以前、バグバウンティのプログラムにあったとあるサービスに対して脆弱性を探す中で、顧客情報や従業員情報がごっそり取れてしまう脆弱性、「SQLインジェクション※」を発見したことがあります。
もちろん、バグバウンティでは実際にデータベースに触れたり、データを盗んだりすることはありません。その後「外部からデータを不正に取得できてしまう可能性のある脆弱性がある」と報告したわけですが、もしこの脆弱性を見つけたのが僕ではなく、悪意を持ったハッカーだったら、大規模な情報漏洩事件になっていたかもしれません。そういった意味で、バグバウンティは社会貢献性の高い取り組みでもあると思います。
(※)SQLインジェクション:Webサイトに対してやアプリケーションの脆弱性につけこみ、不正なSQL文をデータベースに送り込むことで、個人情報を窃取したり、データを改ざんしたりする攻撃
森岡:Webセキュリティに関するスキルをつけ、脆弱性を探す実績を積みたかったからです。僕は高校1年生のころにプログラミングの勉強を独学で始めて、Webサイトなどをつくる中でセキュリティにも興味を持つようになりました。その後、書籍などでセキュリティを学んでいたのですが、もっと実践的なことを学びたいと思うようになったんです。
当時からCTF(Capture The Flag)という競技性のあるハッキングコンテストには時々参加していたのですが、CTFはあくまでも誰か(作問者)がつくった「問題」を解くもので、リアルなサービスに触れるわけではありません。もちろんCTFにも魅力はあったのですが、より実践的に脆弱性を探す取り組みはないかと探している中で、バグバウンティを知りました。
バグバウンティについて調べ始めたのが2019年の秋頃です。その当時は日本語情報がほとんどなく、海外のサイトを中心に英語で書かれた情報を頼りにするしかありませんでした。
それから半年ほどは、海外のバグハンターのみなさんが発信する情報を中心に、バグバウンティに関する知識や脆弱性探しのコツなどを身につけていきました。本格的にバグバウンティに取り組むようになったのは、サイバーセキュリティについて学べる学科があるIT分野の専門学校に入学する少し前のことで、2020年の2月頃だったと記憶しています。
森岡:尖ったスキルを持ったエンジニアになりたいと思ったからです。僕は高校1年生でプログラミングの勉強を始め、将来はITエンジニアとして働きたいと思っていました。そして高校3年生になったころ、自分が社会人になる時期のことを漠然と想像して「一般的なシステムエンジニアやプログラマーはたくさんいるだろうな」と思ったんです。
2017年にはサイバーセキュリティを担う人材育成を目的としたハッカソンプログラム「SecHack365」が始まるなど、業界全体のセキュリティに対する意識の高まりを感じていました。そこで、少し興味を持っていたセキュリティ分野に関して早い段階からスキルを磨くことは将来の就職につながるのではないかと考え、勉強の重心をセキュリティ分野に置くように。そして、特に脆弱性を探すという能力に興味を持ち、脆弱性の仕組みや発見方法などを学ぶようになりました。
だからこそ、リアルなサービスを対象にして実績を積めるバグバウンティに魅力を感じたんです。社会人になった今でも、「個人で実績を積めること」はバグバウンティに取り組む大きなメリットの一つだと思っています。
森岡:セキュリティ分野において、個人のスキルや実績を示すのは難しいことなんです。IT系の開発者であれば、自らがつくったものを見せればどのようなことができるのかが伝わりますし、実績もアピールしやすいですよね。でも、セキュリティエンジニアの場合、自らのスキルを示す手段はほとんどなくて、強いて言うなら「資格」くらいです。
ですから、セキュリティエンジニアの中には資格を取って、転職の際などのアピール材料にする方も多いのですが、ほとんどの資格は知識量を証明するものであって、実績を示すものではないですよね。いくら資格を持っていたとしても、実際に手を動かすときにそれを実務に活かせるかどうかはわかりません。
でもバグバウンティを通してなら、特に脆弱性を探す役割を担うセキュリティエンジニアとしての実績を示すことができる。バグバウンティプラットフォームでは、発見した脆弱性の数やその危険度に応じたポイントがユーザーに付与され、ランキングが発表されます。
継続的に結果を出さない限り、ランキングに食い込むことはできないので、ランキングに入れれば客観的に実力をアピールする材料になります。仮にランキングには入れなかったとしても、リアルな世界のサービスを舞台に経験と実績を積むことはできますし、脆弱性を探すことを仕事にするセキュリティエンジニアにとっては大きなメリットだと思っています。
森岡:大いに生かされていますし、そもそも現在勤めている企業に入社できたのは、学生時代からバグバウンティを通して実績を積んできたからだと思っています。
現在はWebペネトレーションテストといって、一般的な脆弱性診断とは少し異なる調査手法で高度な内容のサービスを提供するチームに在籍しているので、バグバウンティとまったく同じことに取り組んでいるわけではありません。ただ、「脆弱性を見つける」という部分では共通しているので、バグバウンティで培った経験とスキルが活かされる局面は多いですね。
森岡:これまでは海外の中小企業が展開するWebサービスにフォーカスしてバグバウンティに取り組んできたのですが、今後はより大きな企業や有名なWebサービスなどにチャレンジしたいと思っています。海外のフルタイム・バグハンターたちと切磋琢磨して、「日本にはmoriokaというバグハンターがいる」と注目されるような存在になりたいですね(笑)。
あとは、日本のバグバウンティ業界を盛り上げていきたいと思っています。僕がバグバウンティに取り組み始めたころ、本場であるアメリカやヨーロッパ諸国に比べると、日本におけるバグバウンティはあまり盛り上がっていないと感じていました。
調べてみると、サイボウズさんが2013年から「サイボウズ脆弱性報奨金制度」を設けて独自にバグバウンティを開催していましたが、当時、僕の知る範囲ではサイボウズさんのような日本企業はほとんどなかったんです。
現在では徐々にバグバウンティプログラムを開始する企業が増え、『IssueHunt』といった新たな国産バグバウンティプラットフォームも登場しました。段々とマーケットが盛り上がりつつあると感じているのですが、それでもまだまだ海外のマーケットには及びません。日本のバグバウンティ業界やマーケットを盛り上げるためにも、バグハンターとして自分ができることをやっていきたいと思っています。
森岡:まずは日本語による情報発信を増やしていきます。先ほど申し上げたように、僕がバグバウンティを始めた当初、日本語の情報がほとんどなかったため、バグバウンティの実態を知ったり、勉強したりするにも一苦労という感じでした。なので、まずは日本語でバグバウンティに関する情報を発信し、バグバウンティに興味を持ってくれる人を増やして、その方々がバグバウンティに取り組みやすい環境をつくっていきたいと思っています。
2019年から始めた個人ブログもその一環です。ブログに「バグバウンティ入門」として、バグバウンティの始め方や具体的なノウハウを入門レベルで簡単に書いたところ、X(旧Twitter)などで大きな反響をいただきました。
最近では、僕を含めて3人の現役の日本人バグハンターがバグバウンティに関する情報を発信する「Bug Bounty JP Podcast」というポッドキャストを開始しました。海外ではバグハンターによるポッドキャストを活用した情報発信が盛んで、会話だからこその有用な情報が得られることもあって僕自身もよく聞いていたのですが、日本語のコンテンツがなかったんですよね。ないなら自分でやってしまおうということで、知り合いの仲間に声をかけて立ち上げました。基本的に毎月1本のエピソードを公開しています。
また、『IssueHunt』の運営元であるIssueHunt株式会社が主催する「P3NFEST」というバグバウンティイベントが、2024年から定期的に開催されています。第1回は、2024年2月に開かれて、僕も現役の学生バグハンターとしてスピーカーで登壇しました。こういったバグバウンティに関するイベントにも、積極的に貢献していければと思っています。
こうした発信を続けることで、より多くの人にバグバウンティに興味を持ってもらい、それがきっかけでサイバーセキュリティ分野に関心を寄せてもらえればと考えています。バグバウンティの知名度を上げ、バグハンターを増やすことを通じて、日本のサイバーセキュリティ業界を盛り上げていけたらいいですね。
企画・取材・執筆:鷲尾諒太郎
編集:王雨舟
写真:曽川拓哉
関連記事
人気記事