ソフトウェア・セキュリティのトレーニング

ソフトウェア開発者やアーキテクトは、元々はセキュリティに関する知識を持っていないことが多いため、ソフトウェア・セキュリティにおいて、トレーニングは重要な役割を果たします。

トレーニング・レベル1

[T1.1: 80] 意識向上のためのトレーニングを提供している。

SSGは、組織全体にわたってソフトウェア・セキュリティの文化を促進するため、意識向上のためのトレーニングを提供します。トレーニングは、SSGメンバー、外部の業者、社内のトレーニング部門、またはeラーニングが提供します。コースの内容は、特定の受講者のためにカスタマイズされている必要はありません。たとえば、プログラマー、品質保証エンジニア、プロジェクト・マネージャー全員が、同じ「ソフトウェア・セキュリティ導入」コースを受講できます。このアクティビティは、企業文化に意識的に対応したコースにカスタマイズすることでさらに強化できます。基本的なITセキュリティを説明する汎用初心者用コースや、高度のソフトウェア・セキュリティの概念を説明するコースでは、十分な結果は望めません。同様に、開発者のみに意識向上トレーニングを提供し、組織内の他の役割に提供しないと、十分な結果は得られません。

[T1.5: 34] 役割に固有の上級者向けカリキュラムを提供している(ツール、テクノロジー・スタック、バグ・パレード)。

ソフトウェア・セキュリティ・トレーニングは、受講者の意識を向上させるだけでなく、受講者がセキュリティ・プラクティスを各業務に統合できるようになるという効果があります。トレーニングは、ツール、テクノロジー・スタック、開発メソドロジー、および受講者の職務に最も関係のある種類のバグを対象とし、受講者に合わせてカスタマイズします。組織は、たとえば、アーキテクト、Java開発者、モバイル開発者、テスター用の4つのコースを提供できます。多くの場合、特定のツールのためのトレーニングも、カリキュラムに組み込まれます。トレーニングは、QA、製品管理、上級幹部など、組織のさまざまな役割に有用です。

[T1.6: 26] 会社の履歴に合わせた教材を作成し、使用する。

行動の変化を効果的に促し、持続させるためには、会社の履歴に合わせた教材をトレーニングで使用する必要があります。現状に問題があることを受講者が自覚すれば、自分の職務に教材がどのように関連があるかを理解し、学習したことをいつ、どのように適用すればいいかが理解できます。これを達成できる方法としては、トレーニングのカリキュラムに、過去に発生した会社に対する主な攻撃を例として使用することが挙げられます。開発者が使用していないプラットフォーム (Windows開発者は過去に起こったUnixの問題には興味を示しません)や、あまり一般的に使用されなくなった言語にのみ関連がある問題の例(Java開発者は、C言語のバッファー・オーバーフローについて理解する必要はありません)。例が現在でも業務に関連があり、情報が十分に公開されている場合のみ、会社の履歴から例を取る意味があります。

[T1.7: 47] 個人用のオンデマンド・トレーニングを提供する。

組織は、複数の役割にわたる個人向けのオンデマンド・トレーニングを提供することによって、トレーニングを提供するコストを削減し、受講者の負担を軽減できます。最適な選択肢はeラーニングで、登録制のプログラムを利用することで情報を最新に維持できます。オンライン・コースは、意図した目的を達成できるよう、興味深く、受講者に関連がある内容である必要があります。当然、受講されないまま放置されるようなトレーニングは何の役にもたちません。ポリシーに関する退屈な講義よりも、モバイルやクラウドなどの最新の話題の方が興味をひきます。開発者の場合は、必要なときにIDEを通して直接トレーニングを提供することも可能です。新しいスキル(コード・レビューなど)の学習には、講師による対面講義の方が適している場合もあります。

トレーニング・レベル2

[T2.5: 21] トレーニングとイベントを使ってサテライトメンバーの能力を強化している。

SSGは、上級者向けトピック(AWSクラウド開発のための最新のソフトウェア・セキュリティ技法など)についてゲスト・スピーカーの講演を依頼したり、特別イベントを催したりすることにより、サテライト・ネットワークを強化できます。ピザやビールを提供するのも一案です。自由参加の会議は、同僚意識の向上、知識の共有、または組織の効率性を目的とする、このアクティビティに含まれません。年に1、2回しか開催されなくても、実際に面談できる対面会議は他の方法では代替できません。

[T2.6: 23] 新人研修にセキュリティに関するトレーニングが含まれている。

技術部門への新人研修プロセスで、ソフトウェア・セキュリティに関するトレーニング・モジュールを修了することが要求されます。一般的な新人研修では、通常、強力なパスワードの選択方法や、会社の建物に入る前に尾行されていないか確認する方法などが説明されますが、このオリエンテーション期間中にセキュリティ上安全なコーディングやSSDL、社内のセキュリティ・リソースなどについての説明を加えることでさらに強化できます。目的は、新人をセキュリティ文化に参加させることです。技術部門での離職率は一般的に低くありません。一般的な新人研修モジュールは有効ですが、適切なタイミングで行われる包括的な初心者向けソフトウェア・セキュリティ・コースを代替できるものではありません。  

トレーニング・レベル3

[T3.1: 4] カリキュラムを通して、知識の向上を表彰する(認定証または人事)。

知識を得ること自体が報酬ですが、セキュリティ・カリキュラムを通して知識を深めることには、キャリアにとって有利になるなど、他のメリットもあります。表彰制度には、認定証や人事部からの業績評価などの公式のものと、年次レビュー時の表彰状などの、非公式の奨励制度があります。企業の教育部門や人事部がかかわると、セキュリティがキャリア・アップに与える影響がより明確になりますが、SSGは、企業内のセキュリティ知識を監視し続け、完全な管理および監督権を維持する必要があります。

[T3.2: 8] ベンダーや協力会社の従業員にトレーニングを提供している。

サプライヤーにはじめからセキュリティに関する教育を行う時間と工数は、特にアジャイル・チームが他のプロジェクトに移ってしまった場合、後日、どんな問題が発生したかを特定するためにかかる時間と工数よりずっと少なくてすみます。可能な場合は、社員に提供されているものと同じトレーニングを協力会社の従業員に提供します。協力会社全体にトレーニングを提供するより、協力会社の従業員に個人的にトレーニングを提供する方が、無理がなく、導入しやすくなります。無論、雇用形態に関係なく、ソフトウェアにかかわるすべての従業員にトレーニングを提供することは重要です。

[T3.3: 9] 外部ソフトウェア・セキュリティ・イベントを開催する。

外部のゲストやコンテンツを招待するセキュリティ・イベントを開催することにより、組織のセキュリティ文化を差別化要素として印象付けます。この良い例は、マイクロソフトのBlueHatやQUALCOMMのMobile Security Summitです。従業員には、特に急激に変化するテクノロジー分野に関する外部の視点を知るというメリットがあります。セキュリティ上の信用性を示すことで、組織全体にも利益があります([SM3.2 外部マーケティング・プログラムを実行している]参照)。特定の小規模のグループ向けのイベントを開催しても、必要な変化は得られません。 

[T3.4: 9] 再教育コースを年1回受講することを従業員に求めている。

SSDLにかかわるすべての従業員には、ソフトウェア・セキュリティ再教育コースを年1回受講することが求められます。再教育コースを提供することにより、従業員にセキュリティに関する最新情報を提供することができ、配置転換、メソドロジーの進化、デプロイメント・モデルの変更により組織の収拾がつかなくなる事態を防ぐことができます。SSGは、半日ほどのコースで、セキュリティ環境に関する最新情報や、ポリシーや標準の変更事項に関して説明します。再教育コースは、会社ぐるみの「セキュリティの日」に組み込んだり、社内セキュリティ・カンファレンスと同時に開催することも可能ですが、一度トレーニングを受けた受講者のみに対し有効です。

[T3.5: 5] SSGの運営時間が規定されている。

SSGは公表されている研究所の運営期間や、規定の運営時間中、すべての従業員にあらゆる支援を提供します。セキュリティ問題を解決する意欲のある非公式グループとして行動することで、SSGはアドバイスを与えられる機会を最大限活用し、報酬を強調します。運営時間の例は、上級SSGメンバーのオフィスで週1午後などです。要望に応じて行う特定の製品およびアプリケーション・グループへの視察などの移動事務局による運営も可能です。

[T3.6: 3] トレーニングを通したサテライトメンバーの特定。

サテライトは、平均以上のレベルのセキュリティに関する関心または技能、あるいは新しいテクノロジー・スタックおよび開発メソドロジーの知識を持つ、組織全体に分散した従業員の集まりから形成されます。このグループを積極的に特定することが、ソフトウェア開発へのセキュリティの導入を高速化するソーシャル・ネットワークの構築につながります。このグループは、トレーニング・コースや業務中にセキュリティに強い関心を示した人を目星として特定します( [SM2.3 サテライトの作成または拡大]参照)。一般的に、強制的に参加させたメンバーよりも、自発的に参加したメンバーの方が有力なメンバーになります。