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

2023年2月15日発行
テイラー・ブロードフット著
ケーススタディ

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

2023年2月15日発行
テイラー・ブロードフット著
リソースを見る
リソースを見る
黒と赤の抽象的な画像に、"Mitigating technical debt with developer-driven security"(開発者主導のセキュリティで技術的負債を軽減する)というテキストが書かれています。
黒と赤の抽象的な画像に、"Mitigating technical debt with developer-driven security"(開発者主導のセキュリティで技術的負債を軽減する)というテキストが書かれています。

借金について話そう 

サイバー犯罪が世界経済が直面する大きな問題になっていることは、今やほとんどの人が知っていることでしょう。2022年現在、米国で発生したデータ侵害の平均コストは、前年の905万ドルから944万ドルに達しています。安全でないコードとその蓄積された技術的負債がもたらすコストを無視しないことが重要です。2022年のConsortium for Information and Software Qualityによると、以下のようになります。The Cost of Poor Software Quality」レポートによると、米国におけるソフトウェア品質の低下によるコストは2兆4,100億ドル、蓄積されたソフトウェア技術債務は1兆5,200億ドルに上ると推定されています。 

安全でないコードとその技術的負債に対処するための急増するコストは、既存のコードベースに変更を加える際の最大の障害となっており、その結果、コードは悪用や外部の脅威に対して脆弱なままになっています。ソフトウェアセキュリティの現状は、存亡の危機に直面しています。セキュリティの姿勢を改善し、蓄積された技術的負債に対処しなければならないことはわかっていますが、その障壁は非常に大きいのです。 

  • 米国では、ソフトウェア開発者およびIT関連の未就労雇用が30万人、成長率は15%と予測されています。 
  • 2025年には、IT予算の40%が技術的負債の維持に費やされると予測されています。
  • 開発者の1週間の平均労働時間の1/3は技術的負債への対応に費やされている

迅速な解決は危険であり、長期的にはよりコストがかかる 

技術的負債とは何か、そしてなぜそれが重要なのか?技術的負債は、ソフトウェア開発の問題に対して、意思決定者がより徹底的で長期的な解決策ではなく、短期的な解決策を取ることで蓄積されます。このような技術的負債には、後で支払わなければならない多額の隠れたコストが伴います。技術的負債には、クレジットカードの上限額を超えるような2つの主要な要素があります。

  • プリンシパル - ソフトウェアをリファクタリングまたは修正して、保守性とセキュリティの望ましいレベルに到達させるための総コストを指します。
  • 利息 - 開発者が技術的負債に対処するために、新しい機能ではなく、それらの変更に費やす余分な労力。正しくないコードに費やされた時間は、負債を増やすことになるのです。
技術的負債の影響は時間とともにどのように拡大するか

新機能やバグフィックス、メンテナンスにかかる費用がプロジェクト予算を上回り、ソフトウェアアプリケーションの価値が著しく低下する「技術破産」の状態に陥ることもある。 

しかし、人生と同じように多少の借金の積み重ねは普通であり、ほとんどの場合、ある程度予想されることです。 

すべてのソフトウェア開発者は,コードを出荷する前にバグをできる限り減らすことが理想的です.しかし、開発者は厳しいトレードオフに直面しています。競争力を高めるために、組織は機能や製品を最小限のコストで迅速に顧客に提供したいと考えるかもしれません。その結果、開発者のKPIは納品スピードと構築にかかる初期コストに基づいているため、アプリケーションの品質が低下してしまいます。その結果、アプリケーションの品質が低下してしまうのです。このため、将来的にバグやセキュリティの脆弱性が発生する可能性があり、さらに悪いことに、悪意のある人物に悪用される可能性もあります。 

しかし、そこに難問があります。大量の技術的負債を抱えることなく、製品を迅速に出荷する別の方法はないのでしょうか? 

欠陥や脆弱性を発見し修正するコストは、ソフトウェア開発ライフサイクルの中で最大の出費となります。開発ライフサイクルの早い段階で問題を発見すればするほど、納品時の費用対効果は高くなります。 

技術的負債がセキュリティ負債に発展する可能性がある

多くの開発者は、このトレードオフを回避するために、オープンソースコードを使用して、迅速に行動できるようにし、理想的には、すでに吟味されたソリューションを使用することを試みています。しかし、オープンソースソフトウェアに大きく依存することは、それ自身のリスクをもたらすことがよくあります。 

  • 82%のオープンソースコンポーネントが時代遅れであることが判明(例:パッチの未適用、サポートが十分でないなど) 
  • コードベースの75%に脆弱性が含まれ(2018年の60%から上昇)、49%に高リスクの脆弱性が含まれた 
  • コードベースごとに平均82件の脆弱性が確認されました。 

これは、技術的負債のサブセットであるセキュリティ負債を増殖させる。セキュリティ負債とは、ソフトウェアアプリケーションに脆弱性が蓄積され、データやシステムを攻撃から守ることが難しくなる、あるいは不可能になることです。

最も悪名高い例として、2017年に 信用調査大手のEquifaxが侵入さ れましたが、これはオープンソースの人気ウェブアプリケーションフレームワークであるApache Strutsの既知の脆弱性にパッチを当てなかったことが原因でした。パッチは数カ月前から入手可能でしたが、この侵害により1億4700万人以上の重要な個人データが流出しました。

したがって、多くのアプリケーションは、その技術的負債だけでなく、アプリケーション自体のセキュリティ上の弱点や脆弱性の密度が臨界点に達しているため、安全なコーディングの実践にもっと注意を払う必要があります。

その結果、有形無形の莫大な損失が発生する可能性があります。 

風評被害。 お客様の信頼を失うことは、将来的に非常に悪い影響を与える可能性があります。これには、ブランドへのダメージ、売上の損失、侵害の結果生じる費用のかかる法的問題などが含まれる可能性があります。 

規制やコンプライアンスへの影響。 セキュリティ侵害により、企業が納期や契約上の義務に間に合わなくなる場合。SLAを遵守できない場合、企業は規制当局とトラブルになり、多額の罰金を科される可能性があります。 

修復費用。 障害発生後、生産性の低下を補うために余分な作業が発生することが多い。

SDLCにおける技術的負債とセキュリティ負債の防止

すでに多くの組織が、より強固なセキュリティ態勢を構築するために予算をシフトしています。昨年、 Googleはサイバーセキュリティを強化するプログラムの資金として 5年間で100億ドルを拠出することを約束しました。 またバイデン政権は、サイバーセキュリティおよびインフラセキュリティ庁(CISA)のために、2022年の裁量予算で21億ドルを要求しました。 

開発者の専門的な知識と成長を支援するために、より多くのリソースとトレーニングを提供することは、本番環境に出荷されるすべてのコードの品質基準を確立する最初のステップとなります。 

脆弱性や欠陥の発見と修正にかかるコストは、ソフトウェア開発サイクルの後半になるほど指数関数的に増加します。そして、これまで見てきたように、技術的負債やセキュリティ負債の対応に多くの時間を費やすことで、組織はイノベーションと新機能や新製品の開発に費やす時間を放棄し、自ら損失を生み出しているのです。 

2022年、開発者チームの過半数がDevOpsまたはDevSecOpsを選択する方法論であると答えましたが、その理由は当然と言えるでしょう。DevSecOpsは、ソフトウェア開発ライフサイクルの各段階でセキュリティを統合し、より優れた、より安全なアプリケーションを提供します。セキュリティチームと開発チームは依然としてサイロで作業し、緊張関係にありますが、ビジネスの成功のためにはこれを変える必要があることは明らかです。DevOpsは、組織が障壁を取り除き、文化を再構築しようとする方法の一部です。DevSecOpsの基本的な目標は、ソフトウェア開発ライフサイクルの初期段階から、AppSec/セキュリティと開発者の間のコラボレーションを強化することです。

出典情報・ソフトウェア品質コンソーシアム。米国におけるソフトウェア品質低下のコスト 2022年版レポート 

技術的負債とセキュリティに対処するための新しい考え方を導入することは、途方もない偉業である必要はない。組織の開発者コミュニティのセキュリティ意識とスキルを向上させるためには、トレーニングを通じてプロアクティブな考え方を確立することが重要である。開発者向けの堅牢なセキュアコーディング教育では、学習が継続的かつインタラクティブで、関連性が高く、文脈に応じたものであることが必要である。真に全体的なアプローチでは、開発者主導の真のセキュリティ文化を醸成するために何が必要かを考えなければならない。そのためには、開発者チームを管理・構築する一般的な方法から焦点を変える必要があるかもしれません。

しかし、Secure Code Warrior は、セキュリティチャンピオンを特定し、開発者と組織が今日の刻々と変化するセキュリティの課題に取り組むための適切なスキルを身につけるのを支援します。 

魅力的で拡張性のあるセキュアコードプログラムを立ち上げることは、これまでの消極的な方法ではなく、セキュリティに対する長期的な予防的アプローチであるため、価値ある投資と言えます。これは最終的に、侵害による高価なリスクを軽減し、脆弱性を迅速に発見し修正する方法について開発者を教育し、製品開発により俊敏に集中し、市場投入までの時間を加速するのに役立ちます。

リソースを見る
リソースを見る

もっと詳しく知りたい方はこちら

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約する
著者

テイラー・ブロードフット

Taylor Broadfoot-Nymarkは、Secure Code Warrior のプロダクト・マーケティング・マネージャーである。サイバーセキュリティやアジャイルラーニングに関する記事を執筆するほか、製品立ち上げ、GTM戦略、カスタマーアドボカシーを主導。

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

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

2023年2月15日発行
テイラー・ブロードフット著

借金について話そう 

サイバー犯罪が世界経済が直面する大きな問題になっていることは、今やほとんどの人が知っていることでしょう。2022年現在、米国で発生したデータ侵害の平均コストは、前年の905万ドルから944万ドルに達しています。安全でないコードとその蓄積された技術的負債がもたらすコストを無視しないことが重要です。2022年のConsortium for Information and Software Qualityによると、以下のようになります。The Cost of Poor Software Quality」レポートによると、米国におけるソフトウェア品質の低下によるコストは2兆4,100億ドル、蓄積されたソフトウェア技術債務は1兆5,200億ドルに上ると推定されています。 

安全でないコードとその技術的負債に対処するための急増するコストは、既存のコードベースに変更を加える際の最大の障害となっており、その結果、コードは悪用や外部の脅威に対して脆弱なままになっています。ソフトウェアセキュリティの現状は、存亡の危機に直面しています。セキュリティの姿勢を改善し、蓄積された技術的負債に対処しなければならないことはわかっていますが、その障壁は非常に大きいのです。 

  • 米国では、ソフトウェア開発者およびIT関連の未就労雇用が30万人、成長率は15%と予測されています。 
  • 2025年には、IT予算の40%が技術的負債の維持に費やされると予測されています。
  • 開発者の1週間の平均労働時間の1/3は技術的負債への対応に費やされている

迅速な解決は危険であり、長期的にはよりコストがかかる 

技術的負債とは何か、そしてなぜそれが重要なのか?技術的負債は、ソフトウェア開発の問題に対して、意思決定者がより徹底的で長期的な解決策ではなく、短期的な解決策を取ることで蓄積されます。このような技術的負債には、後で支払わなければならない多額の隠れたコストが伴います。技術的負債には、クレジットカードの上限額を超えるような2つの主要な要素があります。

  • プリンシパル - ソフトウェアをリファクタリングまたは修正して、保守性とセキュリティの望ましいレベルに到達させるための総コストを指します。
  • 利息 - 開発者が技術的負債に対処するために、新しい機能ではなく、それらの変更に費やす余分な労力。正しくないコードに費やされた時間は、負債を増やすことになるのです。
技術的負債の影響は時間とともにどのように拡大するか

新機能やバグフィックス、メンテナンスにかかる費用がプロジェクト予算を上回り、ソフトウェアアプリケーションの価値が著しく低下する「技術破産」の状態に陥ることもある。 

しかし、人生と同じように多少の借金の積み重ねは普通であり、ほとんどの場合、ある程度予想されることです。 

すべてのソフトウェア開発者は,コードを出荷する前にバグをできる限り減らすことが理想的です.しかし、開発者は厳しいトレードオフに直面しています。競争力を高めるために、組織は機能や製品を最小限のコストで迅速に顧客に提供したいと考えるかもしれません。その結果、開発者のKPIは納品スピードと構築にかかる初期コストに基づいているため、アプリケーションの品質が低下してしまいます。その結果、アプリケーションの品質が低下してしまうのです。このため、将来的にバグやセキュリティの脆弱性が発生する可能性があり、さらに悪いことに、悪意のある人物に悪用される可能性もあります。 

しかし、そこに難問があります。大量の技術的負債を抱えることなく、製品を迅速に出荷する別の方法はないのでしょうか? 

欠陥や脆弱性を発見し修正するコストは、ソフトウェア開発ライフサイクルの中で最大の出費となります。開発ライフサイクルの早い段階で問題を発見すればするほど、納品時の費用対効果は高くなります。 

技術的負債がセキュリティ負債に発展する可能性がある

多くの開発者は、このトレードオフを回避するために、オープンソースコードを使用して、迅速に行動できるようにし、理想的には、すでに吟味されたソリューションを使用することを試みています。しかし、オープンソースソフトウェアに大きく依存することは、それ自身のリスクをもたらすことがよくあります。 

  • 82%のオープンソースコンポーネントが時代遅れであることが判明(例:パッチの未適用、サポートが十分でないなど) 
  • コードベースの75%に脆弱性が含まれ(2018年の60%から上昇)、49%に高リスクの脆弱性が含まれた 
  • コードベースごとに平均82件の脆弱性が確認されました。 

これは、技術的負債のサブセットであるセキュリティ負債を増殖させる。セキュリティ負債とは、ソフトウェアアプリケーションに脆弱性が蓄積され、データやシステムを攻撃から守ることが難しくなる、あるいは不可能になることです。

最も悪名高い例として、2017年に 信用調査大手のEquifaxが侵入さ れましたが、これはオープンソースの人気ウェブアプリケーションフレームワークであるApache Strutsの既知の脆弱性にパッチを当てなかったことが原因でした。パッチは数カ月前から入手可能でしたが、この侵害により1億4700万人以上の重要な個人データが流出しました。

したがって、多くのアプリケーションは、その技術的負債だけでなく、アプリケーション自体のセキュリティ上の弱点や脆弱性の密度が臨界点に達しているため、安全なコーディングの実践にもっと注意を払う必要があります。

その結果、有形無形の莫大な損失が発生する可能性があります。 

風評被害。 お客様の信頼を失うことは、将来的に非常に悪い影響を与える可能性があります。これには、ブランドへのダメージ、売上の損失、侵害の結果生じる費用のかかる法的問題などが含まれる可能性があります。 

規制やコンプライアンスへの影響。 セキュリティ侵害により、企業が納期や契約上の義務に間に合わなくなる場合。SLAを遵守できない場合、企業は規制当局とトラブルになり、多額の罰金を科される可能性があります。 

修復費用。 障害発生後、生産性の低下を補うために余分な作業が発生することが多い。

SDLCにおける技術的負債とセキュリティ負債の防止

すでに多くの組織が、より強固なセキュリティ態勢を構築するために予算をシフトしています。昨年、 Googleはサイバーセキュリティを強化するプログラムの資金として 5年間で100億ドルを拠出することを約束しました。 またバイデン政権は、サイバーセキュリティおよびインフラセキュリティ庁(CISA)のために、2022年の裁量予算で21億ドルを要求しました。 

開発者の専門的な知識と成長を支援するために、より多くのリソースとトレーニングを提供することは、本番環境に出荷されるすべてのコードの品質基準を確立する最初のステップとなります。 

脆弱性や欠陥の発見と修正にかかるコストは、ソフトウェア開発サイクルの後半になるほど指数関数的に増加します。そして、これまで見てきたように、技術的負債やセキュリティ負債の対応に多くの時間を費やすことで、組織はイノベーションと新機能や新製品の開発に費やす時間を放棄し、自ら損失を生み出しているのです。 

2022年、開発者チームの過半数がDevOpsまたはDevSecOpsを選択する方法論であると答えましたが、その理由は当然と言えるでしょう。DevSecOpsは、ソフトウェア開発ライフサイクルの各段階でセキュリティを統合し、より優れた、より安全なアプリケーションを提供します。セキュリティチームと開発チームは依然としてサイロで作業し、緊張関係にありますが、ビジネスの成功のためにはこれを変える必要があることは明らかです。DevOpsは、組織が障壁を取り除き、文化を再構築しようとする方法の一部です。DevSecOpsの基本的な目標は、ソフトウェア開発ライフサイクルの初期段階から、AppSec/セキュリティと開発者の間のコラボレーションを強化することです。

出典情報・ソフトウェア品質コンソーシアム。米国におけるソフトウェア品質低下のコスト 2022年版レポート 

技術的負債とセキュリティに対処するための新しい考え方を導入することは、途方もない偉業である必要はない。組織の開発者コミュニティのセキュリティ意識とスキルを向上させるためには、トレーニングを通じてプロアクティブな考え方を確立することが重要である。開発者向けの堅牢なセキュアコーディング教育では、学習が継続的かつインタラクティブで、関連性が高く、文脈に応じたものであることが必要である。真に全体的なアプローチでは、開発者主導の真のセキュリティ文化を醸成するために何が必要かを考えなければならない。そのためには、開発者チームを管理・構築する一般的な方法から焦点を変える必要があるかもしれません。

しかし、Secure Code Warrior は、セキュリティチャンピオンを特定し、開発者と組織が今日の刻々と変化するセキュリティの課題に取り組むための適切なスキルを身につけるのを支援します。 

魅力的で拡張性のあるセキュアコードプログラムを立ち上げることは、これまでの消極的な方法ではなく、セキュリティに対する長期的な予防的アプローチであるため、価値ある投資と言えます。これは最終的に、侵害による高価なリスクを軽減し、脆弱性を迅速に発見し修正する方法について開発者を教育し、製品開発により俊敏に集中し、市場投入までの時間を加速するのに役立ちます。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。