ソフトウェアに含まれるバグや脆弱性を見つける者たちが1カ所に集まり、集中的に脆弱性を見つけ出す「バグハンター合宿」をサイボウズが開催した。なぜ、わざわざ脆弱性報奨金制度を展開し、合宿まで実施するのだろうか。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
ツールやフレームワークの力は大きいが、さまざまなサービスやシステムを支えるソフトウェアを作っているのは人間だ。そして、そのソフトウェアに含まれるバグや脆弱(ぜいじゃく)性を見つけるのもまた人間だ。その人間同士が1カ所に集まり、集中的に脆弱性を見つけ出す「バグハンター合宿」をサイボウズが開催した。
今や、モノ作りはハードウェアだけでは完結しない。デジタルの力を借り、ソフトウェアやサービスを組み合わせることで他にない独自の価値を生み出そうと多くの企業が取り組んでいる。だが、そこには課題もある。「バグのないソフトウェアはない」といわれるが、もしそれがセキュリティ上の問題につながる脆弱性であれば、ユーザーに害を与える恐れがあるからだ。
そこで今、徐々に増えつつあるのが、自社が提供する製品の脆弱性を見つけ出し、対応に当たる「PSIRT」(Product Security Incident Response Team)を組織する動きだ。モノ作り、サービス作りを進める企業の責任として、開発プロセスにおける脆弱性検査はもちろん、リリース、出荷後に判明した脆弱性への対応と開発部門との調整などがその主な役割だ。
自社へのサイバー攻撃やマルウェア感染といったセキュリティインシデントを検知し、対応に当たる「CSIRT」(Computer Security Incident Response Team)の設置に比べると、まだその数は少ない。これに対しサイボウズでは、いち早くPSIRTとして「Cy-PSIRT」を設置。外部の専門サービスを活用して脆弱性の検出を行い、開発部門とコミュニケーションを取りながら脆弱性の少ないソフトウェア開発に取り組んできた。
さらに、「脆弱性を見つける目は多ければ多い方がいい」という考え方に基づき、市井のセキュリティリサーチャーやエンジニア、いわゆる「バグハンター」から、サイボウズの製品、サービスに存在するゼロデイ脆弱性の報告を受け付け、認定すれば報奨金を支払う「脆弱性報奨金制度」を2014年に開始。少しずつルールを改良しながら5年にわたって実施してきた。CVSSに基づいて評価し、脆弱性を認定した問題に支払った報奨金の総額は約4000万円に上る。
通常の脆弱性報奨金制度はインターネット越しにやりとりしているが、サイボウズでは、バグハンターを、製品、サービスをセキュアにしていくための「仲間」と捉え、その距離を縮めるための場を何度か設けてきた。勉強会のような形で集まることもあれば、脆弱性を見つける側と報告を受け付ける側が1カ所に集まり、集中して脆弱性を発見し、リアルタイムに評価していく「バグハンター合宿」も開催してきた。
そして2019年4月20日、21日に、3回目となる「サイボウズ バグハンター合宿2019」を、神奈川県湯河原町の「おんやど恵」で開催した。12人のバグハンターが参加し、サイボウズのエンジニアも交えて4人で1チームを構成。チーム戦方式で脆弱性発見、認定の数を競った。この結果、2日間で前回の合宿をはるかに上回る198件の脆弱性が報告され、PSIRTによる再現・評価を経て155件が脆弱性として認定された。
今回、これほど多くの脆弱性が報告された大きな要因は、参加したバグハンターの数人が「宿題」と称し、あらかじめ「cybozu.com」「kintone」「Garoon」といったサイボウズのサービスを調査して複数の脆弱性を見つけていたことだ。中には、約30件の脆弱性を一気に報告したチームもあり、合宿運営と脆弱性報告の受け付け、評価に当たるCy-PSIRTのメンバーはてんてこ舞いとなった。
しかも今回は、宿泊先の好意で会場が一晩中利用できたこともあり、深夜、未明までバグハンティングに取り組んだ参加者もいた。もくもくと手を動かし、ときにチーム内、あるいはチームの枠を超え、サイボウズ側のエンジニアも参加して会話を交わしながら、多くの脆弱性を見つけ、報告していった。
この結果として約200件に上る脆弱性が報告されたことになる。報告件数とCVSS v3に基づいて深刻度を勘案してスコアが付けられた結果、制限時間内に68件の脆弱性を報告し、うち49件が脆弱性と認定されたCチームが優勝した。
Copyright © ITmedia, Inc. All Rights Reserved.