定義

動的アプリケーション・セキュリティ・テスト(DAST)は、アプリケーション内部の相互作用や設計をシステム・レベルで認識せず、ソース・プログラムにアクセスしたり、ソース・プログラムを可視化することなく、アプリケーションの実行中にアプリケーションを検査するAppSecテスト手法です。この「ブラックボックス」テストでは、外部からアプリケーションを調べて、その実行状態を精査し、テスト・ツールによる攻撃シミュレーションに対する反応を観察します。攻撃シミュレーションに対するアプリケーションの反応は、アプリケーションが脆弱であるかどうか、実際の悪意のある攻撃の影響を受けやすいかどうかの判断に役立ちます。

DASTの仕組み

DASTは、アプリケーションに対する自動化された攻撃をシミュレーションし、悪意のある攻撃者の振る舞いを模倣します。これは想定外の結果を発見し、それが攻撃者によってアプリケーション侵害に利用されることを未然に防止することを目的としています。DASTツールにはアプリケーションやソースコードに関する内部情報が存在しないため、外部のハッカーと同じように、アプリケーションに関する知識や情報が制限された状態で攻撃を行います。 


DASTで解決できる問題

アプリケーションが世界経済を動かすデジタル社会が加速するにつれ、企業は時代を先取りしなければならないという大きなプレッシャーにさらされています。脅威アクターが容赦なく高度な手口を用いて重要性の高いデータに混乱や脅威をもたらし、損害を与える機会を狙っている環境にあって、企業はイノベーションを継続していく必要があります。このような新しい状況をうまく乗り切るには、アプリケーション・セキュリティの確保を計画的に実行することが重要です。

DASTは、アプリケーションに対する自動化された攻撃をシミュレーションし、悪意のある攻撃者の振る舞いを模倣します。これは想定外の結果を発見し、それが攻撃者によってアプリケーション侵害に利用されることを未然に防止することを目的としています。DASTツールにはアプリケーションやソースコードに関する内部情報が存在しないため、外部の脅威アクターと同じように、アプリケーションに関する知識や情報が制限された状態で攻撃を行います。 

脆弱なアプリケーション

#1

セキュリティ侵害の原因

オープンソース・ライブラリは開発・運用工程でのクラウド・アプリケーションの構築を迅速化するために役立ちますが、オープンソース・コードにセキュリティの脆弱性が含まれていた場合、脆弱性をまき散らしてしまうリスクもあります。ソフトウェア・コンポジション解析(SCA)などのテスト・ツールを使用すると、アプリケーションに統合されたサードパーティー製およびオープンソースのコンポーネントを検出できます。SCAソリューションでは通常、これらのコンポーネントをスキャンして、既知の共通脆弱性識別子(CVE)、およびライセンスが期限切れまたは欠落している古いソフトウェアやライブラリを検出します。ほとんどのオープンソース・ライブラリは別のオープンソース・ライブラリで構成されており、複雑な推移的依存関係があります。この目に見えない複雑さによって、開発・運用面のセキュリティ上の問題が引き起こされる可能性があります。最新のセキュリティ・プラットフォームには、使用されているすべてのライブラリの脆弱性と、オープンソース・ライブラリに組み込まれている推移的な依存関係を特定する機能を備えたSCAソリューションを装備する必要があります。セキュリティを重視するDevOpsチームは、多くの場合、SCAスキャンを継続的デリバリー(CD)・プロセスに組み込んでいます。

実行中のアプリケーションをビルドした後、クラウドにデプロイする前に一連のブラックボックス・テストを実行する必要があります。このテストでは、攻撃者がアプリケーションの潜在的なセキュリティ上の弱点を探し出すために利用する手口を模倣します。DASTソリューションを利用することで、認証エラーやサーバーの設定ミス、コード・インジェクション、SQLインジェクション、クロスサイト・スクリプティング・エラーなど、SCAでは見つけにくいランタイムの脆弱性を発見できます。DASTツールは、ソフトウェアに様々な悪意のあるデータを挿入するなど、アプリケーションにフォルト・インジェクション技術を用いて一般的なセキュリティ脆弱性を特定します。DASTスキャンは実行中のソフトウェアを検査する機能であるため、DevOpsパイプラインの終盤の運用前環境または運用環境で実行できます。
 


統合されたクラウドベースのASTソリューションをお探しですか?Polarisをご覧ください。

Polaris Software Integrity Platform ® は、市場をリードするDAST、SAST、SCA エンジンを統合し、Coverity®、Black Duck®、および Continuous Dynamic™ を強化し最適化された、使いやすくコスト効率が⾼く、拡張性の⾼い SaaS ソリューションを実現します。最新の DevSecOps のニーズに対応します。

DASTがアプリケーション・セキュリティにとって重要な理由

成果を上げるためにWebアプリケーションやモバイル・アプリケーションを利用する企業が増加していることに伴い、アプリケーション・セキュリティの脆弱性が急速に蔓延し、データ侵害の主な原因となっています。このような状況下で、アプリケーションとコードを保護することの重要性がますます高まっています。

  組織が現在直面している課題:

  • クラウドおよびクラウドネイティブ・アプリケーション・テクノロジーへの移行が進むことにより、アプリケーションはますます複雑化している。
  •  大規模な分散型のマイクロサービスやサーバーレス関数の場合、開発者が分担されたサービスのみに集中し、コードベース全体を完全に把握している人がいない。
  • アプリケーションの数が増えるにつれて、クラウドにデプロイされるソフトウェア・コード全体が増大し、潜在的なアタックサーフェスが拡大する。
  • デジタル・トランスフォーメーションに注力する組織が増えるにつれ、開発者の退職や職務変更によってレガシー・コードに関する知識が衰退していく。
  • サードパーティー製ソフトウェアとオープンソース・ソフトウェアの普及により、アプリケーションの複合化が進み、組織の理解できる範疇を超える膨大な量のアプリケーション・コードが開発されている。
  • DevOps手法は、スピーディーな開発に役立つ一方で、手動または従来の方法でセキュリティ・チェックを行う時間はほとんど取れない。

コード変更のスピードアップ、アプリケーションをホストする基盤となるアーキテクチャの変化、アプリケーションに対する攻撃の増大という 3つのパラダイム・シフトは、情報セキュリティ・チームとアプリケーション開発チームが連携して作業を進めるための、両者のニーズを満たす軽量でありながら包括的な使いやすいアプリケーション・セキュリティ・ソリューションが必要であることを如実に表しています。これを実現するには、作業中のプロジェクトのコンテキストでアプリケーション・セキュリティ・ツールを効率的に実行し、脆弱性とアプリケーションのセキュリティ状態を正確に報告する必要があります。また、特に困難な問題に関する相談に対応するエキスパートとSDLCに簡単に組み込めるソリューションを用意して、開発者教育をサポートする必要があります。

DASTの実装は、運用環境で実行されているアプリケーションのセキュリティ体制やエンドユーザーとのコミュニケーション方法を決定するために必要であるだけでなく、アプリケーションの進化や、絶えず変化する攻撃の手口に関する情報に後れを取らないようにするためにも不可欠になりました。効果的なDevSecOpsは、DASTで生成されたフィードバックを取得し、それをSecOpsおよびDevOpsツールに統合することから始まり、最終的に、組織とエンドユーザーをリスクにさらす実在の脆弱性を発見します。

  • アプリケーションとコードを保護する
  • 引き継がれた脆弱性と新しい脆弱性を特定する
  • 質の高い脆弱性評価レポートにより修正を迅速化する

組織のクラウド・プラットフォームへの依存度が高まる中、セキュリティのあらゆる側面を考慮し、アプリケーション・セキュリティ層を見落とさないように注意する必要があります。新しいアプリケーション、API、機能の発展が進むにつれ、アプリケーションのアタックサーフェスは急速に拡大しています。これに伴い、悪意のあるアクターが食指を動かし、簡単にアクセスできるツールやユーティリティを利用して、既知の脆弱性や影響を受けやすいコードが存在するアプリケーションを悪用しようと狙っています。ひとたびアプリケーションが侵害されると、悪意のあるアクターは重要な顧客データ、個人識別情報、その他の悪用可能な企業資産に密かにアクセスできるようになり、組織は情報漏洩の被害を受けて顧客の信頼を裏切ることにもなりかねません。

開発環境のみでアプリケーションをテストしても、運用環境でのセキュリティ侵害からアプリケーションを保護することはできません。全体的なビジネス・リスクを軽減するためには、正式なアプリケーション・セキュリティ・プログラムが不可欠です。適切な戦略とテクノロジーにより、アプリケーションに対する攻撃に利用される可能性があるエクスプロイトを特定し、アプリケーションの侵害を未然に防止する方法を示すことができます。これが正しく実践されれば、チームに権限を与えて責任を持たせ、潜在的な問題を混乱なく速やかに修正することが可能になります。
 


DASTとSASTの違い

SAST vs. DAST

シノプシスの支援方法

シノプシスは、Webアプリケーション・セキュリティ・テストの要件が組織によって大きく異なることを理解しており、Polaris fAST DynamicとContinuous Dynamicの2つのDASTソリューションを提供しています。各ソリューションは組織固有のテスト要件に対応するように設計されており、各組織が固有のニーズに最適なソリューションを見つけられるようになっています。

Polaris fAST Dynamicは、動的テスト・プロセスを簡素化し、開発スピードを損なうことなく、Webアプリケーションを迅速にテストできるようにします。このソリューションは、最新のweb技術をサポートするように設計された機能を備えた、使いやすいセルフサービス・ソリューションを求めるチームに特に適しています。

Polaris fAST Dynamicの主な特徴

  • 簡単に使い始められる:セキュリティ・テストの開始は簡単で、最小限のステップと複雑な設定が必要ありません。数分でスキャンを開始できます。
  • スマートな攻撃の実行:fAST Dynamic はwebアプリケーションをインテリジェントにナビゲートして解析するため、複雑さを増すことなく包括的なカバレッジを確保しながら膨大な手動入力の手間を省き、専門知識の必要性を低減します。
  • 効率性と正確性:最適化されたチェッカーは、より効率的なテスト・プロセスのために最もリスクの高い問題を特定する価値の高いチェックを重視し、正確に脆弱性を検知しながら、誤検知を最小限にします。
  • 俊敏性と拡張性:アジャイルな開発サイクルに適合するように設計された fAST Dynamic は、迅速なセキュリティ・テストをサポートし、パフォーマンスを損なうことなく、多数の Web アプリケーションに対応できるように容易に拡張できます。

Continuous Dynamic は、専門家主導の DAST ソリューションを提供することに重点を置いています。豊富なセキュリティ専門知識による、検証された結果を伴う徹底的かつ継続的なテストを求める組織に最適です。

Continuous Dynamicの主な特徴

  • 継続的なスキャン: Continuous Dynamicは、コードの変更を検出して適応する継続的なスキャンを提供し、新しい機能が自動的にテストされるようにします。開発プロセスのスピードに対応し、テストが一貫して適用されるようにします。
  • 正確な結果:Continuous Dynamicは、結果をマニュアルで検証することにより、誤検知をほぼゼロにし、脆弱性のトリアージ時間を最小限に抑え、開発者が最もリスクの高い脆弱性の修正に集中できるようにします。
  • リスクのスコアリング:Continuous Dynamic Security Indexは、Webアプリケーション・セキュリティの全体的なステータスを測定できる単一のスコアです。
  •  ヘッドレス運用:多くの組織では、アプリケーション・セキュリティ・テストを管理するためのダッシュボードやその他のシステムを持っています。Continuous Dynamicは、テストのスケジューリングと結果の取得をプログラムで実行できる豊富なAPIセットを提供することで、これらの実装をサポートします。これにより、Continuous Dynamicは、セキュリティおよびDevOpsプロセスに容易に統合でき、検証結果を組織のシステムに取り込むことができます。

シノプシスは、お客様の多様なご要望に適応するセキュリティ・ソリューションの提供に努めています。fAST Dynamicによる俊敏なセルフサービス・アプローチ、Continuous Dynamicによる専門家主導の詳細なプロセスのいずれをご要望の場合でも、シノプシスの目標はお客様のセキュリティ対策を効果的かつ効率的にサポートすることです。

Continue reading