背景
エンベストネット社は上場金融テクノロジー企業であり、5.3兆ドルの資産と1,850万以上の投資家口座を管理しています。エンベストネットの使命は、アドバイザーや金融サービス提供者に革新的な技術、ソリューション、情報を提供し、すべての人の金融的幸福を実現することです。 エンベストネットは、世界中の資産管理分野で金融アドバイザーが使用するサービスとソフトウェアを統合した主力アドバイザリープラットフォームにより、資産管理技術市場のリーダーとしての地位を確立しています。
エンベストネットのデータ管理におけるベストプラクティスへの取り組みには、資産運用プラットフォームの継続的な監視が含まれます。リスクベースの継続的コンプライアンス対策により、コンプライアンス上の問題や潜在的な不具合を迅速に特定・解決します。エンベストネットは、サービス提供において最高水準のセキュリティ対策を講じることで、顧客データの保護において業界をリードしています。
エンベストネットの製品セキュリティ責任者であり『アプリケーションセキュリティマニュアル』の著者であるデレク・フィッシャーが、Secure Code Warrior 包括的アプローチをご紹介します。このアプローチは、開発チーム向けにセキュアコードの迅速な導入を実現し、脆弱性の削減を目指しています。 デレクはアプリケーションセキュリティ分野で10年以上の経験を持ち、数多くのセキュリティ上の成功と失敗を目の当たりにしてきました。その独自の専門知識を活かし、エンベストネットの開発者向けにセキュアコード学習環境を構築しています。
状況
デレクが初めてアプリケーションセキュリティの分野で職務に就いた時、彼はOWASPトップ10やコンプライアンスに関する基礎トレーニングを超えることを目指していた。同社にはセキュアSDLCのプロセスが一部存在したが、それらは主に脆弱性の検出に重点を置いており、必ずしも根本的な修正を伴うものではなかった。
デレクによれば、「我々は皆、あらゆる組織で義務付けられている年次コンプライアンス研修についてよく知っている。これは通常、私が『パワーポイントによる死』と呼ぶもので、大量のスライドと、おそらく最後に評価があるだけだ... これは本当に非効率的で時間がかかる。我々は研修を受けたが、それは通常のコンプライアンス研修を基盤とし、スライドと音声記録に基づくセキュリティ特化研修だった。開発者たちの関心が低く、教材からあまり学んでいないことに気づいた。そこで戦略を変更せざるを得なかった」
この伝統的な戦略、つまり単にOWASPに準拠した受動的なコンプライアンス研修を通じて開発者を育成するという手法は、デレクとそのチームにとって特に苦痛を伴うものでした。研修の効果を測定できなかったため、脆弱性管理に費やす時間がますます増加していったのです。
デレクは、脆弱性の根源である開発者によって本番環境に投入された安全でないコードを検証することが重要であり、単に追加のツールを導入するだけでは解決策にならないと認めた。
デレクとそのチームは2020年、脆弱性の軽減に重点を置き、最初からより安全なコードを書くことを目指しました。彼らは「左にシフト」戦略を採用し、修正コストがはるかに低い段階で、SDLCのより早い段階で脆弱性を処理・修正しました。
しかし何よりもまず、彼らは既存のApp Sectrainingに対する開発者側の歴史的に低い関与に直面しなければならなかった。彼は、コードの安全な学習戦略において単なる「チェックボックス」的な考え方を導入することを避け、Envestnetの開発者に対してより効果的で機敏なコードの安全な学習体験を提供したいと考えていた。
SCWとその能力を目の当たりにした時、より実践的で双方向的なアプローチこそが我々にとって正しい解決策だと確信しました。エンジニアや開発者がこの研修を終える頃には、現実の問題に対する実践的な知識をより深く身につけている状態を目指したのです。 私たちは『トレーニングで見たことがある』という筋肉記憶を育みたかったのです。つまり『目の前のコーディング問題にどう対処すべきか、私は知っている』という感覚です。Secure Code Warrior エンジニアや開発者が実際に手を動かし、セキュアコーディングのベストプラクティスとは何か、悪いコーディングとはどのようなものか、脆弱性を迅速に解決する方法を真にSecure Code Warrior 。」
Derek Fisher, Envestnet製品セキュリティ責任者
アクション
デレックは特に、セキュアコーディングのスキルを認定資格で評価するベルト戦略の導入に力を入れていた。4段階のプログラムは、セキュリティ意識の基盤を固めること(レベル1と2)を目的とし、その後開発者がセキュリティのチャンピオンとなる道を開く(レベル3と4)ことを目指していた。 これにより、開発者がセキュアコーディングの概念をどの程度維持しているかを測定できないという課題が解決されると同時に、セキュリティ意識の高い開発者がキャリアパスを通じてより複雑なセキュリティ課題に対応できるスキルを磨ける道筋が保証された。
彼らは小規模なパイロットプロジェクトでこれをテストし、関係する開発者からフィードバックを求めました。フィードバックは非常に好意的でした。デレクは次のように記しています:
「これらの要素は必ずしも良い結果をもたらすとは限りません。トレーニングについて肯定的なフィードバックをいただくたびに、この点を強く強調しておきます。それは珍しいことです。それが適切なツールである良い指標となります。」
エンベストネットは2021年春に初のトーナメントを開催し、開発者の参加意欲の観点からより良好な結果を記録しました。 その後、Derekはデータベース、フロントエンド、API、クラウド開発者向けに、自社のLMSに統合された一連のコースを開始しました。2021年秋にEnvestnetが2回目のコンテストを開催した時点で、参加開発者の総数は倍増していました。
デレクによれば、エンベストネットはトーナメントで大成功を収めた。なぜなら、
「競争がモチベーションの源であることは誰もが知っています。私たちは皆、特定の分野での優れた成果を仲間から認められたいと思っており、それが人々に大会への参加と成功への意欲を本当に掻き立てます。この点と開発ツールへの統合が、Secure Code Warrior真の価値を私たちに示してくれました。」
デレクとチームはまた、Secure Code Warrior 統合する作業も行いました。これにより、特定の脆弱性が再現された場合、開発者は慣れ親しんだ環境を離れることなく、Jiraチケット内で直接、即時の修正アドバイスにアクセスできるようになりました。 これにより、開発者は貴重なコンテキストと、脆弱性の修正方法に関するオンデマンドの即時トレーニングを、必要な場所で、影響の発生点で受けられるようになりました。 Derekのチームはまた、Secure Code Warrior 協力Secure Code Warrior セキュリティデーSecure Code Warrior 、より広範なCEOの支持を獲得するとともに、Envestnetの成功におけるエンジニアリングとセキュリティの役割の重要性を強化しました。 経営陣と開発者のこのような支持を得て、エンベストネットはプログラムを現在の規模まで拡大することができました。現在、同社は特定した全セキュリティチャンピオンをプログラムに登録し、チーム全体の60%がレベル1または2の認定を取得しています。
結果
エンベストネットが自社の成功を測るために用いた手法の一つは、SCW学習プログラムを受講したチームを調査し、脆弱性の発生率が低下したか、あるいは脆弱性の修正がより迅速に行われるようになったかを判断することでした。その結果は驚くべきものでした:
- SCWで訓練を受けた開発者は、同等の開発者よりも2.7倍多くの脆弱性を修正した
- SCWで訓練を受けた100人の開発者が短期間で450の脆弱性を修正した
- SCWで訓練を受けた1,200人の開発者により、Envestnetは各々の対応待ちリストにおける是正措置を120%増加させることができた
- 1年間で、2つの製品ラインにおいて、SCWで訓練を受けた開発者は脆弱性に関連する問題を1人あたり4.5件解決したのに対し、同僚開発者は1人あたりわずか1.82件であった。
- すべてのセキュリティチャンピオンは2022年に認定プログラムを修了しました
- セキュリティ意識の高い開発者の60%以上がレベル1とレベル2を経ています
主なポイント
デレックは、安全なコード学習の道を歩み始めたばかりの人々に以下のアドバイスを提供します:
セキュリティ分野における私たちの仕事は、組織内のリスクを低減することです。これが私たちの真の指針であり、常に追求すべき目標です。重大な脆弱性が必ずしも最も高いリスクを示すとは限らず、組織に最も大きな影響を与えるとも限りません。 低リスクと高リスクの脆弱性が組み合わさり、はるかに強力な攻撃チェーンを形成する場合もあるのです。脆弱性が時間とともに蓄積されるほど、リスクは増大します。Secure Code Warrior、アジャイルなセキュアコーディング学習を通じて、この潜在的な脆弱性チェーンを事前に軽減する先制的なアプローチが可能になります。」
- 脆弱性をテストして報告するだけでは満足しないでください。結局、開発者にとって騒ぎになるだけです。
- AppSecはむしろ開発者のパートナーとなるべきであり、セキュアなコード学習戦略を実施する前に、開発者の理解と協力を得ることが重要です。
- ローマは一日にして成らず。あなたのプログラムは、リスクプロファイルの変化、企業の成長、そして技術とツールの進化に応じて進化していく必要があります。
- 最も効果的な長期戦略は、周囲の人々のセキュリティIQを向上させ、生み出される脆弱性の総数を減らすことである。