ソフトウェア開発プロセスにセキュリティを組み込む「DevSecOps」。脆弱性管理ツールを手掛ける米Snyk創業者のGuy Podjarny(ガイ・ポジャーニー)氏は、「DevSecOpsはDevOpsに追従している。新しいスタイルであり、この変化に対応していかなければならない」と話す。同氏に、DevSecOpsの現状や話題の生成AIがソフトウェア開発やセキュリティに与える影響、米国で義務化の実施が迫るソフトウェア部品表(SBOM)の影響などについて聞いた。
Podjarny氏は、2002年からアプリケーションセキュリティに従事している。この分野のスタートアップだったSanctumに在籍し、その後SanctumがWatchfire、さらにWatchfireが2007年にIBMに買収され、ここでソフトウェアの開発工程からセキュリティを考慮していく「シフトレフト」の意義を学んだという。「シフトレフトを実践すれば、ソフトウェアのリリース後の脆弱性対応といったセキュリティのコストを100分の1にもできることを体験した。しかし、DevOpsの領域にまでは行けなかった」
IBMの後に同氏は、ウェブのフロントエンド最適化技術を手掛けるBlazeを起業した。2012年にAkamai TechnologiesがBlazeを買収し、同氏はAkamaiの最高技術責任者(CTO)に就任し、DevOpsとアプリケーションセキュリティを推進した。その経験を踏まえて2015年にSnykを創業している。
Snyk創業者のGuy Podjarny氏
Podjarny氏が「DevSecOpsはDevOpsに追従している」と話すのは、DevSecOpsが、ソフトウェアの開発と運用をつなげてビルドやテスト、リリースのサイクルを迅速化することによりスピードと品質を両立させていくDevOpsを前提として、そこにセキュリティも組み込むというものになるからだ。
「昔ながらのウォーターフォール開発では、ビルド後の脆弱性検査など、一定のタイミングでセキュリティを実践するプロセスがあった。しかし、シフトレフトでは常にセキュリティを実践することになり、スタイルが異なる。DevSecOpsでは、開発者がスタイルの変化に対応していく必要がある」
「ソフトウェア開発者は、セキュリティの問題によって開発の作業が中断したり、問題解決のための手戻りが発生したりすることを嫌う。セキュリティの問題はなるべく早く見つけて、短い時間で容易に解決できることを求めている」
Podjarny氏がSnykを創業したのは、こうしたセキュリティにまつわる開発者の悩みを解決すべく、開発者がセキュリティの問題を迅速かつ効果的に対処して解決できるツールを提供するためだったという。
現在のセキュリティテーマの1つに、ソフトウェアのサプライチェーンセキュリティがある。もともとは、商用ソフトウェアなどに使われるオープンソースのライブラリーやコンポーネントに潜む脆弱性をサイバー攻撃者が悪用し、商用ソフトウェアのユーザーのシステムへ不正侵入を行うなどの被害が大きな問題となったことが背景にある。
開発者がオープンソースのライブラリーやコンポーネントなどを活用するのは“常識”だが、いざセキュリティの問題が発覚すると、開発者は自身でどのようなライブラリーやコンポーネントなどを利用しているのかを再点検し、パッチ適用を含め問題解決に対処しなければならない。この作業には大きな負担を伴い、本来の開発作業における生産性も大きく損なわれてしまう。
Podjarny氏は、「Snykではオープンソースソフトウェアの脆弱性対策にも率先して取り組んできた。膨大な脆弱性の情報を収集し、解析し、開発者に効果的な対処方法を伝えて対応を促す。既に多くの開発者に利用され、そうした実績がベストプラクティスとして蓄積され、開発者に活用してもらう。CI/CD(継続的なインテグレーションとデリバリー)のようなスタイルで、あらゆる開発者がセキュリティの作業も容易に実践できるようになってほしい」と話す。
Podjarny氏によれば、同氏がDevSecOpsの必要性を訴求し始めた10年ほど前は、まずDevSecOpsとは何か、どんな意義があるのかを懇切丁寧に開発者に説明しなければならなかったそうだ。現在では、ソフトウェアのサプライチェーンセキュリティが重要テーマの1つになったように状況が変わり、「少なくともセキュリティの問題に直面したことがある開発者はDevSecOpsを実践しないといけないと認識している。『DevSecOpsとは何か?』という状況から『具体的にDevSecOpsをどうやって実現するのか?』と、開発者から方法を尋ねられるようになった」という。