Flatt Security Blog

株式会社Flatt Securityの公式ブログです。プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

株式会社Flatt Securityの公式ブログです。
プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

セキュリティに全ての開発者が向き合えるようにする ― Flatt Security がセキュリティプロダクト事業を通して目指すこと

f:id:flattsecurity:20211017155615j:plain 株式会社 Flatt Security 執行役員 CTO の米内です。弊社は「セキュリティの力で信頼をつなげ、クリエイティブな社会を実現する」というミッションの実現に向けてさらなる挑戦をするために、約2億円の資金調達を実施しました(プレスリリースはこちら)。

そうした資金調達の背景には「セキュリティベンダとそのユーザ企業との分断を解消する」という弊社のプロフェッショナルサービス事業における挑戦と、セキュリティプロダクト事業における「組織内のプロダクト開発・運用業務とセキュリティ業務との分断を解消する」ための挑戦 --- いわば 「セキュリティという仕事を誰か一人の仕事ではなく、全員が向き合える仕事に変えていく」ための挑戦 があります。本稿ではこの 2 つの挑戦のうち、後者のセキュリティプロダクト事業における「セキュリティという仕事を誰か一人の仕事ではなく、全員が向き合える仕事に変えていく」ための挑戦について、以下の 3 つの軸に沿って紹介します:

  1. プロダクト開発・運用に関するセキュリティ業務のサイロ化とその原因
  2. そのような現状を打破するための世界的な動き
  3. 弊社の現在の取り組みとこれから

プロダクトのセキュリティ業務のサイロ化

DevOps という考え方やそれにまつわる種々のプラクティスは、プロダクトの開発・運用をなめらかに繋ぐことで、ユーザへの高速な価値提供を支えてきました。IaC 技術がインフラストラクチャの定義を明瞭なものに変え、その上への自律的なビルド・テスト・デプロイを CI / CD システムが支え、開発者と運用者が同じコードベース・同じメトリクスを元に意思決定を進めていく ―― これらに代表されるような動きが、開発者と運用者の分断を解消してきたのです

しかし、プロダクトのセキュリティに関する業務は一部の専門チームが担当しており、その他の開発者・運用者は関与していない、という組織は今でも少なくありません。これは「プロダクトの開発・運用業務とセキュリティ業務は未だ多くの現場において分断が続いている」とも言い換えられます。このようなセキュリティ業務のサイロ化は、プロダクトの価値をユーザに届けるまでのスピードを落とし、リスクや事故の発見を遅延させています。

サイロ化を作る従来的なセキュリティプロダクト

さて、このような状況はどのような理由により形作られているのでしょうか。私はこれまでのキャリアの中で、長らくこの問いに向かい合ってきましたが、いまはこの答えが 「セキュリティが専門でない開発者・運用者が、プロダクトセキュリティ業務を遂行するのを支えるエコシステムが未成熟であること」 なのだと考えています。本稿でこのあと述べるように、この状態は新たなプレイヤーの登場により変化しつつありますが、ここではよく挙げられる従来的なセキュリティプロダクトの課題を以下の 2 つの軸から紹介したいと思います:

  1. 「そうは言うけど、結局どうしたらいいの?」が分からないことが多い
  2. 現代的なプロダクト開発・運用の業務のエコシステムと馴染まないことが多い

まず従来的なセキュリティプロダクトの課題としてよく挙げられるのは、それらのプロダクトが、セキュリティ上の問題発見には使えてもそれ以降の先のステップを助けてくれないというものです。

実際 GitLab の 2020 年の調査("Mapping the DevSecOps Landscape") は、発見された脆弱性を理解し、優先順位付けし、修正するプロセスに対する開発者のフラストレーションの存在を具体的な数字の形で浮き彫りにしています1。こういったセキュリティプロダクトはどうしても「分かる人向け」のものになってしまい、結果これがサイロ化の解消を妨げているのが現状です。

その他のセキュリティプロダクトの課題としては、その利用フローと、現代的なプロダクト開発・運用業務との馴染みの悪さが挙げられます。

Developer Experience という言葉の登場に代表されるように、近年は開発者や運用者の体験が重要視されるようになってきています。この流れの中で、ソフトウェアのセールスフローや提供形態は、「問い合わせの後に試用が始まる」ようなモデルから「使おうと思えばすぐにでもフル機能が使える」ようなモデルにシフトしつつあります。しかし、セキュリティ領域においては、まだまだこのような流れが一般的ではありません。

また、一般的な CI 環境へのサポートが弱いなどの理由で、モダンな開発フローへの組み込みが難しくなっているようなものも多く見受けられます。

これらのような性質をもったセキュリティプロダクトは、どうしても開発や運用にメインの役割を持っている技術者が片手間で利用するのが難しく、セキュリティ業務やセキュリティ組織のサイロ化を助長してしまっています。

なお、GitLab の 2021 年の調査("2021 Global DevSecOps Survey") は、セキュリティについての役割を cross-functional な形で自身が有するようになってきている回答者と、セキュリティの役割の実践に興味を持っている回答者が、4300 人の回答者の中で合わせて半数以上だったこと報告しています2。セキュリティについての関心や、役割を持つ開発者は少数派ではないのです。もしそれでもプロダクトセキュリティ業務のサイロ化が無くなっていないのだとしたら、やはり彼らを支えるプロダクトやエコシステムが未成熟であることがその一員であると考えるのも尚更自然なことでしょう。

新たなプレイヤーの躍進

時代がこのような課題を抱える中、ちょうど現在、このプロダクトセキュリティ業務を支えるエコシステムを変えようとしているプレイヤーが躍進を遂げてきています。彼らは以下の 3 つのカテゴリに分類することができます:

  • 開発者の活動圏の中に入り込んでいくプレイヤー
  • 開発者の既存の技術スタックを置換するプレイヤー
  • セキュリティ業務を開発者の業務の延長線上に持っていくプレイヤー

まず始めに、近年はセキュリティプロダクトと、開発者の活動圏(GitLab のようなホスティングサービスや GitHub Actions や CircleCI といった CI 環境等)の連携性を高め、セキュリティを開発者が取り組める仕事に変えようとするプレイヤーの台頭が顕著です。例えば Snyk は古くから一貫して「開発者に向けたセキュリティプロダクトを創る」という軸を持っているプレイヤーの例です。このブログの読者の方には、実際に Snyk Open Source のようなプロダクトを何かしらで見かけたことのある開発者の方や、使ったことのある方もいるでしょう。セキュリティをセキュリティ担当者だけの仕事とは見ない彼らは、今では Series F で 85 億ドルものバリュエーションを付けるほどの躍進を見せています(参考)。

また、近年はプロダクトセキュリティにおいて悩み所となる箇所をマネージドな形で提供することで、そもそもそのような悩みを持たなくて済む人を増やそうとするプレイヤーの台頭も目立っています3。その具体例が Auth0 などの IDaaS サービス提供者です。

そして、近年は Open Policy Agent(OPA)に代表されるような、ポリシーをコードとして表現することを可能にする Policy as Code 技術や、セキュリティに関する知見や関心をコードとして表現する技術である Security as Code 技術の進化も急速に進んでいます。彼らはいわばコードを読み書きするという、開発者や運用者の業務の延長線上に、これまで属人的かつ専門的だったセキュリティ業務を移動するようなプレイヤーとして解釈することができます4

これらのようなプレイヤーの登場は、プロダクトセキュリティ業務のあり方をセキュリティに関する責務を開発・運用者が果たせるようにする形で変化させています。少し前に比べて、開発・運用に携わる技術者がセキュリティに関する業務を役割として持ちやすくなってきているはずです。

それと同時に、彼らの躍進は、開発・運用者も利用できるセキュリティ技術の創出 に対するプロダクトセキュリティ領域の技術的・社会的な期待の大きな現れに他ならないでしょう。DevSecOps という長年叫ばれてきた思想を、実際の運用可能なプラクティスへと昇華するための「要石」に、これからの時代を創るプレイヤーの目は向けられているのです。

弊社の現在の取り組みとこれから

このような世界的な流れの中、弊社(Flatt Security)はセキュリティプロダクト事業を通して、まさにその「開発・運用者も利用できるセキュリティ技術の創出」を実現していこうと考えています。そのための新たな取り組みの一つとして、現在弊社は Shisho Cloud やその基盤である静的解析エンジン Shisho の開発・市場検証を進めています。

Shisho Cloud は 「現代的なプロダクト開発のプロセスの早期から、プロダクトの種々のリソース(例: クラウドアセット・連携 SaaS等)のリスク検知・把握・修正を進めていくのが難しい という課題の解決を目指すプロダクトです5。現状はまずは部分的なソリューションとして、Terraform コードに対するセキュリティレビュー・修正をプロダクト開発の早期から行えるプロダクトとして提供しています。

プロダクトの開発・運用におけるセキュリティに関する不安は尽きないものです。特に近年は AWS や GCP をはじめとしたクラウドプラットフォームのリソースを様々組み合わせてプロダクトを構成することも増えていますし、その全ての利用においてセキュリティに関するベストプラクティスを能動的に調べて実践することの難しさも計り知れなくなってきています。

そういった悩みに寄り添うのが Shisho Cloud です。先項の分類の中でいうと Shisho Cloud は 「活動圏の中に入り込んでいく」ようなアプローチ でそのような課題を解決します。具体的には以下のような機能を提供しています:

  • GitHub のようなホスティングサービスと深く連携し、既存のワークフローからあまり離れずに自動的なセキュリティレビューを受けられる機能 6
  • 自動セキュリティレビューの中で修正例の提案を受けられ、ボタンクリックだけで修正用パッチ / Pull Request の生成までを実現できる機能

画面例

このような開発者・運用者にフォーカスした利用体験の設計や作り込みは、弊社にとってだけでなく、世界のセキュリティ領域のプレイヤーにとっても挑戦的なものです。そんな今だからこそ弊社は現在、Shisho Cloud では始めから世界市場に向けた無料版の提供を行っており、これを通して磨き込みを図っている最中です。

また、現状の Shisho Cloud の基盤となっている静的解析エンジン Shisho はコードに対する属人的な知見のコード化 ―― いわばソースコードに対する Policy as Code を実現するためのものです7。詳しくは 公式ドキュメント をご覧ください。

Shisho Cloud や Shisho の基盤エンジンは未だ β 版として市場検証のフェーズにあるプロダクトです。今後は現在の検証を通して得られたインサイトを元に、必要があればプロダクトデザインの大胆な変更も行いつつ、我々の目指す「開発・運用者にとってフレンドリなセキュリティ技術の創出」に最速で向かっていこうと考えています。

プロダクトセキュリティを全員が向き合える仕事に

プロダクトのセキュリティに関する仕事は誰か一人の仕事ではないはずです。セキュリティベンダにしかできない仕事でもないはずです。リリースの邪魔になる嫌な仕事でもあってはいけません。それは本来、プロダクトを利用する顧客の安心と安全を創るために全員が取り組めるべき仕事なのです

Flatt Security は、徹底的に開発者・運用者にアジャストしたセキュリティプロダクトの開発を通して、その 「全員が取り組めるべき」という感覚を当たり前のものに変えていきます。セキュリティという仕事を誰か一人の仕事ではなく、全員が向き合える仕事に変えていきます。その先には「セキュリティの力で信頼をつなげ、クリエイティブな社会を実現する」という会社のミッションの達成があると信じてやみません。

弊社では本稿で紹介したような開発者向けのセキュリティプロダクト開発を一緒に推進していける方を募集しています。このような市場に世界的な注目が集まっている今この瞬間に、世界に挑戦してみませんか。直近だと 10/28(木)に会社説明会が実施されますし(詳細はこちら)、Meety 経由でもカジュアル面談を受け付けています。また、弊社のコンタクトフォーム からのお問い合わせにもすぐ対応いたします。どれも気軽にご利用/ご連絡ください!

f:id:flattsecurity:20211018102821j:plain

そして、本稿で紹介したセキュリティプロダクト事業に限らず、会社全体としても開発者を支えるためのサービスを展開しており、その詳細に関しては プロフェッショナルサービス事業部でも本稿と同様の記事 が出ています。また弊社 CEO の井手も今回の資金調達に合わせて、弊社の事業全体観を 「開発者に寄り添ったセキュリティを世界中に届ける」Flatt Securityの挑戦 という記事を通して紹介しています。ぜひこれらの記事もご一読ください。


  1. “The nitty gritty” の項目に書かれています。なおこの項目での統計はツールによらないものも含めたより一般のセキュリティテストに関してのコメントを集めたものだと思われますが、ツールに関するコメントだけを集めれば、よりここで述べられているようなネガティブなコメントは強くなると考えるのが自然かと思います。

  2. “IN YOUR EXPERIENCE HOW IS THE SECURITY ROLE CHANGING?” の項目

  3. その他にも Authzed のようなアーリーステージの野心的なプレイヤーも存在しています。

  4. なお、この周辺に関してはパブリックセクターの動きが盛んなのも特徴です。例えば Open Source Security Foundation は ビジョン の中に “Developers, auditors, and regulators can create and easily distribute security policies […]” という一節を含めています。また、米国標準技術研究所(NIST)は、Policy as Code と近い関心を持つ OSCAL というプロジェクトを進めています。

  5. この課題のペインは、弊社がかねてより提供している、セキュリティ技術を攻撃・防御の実践的な演習を通して学べる e-learning サービス KENRO や、脆弱性診断サービスのお客様とのお付き合いの中でペインの深さを実感しています。

  6. 現在は GitHub のみの対応となっているのですが、勿論 GitHub 以外のホスティングサービスとの連携も強化していこうと考えています。

  7. 現状はみんな大好き tree-sitter を元にして Rust で書かれています。いまのところは Rust が適している領域では積極的に Rust を利用していけたらと考えています。