SnykCon のまとめ: 開発者中心の AppSec プログラムの構築
January 27, 2022
0 分で読めますアプリケーションセキュリティプログラムを構築するのは大変なことです。シフトレフトを促進するコンテンツが次々と出てくるのは刺激的ですが、それだけで導入を開始できるわけではありません。AppSec において成熟している企業と比較すると、ギャップは克服できないほど大きく見えますが、実行可能な計画については各社が模索しているような状況です。ソフトウェア開発の他の分野と同様、アプリケーションセキュリティは旅のようなものです。いくつかの指針となる原則があれば、旅を楽しめるかもしれません。
昨年の SnykCon では豊富な AppSec のヒントとベストプラクティスが提供されましたが、Snyk の顧客を対象とした 2 つの講演では、企業内で安全に開発するカルチャーを築いて維持するプロセスに焦点が当てられていました。その中で、Visma の AppSec アドバイザー、パー・オルソン氏 (Per Olsson) が、開発者からセキュリティアドバイザーに転身した際に得た教訓を語っています。もう一方の講演では、さまざまな業界の 3 人のセキュリティ専門家のパネルで、効果的なセキュリティプログラムをゼロから構築する方法が話し合われました。
これらの講演では、AppSec プログラムの開発段階、マイルストーン、および課題の扱い方に関する議論がなされ、セキュリティカルチャーを築くための方向性が示されています。
AppSec プログラムをゼロから開始する
AppSec とは
プログラムをまったくゼロの状態から構築する場合、アプリケーションセキュリティのセキュリティとは何か、また自社にはどんなニーズがあるか理解しておくことが重要です。オルソン氏は「AppSec とはアプリケーションセキュリティのためのものではまったくない」と言い、このことをうまく表現しています。セキュリティは人材から始まります。開発者、管理者、品質保証チーム、設計、法務など、企業を構成するすべての人材がセキュリティプログラムの基盤となります。セキュリティインシデントの多くはヒューマンエラーの結果であり、スケジュールがタイトな場合、チームは費用対効果が明確な機能やタスクを優先して、セキュリティを軽視することがあります。したがって、最初のステップはセキュリティを優先することです。
小さく始める
SnykCon のエキスパートたちに共通しているのは、「小さく始める」ということです。大規模なセキュリティプログラムは一朝一夕には実現できないため、開発の初期段階での比較は避けなければなりません。Visma のセキュリティチームは、マネージャーと数人の開発者からなるスペシャルインタレストグループとして始まりました。Pearson の DevSecOps 責任者、ニコラス・ビンソン氏 (Nicholas Vinson) と
10x Banking のサイバーセキュリティデリバリー責任者、ガガン・バティア氏 (Gagan Bhatia) の両者は、要件や潜在的な脅威について見極める点で協力することに関心のある開発者の小規模なチームに経験豊富なセキュリティエンジニアを引き入れるよう PM に勧めています。すべての開発者とセキュアコーディングプラクティスを共有し、既存の SDLC に AppSec をどのように実装するかについて、開発者が創造力を発揮できるようにすることが重要です。最終的な目標は、セキュアコーディングに向けたカルチャーの転換であり、それは個人から始まります。
コントロールのリリース
最後に、セキュリティは (一部の) コントロールを手放さなければなりません。セキュリティチームは、開発者のガイドまたリソースであるべきで、監視者となってはなりません。これまでのセキュリティ手法に関するサイロ化したカルチャーは、透明性と横断的な協力関係に置き換えていく必要があります。企業内のすべてのチームにはさまざまなニーズ、目標があり、仕事を行う方法が異なります。開発チームに実用的なツールとガイダンスを提供することで、開発チームはAppSec プログラムに責任を持ち、セキュアコーディングプラクティスの導入に向けた取り組みを強化できます。
成熟した AppSec アプローチの調整
継続的改善
プログラムが軌道に乗ったら改善プロセスが始まります。セキュリティ部門、開発部門、経営陣の間で信頼関係が深まるにつれて、ツールやワークフローの評価が可能になります。オルソン氏は、協力する開発チームと話し合い、評価を行いました。その結果、拡大を続けるセキュリティチームの業務が効率化し、開発者のニーズを満たすセキュリティ計画を策定し、これまで対応できていなかった脅威を見極めることができるようになりました。セキュリティタスクをシフトレフトするにつれて、AppSec プログラムで自動化と継続的なテストを実現でき、一貫性のあるデータが提供されるようになります。
成功の定義
多くの場合、拡大を続けるセキュリティチームは、成功の測定に苦労しています。機能の開発とは異なり、セキュリティ対策は常に目に見える成果をもたらすとは限りません (発生していない不正アクセスをどうしたら測定できるでしょうか)。また、ツールにより大量のデータが供給されますが、データのコンテキストを提供することはなかなか困難です。セキュリティプログラムの成功要因の定義については、「昨日まで知らなかったことを知る」ことが重要だと、Skybetting & Gaming のアプリケーションセキュリティプロダクトマネージャー、ステファン・ステグリッチ氏 (Stefan Steglich) は言います。
成功を測定する方法は、プログラムのメッセージに役立つものであるべきで、役立たないものは必要ありません。また、早い段階で成功体験を得るようにしましょう。プログラム全体に対する好意的なフィードバックであれ、セキュリティツールの普及であれ、一歩下がって、これまでの道のりを認識しておくことが重要です。
実用的な指標
ビンソン氏は実用的な指標として、設計要件、運用指標、セキュリティ成熟度評価の 3 種類の追跡を推奨しています。設計要件は、脅威モデリングからの出力になります。これらの指標は、識別されたすべての潜在的なリスクに AppSec プログラムで対応できているかどうか判断し、発生した新しい脅威を発見するのに役立ちます。運用指標は脆弱性の統計になります。SAST スキャンの出力であれ、修正の数であれ、これらの指標は脆弱性の傾向を示し、設計要件を明確化するのに役立ちます。最後に、セキュリティ成熟度評価により、これまでの指標とプログラム全体との関連性が示されます。この幅広い評価により、AppSec 導入の旅における現在地や、さらに前進する準備ができているかどうか見極めるのに役立ちます。未対応のニーズ、セキュリティタスクに対するチームの能力、およびセキュリティ原則がすべてのレベルで採用されているかどうか関するデータは、次のステップを計画するために不可欠です。
開発者を支援する AppSec
セキュリティチームの中心が 1 番目の社員であろうと 100 番目の社員であろうと、課題は同じです。セキュリティ計画を策定し、適切な指標を設定し、すべてをチームメンバーに説明することは、決して完了することのない継続的なプロセスです。AppSec プログラムの開発を支援するツールは、達成する効果に絶大な影響を及ぼします。汎用的なプログラム、または理論的なモデルに基づいているプログラムは、カスタマイズされたセキュリティアプローチには適さないかもしれません。豊富なデータを提供するスキャンソフトウェアは、セキュリティの専門家にとっては便利かもしれませんが、当社が支援の対象としている開発者にとってはそうではありません。
そのため、Snyk は開発者のことを考えて設計されています。Snyk のプラットフォームは、セキュリティチームと開発チームの両者が単一のプラットフォームでアプリケーションのセキュリティを確保できるよう、企業を支援しています。コーディング中に (わずか 5 分で) 脆弱性を発見して修正できれば、アプリケーションセキュリティのプロセスからボトルネックを取り除くことができます。今すぐ無料トライアルを開始し、Snyk が何百万人ものプログラマーを支援し、すばやく開発してセキュリティを確保できるようにしている方法をご確認ください。