In this article
セキュリティチャンピオンとその役割
セキュリティチャンピオンプログラムの構築方法
セキュリティチャンピオンプログラムは、通常、エンジニアリングチームに所属し、特定の領域に関する知識を持つ開発者がセキュリティチャンピオンとなって構成されます。チャンピオンは、チーム内のセキュリティ課題の調整、追跡、報告を担います。また、セキュリティ上の問題の責任を一手に負うことなく、意思決定を行える権限を持ちます。セキュリティチームやAppSecチームと緊密に連携して対策を検討し、QAやテストを支援するほか、CI(継続的インテグレーション)環境の開発をサポートすることもあります。
優れたセキュリティチャンピオンは、一般にセキュリティへの関心が高い開発者です。開発チームごと、またはチーム群ごとに1人のチャンピオンを置くのが最も効果的です。誰にセキュリティの相談をすればよいかが明確になります。チームごとに複数の開発者が参加できるプログラムもあり、ボトルネックの解消につながる一方で、コミュニケーションが複雑になる場合があります。
自発的なチャンピオン
開発者には、役割を押し付けられるのではなく、自ら希望してセキュリティチャンピオンになってもらうのが理想です。すべての開発チームをカバーするため、各チームにプログラムへの参加を義務付ける企業もありますが、誰が参加するかはチームと開発者自身が決めるべきです。
チャンピオンに求められる活動や権限を踏まえて、プログラムに適した開発者像を提案してもよいでしょう。私たちが話を聞いた組織の中には、シニア開発者の参加を必須としているところもあれば、経験を問わず参加を促しているところもありました。自発的な参加者だけに頼れば、グループに加わりたいという意欲のある人が集まりやすくなります。一方で、組織全体を十分にカバーできない可能性もあります。
セキュリティ部門の参加
セキュリティチームもコーチやメンターとして参加します。セキュリティコーチは、組織内での担当領域に応じて、複数のチャンピオンを支援することがよくあります。チャンピオンをサポートし、重要な関係を築くことで、プログラムが円滑に進むよう支えます。
開発者とセキュリティチームの相互理解を深めることは、長年の課題です。開発チームにセキュリティ担当者を配置し、開発者がセキュリティチームと協働できるようにすることで、互いへの理解が深まり、プロセスも効率化できます。部門横断の連携は、それぞれが相手の課題を理解する助けとなり、全員にとって有益な新たな視点をもたらします。
トレーニングと能力開発
質の高いトレーニングでセキュリティチャンピオンを支援することは、成功の要です。開発者は、実践的なハッキング演習、脅威モデリング、セキュアコーディング、脆弱性の概念、優先順位付けを通じて、攻撃者の視点からセキュリティを学ぶ必要があります。コンピューターベースの研修や講師主導のコースといった従来の方法も有効ですが、ゲーミフィケーションやセキュリティチャレンジなど、参加意欲を高める方法も検討しましょう。カンファレンス、社内認定プログラム、業界認定資格も役立ちます。
セキュリティトレーニングの対象は、チャンピオンやセキュリティチームだけに限らず、セキュリティ意識の高い文化を築くために組織全体へ広げるべきです。セキュリティ意識向上プログラム、ランチ&ラーン、インシデント対応の模擬演習、社内セキュリティサミットなどを通じて、正式なトレーニングの内容を定着させることができます。
プログラムの運営
チャンピオンが集まる頻度はさまざまですが、月1回のミーティングが一般的です。新型コロナウイルス感染症の流行前は、参加への報酬や知識共有の機会として、半年に1回または年1回の対面ミートアップがよく行われていました。ミーティングを有意義なものにするには、構成を整え、事前に計画を立てることが大切です。
プログラム運営の不足は、よくある落とし穴です。大規模な組織では専任マネージャーが必要になる場合があります。小規模な組織でも、運営、責任の明確化、定期的なミーティングを誰かが担わなければなりません。この役割には、参加者、責任、報酬の管理も含まれます。
明確に定義された活動
プログラムを成功させるうえで重要なのは、役割、責任、活動内容を明確に定めることです。セキュリティチャンピオン自身がセキュリティ業務を行うとは限りませんが、チームがセキュリティの実践や手順を守るように支援します。担当業務には、脅威モデリング、ユニットテストから統合テストまでのテスト作成、コード上の課題に合わせた監視やログ記録の調整、OWASP Top 10などを活用したセキュリティ脅威や防御策の最新情報の把握などがあります。
シンプルに保つことが重要です。まずはチャンピオンの活動を1つか2つ明確に定め、プログラムの成熟に合わせて広げていきましょう。チャンピオンと各チームが達成すべきことを示すドキュメントも欠かせません。
報酬と評価
セキュリティチャンピオンプログラムへの参加にどのような報酬や評価を望むかは、人によって異なります。報酬は不要で、知識を深めたい、あるいはチャンピオングループに参加したいという人もいます(知識こそが最高の報酬です)。セキュリティを将来のキャリアと捉え、その世界に足を踏み入れる第一歩として参加する人もいます。多くの人は、先に触れた対面ミートアップや、DefCon、Black Hatなどのセキュリティカンファレンスのチケットといった特典を期待します。経営陣の目に触れるVPからの称賛や、社内カンファレンスでの紹介など、社内での評価もプログラムの魅力を伝えるよい機会になります。最後に、グループへの帰属意識やつながりを感じるために、Tシャツやパーカーがあれば十分という人もいます。チームの意向を確かめ、参加への感謝を伝える最適な方法を見つけましょう。
測定可能な目標
最も一般的な教育プログラムは、社内外のトレーニングや知識共有を組み合わせ、ベルト制度にも結び付けるものでした。特定のベルトレベルの人材を、アプリケーション開発の重要領域に一定数配置するというKPIや期待値を設けてもよいでしょう。たとえば、機密データを大量に扱うビジネスクリティカルなサービスがある場合、そのチームにブラウンベルトまたはブラックベルトのチャンピオンを配置することが望ましいかもしれません。一方、リスクが非常に低い領域では、チャンピオンやチームに、より高度なセキュリティトレーニングを求める必要性は低くなります。ベルトは、認定資格の取得、トレーニングの修了、セキュリティ業務の時間、チームプロジェクトや成果の推進・共有などに応じて付与されます。
成功を後押しする
ポジティブな働きかけやゲーミフィケーションを通じて、プログラムへの参加を促進できます。シンプルな報酬や評価に加え、組織の目標に合わせた体系的な手法を取り入れるだけでも、大きな効果が期待できます。文化に合った方法やチームの原動力を理解することが、魅力的で成果につながるプログラムの実現に役立ちます。
開発者のために設計されたIaCセキュリティ
Snykは、統合されたポリシー・アズ・コードエンジンにより、SDLCからクラウドでの実行時までInfrastructure as Codeを保護します。すべてのチームが安全に開発、デプロイ、運用できるよう支援します。