モダンなDevSecOps文化の築き方:Jaguar Land RoverとAsdaから学ぶ教訓
Brian Piper
2024年2月21日
0 分で読めます
人材、プロセス、ツールはすべて、組織が強固なAppSecプログラムを維持できるかどうかに影響します。Black Hat Europeで開催された最近のパネルディスカッションで、Snykは2社の顧客、Jaguar Land Rover(JLR)とAsdaに、開発チームの管理、新しいセキュリティツールの導入、組織全体でモダンなDevSecOpsプログラムを構築するうえで直面している、それぞれ固有の課題について話を聞きました。
JLRは1935年に自動車の製造を開始しました。複数の合併・買収を経て、約1世紀にわたる技術革新を続けてきた同社は、現在、世界各地でさまざまなソフトウェアプロジェクトに携わる3,000人の開発者を擁しています。JLRのDevSecOps担当リード・エンタープライズセキュリティアーキテクトであるMike Welshは、セキュアな開発手法を徹底するための全社戦略を維持し、ばらばらに活動するチームを統一されたプロセスのもとにまとめる役割を担っています。
一方、AsdaはDevSecOpsプログラムの構築に着手したばかりです。確立されたブランドでありながら、Walmartから最近分離したことで、Asdaは「ヨーロッパ最大のスタートアップ」として事業を運営することになりました。AsdaのDevSecOpsリードであるRuta Baltiejuteは、同社のDevSecOps文化をゼロから築き、新しいツールを導入するとともに、エンジニアやセキュリティ担当者と部門横断で協力し、セキュアなアプリケーション開発に向けた基盤を整えています。
DevSecOps文化の構築における成熟度は大きく異なる2社ですが、それぞれの歩みから得た教訓には共通点があります。
1. 意思決定プロセスに開発者を参加させる
パネルディスカッションでMikeとRutaは、強固なDevSecOps文化を築くには開発者の賛同が不可欠だという点で意見が一致しました。2人は、DevSecOpsに携わる人々に対し、新しい開発ツールの提案から概念実証の実施まで、あらゆる意思決定にエンジニアを参加させるよう勧めています。エンジニアがセキュリティ上の指示に反発したり、押し付けられたツールを無視したりしないようにするには、こうした連携が欠かせません。Mikeは、「選定プロセスにエンジニアが関わっていれば、選んだツールを導入し、活用してもらうのがずっと簡単になります」と話します。
賛同が得られなければ、新しいプロセスやツールの導入はうまくいかず、プログラムの健全性を損なう大きな問題につながります。MikeとJLRにとって、これは重大な懸念事項です。同社にはEMEA、APAC、南北アメリカに数千人のエンジニアがいます。Mikeは、全員が使えるだけでなく、全員が使いたいと思えるツールを見つける必要がありました。それによって、コードベース全体を可視化し、関連する脆弱性を把握できるからです。Mikeはこう話します。「コードベースの10%だけを見て、それが安全かどうかを理解しても意味がありません。」
Snykは最適な選択肢でした。業界で広く認められているソリューションであり、JLRの開発者コミュニティのメンバーからも頻繁に推薦されていました。Snyk Open Source、Snyk Container、Snyk Codeを活用することで、Mikeはチーム全体に共通のポリシーとプロセスを導入し、そこにSnykを組み込むことができました。今では、すべての開発者がSnykで脆弱性を特定できます。SnykのAPIを使って構築した多数の自動化のおかげで、JLRはコード管理システムにある14,000ものプロジェクトを効率的にスキャンできます。開発者の生産性を高め、よりセキュアなコードの作成を可能にするソリューションです。
2. 「メリットを先に伝える」姿勢でプロセスの変更に取り組む
新しいことを導入する前に、プロセスの変更や導入を予定している新しいツールが、エンジニアリングチームに実用的なメリットをもたらすかどうかを確認することが大切です。新しいプロセスを前向きに受け入れてもらうには、それが自分たちにどのようなプラスの影響を与えるのか、エンジニアに理解してもらう必要があります。
Rutaは、開発者が抱える課題を理解するために調査を行い、その結果を開発者にも共有して理解してもらうことを勧めています。開発者の作業を観察し、気づいたことを声に出して振り返る時間を取りましょう。作業の流れを見て、日々の業務に潜むさまざまな課題(時間のかかる作業など)を指摘します。開発者がよく認識していて、喜んで詳しく説明してくれる課題もあれば、本人が気づいていなかったり、改善の機会だと認識していなかったりすることもあります。
指示が開発者にどのようなメリットをもたらすかを理解したら、そのメリットを伝える必要があります。新しいプロセスによって、日々の業務がどのように、そしてなぜ、より簡単に、よりセキュアに、より効率的になるのかを開発者に説明しましょう。
AsdaでRutaが直面したのは、特に勤続年数の長い従業員や契約社員から、新しいツールやプロセスに対する抵抗があったことです。Walmartから分離した後、同社は新しい組織としての側面と、旧来の会社としての側面を併せ持つ、興味深い過渡期にありました。さらに急速な拡大(エンジニアリングプログラムが実際に3倍に拡大)も重なれば、エンジニアが抵抗を示すのは自然なことです。
Rutaとチームは、エンジニアリングチームとセキュリティチームを同時にゼロから立ち上げるというまたとない機会を活かし、市場にある多くのソリューションを検討するなかで、開発者との連携を促しました。最終的にAsdaが選んだのはSnykでした。Snykのフルプラットフォーム(Snyk Open Source、Snyk Code、Snyk IaC、Snyk Container)を導入することで、エンジニアの日々の業務に実用的なメリットをもたらし、セキュリティチームの懸念や要件にも応えることができました。
チームの抵抗が特に強い場合はどうすればよいでしょうか。ほかに手立てがなければ、Mikeはゲーミフィケーションを勧めています。数字を見れば明らかで、エンジニアは方法による具体的な違いを確認するのが好きです。異なるプロセスを採用しているチームの結果を透明性をもって共有し、一方の方法が他方より優れているメリットを効果的に伝えましょう。
3. 導入プロセスをシンプルにする
どれほど有益な新しいプロセスでも、開発者が話を聞き、実際に新しいプロセスやツールを導入してくれるのは、それを簡単に実行できる場合に限られます。
Rutaが参加者に念を押したように、「社内でのやり方を説明する50ページの文書を、開発者に読んでもらうことはできません。ツールと、簡単に実行できる方法を用意すれば、開発者はポリシーに沿って適切に対応してくれます。」
4. 過去の経験からチーム全体で学ぶ
理論上、連携はすばらしいものです。しかし、各自が責任を持って取り組むには、全員の意見が確実に反映されるよう、連携のプロセスを正式に定めるのが最善です。チームには、共有された知識や経験が豊富にあるはずです。ツールやプロセスについて、新しいアイデアやフィードバックを得るのに、これ以上の場所があるでしょうか。
JLRでは、MikeとチームがDevSecOps Guildを設立しました。社内のさまざまな部門から、異なる職務経験を持つ代表者が参加しています。代表者たちは、過去に使ったツールや、評価する価値のあるツールについて話し合います。Guildに集まる知見を活かすことで、JLRは連携の取り組みを正式なものにし、業界にあふれるツールのなかから優先事項を絞り込んでいます。
DevSecOps文化では、連携が不可欠
どの教訓も、その根底にはセキュリティチームと開発チームの連携が重要だという点があります。DevSecOpsへの取り組みがどの段階にあっても、プログラムの強さと継続性は、関係者全員の賛同にかかっています。教訓をさらに深く掘り下げるには、Black Hatのセッション全編をご覧ください。
開発者にもセキュリティチームにも喜ばれるツールをお探しですか?Snykのモダンな開発者向けセキュリティプラットフォームをご覧ください。
