開発者主導のセキュリティで技術的負債を軽減する

技術的負債について考えましょう
サイバー犯罪が世界経済にとって大きな脅威となっていることは、今や周知の事実です。2022年時点で、米国におけるデータ侵害の平均コストは944万ドルに達し、前年の905万ドルから増加しました。セキュアでないコードと、それに伴い蓄積される技術的負債のコストを軽視してはなりません。2022年のConsortium for Information and Software Quality(CISQ)による「ソフトウェア品質のコスト」レポートによると、米国におけるソフトウェア品質の低さに起因するコストは2.41兆ドルにまで膨れ上がり、蓄積された技術的負債は1.52兆ドルに達したと推定されています。
セキュアでないコードへの対応コストと技術的負債の増大は、既存のコードベースに変更を加える際の最大の障壁となっており、結果として悪用や外部からの脅威に対して脆弱な状態を招いています。ソフトウェアセキュリティは今、存続に関わる危機に直面しています。セキュリティ体制の強化と蓄積された技術的負債の解消が必要であることは明白ですが、その道のりには大きな障壁が存在します。
- 米国ではソフトウェア開発者やIT関連職の未充足求人が推定30万人存在し、今後15%の成長が見込まれています。
- 2025年までには、IT予算の40%が技術的負債の維持管理に費やされると予測されています。
- 開発者の週あたりの労働時間の平均3分の1が、技術的負債への対応に費やされています。
場当たり的な修正はリスクが高く、長期的にはコストが増大します。
技術的負債とは何か、なぜ重要なのでしょうか。技術的負債は、意思決定者がソフトウェア開発上の課題に対して、より包括的で長期的な解決策ではなく、短期的な解決策を選択した際に蓄積されます。これには、組織が後で支払わなければならない多大な隠れたコストが伴います。限度額いっぱいのクレジットカードと同様に、技術的負債には主に2つの要素があります。
- 元本 - ソフトウェアを望ましいレベルの保守性とセキュリティに到達させるために必要な、リファクタリングや修正にかかる総コストを指します。
- 利息 - 開発者が新しい機能ではなく、技術的負債を解消するための変更に費やす余分な労力のことです。不完全なコードに費やされるすべての時間が、負債に対する利息として積み重なっていきます。

新機能の開発、バグ修正、メンテナンスのコストがプロジェクト予算を超過すると、最終的に「技術的破綻」の状態に陥り、ソフトウェアアプリケーションの価値が著しく低下します。
しかし、人生における負債と同様に、ある程度の負債の蓄積は正常であり、多くの場合、ある程度は想定されるものです。
理想を言えば、すべてのソフトウェア開発者はコードをリリースする前にバグを可能な限り減らすべきです。しかし、彼らは厳しいトレードオフに直面しています。競争力を維持するために、組織は最小限のコストで迅速に機能や製品を顧客に届けたいと考えます。その結果、開発者のKPIがリリース速度や初期構築コストに基づいているため、アプリケーションの品質が犠牲になります。この状況で見落とされているのは、コードに組み込まれた欠陥や潜在的な脆弱性の蓄積です。これが放置されると、将来的にバグやセキュリティ脆弱性の温床となり、最悪の場合、悪意のある攻撃者に悪用されることになります。
しかし、ここにジレンマがあります。膨大な技術的負債を蓄積することなく、迅速に製品をリリースする別の方法はあるのでしょうか。
欠陥や脆弱性を発見・修正するコストは、ソフトウェア開発ライフサイクルにおいて最大の単一支出です。開発ライフサイクルの早い段階で問題を発見するほど、全体的なデリバリーの費用対効果は高まります。
技術的負債はセキュリティ負債へと発展する可能性があります
多くの開発者は、このトレードオフを回避するためにオープンソースコードを利用し、迅速に開発を進め、すでに検証済みのソリューションを活用しようとします。しかし、オープンソースソフトウェアへの過度な依存は、しばしばそれ自体がリスクを伴います。
- オープンソースコンポーネントの82%が期限切れ(パッチ未適用またはサポート不足)であることが判明しました。
- コードベースの75%に脆弱性が含まれており(2018年の60%から増加)、そのうち49%に高リスクの脆弱性が含まれていました。
- コードベースあたり平均82件の脆弱性が特定されました。
これは技術的負債の一種である「セキュリティ負債」を増大させます。セキュリティ負債とは、ソフトウェアアプリケーションに脆弱性が蓄積されることで、攻撃からデータやシステムを守ることが困難、あるいは不可能になる状態を指します。
最も悪名高い例の一つが、信用情報大手のEquifaxです。2017年に発生した情報漏洩は、広く利用されているオープンソースのWebアプリケーションフレームワーク「Apache Struts」の既知の脆弱性に対するパッチを適用していなかったことが原因でした。パッチは数ヶ月前から公開されていましたが、この漏洩により1億4700万人以上の重要な個人情報が流出しました。
そのため、セキュアコーディングの実践により一層の注意を払う必要があります。多くのアプリケーションにおいて、技術的負債だけでなく、アプリケーション自体に潜むセキュリティ上の弱点や脆弱性の密度が限界点に達しているからです。
これは、有形・無形を問わず、甚大な損失をもたらす可能性があります:
レピュテーション(評判)へのダメージ:顧客の信頼喪失は、将来的に極めて深刻な悪影響を及ぼします。これには、ブランド毀損、売上の減少、そして漏洩の結果として生じる高額な法的問題などが含まれます。
規制およびコンプライアンスへの影響:セキュリティ侵害により、企業が期限や契約上の義務を果たせなくなる可能性があります。SLA(サービス品質保証)を遵守できない場合、規制当局による調査の対象となり、多額の罰金を科される恐れがあります。
修復コスト:障害や停止が発生した後、生産性の低下を補うために追加の作業が必要となることがよくあります。
SDLCにおける技術的負債とセキュリティ負債の防止
多くの組織が、より強固なセキュリティ体制を構築するために予算をシフトしています。昨年、Googleはサイバーセキュリティ強化プログラムに5年間で100億ドルを投じることを表明しました。また、バイデン政権も2022年度の裁量的予算として21億ドルをサイバーセキュリティ・インフラセキュリティ庁(CISA)に要求しました。
開発者の専門的な成長と知識を促進するためのリソースやトレーニングを提供することは、本番環境にリリースされるすべてのコードの品質基準を確立するための第一歩となります。
脆弱性や欠陥の発見・修正にかかるコストは、ソフトウェア開発サイクルの後半になればなるほど指数関数的に増大します。これまで見てきたように、技術的負債やセキュリティ負債の解消に多くの時間を費やすことは、イノベーションや新機能・新製品の開発に充てるべき時間を奪い、組織自ら損失を生み出していることになります。
2022年、多くの開発チームがDevOpsやDevSecOpsを推奨する手法として挙げましたが、それには理由があります。DevSecOpsは、ソフトウェア開発ライフサイクルのあらゆる段階にセキュリティを統合し、より優れた安全なアプリケーションを提供します。セキュリティチームと開発チームの間には依然として分断や緊張関係が存在しますが、ビジネスの成功にはこの状況を変える必要があることは明白です。DevOpsは、組織が障壁を取り払い、文化を再構築しようとする取り組みの一環です。DevSecOpsの根本的な目標は、ソフトウェア開発ライフサイクルの最初から、AppSec(アプリケーションセキュリティ)やセキュリティ担当者と開発者の間の連携を強化することにあります。

技術的負債とセキュリティへの取り組み方を変えることは、決して途方もない偉業ではありません。組織の開発者コミュニティにおけるセキュリティ意識とスキルを向上させるには、トレーニングを通じてプロアクティブ(先見的)なマインドセットを確立することが不可欠です。開発者向けの堅牢なセキュアコーディング教育は、学習が継続的かつインタラクティブで、関連性があり、文脈に沿ったものであることを保証する必要があります。真に包括的なアプローチには、開発者主導のセキュリティ文化を育むために何が必要かを検討することが求められます。これは、開発チームの管理や構築に関する従来のやり方を見直す必要があるかもしれません。
文化を変えることは容易ではありませんが、Secure Code Warriorは、セキュリティチャンピオンを特定し、開発者や組織が今日の絶え間なく変化するセキュリティ課題に取り組むための適切なスキルを身につけられるよう支援します。
魅力的でスケーラブルなセキュアコードプログラムの立ち上げは、価値ある投資です。それは、過去のリアクティブ(事後対応的)な手法ではなく、セキュリティに対する長期的な予防的アプローチを可能にするからです。これにより、最終的には漏洩による高コストなリスクを軽減し、脆弱性を迅速に発見・修正する方法を開発者に教育し、製品開発と市場投入の迅速化に注力するための、よりアジャイルな手法を促進することができます。
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)