“開発者ファースト”の脆弱性管理ソリューション、Snyk創業者ガイ・ポジャーニー氏インタビュー
開発とセキュリティが歩み寄る日は来るのか? Snyk創業者に聞く
2023年01月24日 08時00分更新
Snykが“開発者ファースト”のセキュリティを目指す真意
クラウド活用が進む現在、ソフトウェア/サービスの開発現場は大きく変わった。これまではテスト環境を用意するにも、サーバーやネットワークの専門知識があるIT部門にチケットを切って依頼していた。しかし、今やインフラに詳しくなくてもクリック数回でクラウド上にインスタンスを調達できる。DXやイノベーションでスピードが求められる中、開発現場で必要なインフラを素早く用意できる意味は大きい。
だが裏を返せば、セキュアなインフラの設定や運用など、IT部門やインフラチーム、セキュリティチームなどがこれまで担ってきた責任の一部を開発者が背負い込むことになる。機能の設計や開発、品質管理だけでなく、レジリエンス、アップタイム、セキュリティ、アクセサビリティ、プライバシーなどに関する判断をコーディングしながら考えなければならない。もちろん、すべての分野に専門性があるわけではないので、設定ミスも多発する。Kubernetesのノードをデフォルトのrootのままで運用していた、S3バケットの権限が適切に設定されていなかったなど、ささいなミスが原因となってデータ漏えいやシステム侵害が発生する事例は後を絶たない。
「今どき、システム障害やインシデントの発生で呼び出されるのは開発者だ。だから“開発者ファースト”で、セキュアなアプリケーション/サービス開発ができるツールを作りたいと思った」。DevSecOps/脆弱性管理ソリューションのSnyk(スニーク)創業者、ガイ・ポジャーニー氏は創業の思いを語る。
ポジャーニー氏はイスラエル国防軍8200情報部隊を出たあと、Webアプリケーションセキュリティ会社のSanctumに入社。Sanctumの買収先であるWatchfire、IBMでソフトウェアエンジニアや製品設計などの職を経て、2010年にWebサイト高速化ソリューションを提供するBlaze Softwareを起業した。その後、同社がアカマイに買収された流れで、アカマイのWebパフォーマンス部門のCTOに就任。2015年に退職してからほどなくして、Snykを立ち上げた。
起業を準備する際に考えたのは“セキュリティ一辺倒”の会社にしないことだったという。
以前、米ラスベガスで毎年開催されるセキュリティカンファレンスBlack Hat USAに参加した同氏は、講演を聴いているうちに、すべての製品が脆弱で使いものにならず、世界はどうしようもなく最悪な状況にあるんだと、「ホテルの部屋の隅で丸まって泣きたい気分にさせられた」。それに対してDevOpsのカンファレンスは、最終日を迎える頃には、Webはなんて素晴らしいんだろう、もっと色んなものを作ってみたいと前向きにさせてくれる。「みんなで肩を組んでハレルヤを歌いたいくらいには気分が高揚する(笑)」(ポジャーニー氏)
「開発者は、美しくて革新的なものを開発したいと考えている。そんな思いに応えるには、セキュリティは何かを壊すもの(ブレイカー)ではなく『何かを作るもの(ビルダー)』になるべきだ」。それがSnykの永劫変わらぬコミットメントだと語るポジャーニー氏。ブランドカラーやデザインを開発者に馴染みのあるものにして、オープンソースコミュニティへの貢献やユーザーコミュニティの醸成などに力を入れるのは、開発者に寄り添う気持ちを分かりやすく伝えるためだと明かす。「セキュリティは自分たちの業務をめちゃくちゃにするものではなく、ともに良いコードを作り上げるためのものだと知ってほしい」。
これからの開発チーム、セキュリティチームのあるべき姿とは
そんなポジャーニー氏自身も、実はSanctum時代に「セキュリティが原因で開発に混乱が生じる」という苦い経験をしている。
同氏がSanctumに入社した2002年頃には、コストや効率性の観点からセキュリティに考慮した設計、開発を行う「シフトレフト」の波が来ていた。同社も例に漏れず、開発プロセスにセキュリティ監査を組み込むべく監査ツールを開発する運びとなった。アプリケーションの安全性が高まるということで、セキュリティチームからは大歓迎された。
しかし、いざツールを導入してみると、ビルドにかかる時間が約4倍も伸びてしまった。あるとき、ビルドが壊れる可能性のあるコーディングミスがあるとツールに表示されたので、開発チームは何時間もかけてコードをさらった。ようやく見つかったのは、一般的には無視してかまわないような些細なバグだった。「そんなことが毎週のように発生した結果、いつしかその監査ツールは使われなくなった」(ポジャーニー氏)。
ここでの問題は2つあった。1つは、監査ツールやセキュリティチームは問題を指摘するだけで、その対処を開発チームに丸投げしてしまったこと。もう1つは、その指摘を受けた開発側では、セキュリティ視点でコードを読解し、問題箇所を特定することができなかったことだ。
「そもそも『両チームを連携させる』という発想が、うまくいかなかった原因だ」。「連携」だと、互いの役割や知識の範囲内で動くだけでいいと思いがちで、その状態で情報のやりとりをしてもうまくいくはずがない。
そんな経験からポジャーニー氏は、「セキュリティチームは、インフラ/プラットフォームチームになるべきだ」と提言する。なぜそのコードにセキュリティ上の問題があるのか、どう修正すれば解決できるのかなどを提案し、開発者が安全なコードを書くための正しい判断ができるようなプラットフォームを構築、支援する。それが、これからの開発チームとセキュリティチームのあるべき姿ではないかとポジャーニー氏は断言する。
「プラットフォームにセキュリティが組み込まれて、CI/CDパイプラインの整備や自動化が進めば、たとえば開発環境を用意したいと思ったとき、いくつかの質問に答えるだけでコードのテンプレートが走り、セキュアな開発環境が自動で構築される。そんな世界が来るかもしれない」(ポジャーニー氏)
実際、インフラについてはPaaSがその方向へと進化しており、いずれはInfrastructure as Code(IaC)も合流して、安全かつ思い通りの環境がすぐ手に入るようになる、とポジャーニー氏は語る。「今後数年で、サーバーレスやマイクロサービスの勢いを受けてPaaSを採用する企業は一気に増えるのは間違いない。その流れで、セキュアな開発環境や本番環境の自動プロビジョニングも当たり前に提供されるようになるだろう」。
ポジャーニー氏はさらにその先も見据えている。Snykは2022年2月、CSPM(クラウドセキュリティポスチャー管理)製品を開発する米Fugueを買収した。現在「Snyk Cloud」として提供される同製品は、クラウドの設定や関係性を常時スナップショットし、セキュリティポリシーや法規制などと照らし合わせて、セキュリティインシデントにつながるような問題がないかをチェック、通知する。
「せっかく安全な環境が用意できても、運用中に誰かがSSHでログインして設定変更した結果、一部データがオープンになってしまったといったことは起こりうる。そうした見落としを拾えるようなツールだ」(ポジャーニー氏)
今後も“開発者ファースト”を軸に、セキュリティエンジニアも納得する機能を拡充していきたいと、ポジャーニー氏は語った。