2021年06月14日
インタラクティブ・アプリケーション・セキュリティ・テスト(IAST)とは?奥村 和彦 Kazuhiko Okumura
このブログは アプリケーション・セキュリティ・テストツールの市場分類を紹介する、WhiteSoure社のブログ翻訳シリーズの 第6回です。
本シリーズも今回の IAST の紹介で最後となります。
IAST は他のツールと比べると新しい分野で多くの導入事例や製品も出ておらず、実を言うと私自身も触れたことはもちろん目にしたこともありません。
ですが、SASTやDASTがカバーできなかった部分を補うことが出来るツールになりますので、IASTのことを知ることでDevSecOpsを次の段階に進めることができるかもしれません。
アプリケーションとソフトウェアの脆弱性は、外部からの攻撃が最も一般的なので、アプリケーションのセキュリティを確保するには、多くの組織にとって最優先事項です。
このリスクを低減するために不可欠な要素が、アプリケーション・セキュリティ・テスト(AST)です。
このブログでは、AST市場の中でも比較的新しい、インタラクティブ・アプリケーション・セキュリティ・テスト(IAST)に焦点を当てます。
IASTは、よく知られていて成熟している 静的アプリケーション・セキュリティ・テスト(SAST)と動的アプリケーション・セキュリティ・テスト(DAST)ツールの後に続くもので、両方の要素のいくつかが組み合わさっています。
ASTツールの中でIASTがどこに位置付けられているかを理解することは、アプリケーションのリリース前に徹底的にテストし、可能な限りセキュアであることを確認するためには重要なことです。
また他のASTツールと同様、IASTにも利点と限界がありますので、このブログではその両方を探っていきます。
IASTは、最新のWebおよびモバイルアプリケーション用に設計されたASTツールで、アプリケーション内で動作し、アプリケーションの実行中に問題を検出して報告します。
IASTを完全に理解するには、まず、SASTとDASTを知る必要があります。
SASTは、ホワイトボックステストの一種で、静止状態のソースコードを内側から分析します。
ASTツールの中では最も成熟しており、導入も簡単ですが、スキャンには時間がかかり、潜在的な脆弱性を特定する時の偽陽性率が高い傾向にあります。
DASTは、ブラックボックステストの一種で、テスト環境で動作しているアプリケーションに対して外部からの攻撃をシミュレートすることで脆弱性を発見します。
DASTは、アプリケーションが公開しているインターフェイスに脆弱性が無いかをチェックするために、外部からアプリケーションを攻撃しますが、アプリケーションのコードレベルで可視化することはできません。
DASTは、経験豊富なセキュリティ専門家がこれらのテストツールを書く必要があり、自動化や拡張も困難です。
IASTは、SASTとDASTの制限のいくつかを克服する試みとして開発されました。DASTのように、テストは、アプリケーションがQAやテスト環境で実行している間にリアルタイムで行われます。
しかし、DASTとは異なり、IASTは問題のあるコードの場所を特定し、修復するために開発者に通知することができます。
また、IASTはSASTと同じ様にコードをチェックしますが、それはビルドした後にコードに追加したインスツルメンテーションを通じて動的環境で実行されます。
IASTは、CI/CDパイプラインに統合し易く高いスケーラビリティを持ち、テストを自動化することも手動で実行することもできます。
IASTは通常、ビルド後のアプリケーションにエージェントとセンサーを埋め込むことで実装します。
エージェントは、アプリケーションの動作を観察したり、トラフィックの流れを分析して、セキュリティの脆弱性を特定します。
これは、外部の署名やパターンをソースコードにマッピングすることで行われ、より複雑な脆弱性を特定することができます。
IASTのテスト結果は、通常、CI/CDパイプラインに余計な時間を費やすことなく、Webブラウザ、ダッシュボード、またはカスタマイズされたレポートを介してリアルタイムに報告されます。
IASTの結果は、他の課題管理ツールと組み合わせることもできます。
IASTが、SASTやDASTと最も異なることは、アプリケーションの内部で動作することです。
しかし、IASTはコードベース全体をスキャンするわけではありません。テスターが定義した特定のポイントに対する機能性をテストします。
こうすることで、SASTよりも実行速度が大幅に速くなりますが、SASTのように完全なカバレッジは提供できません。
IASTは、開発者中心の技術であり、組織におけるセキュリティテストのシフトレフトを支援します。
IASTには多くの利点がありますが、欠点がないわけではありません。ここでは、IASTの長所と短所を見てみましょう。
IASTは偽陽性率が非常に低く、偽陽性率が高くなりがちなSASTとは異なります。かなり多くの組織が、毎日何千ものセキュリティアラートに直面しています。このようなボリュームに対して、ノイズを削減し、アラートの疲労を軽減するためには、テストの精度が非常に重要です。
昨今の開発ペースに合わせて、開発者はタイムラグのない迅速なテストソリューションを求めています。IASTは、テスト結果をリアルタイムに開発者へ直接提供することで実現します。また、IASTはCI/CDツールとの連携にも優れています。ソフトウェア開発ライフサイクル(SDLC)の早い段階で脆弱性を修正し、クリーンなコードであることを確認することで、組織は時間とコストを削減することができます。
IASTは高いスケーラビリティを持ち、組織内のすべての開発者は簡単に導入することができます。テスト結果は問題のあるコードの行を開発者に示し、セキュリティ専門家の介入を必要とせずに直ちに修正することができます。
IASTはテスト対象のアプリケーションに組み込まれるため、プログラミング言語固有のサーバーサイド アーキテクチャを持っています。
IASTは、特定の言語をカバーしておらず、最新の技術フレームワークしかサポートしていません。
IAST単独では十分なカバレッジが提供できないので、他のASTソリューションと組み合わせることで効果を発揮します。
IASTから最大限の価値を得るためには、成熟したテスト環境が必要です。
IASTは、最新のソフトウェア開発環境とアーキテクチャを必要とします。
IASTは登場してから数年が経過しているいますが、いまだに市場でその力を確立できていません。
その理由は、それだけでは十分なカバレッジを得られないからなのか、測定可能なROIが無いからなのか、あるいは適切なユースケースを見つけられていないからなのか、まだ明らかになっていません。
IAST は効果的な AST ツールであり、そのダイナミックな性質は、セキュアなアプリケーションを開発する際に多くの利点をもたらします。
SAST や DAST ツールと比較して、IAST は最も速く、最も正確な結果を提供します。
また、CI/CDビルドパイプラインに簡単に統合することができます。
残念ながら、IASTには限界があります。組織で使用しているすべてのプログラミング言語言語と技術スタックをカバーしていないかもしれません。
また、SASTとは異なり、コードの全ての行をチェックすることはできません。
要するに、IASTはSASTやDASTのソリューションと一緒に使用することが最も効果的だということです。
正しいASTソリューションを選択するには、スピード、精度、カバレッジ、コストのバランスを見つけることが必要です。
IASTは強力なツールですが、残念ながらそれだけではすべてを解決することはできません。
これは私個人の感想になりますが、IASTはこれまで紹介したSASTとDAST、それぞれの長所を取り入れただけでなく、短所も補ったハイブリッドなツールという印象を受けました。
更に IASTツールによっては 利用しているオープンソースコンポーネントもスキャンする SCA の機能も持ち合わせているようです。
これだけを読むと「セキュリティテストは、IASTだけで十分ではないか?」と思えたりもしますが、実際には 対応してるプログラミング言語やフレームワーク が限定できなので該当する技術でないと利用できなかったり、全てのセキュリティテストをIASTだけで賄おうとすると逆に時間が掛かってしまう、あるいはそもそも不可能だったりもします。
ですので、IASTを採用する場合は、IASTの能力が最大限となる範囲で利用し、その他を SAST、DAST、あるいは SCA を併用するのが結果的にベストな選択になるのだと思いました。
今回まで全6回に渡り、ソフトウェア・セキュリティ・テストの市場分野について、WhiteSource社のブログを翻訳する形でご紹介しました。
本シリーズでは開発からリリースまでのフェーズで利用される、セキュリティ・スキャンニング・ツール に含まれる、SCA・SAST・DAST・IASTの概要についてご紹介してきました。
リックソフトが販売しているWhiteSourceは、この中のSCAツールに該当します。
SCAツールは、プロジェクトで利用しているオープンソースコンポーネントの分析に特化したツールであり、その他の ツールとは そもそもの検査対象が異なることがお分かりいただけたのではないでしょうか?
また逆に、WhiteSource を導入しただけでは、アプリケーションのセキュリティを担保することも十分ではありませんので、プロジェクトの特性に合わせてその他の アプリケーションセキュリティテスト ツールの導入も検討していくことが必要になると思います。
リックソフト、そして私自身もWhiteSourceだけに留まらず、開発からリリースまでのプロセスにおいて必要なこと、最適な方法などをこれからも提案できるように努めていきたいと思います。
このブログはWhiteSource社の許可の下、
https://resources.whitesourcesoftware.com/blog-whitesource/iast-interactive-application-security-testingを翻訳したものです。
WhiteSource社とWhiteSourceについては、WhiteSource.comおよび弊社の製品紹介ページをご覧ください。
世界10万社が使うプロジェクト管理ツール
\アジャイル開発チームの利用実績 No.1/
アジャイルプロジェクト管理ツールです。
ソースコード管理Gitツールの「BitBucket」と統合し、継続的デリバリーを実現させます
関連する製品について詳しくはこちらをご覧ください
WhiteSourceWhiteSourceを試してみたい方はこちら
WhiteSource無料トライアルご依頼フォームWhiteSourceに関する資料請求、製品デモ、お見積もりのご要望は下記リンクより承っております。
WhiteSource お問い合わせ本情報はブログを公開した時点の情報となります。
ご不明な点はお問い合わせください。
« アトラシアン共催セミナー"いま企業に必要な力「ビジネスアジリティ」とは?Jira Cloudを活用した組織づくりのヒント"開催報告(2021年06月11日)
(2021年06月15日)Confluence(コンフルエンス)の見出しを番号付きにしたい...自動採番アドオン「Numbered Headings」で解決! »
アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのサポートではサポートします。
リックソフトのサポートは開発元が提供するサポート以上の価値があります。
ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。
リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。
ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。
日本随一の生産性向上にも効果のある研修サービスです。
リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。