Slackとともに実現するベイエリアのセキュリティ成功事例
2023年5月17日
0 分で読めますアプリケーションセキュリティは絶えず進化しています。その変化を観察するのに、ベイエリアほど適した場所はありません。シリコンバレーには、さまざまな課題の解決に取り組む企業が何千社も集まっていますが、どの企業にも共通するのは、リスク軽減という、ときに困難な課題です。
Snyk主催のパネルディスカッションでは、David Aghassi氏とAtul Gaikwad氏を迎え、アプリケーションセキュリティプログラムの構築にまつわるさまざまな課題や、そのプロセスをSnykがどのように簡素化してきたかについて話し合いました。Slackのセキュリティ担当スタッフソフトウェアエンジニアであるAtul氏は、Slackの開発チームとセキュリティチームへのSnyk導入を主導し、参加者に自身の経験を共有しました。David氏の豊富な開発経験とAtul氏のセキュリティに関する知見が交わり、アプリケーションセキュリティにおける真の成功とは何かを考える、示唆に富んだパネルディスカッションとなりました。
最初の一歩
David氏とAtul氏によると、アプリケーションセキュリティの統合は、現在抱えている課題を認識し、開発チームとセキュリティチームの間にコミュニケーションを確立することから始まります。開発者は、課題を把握し、適切なツールやトレーニングを利用できなければ、その課題を解決できません。そこで最初の一歩となるのが、特定のコーディング手法がアプリケーションのセキュリティ態勢に悪影響を与える理由を開発者が理解できるよう、ツールを提供することです。David氏は次のように述べています。
「人を追いかけ回すやり方から、現状に線を引き、こうした課題があることを受け入れながら、新たな課題が生まれないようにするやり方へと変わりました。」
現状を把握したら、セキュリティチームは現在のツールの効果を評価し、改善の余地を見つける必要があります。Atul氏とSlackチームは、まず自社開発のセキュリティツールを使い、その後、AppSecに加えてライセンス管理にも対応する別の商用ツールを導入しました。しかし、そのツールは適用範囲が限られ、開発者が脆弱性を発見して優先順位を付けるのに役立つインテグレーションやプラグインも不足していたため、すぐにアップグレードが必要になりました。そこでSnykを採用しました。
Snykで成果を上げる
Snykには多くのメリットがありますが、登壇者にとって特に大きな違いをもたらしたのは、優先順位付け、自動化、カスタマイズへの注力でした。問題の深刻度を0~1000のスコアで示し、有用なメタデータも提供するSnykのPriority Scoringにより、Slackチームは最も重要な問題から優先的に対応できました。また、Snyk CLIを使えば、開発者はセキュリティチームの支援を受けずに、必要な頻度でコードをスキャンできます。Atul氏は次のように述べています。
「Snyk CLIのオプションを使えば、開発者は自分のペースとタイミングでスキャンを実行できるため、私たちセキュリティチームの負担が軽減されます。」
開発者に適切なツールを提供することは重要ですが、開発者が多くの業務を抱えていることを考えると、持続可能なセキュリティ対策の鍵となるのは自動化です。Atul氏は、Snykから脆弱性情報を取得し、問題の背景や修正方法を開発者に伝えるJiraチケットを作成するシステムの構築をチームで主導しました。さらに、Snyk APIを利用して各パッケージの最も安全なバージョンを取得し、チケットに要約として記載できます。これにより、問題の件数が減り、修正方法を尋ねる開発者からSlackのサポートチャンネルに届くメッセージも減少したため、効率が大幅に向上しました。Atul氏はこう説明しています。
「Snykは2つの方法で実行しています。1つは重要なリポジトリを毎日スキャンする方法、もう1つは本番環境に到達する前に重大な問題を特定できるパイプラインです。」
開発の観点では、Snykによって開発者は脆弱性の優先順位をチーム内で判断し、重要な機能を壊す心配をせずにアップグレードできます。David氏は次のように述べています。「変更を簡単に元に戻せて、その変更が本番環境に反映されないようにできれば、開発者は開発中にさまざまなことを試しやすくなります。」
AppSecのトレンド
パネルディスカッションの最後のテーマは、アプリケーションセキュリティが今後どこへ向かうのか、そしてどのようなトレンドがこの分野を動かしていくのかでした。大きな論点の1つは、開発チームとセキュリティチームが分断され、個別に動く従来の体制は機能しなくなっているということです。アプリケーションスタック全体を把握する重要性が高まるなか、各段階でセキュリティがどのように関わるのか、またスタック全体にどう影響するのかを理解することが欠かせません。実際には、アプリケーションの各部分が安全であり、かつほかの部分に干渉しないと開発者が確信できる必要があります。David氏のような開発者にとって、「開発者のライフサイクルにSnykを組み込むことで、心配事が1つ減ります」。Atul氏はさらにこう付け加えました。
「開発ライフサイクル全体を通じてセキュリティを強化することは、かつてないほど重要になっています。」
開発者が日々コードを使用・変更するなかで、本番環境のセキュリティは極めて重要です。しかし、セキュリティチームは開発チームのように規模を拡大できません。SDLCのあらゆる部分をカバーするには、セキュリティチームがエンジニアを信頼し、各自の働き方に合ったプロセスやツールを提供する必要があります。Atul氏は次のように締めくくりました。
「コードを書いている開発者以上に、コードを理解している人がいるでしょうか。攻撃対象領域についても、開発者のほうがセキュリティチームよりよく知っています。」
AppSecで成功するには
コミュニケーション、共感、信頼を軸とするアプローチが、セキュリティチームと開発チームにとって最善の道です。変化は簡単ではありませんが、新しいツールや手法を取り入れることは、最先端を走り続けるうえで欠かせません。Snykのような開発者中心のプラットフォームが、その道のりをあらゆる段階で支援します。
