安全なソフトウェア エンジニアを育成するための新しいパラダイム

AI開発者の時代におけるCISO の新たな課題はコードのセキュリティ。しかし、「ヴァイブコーディング」の時代に開発者のセキュリティ認識とは何を意味するのか?

CISO は既に、DevOps のスピードでセキュアコード原則に開発者を同期させるために、開発者をサポートするのに苦労していました。しかし現在、AI を活用した開発がコードの書き方と配信方法を再構成しているため、課題は急速に深刻化しています。

2年前は、エンタープライズソフトウェアエンジニアのわずか14%しか AI コーディングアシスタントを定期的に使用していなかったのに対し、Gartner の 予測によると、その数は2028年までに90%に急増する予定です。Faros AI のような分析企業の 調査では、実際にこの広範な導入がどのように見えるかを示しています。AI を使用している開発者は、プルリクエスト(PR)を98%増加させています。

セキュリティチームにとって、この速度は複合的な問題を生み出します。コードが増え、より速く生成され、レビューの時間が短くなります。理論的には、AI ツールはコードレビュープロセスのより手動的な部分の多くを自動化するのに役立つことができます。しかし実際には、まだ そこまでの精度では起こっていません。AI 駆動型コードレビューの有効性が向上しても、開発者トレーニングの廃止を意味するわけではありません。

トレーニングは変える必要があります。AI ツールが一般的なコードレベルの欠陥の検出と修正に優れるようになると、開発者セキュリティトレーニングの焦点は、システミックなソフトウェアリスクの脅威モデリングに関するより基本的な原則へとシフトします。廃止する必要があるものは、従来のトレーニング方法です。セキュリティリーダーの間でのコンセンサスは、開発者トレーニングが小さなサイズで、実践的で、ほとんどが開発者ツールチェーンに組み込まれている必要があるということです。

アウトプットから成果にフォーカスをシフト

AI を活用したコーディングが成熟するにつれて、一般的なコードレベルの脆弱性を検出するメカニズムはますますツール自体によって処理されるようになります。静的分析と自動修復と組み合わせた AI コーディングアシスタントは、開発者セキュリティトレーニングが伝統的に焦点を当ててきた行別の欠陥の多くを特定して修正することができます。これらは、SQL インジェクション、クロスサイトスクリプティング、安全でない設定など、セキュリティチームが数十年間開発者に指摘してきた厄介な問題です。

これにより、CISO は開発者の有効化とトレーニングへのアプローチを再考する必要があります。自動スキャンと修復が AI を活用した開発の標準になったとしても、チェックイン時のレビュープロセスは依然として他の多くのセキュリティ上の弱点を見落とす可能性があります。

「AI が生成したコードは構文的には正しい可能性がありますが、文脈的には無謀です」と、Exeter Finance のシニアセキュリティエンジニアで、開発者がより安全なソフトウェアを展開するために支援してきた AppSec アドボケートの Ankit Gupta は述べています。「開発者は『妥当だが信頼できない』AI 出力をふるい分けるために残されています。これにより、安全な開発のフォーカスはより作成エクササイズ以上の検証エクササイズになります。」

開発者を行別のコードレビューの準備に焦点を当てるのではなく、強調はデプロイ条件のコンテキストで機能と関数が安全に動作するかどうかを評価することに移ります。Carnegie Mellon University Software Engineering Institute の Rapid Fielding of High Assurance Software の技術ディレクターで、安全な DevOps アドボケートの Hasan Yasar は述べています。開発者は特に統合ポイント、アーキテクチャ、ロジック内のリスクを認識することができる必要があります。

「私たちはアウトプットから成果へシフトしています」と Yasar は述べ、目標は開発者が実際のランタイムでシステムがどのように機能するかを批判的に見るようにすることだと説明しています。「成果は、ユーザーに配信している機能です。これらの関数や機能が想定通りに動作していますか?」

開発者セキュリティトレーニングプラットフォーム SecureFlag のディレクター兼共同創設者の Emilio Pinna は、これはセキュリティ認識トレーニングがカバーする必要があることの根本的な変化を表していると述べています。「5年前、業界トレーニングは特定のパターンを教えていました:『これをしないでください。常にこれをしてください。』」と彼は言います。「今日、トレーニングは、開発者がそれがどのように生成されたかに関わらず、任意のコードを評価できるように、基本的な原則にも焦点を当てるべきです。」

開発者は、AI が生成したコードが安全でない仮定、安全でないデフォルト、または脆弱性をシステム全体にスケーリングできる統合を導入するかを認識する必要があります。より多くのセキュリティ実装が自動化されたエンジニアリングパイプラインに組み込まれているため、開発者は理想的には、自動化されたゲートが何をキャッチするか、および人間の判断がまだ必要なものを理解するためのトレーニングも受ける必要があります。「エンジニアリングのセキュリティ認識は、個別の脆弱性に焦点を当てるのではなく、システムレベルのアプローチにシフトしています」と Pinna は述べています。「これには、ID およびアクセス制御、依存関係、サプライチェーンリスクなどの問題が含まれます。」

脅威モデリングをコアコンピテンシーとして

このシステムレベルの思考はまた、脅威モデリングにおけるより大きな開発者の流暢さの必要性を強調する必要があると、Yasar は述べています。彼は脅威モデリングが歴史的にプロダクトセキュリティとエンジニアリングチームがスケーリングで実装するのが困難であったことを指摘しています。実践的な脅威モデリングへの長年の障壁の1つは、効果的な脅威モデルを構築するために必要な知識でした。チームは、アプリケーションがどのように使用されているかについての組織的なコンテキスト、アーキテクチャ、および関連するリスクについて十分に理解するのに苦労し、それをすべてまとめて最も関連性の高い潜在的な脅威を特定しました。

AI は実際にここに役立つ可能性があります。組織的なコンテキストとアーキテクチャパターンを合成することにより、AI は、以前は広範な手作業が必要であった脅威モデルを構築するのを簡単にすることができます。Yasar は述べています。しかし、AI は脅威モデリングのメカニクスを加速することができますが、開発者はまだ基本を理解する必要があります:信頼の境界についてどのように考えるか、保護する価値のあるアセットを特定する方法、および攻撃者がどのように機能を悪用する可能性があるかを予期する方法。開発者トレーニングを脆弱性回避から遠ざけようとしている CISO は、脅威モデリングスキルをコアコンピテンシーとして織り込むことを開始したいかもしれません。

これは、CTO と CISO がエンジニアリングチームの残りの開発者に「脅威モデリング直感」を育てるのを支援する必要があることを意味します。Suzu Labs の創設者兼CEO の Michael Bell は述べています。「それは単純な『このコードは動きますか?』チェックであることはできません。『これはどのように悪用されるでしょうか?』に変形する必要があります」と彼は言います。「コードを書く際の精神的負荷の大部分をオフロードしているため、出力されるコードをレビューするために、その開かれた時間と機会に焦点を当てましょう。」

Bell は、脅威モデリング直感を構築することは、攻撃者がアプリケーションをターゲットにする方法を開発者に示すサイバー範囲での作業のようなより高いレベルの実践的で没入的なトレーニングを必要とすると考えています。「AI がより多くのルーチンコーディング作業を処理するにつれて、人的価値は判断にシフトします」と彼は言います。「実践的なトレーニングは、講義とビデオでは行わない方法で判断を構築します。」

ガードレールにトレーニングの手がかりを組み込む

実践的なトレーニングの本当のコツは、高速エンジニアリング環境で開発者に提供する方法を見つけることです。AI を活用したコーディングはワークフローを加速させ、本番環境の期待をさらに目まぐるしくしています。CISO がトレーニングのために物事を遅くするよう要求するのに対し、CTO は銃を突きつけられた状態で相当な側目を得るでしょう。

「従来の静的な1回限りのコースは、今日の開発ライフサイクルではうまく機能しません」と Pinna は述べています。「有効であることが証明されているのは、実際のエンジニアリングシナリオを使用したラボでの継続的な実践的なトレーニングです。彼らはまた、文脈的で適切なタイミングの学習も必要としています。」

安全なコーディングリーダー間での新しいアプローチは、プラットフォームエンジニアリングを対象の開発エンジニアリングと組み合わせ、開発者が既に使用しているワークフローとツールに直接セキュリティガイダンスを組み込むことです。開発者が昨年のトレーニングで学んだことを覚えていることを期待するのではなく、セキュリティチームは教えることで実装されるガードレールを構築する必要があります。Pinna は述べています。

「セキュリティチームは開発パイプライン全体にスケールするガードレールを作成しています」と Pinna は述べています。「これらのガードレールはリスクを開発者向けのガイダンスに変え、自動化されたツールがトレーニングを強化することを確認します。目標はトレーニングと実装が一緒に機能することなので、ガードレールに遭遇することも開発者がセキュリティ原則を理解するのに役立ちます。」

Gupta は同様のビジョンを説明しています:「ユーザーがドキュメントを読むことを期待するのではなく、セキュリティ期待がパイプラインに組み込まれており、コントロールの存在を正当化する説明が記載されたポップアップと準拠方法が表示されます。」

それはポップアップを超えて拡張することもあります。開発者が実行した正確な問題に基づいて、5分、10分、15分の増分でオンデマンドマイクロラーニングを配信することは信じられないほど強力です。「私が使用するツールは、学習を支援する必要があります」と Yasar は述べています。

ガードレールとコントロールがトリガーされたデータは、AppSec チームによって、より詳細でありながら対象を絞った教育の作成と配信を促進するために使用できます。同じ脆弱性または統合パターンが何度も何度もポップアップされる場合、それはそのテーマに焦点を当てたトレーニングのシグナルです。

「AppSec チームは自動検出をトレーニングに結びつけるにおいて重要な役割を果たしています」と Bell は述べています。「同じ問題が繰り返し出現する場合、それはトレーニングの機会です。」

CISO の新しいトレーニング議題

賢い CISO は、ヴァイブコーディングランドスケープが、開発チームにより多くのセキュリティ知見を要求しようとしていることを既に理解しているかもしれません。これには、セキュリティリーダーがエンジニアリング経営陣とこれまで以上に密接に協力して、セキュリティ認識トレーニングのコンテンツと配信メカニズムの変化に影響を与える必要があります。

ここで既に説明した基本を超えて、セキュリティの専門家は、AI を活用したコーディングが組織内で行われるようになるにつれて、CISO が必死にアドレスする必要がある別の新しいセキュリティトレーニングワイルドカードがあると言っています。開発者は今、AI ツール自体内で安全に作業する方法でトレーニングを受ける必要があります。

「CISO は以下を質問する必要があります:AI ツールをセキュリティマインドセットで使用するために、エンジニアをどのようにトレーニングできますか?」と Yasar は述べています。「自分たちが要求しているもの、そしてこれらのツールから受け取っているものを評価および検証する方法を彼らにどのように教えることができますか?それはガバナンスに帰結するでしょう。」

これは、CTO および他の関連するステークホルダーと協力して、AI を活用したコードが人間のレビューを必要とする時期、AI ツールでどのタイプのデータを使用できるか、および AI の使用方法をコードが本番環境に到達する前にどのように管理されるかを定義する明確なポリシーを確立することを意味します。Gupta は、組織が既にこれらのルールを開発者の有効化プログラムの一部として形式化し始めていると述べています。

ここには、長年達成されていない安全で設計されたセキュアバイデザインの目標を最終的に実現する機会もあります。CISO は、プロンプトエンジニアリングガイダンスを使用してセキュリティ要件をコード生成のポイントに組み込むようにエンジニアリングチームと協力することができます。開発者にトレーニングと既製のプロンプト言語を提供するセキュリティチームは、彼らが最初からより安全なソフトウェアを生成するのに役立ちます。

「これで私はコンプライアンスをプロンプトに焼き付けることができます。アーキテクチャにコンプライアンスバイデザインを構築することができます」と Yasar は説明しています。「開発者の場合、Web ログインを構築し、その Web ログインが HITRUST コンプライアンスガイドラインに従うことを確認するようにツールに指示できます。『これらのガイドラインの詳細があります』と言えます。プロンプト自体にコンプライアンスバイデザインを挿入する非常に良い機会を与えるでしょう。」

このように、CISO は AI を活用したコーディングへのシフトを活用し、これまで以上に回復力のあるソフトウェアを構築するのに役立つ方法で利用することができます。

結論は、開発者トレーニングはここにとどまるということです。しかし CISO は、セキュリティの判断をエンジニアリングカルチャーに組み込むための変化に影響を与えるために、作業に取り組む必要があります。これは、CTO と手を携えて、脅威モデリング、ガードレール、AI ガバナンスの知恵を開発者が毎日使用するツールに直接織り込むことを意味します。

翻訳元: https://www.csoonline.com/article/4129134/the-new-paradigm-for-raising-up-secure-software-engineers.html

ソース: csoonline.com