In this article
現代のテクノロジー環境には、最新のアプリケーションセキュリティテストが必要
開発チームがどれほど慎重に取り組み、開発環境でどれだけ多くのセキュリティチェックを実施していても、脆弱性が本番システムに入り込むことはあります。今日の本番環境は複雑で絶えず変化しているため、最新のアプリケーションセキュリティテスト機能が求められます。ソフトウェアのセキュリティと品質という課題は、すべての人に関わるものです。安全なソフトウェアがなければ、セキュリティチームはシステムやデータを保護できません。
この記事では、安全なソフトウェア開発についての考え方と、今日のソフトウェアセキュリティ課題に適したツールの選び方を解説します。
最新のアプリケーションセキュリティテストとは何かを詳しく説明する前に、まず本番環境でセキュリティ脆弱性が常に発生する理由を説明しましょう。開発者やアプリケーションセキュリティテストチームがどれほど優秀で注意深くても、開発やデプロイの過程ですべての欠陥を見つけることはできません。さらに、今日の本番環境は絶えず変化しています。Webページやアプリケーションの内部まで深く調査し、変化に適応できるツールが必要です。
従来型ツールが最新の環境で通用しない理由
かつて、Webサイトやエンタープライズアプリケーションは、現在とは大きく異なる方法で作られ、デプロイされていました。まず、一般にプレゼンテーション層、アプリケーション層、データ層という3つの階層に分けて設計、デプロイされていました。この3層モデルがなくなったわけではありませんが、クラウドコンピューティング、マイクロサービス、API、コンテナの登場により大きく進化しました。適切なアプリケーションセキュリティ対策を行えば、Webアプリケーションやエンタープライズアプリケーションは、さらに動的で、スケーラブルかつレジリエントなものになります。
次に、当時の主な開発手法はウォーターフォールと呼ばれていました。その名のとおり、アプリケーションを完全に開発してから、川の流れのように直線的かつ順序立てて進め、最後に大規模なデプロイを行います。セキュリティテストを実施する場合も、開発プロセスの終盤、あるいはアプリケーションが本番間近または本番環境に入ってから行われていました。
こうした「ビッグバン」型のデプロイは、今日では主に、継続的なアプリケーション開発やデリバリー、一部では継続的デプロイへと置き換わっています。ここでは、組織が実用最小限の製品をデプロイし、その後継続的に更新します。理想的には、セキュリティテストをはじめとするアプリケーションテストも継続的に実施します。また、デプロイ後もテストを続ける必要があります。
継続的、あるいは少なくとも定期的なテストを行わなければ、新しいソフトウェア機能の追加、APIの更新、新しいインテグレーションの作成といった変化に伴って脆弱性が発生し、見逃されてしまいます。こうしたシステムは日々変化しています。
これらは、従来型のセキュリティテストツールの有効性にどのような影響を与えるのでしょうか。影響は決して小さくありません。
従来のWebクローラーは、APIが普及する前の時代に開発されました。多くの従来型スキャナーは、シングルページアプリケーション(SPA)を適切に評価することさえできません。たとえば、Snyk API & Webを評価した顧客や見込み顧客から、他のどの評価ツールでも到達できなかったアプリケーションの領域をSnyk API & Webのスキャンで調査できたと聞くことがよくあり、驚かされます。
現在は顧客となったある見込み顧客が、Snyk API & Webと複数の競合製品を評価していたときの話があります。そこで、他のツールでは見つけられなかった高リスクの脆弱性が、アプリケーションのひとつから見つかりました。先方には原因がわからず、どうやって見つけたのかを尋ねるメールが届きました。発見に至った経緯を知るため、面談も希望されました。そこで私たちは、脆弱性をどのように見つけたのかを調査し、実在することを確認する必要がありました。また、なぜ他のツールでは見つからなかったのかも検証しました。結論はカバレッジでした。私たちのクローラーはそのエンドポイントを見つけることに成功しましたが、競合製品はどれも検出できなかったのです。
この事例は、現代のビジネスとテクノロジーの環境に対応し、WebアプリケーションやAPIを正確に評価できる、動的アプリケーションセキュリティテスト(DAST)ツールを見つけて活用することの重要性を示しています。
最新のDASTソリューションに求められる特長
その役割を果たす最新のDASTに期待できる特長をご紹介します。
テクノロジーを問わない
DASTスキャナーはテクノロジーを問わず、アプリケーションの構築に使われたプログラミング言語やテクノロジーにかかわらず、効果的にテストできる必要があります。さまざまなチームが異なる言語で開発した複数のコンポーネントで構成されることが多い、今日の多様で複雑なアプリケーション環境では、特に重要な特長です。
開発者体験を重視
最新のDASTスキャナーは、開発者のために作られています。ハッカーの手口を模倣し、問題を直接示して、悪用の証拠を提示できます。これにより、脆弱性が開発者にとって具体的に理解しやすくなり、アプリケーションのテクノロジースタックに応じた、問題の修正方法を示す手順も得られます。実行可能なインサイトを重視し、誤検知を最小限に抑えることで、開発者の時間と労力を大幅に削減し、生産性とアプリケーションのセキュリティ態勢を向上させます。
CI/CDパイプラインとの統合
Snyk API & Webは、DASTスキャナーをCI/CDパイプラインに統合することを推奨しています。この統合は、開発プロセスにセキュリティを組み込み、DevOpsをDevSecOpsへと進化させるうえで不可欠です。テストをカスタマイズし、専用のテスト環境を用意することで、DASTはリスクや脆弱性をリアルタイムに特定し、より安全で効率的な開発ライフサイクルを実現できます。
包括的な脆弱性検出
DASTスキャナーは、幅広い脆弱性を特定し、詳細なレポートと修正ガイダンスを提供できるよう設計されています。包括的なカバレッジにより、アプリケーションとAPIを徹底的にテストできます。
誤検知の最小化
DASTの大きな利点のひとつは、他のテスト手法と比べて誤検知を最小限に抑えられることです。実際の脆弱性を正確に特定することで、開発チームの負担を軽減し、誤ったアラートの確認ではなく、実際のセキュリティ問題への対処に集中できるようになります。
Snyk API & Webの理念:今日のために作り、明日のために作り直す
Snyk API & Webの開発を始めたとき、私たちが重点を置いた課題は2つありました。ひとつはカバレッジ、もうひとつは誤検知の解消です。優れた製品を作るには、ゼロから開発するしかないと気づきました。
私たちには成功できるという確信がありました。ブラウザーやJavaScript、その他のWebページ関連言語の開発に豊富な経験があったからです。その知識を生かして、市場に類を見ないクローラーを作り、現在はAIによってさらに強化しています。
また、Webアプリケーションスキャナーを悩ませる最大級の課題のひとつである誤検知の解消に注力したことも、成功につながりました。ヒューリスティック分析から、特定の脆弱性を正確に検出する方法の開発まで、さまざまな手法を取り入れました。見つかった脆弱性を安全に悪用し、特定の欠陥が実際に存在することを示す証拠を集める取り組みも行いました。たとえば、SQLインジェクションの欠陥を検出した場合、その脆弱性を使ってデータベースに接続し、悪用が可能であることを証明する専用モジュールがあります。
最後に、Webアプリケーション評価ツールとしての有効性と関連性を保つには、必要に応じてセキュリティ評価製品を見直すことが欠かせません。私たちもそうしてきました。数年間使ううちに、クローラーに影響を及ぼす新たな問題に気づきました。既存の問題を前提に改良を重ねるのではなく、クローラーの第2世代をゼロから作り直しました。これにより、改善したい点を解消し、最初の数年間で得たすべての教訓を取り入れることができました。
残念ながら、多くの従来型プロバイダーは、製品の初期開発時に抱え込んだ問題をそのまま引きずっています。その結果、時間が経つにつれて、解決困難な構造上の課題を抱えるようになります。
最新のWebアプリケーションを保護するには、AIが生成するリスクにも対応できる、最新のDASTスキャナーを組織が選ぶことが不可欠です。テクノロジーを問わず、開発者に使いやすく、CI/CDパイプラインとシームレスに統合でき、包括的な脆弱性検出機能を備え、誤検知を効率的に最小化できるツールが必要です。これらの特長が一体となることで、セキュリティテストのプロセスが強化され、最新の開発手法に沿った、より効果的なものになります。
ただし、私の言葉をそのまま信じる必要はありません。私が明らかに偏った立場にあることは承知しています。ぜひSnyk API & Webの動作をご自身でお確かめください。使いやすさ、脆弱性検出の正確さ、レポートと修正ガイダンスの質を実際にご覧いただけます。