目次

定義

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

DASTの仕組み

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


<p>To fully secure today's software, the entire attack surface must be accounted for. This means implementing continuous dynamic application security testing (DAST) of web, mobile, and API applications in addition to traditional static application security testing (SAST) and software composition analysis (SCA).</p>

DASTで変わる未来
モダン・アプリケーション・セキュリティのパラダイムシフト

最近のソフトウェア環境のセキュリティを万全にするには、アタックサーフェス全体を考慮する必要があります。そのために、従来の静的アプリケーション・セキュリティ・テスト(SAST)やソフトウェア・コンポジション解析(SCA)に加えて、Webアプリケーション、モバイル・アプリケーション、APIアプリケーションの動的アプリケーション・セキュリティ・テスト(DAST)を継続的に実施する必要があります。

DASTで解決できる問題

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

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

脆弱なアプリケーション

#1

セキュリティ侵害の原因

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

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


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

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

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

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

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

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

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

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

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


DASTとSASTの違い

SAST vs. DAST

シノプシスの支援方法

多くのDASTツールは実在する脆弱性と誤検知の区別に膨大な検査結果のトリアージを必要とするため時間がかかり、セキュリティ対策と開発の工程を遅らせる要因となるのに対し、WhiteHat™ Dynamicは、人工知能(AI)とエキスパートによるセキュリティ解析を組み合わせて高精度の結果を速やかに提供します。

WhiteHat Dynamicを利用することにより、DevOpsのスピードで大規模なDASTを実施して開発をスピードアップできます。また、アプリケーション・ポートフォリオ全体のセキュリティ・リスクを特定するために必要な拡張性と俊敏性により、Webサイトやアプリケーションの脆弱性を迅速かつ正確に検出することができます。

  • クラウドベース。WhiteHat DynamicのSaaS型セキュリティ・サービスを利用することで、実装を簡素化し、セキュリティ・テスト要件の変化に応じて速やかにスケーリングできます。
  • 連続スキャン。連続スキャンのサポートによりコード変更の検出・適応を行い、新しい機能を自動的にテストします。これにより、開発プロセスのスピードに合わせてテストが一貫して適用されるようになります。
  • 正確な結果。AIを活用した検証により、誤検知を大幅に削減し、脆弱性のトリアージにかかる時間を短縮します。開発チームは最もリスクが高い脆弱性の修正に集中できます。
  • 修正ガイダンス。特定された脆弱性に自信を持って速やかに対処できるように、アプリケーション・セキュリティのエキスパートによる個別ニーズに応じた修正ガイダンスを提示します。ガイダンスでは、脆弱性の優先順位を示したリストと、業務スピードに遅れることなく修正を行うため方法が示されます。
  • リスク・スコアリング。WhiteHat Security Indexは、Webアプリケーション・セキュリティの全体的な状態を測定する指標となる単一のスコアを提供します。
  • ヘッドレス操作。多くの組織は、アプリケーション・セキュリティ・テストを管理するためにダッシュボードなどのシステムを装備しています。テストのスケジュール設定と結果の取得をプログラムにより可能にする豊富なAPIセットにより、これらの実装をサポートしています。これにより、セキュリティおよびDevOpsプロセスへの統合が容易になり、テスト結果を組織システムに適応させることができます。

2001年から事業を展開しているWhiteHat Security社は、アプリケーション・セキュリティの分野で約20年の経験を持ち、クラウドとオンプレミスの両方で実行されるエンタープライズ・アプリケーションのセキュリティ脆弱性を検出するSaaS(Software-as-a-Service)ベースの最先端セキュリティ・プラットフォームを開発しました。

同社は、ソフトウェア・セキュリティの分野で業界リーダーとして評価されているSynopsysに買収されました。Synopsysは、2022年のガートナー・マジック・クアドラントのアプリケーション・セキュリティ・テスト(AST)部門において6年連続でリーダーに選ばれました。

Continue reading