yamoryの今までを振り返り、2020年に目指すこと
はじめまして。
脆弱性自動管理ツール「yamory」の起案からサービス全体のディレクションに携わっているサイバーセキュリティ事業部 プロダクト開発部 部長の鈴木康弘(やっぴー)です。
2019 年も終わりに差し掛かり、2020 年が始まろうとしているので、このタイミングで「yamory」のこれまでを振り返りながら、今後目指していきたい世界や 2020 年の抱負について、言葉にしていきたいと思います。
脆弱性自動管理ツール「yamory」とは
「yamory」は大多数のソフトウェア開発で利用されているソフトウェア/サービス内のオープンソースソフトウェア(OSS)の脆弱性をソースコードを転送することなく管理し、対応優先度ごとに自動判別できるツールです。
ソフトウェア/サービス開発にて効率の面からも利便性の面からも当たり前になっているOSS利用。
開発が拡張していくと、「どこで、どんなOSSのどのバージョンが動いており、どの脆弱性に対応するか」を日々把握するだけでも一苦労になります。
「yamory」はトリアージ(優先順位付け)作業も含めて脆弱性管理を自動化することで、脆弱性管理の工数を削減、ただでさえ不足が叫ばれるエンジニアの負荷を減らし、安心して、高い生産性で開発ができる世界を目指します。特徴
- 直感的にOSSの脆弱性の全体像が把握できるダッシュボード&UI
- 危険な脆弱性を優先度順に表示する、オートトリアージ機能
- インストール不要、すぐに利用できるSaaS型
なぜ「yamory」を開発しようと思ったか?
ビズリーチの初期社員から管理職に
2010年9月、当時ビズリーチはマンションの一室でやっている超スタートアップフェーズで、私は8番目の社員、3番目のエンジニアとしてジョインしました。
初期のビズリーチのプロダクト開発や、複数の新規事業の立ち上げプロジェクトをプロダクトサイドでリードする立場として多くのチャレンジをさせていただきました。
当時のビズリーチはとにかく事業が急拡大していたので、常に全職種を全力採用し続けており(今も同じですね)、エンジニアやプロダクトに関わる組織も次第に大きくなっていきました。
その中で、私自身もマネージャーや開発部長といったような、管理職的なポジションを徐々に担当するようになっていきました。
管理職時代、セキュリティ問題に直面
2016年、私が管理職になったのと同タイミングでビズリーチのTVCMも始まり、急速に会社の知名度が上がりました。
それに伴い、セキュリティにおいてログ上から確認できるような攻撃が増えていきました。
会社としてあらゆるセキュリティ対策を進めていたのですが、その過程の中で労力やコストがかかることも多く、のちの「yamory」事業立ち上げの根本となる経験をたくさんしました。
セキュリティ対策推進の中で生まれてきた考えは以下のようなものです。
「プロダクト開発の中に、セキュリティリスク管理のプロセスを上手く楽に入れられないか?」
「開発スピードは落とさず、脇を締めながら開発はできないか?」
今でいう「DevSecOps」という言葉になるのでしょうか。とにかくそういうことを考えるようになったのです。
ただ、当時の私はぼんやりとしたアイディアはあっても、何をするべきかはよくわかっていませんでした。
そのため、外部の CTO や開発部長、セキュリティ担当者に自身の課題意識についてヒアリングを重ねました。30 社ほどお話しを伺うことができました。
ヒアリングから見えてきたことは、しっかりとセキュリティ対策を進めている企業は、共通して以下のようなことに取り組んでいるということです。
- 外側からの脆弱性診断(アプリ寄りの診断)やPF診断(インフラ/ネットワークやミドルウェアレイヤよりの診断)の定期的実施
- 手動や自動化を組み合わせながら定期チェックできる体制にしている
また、同時に以下の様な課題が存在することも判明しました。
- 脆弱性に対応するには、上記とは別にプロダクトの内側で利用されているコンポーネント(ソフトウェアの部品、主にOSS)を把握し、脆弱性をきっちり管理する必要がある(大多数のソフトウェア/サービス開発では効率性/コスト対策の面から、OSSを利用することが当たり前になっている)
- OSSの脆弱性情報は日々更新されるため、「どこで、どんなOSSのどのバージョンが動いており、どの脆弱性に対応するか」を日々把握するだけでも一苦労になる。
- OSSの脆弱性管理を手動でやろうとするとスプレッドシート地獄に陥り、莫大な工数やコストがかかる。(実際にスプレッドシートで管理しようとして破綻したエピソードも多い)
- このOSSの脆弱性管理を手動でやろうとするとスプレッドシート地獄に陥り、莫大な工数やコストがかかる。
- さまざまなシステムレイヤーで脆弱性を管理するツールが別れており、レイヤーごとにツールを導入する必要が生じるため、統合的に管理することがとても難しい領域である
- 複数のツールを使っているとツールの管理そのものが煩雑になり、攻撃される危険性が高い脆弱性(本質的に対応優先順位の高いリスク)がわからなくなる
- 脆弱性診断に時間を奪われることによって、本当にエンジニアが注力したい開発の時間が奪われている可能性がある
※もちろん、もっとさまざまな対策はやっていかなければいけませんが、今回の記事のテーマに合わせて抜粋しています。
課題意識から事業化へ
ビズリーチでの脆弱性診断やPF診断に関しては、全社のセキュリティ部門ができ、外注や一部内製化もしながら定期実行できる体制になりました。
そこで、私は先述の出来事から得られた課題感から以下のようなアイディアを具体的に実現したいと思うようになりました。
- プロダクトの内側で使われているコンポーネント(ソフトウェアの部品、OSS)に関して、脆弱性を管理できるツールを作りたい
- そこからさまざまな脆弱性管理ができるツールに発展させ、プロダクトの脆弱性を統合的に管理できるツールを作りたい
- 最終的には、エンジニア(セキュリティ部門や開発部門)が楽に連携しながら運用が周り、安心して前を向いて開発ができる仕組みを作っていきたい
他社企業の方々とのヒアリングで得たニーズを生かし、New Bamboo!というビズリーチの新規事業立案制度を活用することで、事業化が決定しました。
後に「yamory」と名前がつくアイディアの事業化が現実のものとなった瞬間でした。
「yamory」はリリース前、リリース後で何をしてきたのか?
スーパーサイヤ人級のエンジニアを5人採用
2018年1月。プロダクト開発の現場でおきているセキュリティ課題を総合的に解決するツールを目指して、社内新規事業プロジェクトがスタートしました。
スタートしたといっても初めの頃は、鈴木の1人チームでした。
社長室に配属され、プロトタイプ作成や技術研究と仲間探し(採用)の毎日。
この「yamory」は開発の難易度が高いプロダクトになることが予見されてました。
そのため高い技術力を持っているエンジニアに加わってもらう必要があったのです。
当時は1日のほぼすべての時間を採用にあてていました。
そして残った時間で事業計画や開発技術の調査を進めました。
採用や調査を通して、100人以上(1日3人会うペースを半年ほど)のエンジニアやセキュリティエンジニアの方々にお会いしたでしょう。
お会いしてくれる方に構想をぶつけ、共感してくれる方や使いたいと言ってくれる方もいれば、真っ向から否定してくる方もいました。
たくさんの方にお会いした経験は、事業とプロダクトにプラスに働いていきます。
事業コンセプトは説明回数を重ねるごとに自然に研磨されシャープになりました。
また、この事業とプロダクトにニーズがあると言ってくれる方々も多くいたため、自信にも繋がりました。
最終的にスーパーサイヤ人級のスペシャルなエンジニアが5人チームに加わってくれることになり、、開発の一歩を踏み出すことができたのです。
社内ドッグフーディングでプロトタイピング
エンジニアの採用と同時並行でプロトタイプ開発にも没頭しておりました。
動くものが出来たらすぐに社内のエンジニアやセキュリティチームの方々に披露し、あーでもない、こーでもないとフィードバックをいただきながら、ビズリーチ内で運用を開始しました。
ビズリーチの文化には社内で徹底的にドックフーディングするというものがあります。
さらに社内の皆さんのめちゃくちゃに協力的な文化土壌もあり、プロトタイプがすごい勢いでどんどん形になっていきました。
6周はプロダクトをガラッと変えながらプロトタイピングしたと記憶しています。
このドッグフーディングにより、プロダクトに対するさまざまなフィードバックやアイディアを頂きました。
その中のひとつが「細かい脆弱性まで多く出るので本質的にリスクが高い脆弱性がわかりにくい」といったフィードバックでした。
ここから攻撃コード、PoC による悪用可能性判断と、それによる優先順位付けという、現在につながる製品コンセプトが出来上がりました。
この製品コンセプトがプロダクトに実装できた頃、この製品を社外の人達に試してもらいたいと思うようになりました。
クローズドβ版の開発と社外検証協力企業への営業活動
2018 年の後半から社外検証を実施するため、社外向けのプロダクト開発と営業活動をスタートさせました。
営業活動の初期には、コンセプトやプロトタイプを見せ、クローズド β 版の製品で検証してもらえる企業様を探しました。とにかく限られたツテを辿ってひたすら営業しました。
社内での実績を含めて提案することができたため、説得力のあるご提案ができ、社外検証に参画してくれる企業様も現れ、結果として数10社の企業様に社外検証のご協力をいただくことができました。
この社外検証の中でも多くのフィードバックをいただくことができ、この貴重なご意見が当時のプロダクトのリリース、また現在も続くプロダクト開発に繋がっています。
当時、検証にご協力いただいた企業の方々には本当に感謝の念しかありません。本当にありがとうございました。
「yamory」リリースへ
ビズリーチの PR チームやデザインチーム、法務に協力を仰ぎ、PRの戦略策定や製品ページ、規約策定などがスピーディーに行われ、「yamory」は 2019 年 8 月 27 日にリリースされました。
リリース時には 30 以上のメディアに取り上げていただき、多くの反響もいただくことができました。
現在、「yamory」はリリースから数ヶ月にも関わらずありがたいことに多数のお客様に導入いただいております。
「yamory」はこれからも、お客様の声を丁寧に集め、本質的なプロダクトの課題を洗い出し、機能追加やUX改善を積み重ねていきます。
「yamory」の今後と、2020年の抱負
チームのみんなと決めたミッション、ビジョン
「yamory」チームはプロダクト開発と事業化の過程で徐々にチームメンバーが増えていきました。
そこで、集まったチームメンバーの想いを形にすべく、ミッションとビジョンをみんなで決めました。
「yamory」のミッション/ビジョンは以下となっています。
ミッション:安心してテクノロジーを活用できる世界を実現する
ビジョン:すべてのエンジニアにとって、セキュリティを当たり前にする
このミッション/ビジョンは次のような考えから導き出されています。
- 「yamory」はそもそも鈴木の原体験である「ソフトウェアプロダクト開発の中に、セキュリティプロセスを上手く入れたい、その結果、不安に頭を抱えることなく、エンジニアが本来集中すべき開発を安心してできるようにしたい。」という発想から始まった。
- 今後の世界は DX が進み、今までインターネットに繋がっていなかった、金融や物理サービス(自動運転や、ロボディクスによるサービス)がどんどんインターネットに繋がり、ソフトウェアでサービス提供されるものがより出てくると思われる。
- 今後、サイバー攻撃の影響はますます拡大し、人命に関わるようなリスクも顕在化すると予想される。
- 大きなリスクを防ぐためにもソフトウェア / プロダクト開発の段階でセキュリティリスクを管理していくことはますます重要になる。
- 人類が今後より安心安全に、さまざまなテクノロジーを活用していくためには、開発サイドのセキュリティ管理をエンジニアが当たり前のできるようにならないといけない。
これらの課題解決をリードし、支援していくのが yamory の使命、というところに落ち着き、このようなミッションビジョンになりました。
yamoryが描く大きな夢
我々「yamory」チームはとてつもなく大きな夢を描いています。
大きな夢を実現させるため、まずソフトウェアのコンポーネント(OSS)のリスク管理を正しくやれるようにしていこうということで、今は、ミッション、ビジョンをこのように理解してやっています。
ミッション:安心してテクノロジー(まずはOSS)を活用できる世界を実現する
ビジョン:すべてのエンジニアにとって、セキュリティ(まずはOSS脆弱性管理)を当たり前にする
今後数年はこの目標の実現に向けてひたむきにやっていきたいと考えています。
yamoryに対して頂いているご要望
- C#やGo言語に対応してほしい
- ライセンスのリスク管理もしたい
- 古いシステムの OSS が心配なので、チェック対象ソフトウェアを入力できるようにしてほしい
- ミドルウェア / OS レイヤの脆弱性も管理したい
- SSOがほしい
2020年の挑戦
実現したいことはたくさんありますが、優先順位をつけてしっかりと対応していきたいと考えています。
そのためにも、お客様をしっかり理解し、共感し、お客様の方向をきちんと向いてプロダクトの改善を積み重ねていける、そういったチームをメンバーみんなとつくっていきたいです。
ビズリーチ社のクレドで「お客様の感動にコミットしよう」という言葉がありますが、お客様の期待を超え、感動を与えられるぐらいの、サービス、プロダクトをつくりたい。
また、そのような未来を実現できるチームにしていきたいです。
yamory はこれから人数規模が増えていくフェーズを迎えます。
どんどん人数が増えていっても、当然のように顧客を向いたサービス改善、開発ができる組織やチームにしていきたいです。
また開発面では、ミドルウェア/OSレイヤーに関する研究をスタートしたいと考えています。
現在は、アプリケーションのライブラリやフレームワークのレイヤーが「yamory」の管理対象となっています。
ミドルウェア / OS レイヤーも統合管理ができるようにし、「OSS のセキュリティはまずyamoryに任せておけば良いよね」というプロダクトにしていければと考えています。
2020年は「yamory」にとって挑戦の年です。
お客様と向き合いながらしっかりと現在のサービスの品質を高め、同時に今後に向けた新たな基盤づくりを実現できる一年にしていければと想います。
みなさま応援のほどよろしくお願いいたします。