アセスメント
Secure Code Warriorには、開発者のセキュアコーディングスキルを確認するための、「アセスメント」機能が搭載されています。提示されたコードから脆弱性の特定と修正を行う課題に挑戦させ、開発者が一定以上のスコアを獲得できるかをチェックします。獲得したスコアやテスト合否などを集計して表示するページで、管理者は開発者やチームの習熟度を確認できます。
狙い
アセスメントでは、主に以下の目的などで開発者のセキュアコーディングスキルをチェックできます。管理者は、脆弱性の種類や難易度を設定してテストを作成し、開発者の理解度をチェックすることができます。- Secure Code Warriorの「コース」機能で学習した内容が身に付いているのかをチェックする
- 開発者をプロジェクトにアサインして良いのかを判断するためにスキルをチェックする
- 中途採用をした人材のスキルレベルをチェックする
コース学習による理解度をチェック
アセスメントは、「コース」機能で学んだことが身に付いているのかのチェックで利用できます。例えば、70%以上の正答率であれば合格などの基準を設け、脆弱性の特定と修正を行う課題形式のテストを作り、開発者にアサインします。テストが設けられることで、開発者は自身のスキルを客観的に分析する貴重な機会となり、管理者はテストの結果から開発者やチームの習熟度を確認することができます。例えば、以下のような学習フローが効率的な学習と言えます。
*Secure Code Warrior 社によると、一気にたくさんの課題を克服しようとするのではなく、最も理解度が低い脆弱性 Top3に注力し、確実に理解を高める学習運用が推奨されています。
プロジェクトへのアサイン判断でスキルをチェック
開発者をプロジェクトにアサインする時に、その人が適任であるかを判断するためのスキルチェックとして、アセスメントを活用できます。アセスメントの結果により、セキュアコーディングスキルに応じたアサインを行うことが可能です。 プロジェクト開始時にアセスメントを活用することは、プロジェクトの成功に向けて有効な手段です。スキルレベルのベースライン確立で活用
アセスメントでは、組織全体やチームのセキュアコーディングレベルを向上させる目的でも活用できます。例えば、以下の運用例のように、Secure Code Warrior の「トーナメント」機能や「トレーニング」機能で見つかった最も理解度が低い脆弱性Top3に焦点を当てたアセスメントの実施から始め、それらの理解が向上するかを継続的に確認する活用方法もあります。- 弱点の脆弱性に焦点を当て、アセスメントを実施する
- Secure Code Warriorの「コース」機能や「トレーニング」機能などを実施し、3~4カ月間弱点に対する学習を行う
- 2回目のアセスメントを実施する
- その結果をもとに、組織全体やチームとして求めるスキルの基準(ベースライン)を確立する
このベースラインは、組織全体やチームとして求めるセキュアコーディングレベルの基準となります。例えば、今後、開発者をプロジェクトにアサインする際や、人材を中途採用する際などに、このベースライン(正答率)に基づいてスキルレベルを評価することができます。
デモサイトで体験
デモサイトでは、「ミッション・ウォークスルー」と呼ばれる問題形式に挑戦できます。ミッション・ウォークスルーでは、実際に脆弱性が実装されたアプリケーションに対して攻撃をしながらセキュアコーディングを学習することができます。動画 | ガイドライン | コーディングラボ | ミッション・ウォークスルー | 課題 | |
デモサイト | 〇 |