課題:SDLCにセキュリティを導入する
PearsonのITチームは、デジタル時代に信頼される教育ブランドとしての評判を維持するため、開発のセキュリティを優先する必要があると認識していました。そのため、ソフトウェア開発ライフサイクル(SDLC)全体にセキュリティのベストプラクティスを導入するチームを編成しました。
「すでにDevOpsへの変革が進んでいました」と、PearsonのDevSecOpsリードであるNicholas Vinson氏は述べます。「シフトレフトしてセキュリティを設計段階から組み込みたいと考えていましたが、それを実現する能力を持つチームを作りたいとも考えていました。そのために私たちが招かれたのです。」
解決策:開発者が自らセキュリティに責任を持てるよう支援する
新たに編成されたPearsonのセキュリティチームはわずか6人で、300の開発チームすべてのセキュリティ業務を自分たちだけで担うのは現実的ではありませんでした。そこでPearsonには、開発者が自らセキュリティに責任を持てるようにするソリューションが必要でした。同社はそのためにSnykを導入し、世界中の多数のアプリケーションで依存関係スキャンを大規模に実施しました。
「セキュリティチームは数人のエンジニアだけなので、各チーム向けにSnykを設定して保守するのは現実的ではありません」と、PearsonのDevSecOpsエンジニアであるPaul Graziano氏は説明します。「そのため、拡張性があり、自律的に運用できるアプローチとソリューションが必要でした。また、開発チームによってソフトウェア開発のスキルや経験、DevOpsの成熟度はさまざまです。そのため、できるだけシンプルなアプローチが求められました。」
開発者ファーストのSnykのアプローチは、Pearsonにとって最適な選択肢でした。多数の依存関係管理ツールと連携できることは、異なる技術スタックを使う数百のアプリケーションにプラットフォームを展開するうえで不可欠でした。さらに、Snykを開発チームの自動CI/CDパイプラインにシームレスに組み込めるため、新しいDevSecOpsのアプローチに対する開発者の賛同も得やすくなりました。
DevSecOpsの実現
DevSecOpsチームはセルフサービスのアプローチを優先し、開発者が各チーム固有のツールにSnykを統合するために必要なものをすべて利用できるようにしました。セキュリティエンジニアリングチームはMicrosoft Formsを活用して必要な情報をすぐに確認できるようにし、新しい開発者を迅速にプラットフォームへオンボーディングできる体制を整えました。また、依存関係スキャンとは何か、どのように使うのか、結果をどう解釈するのかをPearsonの開発者が理解できるよう、トレーニング動画も作成しました。
開発者がプラットフォームを使えるようになった後、DevSecOpsチームは問題を迅速に解決する方法も把握できるようにしたいと考えました。Snykの自動修正機能は脆弱性に優先順位を付け、開発者が修正のために行う作業を最小限に抑えます。これにより、古い依存関係、新たに発見されたセキュリティ脆弱性、ライセンス上の問題によってPearsonがさらされるリスクを軽減できます。
「チームがSnykにログインして何百もの脆弱性を目にすると、少し圧倒されることがあります」とGraziano氏は説明します。「そこで、個々の問題ではなく修正案に注目するよう勧めています。依存関係を1つアップグレードするだけで、20~30件の脆弱性を修正できることもあります。そのほうがチームも対処しやすくなります。」
効果:DevSecOpsを大規模に実現
現在、Snykプラットフォームにより、セキュリティチームはすべての開発プロジェクトにわたる有用な指標を簡単に追跡でき、中央で統制しながら全社的なセルフサービス型セキュリティを実現しています。これにより、セキュリティエンジニアは各チームに直接関与することなく、開発チームが問題の検出と解決を着実に進めているか確認できます。
「継続的な改善は、私たちが行うすべてのことにおいて重要です」とVinson氏は述べます。「現状にとどまるつもりはありません。常に取り組みを見直し、そこから学び、改善する方法を探しています。」
Pearsonは開発チーム全体でDevSecOpsを大規模に実現しましたが、整備したプロセスやドキュメントは、今後組織が直面する課題に対応できるよう継続的に進化させる必要があることも理解しています。Snykのような信頼できるパートナーの支援を得て、Pearsonは今後もDevSecOpsの手法を発展させ、磨き続けたいと考えています。
「オープンソースの代替手段ではなくベンダーと組むメリットは、ロードマップに影響を与え、私たちの業務を効率化する機能を提案できることです」とGraziano氏は述べます。「その一例が、Snykが導入を進めているグループポリシー機能です。パイプラインへの統合の次の成熟段階は、ビルドをブロックする条件を一元的に管理する品質ゲートをビルドパイプラインに設けることです。利用可能になれば、とても役立つでしょう。」
