IASTとは?開発時のセキュリティ対応を大幅に省力化する方法を解説
近年、Webアプリケーションのセキュリティテストの手法として、IASTという言葉を聞いたことがある人も多いでしょう。IASTは開発段階からの実施が可能であることから、Webアプリケーションのセキュリティリスクを抑えつつ、開発期間を大幅に短縮できるシフトレフトに役立ちます。さらに、IASTは開発者の意識改革を起こすきっかけとなり、さらにビジネスを加速させるソリューションとしても注目を集めているのです。
ここでは、IASTの特徴やメリット、IASTの重要性、IAST以外のセキュリティテスト・ソリューションとの違いのほか、脆弱性対策に有効なツール「New Relic IAST」について解説します。
IASTとは、Webアプリケーションの脆弱性をテストする手法のひとつ
IAST(Interactive Application Security Testing)とは、Webアプリケーションの脆弱性をテストする手法のひとつで、「アイアスト」もしくは「イアスト」と読みます。IASTは、実行中のWebアプリケーション内部で動作し、分析を行うため、脆弱性がどの部分に存在するのかを具体的かつ即座に特定することが可能です。
IASTの最大の特徴は、短時間でWebアプリケーションに存在する脆弱性を的確に特定できることです。旧来からあるほかのWebアプリケーション・セキュリティ・テストは、誤検知(偽陽性)が多く、それによって膨大な検知結果と格闘しなければならないというデメリットがありますが、IASTはそれを解決するソリューションのひとつとして、関心が寄せられています。
IASTのメリット
IASTは、開発プロジェクト初期の段階から活用することで多くのメリットを生み出します。従来の開発プロセスでは、セキュリティテストは開発の最終段階や公開後の運用段階で、定期的もしくは不定期に行われることが一般的でした。公開後のタイミングで脆弱性が発見されれば、開発プロセスまで巻き戻して修復する必要があります。こうした開発サイドへの手戻りや本番環境の停止などは、大きなコストと時間がかかってしまいます。
しかし、開発段階からセキュアなコード実装を意識し、IASTを活用すれば、早期にエラーの芽を摘めるため、これまでかかっていたコストと時間を大幅に削減可能です。開発設計段階での脆弱性の対応と、本番環境にデプロイした後に発見された脆弱性の修正とを比較すると、必要なコストは後者のほうが100倍ともいわれています。
IASTでセキュリティ対策をシフトレフトすれば、後工程での脆弱性の対応コストを大きく下げることができ、さらに開発後半での作業量軽減にもつながるため、マンパワーと時間の余裕を生み出せます。
IASTが注目を集めている理由
近年、IASTが注目を集めています。その理由として、IASTが単なるツールという存在を超えて、開発者の意識改革を促すきっかけとなりえることが挙げられます。
DevOpsにセキュリティ対策を組み込んだDevSecOpsへと組織が進化しても、「運用側が煩雑なテストやレポーティング対応作業にあたり、開発側が手探りでそのテスト結果の多くのノイズと格闘してコードを修正する」という従来のセキュリティ対応を行っているケースは少なくありません。
しかし、現代のデジタルビジネスでは、奔流のようにユーザーに価値を提供し続ける「バリューストリーム」を創造できるかどうかが、成果を左右します。そのバリューを生み出す開発者チームが旧来の役割分担にとらわれていては、熾烈な競争を勝ち抜くことは難しいといえます。
ソフトウェアに潜む脆弱性は、IASTを活用し、開発段階にセキュリティテストを入れ込んで的確に対策することが、最も効率的な対応です。短時間で脆弱性を特定し対応できるようになれば、「安全性を含めた顧客価値を作るのは開発者である」といった、開発者自身の意識改革が起こるかもしれません。
そうなれば、開発者を含めたエンジニア一人ひとりの成長はもちろんのこと、組織、ビジネスも大きく加速するでしょう。
IASTとDAST、SAST、SCA、RASPの違い
Webアプリケーション・セキュリティ・テストはIASTだけではありません。ここでは主なセキュリティテストやセキュリティソリューションについても見ていきましょう。それぞれの特徴を知り、目的に応じて使い分けることが大切です。
■IAST、DAST、SAST、SCAのイメージ図
DAST:動的アプリケーション・セキュリティ・テスト
DAST(Dynamic Application Security Testing)は、動的アプリケーション・セキュリティ・テストで、ブラックボックス・テストとも呼ばれ、最も一般的なセキュリティテストのひとつです。
稼働中のWebアプリケーションを対象に外部からの悪意ある攻撃をシミュレーションするため、テストシナリオを手動で作成したり、自動でスキャンしたりして、脆弱性を検知します。OWASP Top 10など既知の公開されている脆弱性を参照して攻撃ポイントを見定め、セキュリティホールや確認されていない脆弱性を探ります。
DASTはソフトウェアの実行中に現れる脆弱性を検出できる点がメリットといえます。その一方で、「悪意ある攻撃」のために意味あるテストシナリオを作成するノウハウが必要なため、ツール活用が属人化しやすく、継続利用においては自動化や拡張がしにくいことや、アプリケーション内部の挙動が見られないため、検出される結果の多くが誤検出(偽陽性)となることが、一般的なデメリットです。
SAST:静的アプリケーション・セキュリティ・テスト
SAST(Static Application Security Testing)は、静的アプリケーション・セキュリティ・テストのことで、ソースコードをスキャンして分析し、脆弱性の可能性があるコーディングや、プログラムの設計上の不備・欠陥を的確にリストアップします。ソースコードそのものを直接チェックするため、ホワイトボックス・テストと呼ばれ、コードのコンパイル前に行うことで、脆弱性を早期に発見可能です。コンパイル後のバイナリに対して、データフローを見ながらスキャンする方式もあります。
しかし、SASTが検出する欠陥は、そのコードが実際には使われていないなど、必ずしも実際の攻撃可能な脆弱性リスクに直結するとは限りません。そのため、実際には攻撃が実現できない脆弱性が膨大に検出されるケースもあります。また、システムの動きを変えずに、膨大な検知結果に対する複雑な優先度づけと修正作業を行うのは、開発者に大きな作業負荷がかかります。
SCA:ソフトウェア・コンポジション解析
SCA(Software Composition Analysis)は、ソフトウェア・コンポジション解析と呼ばれます。Webアプリケーションで使われているオープンソース・ソフトウェア(OSS)をスキャンし、使用状況を可視化するとともに、脆弱性データベースを参照して、そこに潜むセキュリティリスクを提示します。
複雑化したWebアプリケーションでは、効率的に開発するために多くのOSSライブラリが利用されています。膨大なOSSライブラリが包含する脆弱性リスクは、手動で追跡できるものではありません。
IASTとともにスピーディーで信頼性の高いSCAツールを活用することで、開発運用スピードを高め、脆弱性をより少なくし、リスクを低減することができます。
RASP:Webアプリケーション内部に組み込み攻撃から守るセキュリティソリューション
RASP(Runtime Application Self-Protection)は、Webアプリケーション内部に組み込まれ、攻撃や不正入力を検知し、阻止するセキュリティソリューションです。
Webアプリケーションが受ける攻撃から守るための仕組みは複数あり、それぞれに特性が異なりますが、RASPはWebアプリケーションが稼働しているランタイム環境で動作可能なため、外部からの攻撃を効率的に防御します。
一般的なIASTツール導入の注意点
IASTはDASTやSASTのデメリットを解決できるため、導入を検討している人もいるかもしれません。多くのIASTツールは、IASTの機能単体ではなく、多数の検証ツールを統合した脆弱性管理ツールとして、各ベンダーから提供されています。
それぞれに特徴は異なりますが、IASTツール導入時のよくある注意点をご紹介します。
セキュリティテストのためのテストシナリオ作成とメンテナンスが必要
一般的なIASTツール導入時には、セキュリティテスト実行時のためのテストシナリオ作成が必要なケースがあります。このようなテストシナリオ作成は属人的になりやすく、さらに、機能修正や新機能開発に合わせて、都度テストシナリオを作り込む必要があり、継続的にメンテナンスを行わなければなりません。
ニーズに合ったツール選びが重要
多くの種類の中から、ニーズに合ったツール選びをすることが、IAST導入時の注意点のひとつです。
IASTは、実行環境でテストを実施するとともに、Webアプリケーションの動作そのものを観察し、その情報を収集します。IASTツールの核となる機能といえますが、その精度についてはツールによって異なります。精度や漏れ、誤検知が多く、トリアージに手間暇がかかるようでは、開発プロセスの短縮化も開発者の負担軽減もままなりません。
また、ツールによっては、IASTのほかSASTやDAST、SCAなどが統合されたツールもあり、Webアプリケーションの内部構造についての深い理解がないと、適切に設定して結果を解釈できないケースや修正ができないケースもあります。
旧来のセキュリティ運用の一部としてではなく、通常の開発業務の延長線上でセキュリティ対応を無駄なく高速に行うDevSecOpsが実践可能なIASTを選択すれば、開発者は開発業務にさらに専念できるようになります。
「セキュリティチームがテストをしたいのか」「開発者が脆弱性を減らしたいのか」といった、誰がどのように使い、何をやりたいのか、ニーズを明確にし、自社に合ったツールを選ぶことが重要です。
開発者のセキュリティ対応実践における意識改革や効率化を行うならNew Relicがおすすめ
DevSecOpsやBizDevOps、アジャイルに代表されるような、開発者が顧客価値を作る意識を持ち、業務にコミットする企業を目指すなら、オールインワンのオブザーバビリティ・プラットフォームであるNew Relicがおすすめです。
2024年、New Relicは、脆弱性管理を行う「New Relic Vulnerability Management」にWebアプリケーション・セキュリティ・テスト機能「New Relic IAST」を追加しました。New Relic IASTは、New Relicの主要な機能であるNew Relic APMのオプションとして利用ができます。
その特徴を詳しくご紹介します。
高度な技術も専門知識も不要
New Relic IASTは、高度な技術も専門知識も不要です。New Relic IASTの最大の特徴のひとつは、アプリケーションの実行環境で、特別なテストシナリオ作成の必要がないことです。通常の動作確認やテストリクエストからIASTがセキュリティテストを自動生成と自動実行し、脆弱性の懸念がある処理を的確に検出して、修正案までも提示します。ランタイムレベルで分析を行うため、動作中に現れる脆弱性を正確に、手に取るように検出できます。
また、修正後の再テストも同様に、特別なテストシナリオ作成が不要です。旧来のテストシナリオ作成には、ツールの深い知識のほか、結果のノイズ除去や実際のコード修正作業に高度なWebアプリケーションセキュリティの技術や専門知識が必要でした。しかし、New Relic IASTなら、それらがなくとも、コストが小さくなる本番リリース前の開発テスト工程までに脆弱性の対応が可能になります。
限りなくゼロに近い誤検知率でセキュリティ対応の大幅な省力化を実現
New Relic IASTは、ゼロに近い誤検知率で、開発プロセスのセキュリティ対応の省力化に大きく貢献します。
New Relic IASTは、New Relic Vulnerability ManagementのSCA機能と併用することで、稼働環境OSSライブラリとカスタムコードのどちらの脆弱性もまとめて把握が可能です。また、特許を取得しているアルゴリズムによって脆弱性を限りなくゼロになるように実現しています。OWASP Benchmark V1.2においては、正確性が100%以上、偽陽性(誤検知)は0%という検証結果報告もあります。
さらに、具体的なエクスプロイトコードもあり、開発者は具体的な再現手順の把握が可能です。修正方針も具体的に提示されるため、脆弱性修正対応において劇的な負担軽減が実現できます。
セキュリティ対応のシフトレフトで、リリースのスピードアップ
New Relic IASTは、セキュリティ対応のシフトレフトにより手戻りをトータルで削減するだけではなく、ゼロに近い誤検知率により無駄なノイズからの精査作業も削減できることで、セキュアな高速・高頻度のリリースが可能になります。
また、オブザーバビリティ・プラットフォームであるNew Relicなら、ソフトウェア開発ライフサイクルのあらゆる段階で、フロントエンドからバックエンドまで、システムの全体像を細部まで把握可能です。脆弱性の可能性を事前に排除し、稼働中の状態を常に観察し続け、異常が起これば即時に原因を突き止めて対処できるのです。
開発者の意識改革のきっかけとなる
New Relic IASTを導入することで、開発組織の意識改革のきっかけになることが期待できます。
New Relic IASTは、正確な脆弱性検知機能とガイド付きの修正機能があるため、今まではネガティブに捉えがちだったWebアプリケーションセキュリティ対応の膨大な作業が、かつてないスピードで脆弱性を特定し、修正できるようになります。そのため、個々の開発者が、開発・運用・セキュリティの一連の作業を手掛ける「フルサイクル・デベロッパー」として、顧客価値創出の意識を高く持ちやすいともいえるでしょう。
New Relic IASTは、「安全な顧客価値を作るのは開発者である」といったマインドシフトの発火点にもなりえるのです。
IASTを活用し、開発チームの生産性向上ならびに事業への貢献、ビジネスの成長を目指すなら、New Relicを検討してみてはいかがでしょうか。
New Relic導入のご相談については、お問い合わせフォームよりご連絡ください。
次のステップ
- 脆弱性診断についてもっと知りたい方はこちら「脆弱性診断とは?重要性とツールの種類について~DevSecOpsの実現に必要な技術を整理する~」
- まだNew Relicをお使いではありませんか? New Relicでは、無料でお使いいただける無料サインアップをご用意しています。 無料プランは、毎月100GBの無料データ取込み、1名の無料フルプラットフォームユーザー、および無制限の無料ベーシックユーザーが含まれています。
無料サインアップはこちらから
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。