シフトレフトセキュリティとは
シフトレフトセキュリティとは、アプリケーション開発プロセスの初期フェーズにセキュリティを組み込むことです。脆弱なコードがテストフェーズではなく、開発フェーズで特定されるため、コストが削減され、より安全なアプリになります。
組織がデジタル変革を進め、より多くの資産をクラウドに配置するにつれて、アプリのセキュリティとワークロード保護に対する懸念が高まっています。ソフトウェアリリースのスピード、クラウドベースのサービスの利用、ソフトウェア開発プロセスへの自動化の導入、開発ツールチェーンのイノベーションの速度はすべて、アプリのセキュリティを損なう傾向にあります。
攻撃者や脅威アクターは、ペイロードに到達するために悪用できるソフトスポットを常に探しています。あらゆる規模の組織がサイバーセキュリティを強化するなか、ハッカーは脆弱なアプリやワークロードを活用して目的を達成することに目を向けています。そして現在は、「すべての企業がソフトウェア企業である」ため、アプリを悪用する機会はたくさんあります。
従来、コードはリリース前の最後のフェーズとしてセキュリティの対象になります。このため、開発者は通常、納期直前まで作業することになり、セキュリティチームの作業時間が不足し、コードの安全性を確保する時間がほとんどありません。脆弱性が露呈すると、リリースが遅れるか、開発チームが急いで各セキュリティの問題を修正し、その間にセキュリティチームが慌ててリビジョンを確認する必要があります。このため、多額の費用が発生し、アプリのリリースや発売が遅くなります。また、急いでリリースを繰り返すと、脆弱性を見落としたり、脆弱性の優先順位が低く設定されたりする可能性が高くなります。アプリケーションのセキュリティは、ソフトウェア開発ライフサイクルの重要な部分であり、正しく行うことが最優先事項でなければなりません。
組織は、セキュリティを開発プロセスの重要な工程と位置づけ、開発者自身をセキュリティの専門家にすることなく、また、アプリケーション開発プロセスを抑制することなく、安全で信頼性の高いソリューションを提供する能力を開発者に与える方法を模索しています。シフトレフトセキュリティは、クラウドネイティブなソフトウェアやアプリケーション開発におけるセキュリティ上の懸念を大幅に軽減することで、これを実現するのに役立ちます。
シフトレフトセキュリティの利点
自動化
自動化されたプロセスにより、人的エラーが減り、生産上の問題も減少します。複数のテストを同時に実行できるため、テスト範囲が広がりテスターは他のタスクに専念できるようになります。
デリバリー速度の短縮
シフトレフトセキュリティにより、DevOpsとセキュリティのチームが並行して作業できるようになり、リリース間隔が短縮されます。チームが開発プロセスのできるだけ早いフェーズで問題を特定して解決する時間を確保できるため、ソフトウェアの品質も向上します。
安全なアプリケーションと開発
テストはリリースが送れる最大の原因の1つです。シフトレフトセキュリティでは、セキュリティチームがレビューを実施する間、コーディングが中断されないため、アプリケーションの迅速な配信をサポートします。継続的なテストによりセキュリティ上の欠陥がより早く発見されるため、修正の規模が小さくなり、修正に費やす時間が少なくなります。DevOpsチームとセキュリティチームが、多くのフラストレーションと深夜作業から解放されると同時に、ユーザーに喜ばれる新機能をより迅速に導入できます。
シフトレフトセキュリティツールとテクノロジーの種類
シフトレフトセキュリティツールは、セキュリティスキャンツールとランタイム保護ツールの2つに分類できます。セキュリティスキャンツールは、セキュリティとDevOpsの統合を合理化するテストツールであり、ランタイム保護ツールは、実行中にアプリを保護するサイバーセキュリティツールです。
セキュリティスキャンツール/イメージ評価
静的アプリケーションセキュリティテスト (SAST)
SASTは、アプリケーションの脆弱性を発見するために使用されるアプリケーションセキュリティ手法です。これは「ホワイトボックス」のテスト方法であり、アプリケーションの機能性よりも内部動作をテストします。SASTは、ハッカーではなく開発者がコードを見る方法を表します。SASTツールは、アプリケーションを実行せずにソースコードを分析するため、ソフトウェア開発ライフサイクルの初期フェーズで脆弱性を発見できます。そのため、修正の実装コストが低くなります。SASTはあらゆる種類のソフトウェアに対応していますが、静的コードのみをスキャンするため、ランタイムや環境に関連する問題を発見することはできません。
ソフトウェアコンポジション解析 (SCA)
SCAは、コードベース内のオープンソースコードを識別します。オープンソースライセンスには、手動で追跡することが難しい制限があります。SCAは、パッケージマネージャー、マニフェスト、ソースコード、バイナリファイル、コンテナイメージなどを検査するプロセスを自動化し、その結果を「部品表」 (BOM) にまとめます。次に、それを多数のデータベースと比較して、脆弱性、ライセンスの問題、コード品質の問題を明らかにします。その結果、セキュリティチームは、重要なセキュリティと法的脆弱性を迅速に特定し、軽減するための適切な優先順位をつけることができます。
動的アプリケーションセキュリティテスト (DAST)
DASTは、Webアプリケーションのセキュリティで使用される「ブラックボックス」テストの手法で、実行中であるアプリの機能の脆弱性を発見することに重点を置いています。DASTはハッカーのアプローチを表しており、テスターはアプリの内部動作を可視化できません。この形式のテストでは、ソフトウェア開発ライフサイクルの最後に脆弱性を発見します。DASTは実行中のアプリケーションを動的に分析するため、Webアプリケーションとサービスしか対応していません。
ランタイム保護ツール
ランタイムアプリケーション自己保護 (RASP)
RASPは、アプリの動作をコンテキスト内で分析することで、アプリへの攻撃をリアルタイムで検出します。アプリからシステムへのすべての呼び出しを傍受して、アプリ内からデータリクエストを検証し、アプリ自体を効率的に使用して自身の動作を監視します。RASPは、その保護機能がアプリのサーバー上で動作し、アプリを起動する際に起動されるため、Webアプリと非Webアプリの両方で使用できます。
Webアプリケーションファイアウォール (WAF)
WAFは、アプリに侵入しようとする悪質なトラフィックをフィルタリングして監視し、ブロックすることで、悪影響を受けたデータがアプリから流出するのを防ぎます。その動作は、悪質なトラフィックと安全なトラフィックを区別するための一連のポリシーによって決定されるため、その有効性は組織のセキュリティポリシーによって決まります。企業には何千ものWAFと何百万ものポリシーが存在する可能性があるため、すべてのWAFを最新の状態に保つには自動化が重要になります。
ボット管理
ボット管理は、ブロック/許可リスト、ボットトラップ、レート制限などのソリューションを使用することで、アプリケーション層(L7)でのDDoS攻撃、SQLインジェクション、クレデンシャルスタッフィングなどの攻撃を悪質なボットが実行するのを検出し、阻止します。ボット管理が厳しすぎると、正規のWebトラフィックを遮断したり、テストや自動化を目的として社内で構築されたボットを妨害したりする可能性があるため、注意が必要です。ボット攻撃はデジタル化された世界で新たな注目を集めており、ボット管理は今後数年のうちにWAFを追い越す勢いです。
コンテナイメージとサーバーレス機能のスキャン
現在のアプリケーション開発ではコンテナを使用して、アプリのソースコードとそのすべての依存関係を1つのファイルにバンドルします。コンテナイメージは、コンテナファイルとマージされたファイルです。コンテナイメージでは、アプリのコード、ランタイム、システムツール、システムライブラリ、設定が保持されます。コンテナイメージのスキャンでは、コンテナのコンテンツとコンテナイメージのビルドプロセスを分析して、セキュリティ上の問題や不適切な慣行を明らかにします。
最新のアプリのほとんどが何らかのサーバーレスコンピューティングを使用して、社内で構築するには複雑すぎたり、コストがかかりすぎたりする機能を取り入れているため、サーバーレスコンピューティングスキャンの必要性が高まっています。AWSやAzureなどでホストされているこれらのサービスを利用するには、企業のインフラからクラウドサービスプロバイダーなどにデータを移動する必要があります。転送中および保存中のデータを保護するのはアプリの所有者の責任であり、独自のインフラストラクチャを保護するだけのクラウドサービスプロバイダーの責任ではありません。サーバーレス機能スキャンには、従来のホスト型アプリとは異なる種類の監視とデバッグが必要です。クラウドネイティブソリューションは、この目的に最適な選択です。
ワークロード保護
最新のアプリケーションは、コンテナ、Kubernetes、サーバーレスアーキテクチャのクラウドインフラストラクチャ全体に分散されています。こうした環境は常に進化しています。新たなサービスが追加されれば攻撃対象領域が拡大し、このような複雑で激しく変化するエコシステム全体を可視化するのは困難です。
ワークロード保護では、個々のアプリケーションのワークロードのレベルでセキュリティ制御が行われます。これにより、組織はアプリケーションのライフサイクル全体で脆弱性を特定して修正し、コンプライアンスを強化して、コンテナ、kubernetes、あらゆるワークロードにセキュリティ構成とベストプラクティスを実装できます。クラウドワークロード保護ソリューションは、ラテラルムーブメントを抑制し、行動の異常を明らかにして、コンプライアンスを追跡し、攻撃対象領域を縮小する必要があります。
2023年版クラウドリスクレポート(英語版)
この新しいレポートをダウンロードして、2023年に最も蔓延しているクラウドセキュリティの脅威について精通し、2024年にはそれらの脅威からの保護を強化してください。
今すぐダウンロードセキュリティをシフトレフトするためのベストプラクティス
新しいアプリケーション開発にセキュリティを組み込む
セキュリティをどこまでシフトレフトするべきでしょうか。すべてのフェーズで実施する必要があります。セキュリティは、開発者がコーディングを開始した瞬間から開発プロセスの一部である必要があります。APIを使用してセキュリティを開発ツールセットに統合すると、セキュリティチームはコードがメインブランチにプッシュされる前に問題を発見できます。
アプリケーションとコンテナのセキュリティをDevOpsツールチェーンに統合する
シフトレフトアプリのセキュリティはスキャンから始まりますが、DevOpsチームが結果を利用できない限り、スキャンは役に立ちません。シフトレフトの効力は、DevOpsがセキュリティチームと連携して機能する手段を提供することにあります。そのため、それらの結果を開発者が利用できるWeb IDEとWebパイプラインレポートに置きます。プロジェクト内のすべての依存関係のインベントリをまとめた「ソフトウェア部品表」(SBOM) の作成を自動化し、コンテナイメージスキャンとサーバーレス機能スキャンを使用して、コンテナイメージ、プロジェクトディレクトリ、またはサーバーレスサービス内に存在する既知の脆弱性を明らかにします。
スキャンを統合して可視性を向上させ、優先順位を正しく付ける
スキャンの目的はそれぞれ異なります。SASTとDASTは互いに補完して、それぞれがアプリのセキュリティの基礎となります。オープンソースライブラリを使用するのが標準となっている組織も、SCAの利点を得ることができます。すべてのスキャンは、レジストリに到達する前で脆弱性をブロックするために、継続的インテグレーション/継続的デリバリーパイプラインの複数のステップに統合される必要があります。ランタイムスキャンを実行して、新たな共通脆弱性識別子 (CVE) から保護する必要があります。
クラウドストライクのアプローチ
クラウドストライクは侵害を阻止します。
クラウドストライクは、世界で最も先進的なクラウドネイティブプラットフォームによってセキュリティを再定義し、クラウド内のあらゆるワークロードを保護して、組織がクラウドネイティブアプリケーションを構築、実行、保護できるようにします。
CrowdStrike Falcon® クラウドセキュリティはセキュリティを自動化し、すべてのクラウド、コンテナ、Kubernetesアプリケーション上で不審なアクティビティ、ゼロデイ攻撃、危険な動作を検出して阻止します。CI/CDワークフローとの統合により、DevOpsがパフォーマンスに影響を与えることなく高速に動作しながら、ワークロードの安全性を維持できます。
CrowdStrike Falcon® Platformは、CrowdStrike Security Cloudを搭載し、リアルタイムの攻撃の痕跡 (IOA)、脅威インテリジェンス、進化する攻撃者の戦術、企業全体からの充実したテレメトリを活用して、超高精度の検知、自動化された保護と修復、精鋭による脅威ハンティングサービス、優先付けされた脆弱性のオブザーバビリティを提供します。
また、クラウドワークロードのフルマネージド検知と対応、およびCrowdStrike Falcon® Completeによって保護された環境内でセキュリティインシデントが発生した場合に、最大100万ドルの侵害対応費用を補償する業界屈指の侵害防止保証を提供しています。(※侵害防止保証は一部の地域ではご利用できません。)
シフトレフトセキュリティがアプリケーションのセキュリティポスチャをどのように改善できるかについては、こちらをご覧ください。