多くのコンピューター・サイエンス・プログラムではセキュア・コーディングのトレーニングは必要ありません。どうすれば遅滞なく開発者の教育のギャップを埋めることができるでしょうか。
拡大し続けるアタックサーフェスのリスク抑制を目指している組織は、アプリケーションのセキュリティ・プラクティスを厳しい目で見る必要があります。Forresterの「Show, Don’t Tell, Your Developers How to Write Secure Code」によると、従業員1,000人以上の企業のセキュリティに関する意思決定者の73%が、アプリケーションのセキュリティ機能およびサービスの改善が最優先事項または重要な優先事項であるとしています。Forresterの別の調査で、セキュリティ侵害の原因の上位2つがWebアプリケーションへの直接攻撃とソフトウェア脆弱性のエクスプロイトであったことを考えると、この結果は驚くに当たりません。
アプリケーション層でリスクに対処する方法はいくつかあります。多くの場合に、脆弱性を特定し、開発チームがそれを修正するためのソリューションとしてアプリケーション・セキュリティ・ツールが検討されます。確かに、アプリケーション・セキュリティ・ソリューションを用いてセキュリティの問題を特定することができますし、それは必要なことですが、アプリケーション・セキュリティ・ソリューションでは開発工程に遅滞が生じる場合もありますし、すべての問題が見つかるわけではありません。
アプリケーション層のセキュリティの問題を減らすもう一つの方法は、そもそも問題を招かないようにすることです。もちろん、開発チームがいつでも完璧なコードを約束することはできませんが、組織がセキュア・コーディング・プラクティスで開発者をトレーニングする措置を講じることはできます。開発者トレーニングはチームが最初からセキュアなコードを作成できるようにするために役立ちます。そのため、コード分析ツールで膨大な問題が発見されてその修正に追われる必要がありません。
なぜ危機に直面している組織が開発者をトレーニングするのでしょうか。トレーニングは開発者に支払う対価に含まれているはずではないでしょうか。そうではありません。コーディングに関するForresterのレポートでは、コンピューター・サイエンスの分野での上位5つの国際的な学校のいずれも、セキュア・コーディングやセキュア・アプリケーション設計をコース修了要件に含めていないことがわかりました。そうは言っても、組織がセキュア・コーディングのトレーニングに投資することを躊躇する十分な理由がまだあります。
開発者は、特にコーディング以外の面で、高コストです。開発者に仕事の手を休めてクラスルームやeラーニング・ソリューションでの時間を費やすことを求めるのは容易ではありません。チームは、遅滞を生じることなくセキュア・コーディングの技術を向上させる手段を開発者に提供する方法を見つける必要があります。
Code Sight™とSeeker®は、セキュリティ上の弱点や脆弱性を発見するためにコードをさまざまな方法で提示するシノプシス製品です。シノプシスのeラーニングでは、これらの製品との統合を通じて、製品で特定された問題に基づいてコースを推奨しています。これらのコースでは、開発者は最適な課題についての学習を深めることができます。
また、eラーニング統合では、eラーニングコースの短いスニペットも提供されます。各コースのスニペットは特定の問題に焦点を当てています。そのため、開発者は今すぐに必要な情報を入手し、すぐにコーディングに反映することができます。セキュア・コーディングのトレーニングを開発の実践に組み込むことで、シノプシスは開発者が都合のいいときに自分のペースで学べるよう支援します。
Code Sightは、開発者がコードを作成する際にCoverity静的解析エンジンを利用してコードを検査するIDEプラグインです。開発者はコードのセキュリティに関するリアルタイムのフィードバックを得ることができます。Code Sightとeラーニングの統合により、開発チームは現在直面している問題に関するセキュア・コーディング・トレーニングをIDEで受けることができます。
Seekerは、Webアプリケーションのセキュリティ脆弱性を特定、検証、トリアージするインタラクティブ・アプリケーション・セキュリティ・テスト(IAST)ソリューションです。SeekerはIDEに統合するのではなく、CI/CDパイプラインにドロップします。そのため、開発者はトリアージや修正の最中にeLearningコースのスニペットにアクセスできます。コースのこれらのスニペットを利用すると、Seekerで発見された問題について学習を深めることが容易になります。