Topics Devsecops デベロッパーファーストのセキュリティとは?

デベロッパーファーストのセキュリティとは?


DevSecOpsは、開発、セキュリティ、オペレーションを単一の統合チームにまとめるように設計されたソフトウェア開発手法です。長きに渡り、アプリケーションセキュリティはソフトウェア開発プロセスにおいて後回しにされてきた分野です。DevSecOpsでは、セキュリティをシフトレフトしてかつてないほど開発に近づけることがコアビジョンとなっています。デベロッパーファーストのセキュリティとは、セキュリティの究極のシフトレフトとなり得る比較的新しい概念です。この概念においては、デベロッパーの統合開発環境(IDE)内でセキュリティスキャン、テスト、修復の大部分が実際に行われるよう、セキュリティツールはデベロッパーの手に委ねられます。

アプリケーションセキュリティが重要な理由

フォレスター・リサーチによる最近の調査「Breaches By The Numbers: Adapting To Regional Challenges Is Imperative」(2022年4月12日)では過去1年間に組織の63%が侵害されるという結果が出ており、前年比で4%増加しています。そしてインフラストラクチャではなく、コードが現在の主なターゲットとなっていることを認識することが重要です。さらに厄介なことに、アプリケーションの60%近くがオープンソースコードで構成されているという推定値もあり、中にはその数字が80~90%に及ぶとする識者もいます。オープンソースコードは、ゼロから生成されるコードよりも本質的に脆弱性や悪意のあるコードを含む可能性が高くなりますが、厳しい納期の下で高品質のコードを提供したい多忙なデベロッパーにとっては、多くの場合自然な選択肢となっています。

従来のセキュリティへのアプローチ

長きに渡り、セキュリティ部門はコードがコミットされた後に急に現れる全く別の組織として、セキュリティ上の問題を見つけると、(多くの場合すでに次のプロジェクトでの作業を始めている)消極的なデベロッパーに変更を要求するというのが一般的でした。セキュリティは単に後回しされるものではなく、開発の現場から遠く離れた場所にいる人々が上から指示をするものでした。こうしたアプローチが関係者全員にとって大きな不満の原因となるのは、想像に難くありません。

DevSecOpsの登場

DevSecOps はDevOps実装時のサイロの破壊を目的としており、現在開発、オペレーション、セキュリティはすべて連携するようになりました。2022年のグローバルDevSecOps調査では、セキュリティプロフェッショナルの約29%が機能横断型セキュリティチームに所属していると回答しており、57%のセキュリティチームメンバーの組織がすでにセキュリティをシフトレフトしたか、今年中に実行する予定であると回答しています。

デベロッパーとセキュリティの間には摩擦が残るものの、関係改善の兆候も見られています。2022年には、ソフトウェア開発ライフサイクルの後半に脆弱性が発見されたり、デベロッパーにセキュリティリスクに対処させることが困難であることを訴えるセキュリティ専門家は減少しています。

デベロッパー側では、開発者の半数以上が組織のセキュリティに「完全に責任を負っている」と回答しており、別の39%はより大きなチームの一員としてセキュリティに責任を感じていると回答しています。

デベロッパーファースト(またはコンテキスト内)セキュリティ

非常に悪循環に感じられる状況を打破するため、専門家たちは、今こそデベロッパーファーストセキュリティ(またはコンテキスト内セキュリティ)について考え始める時であると提言しています。デベロッパーファーストセキュリティの意味を簡単に説明すると、コーダーにIDEに存在する「デベロッパーフレンドリー」なセキュリティツールを提供することで、デベロッパーに痛みが伴わない方法でセキュリティの問題を見つけて修正できるようにするというものです。理想的にはこうしたセキュリティ制御は自動化され、多忙なデベロッパーは安全なコードを構築するためのセキュリティ要件を考慮する必要はなくなり、全体のコーディングプロセスの一環として自然に行われるようになります。

デベロッパーファーストセキュリティの成功の鍵は、双方の視点の変化です。セキュリティ専門家は、デベロッパーが多くの役割(コーディング、テスト、セキュリティ、さらには一部のオペレーション機能)を担当していることを覚えておく必要があります。それを考慮しながら、セキュリティ専門家はデベロッパーに何が求められているのかを時間をかけて理解し、場合によってはコーディングを学んで必要なトレーニングや励まし、共感を提供することが極めて重要です。同時に、デベロッパーはプロセスの変更にオープンに対応し、有意義な方法でコードセキュリティに積極的に貢献することが求められます。

セキュリティを開発チームに移行して、適切なスキルが組み合わされた共同作業環境を構築することは、デベロッパーファーストセキュリティの取り組みを成功させる上で大きな役割を果たします。

GitLabのDevSecOps

実際に体感してみませんか?

統合されたDevSecOpsプラットフォームによってチームで実現できることをご確認ください。