セキュアな開発は、AppSecの免疫システムであるべきです

アプリケーションセキュリティの専門家であるあなたの仕事は、組織のアプリケーションのサイバーセキュリティを確保することです。しかし、アプリケーションが動作するコードを書く責任はあなたにはありません。それは開発チームのエンジニアの役割です。では、彼らがセキュリティを意識してシステムを開発するように仕向けるにはどうすればよいのでしょうか。
おそらく、あなたは以下のような取り組みのいくつか、あるいはすべてを行っているのではないでしょうか。
- すべてのコードをレビューしてセキュリティ上の欠陥を見つけ、開発チームに修正を依頼する。
- セキュア開発ライフサイクル全体を通じて厳格なピアレビュープロセスを徹底する。
- 社内外のセキュリティチームによる定期的なアプリケーション診断やペネトレーションテストを実施する。
- スキャンツールを導入して脆弱性を検出する。
これらは優れたベストプラクティスですが、コストがかかるうえ、病気になるたびに抗生物質を服用するようなものです。多額の費用がかかるだけでなく、効果が薄れ、長期的には免疫系を弱めてしまう可能性さえあります。
開発者がリリースするコードが、そもそも安全に書かれていることを確実にするにはどうすればよいのでしょうか。
セキュアコーディングはさておき、まずは人がどのように学ぶかを考えてみましょう。私たちの多くは視覚的に学び、実践を通じて習得します。それにもかかわらず、セキュアコーディングのトレーニングは「形式的なチェックリスト」として提供されることが多く、開発者の日々の業務とはかけ離れています。これは、業界標準への準拠を証明するために行われることが多く、開発者が知識を定着させることや、学習プロセスを楽しむことなど二の次になっています。
人間が学ぶもう一つの方法は、免疫系と同じように、失敗から学ぶことです。T細胞は、過去に遭遇して撃退した病原体を記憶し、将来の脅威から体を守ります。これこそが、開発者があなたのセキュアSDLCにおいて果たすべき役割です。
開発者にミスをしないよう期待するのは非現実的ですが、将来的にセキュリティ脆弱性につながるコーディングパターンを認識できるように準備させることは可能です。
これこそが、堅牢なピアレビュープロセスが強力である理由です。ある開発者がセキュリティ上の欠陥に気づかなくても、別の開発者が気づくかもしれません。開発チーム全体のスキルが向上すればするほど、脆弱性は早期に発見され、本番環境に持ち込まれることはなくなるでしょう。
ソフトウェアの脆弱性は病原体に似ています
ソフトウェアの脆弱性は、戦うために記憶しておく必要があるという点で病原体に似ています。病原体の場合、深刻な病気を防ぐために、免疫系がそれを撃退する方法を記憶するまで、何度も曝露する必要があることがよくあります。
脆弱なソフトウェアを突いたサイバー攻撃は、組織に壊滅的な打撃を与えかねません。しかし、開発者が制御された環境でソフトウェアの脆弱性に触れることができれば、セキュアコーディングの知識とスキルを定期的に高め、実践することで、脅威に対する免疫を構築することができます。
制御された環境で開発者にセキュリティ上の欠陥を体験させる
病気を完全に防ぐことはできませんが、免疫力を高めて健康を維持するためにできることはあります。定期的な運動、健康的な食事、十分な睡眠などは、強い免疫系を維持するためのライフスタイルとしてよく知られています。しかし、これらには多少の努力が必要であり、継続しなければなりません。1週間毎日ジョギングをしたり、1ヶ月間禁酒したりするだけでは、全体的な健康状態はほとんど改善しません。また、ランニングを始めた初日に10km走るのも賢明ではありません。まずは心臓や筋肉を運動に慣らす必要があります。自分自身の体に合ったバランスや、自分が楽しめる健康的な食事や運動を見つけるには、試行錯誤が必要であることも私たちは知っています。
セキュアなソフトウェア開発も同じです。学習は時間と練習をかけて行われるものであり、開発者もセキュアコーディングのスキルを定期的に高めるための継続的なトレーニングが必要です。言うまでもなく、ソフトウェア開発は常に進化・適応しており、脆弱性も同様です。だからこそ、一度きりのトレーニングコースでは不十分なのです。開発者が潜在的な脅威を十分に理解し、適切に防御できるようになるためには、定期的なスキルアップが不可欠です。
開発チーム内で集団免疫の獲得を目指す
たった一人で、あらゆるセキュリティ問題を未然に防ぐことはできません。チームにセキュリティチャンピオンがいるのは素晴らしいことですが、より強固な保護を実現するには、セキュリティの脆弱性とその防止策について学んだ人数が多ければ多いほど、組織が脅威を防げる可能性は高まります。これも、免疫系が目的別に異なる種類のT細胞を持っているのと変わりません。すべての開発者が、セキュリティを確保するチームの一員なのです。彼らが責任を持ち、それをうまくこなし、さらには楽しんで取り組めるようになれば、結果として開発チーム内にサイバー脅威に対する集団免疫を構築することができるでしょう。

繰り返し学習でセキュリティ意識を定着させる
私たちの脳の学習メカニズムは、免疫システムの働きとよく似ています。記憶と学習の分野の先駆者であるドイツの心理学者ヘルマン・エビングハウスは、学習とは時間をかけて繰り返し行う必要があると結論付けました。学校教育において、一度の説明だけで新しい知識を完全に習得できるとは誰も期待しません。まず情報が提示され、次に指導を受けながら練習し、最後に自分自身で実践します。試験に合格できるほど習得した知識であっても、その後定期的に活用しなければ、すぐに忘れてしまうのが人間です。高校で習ったフランス語を今でも覚えているという人は、一体どれほどいるでしょうか。
それなのに、たった1日のスライド講義やセキュリティに関する説明を聞くだけで、開発者がよりセキュアなコードを書けるようになると、どうして信じられるのでしょうか。
繰り返される脆弱性のパターンを見れば、その方法が通用しないことは明らかです。
では、どうすればセキュアな開発の「免疫」を獲得できるのでしょうか。
その答えは、私たちの本質にあります。体と心は同じ仕組みで機能しており、それに逆らうのではなく、うまく活用することで、素晴らしい解決策を生み出すことができるのです。
アプリケーションの安全性を確保するには、まず開発者がセキュアなコードを書けるようスキルアップさせる必要があります。そうでなければ、AppSecチームはすべてのコードのセキュリティ欠陥をレビューし、同じ脆弱性を開発側に報告し続けるという作業に追われ続けます。開発側はそれを場当たり的に修正するだけで、何も学びを得られません。そして、次のリリースでまた同じことの繰り返しになるのです。
改めて強調しましょう。

開発マネージャーと協力してこれに取り組めば、セキュアなSDLC(ソフトウェア開発ライフサイクル)を実装し、コンプライアンス上のセキュリティトレーニング要件を満たすだけでなく、開発プロセスに真の変革をもたらすことができます。さらに素晴らしいことに、AppSecチームが同じ脆弱性を何度も報告する必要がなくなり、開発者が修正に費やす時間も削減されます。その結果、彼らは世界をより良くする素晴らしいソフトウェアの開発と改善に、より多くの時間を割けるようになるのです。
開発チームのスキルアップを始めませんか?ぜひデモをご予約ください。
AI主導の開発をリリース前にガバナンスする
AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。
他のブログ記事を見る
セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
AIを活用した開発をリリース前にセキュアに
開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。



.avif)