ウェブアプリケーション セキュリティ テストとは何でしょうか?

Webベースの電子メールからオンラインショッピングやバンキングまで、企業は日々、複雑なインストールやアップデートを必要とすることなく、顧客のWebブラウザで直接ビジネスを展開しています。加えて、企業は財務、マーケティング自動化、さらには社内コミュニケーションのための社内用Webアプリケーションを展開していますが、これらのアプリケーションは多くの場合、自社で開発されたものであるか、あるいは特定のニーズに合わせて微調整されたものであることが多くなります。

Webアプリケーションは、企業や顧客に利便性を提供する一方で、その普及率の高さからサイバー犯罪者にとっては狙い目となる攻撃対象となっています。そのため、ウェブアプリケーション セキュリティ テスト、つまりウェブアプリケーションのリスクをスキャンし、テストすることが不可欠です。

2018年のVerizon Data Breach Reportが示すように、確認されたデータ侵害ではウェブアプリケーションが狙われやすい攻撃対象となっており、一部の業界ではデータ侵害のうち最大で41%がウェブアプリケーション関連となっています。また、Webアプリケーションに関連したデータ侵害被害の約半数は、セキュリティチームが発見するまでに数ヶ月以上掛かっていることがわかりました。攻撃者がシステムにアクセスできる時間が長ければ長いほど、被害は拡大します。攻撃者をできるだけ早く発見し、排除しなければなりませんが、言うは易く行うは難しです。

攻撃者がWebアプリケーションを標的にするようになって以来、攻撃者はその手法を洗練させ、バトルテストを行うことが可能となり、巧妙さが増しています。企業が一般的なWebアプリケーションの攻撃から自社を守るために、ベストプラクティスに従ったとしても(OWASP トップ10など)、十分ではありません。 Webアプリケーションへの侵入は、犯罪者にとって利益をもたらす可能性があります。犯罪者は、最新かつ最高の攻撃方法やツールを使用しようと意欲を持っており、背後には組織犯罪から得た資料もあるのかもしれません。このような強引な割り込みに対しては、企業が単独で対抗するのは困難です。

また、Webアプリケーションは非常に複雑で、攻撃者の侵入を自動的に検知するシステムを混乱させることがあります。そのため、侵入検知などの一般的なツールだけでは不十分であり、ウェブアプリケーション セキュリティ テストがそのギャップを埋めることができます。

ウェブアプリケーション セキュリティ テストのタイプについて

動的アプリケーションセキュリティ テスト(DAST):DASTのアプローチでは、攻撃者が利用しようとする可能性のあるWebアプリケーションの脆弱性を探索します。このテスト方法は、攻撃者がどのような脆弱性を狙い、どのようにして外部からシステムに侵入するのかを検証するものです。動的アプリケーションセキュリティ テストツールは、アプリケーションのオリジナルソースコードへのアクセスを必要としないため、DASTによるテストを迅速かつ頻繁に行うことができます。

静的アプリケーション セキュリティ テスト(SAST):SAST は、DAST とは異なり、Webアプリケーションのソースコードにある脆弱性を探すという、より厳格なアプローチをとります。アプリケーションのソースコードにアクセスする必要があるため、SASTはWebアプリケーションのセキュリティのスナップショットをリアルタイムで提示することができます。

アプリケーション侵入テスト:アプリケーション侵入テストには、人間的な要素が含まれます。セキュリティの専門家は、攻撃者がWebアプリケーションに侵入する方法を真似て、個人的なセキュリティのノウハウと様々な侵入テストツールを使って、悪用可能な欠陥を見つけようとします。また、社内にリソースがない場合は、Webアプリケーション侵入テストサービスを第三者に委託することもできます。

ウェブアプリケーション セキュリティ テストに関する3つのヒント

1) ビジネスに不可欠なシステムであれば、頻繁にテストを実施する:クレジットカード番号、個人識別情報(PII)、あるいはその他の機密情報を含む顧客データを保存するシステムにおいては、セキュリティ上に脆弱性がないか否かをテストする必要があります。実際、政府や業界が定めた多くのコンプライアンスガイドラインの要件になっていることもあります。このことを念頭に置いて、お客様の組織におけるウェブアプリケーション セキュリティ テストの潜在的な範囲を検討してください。

2)ソフトウェアの設計ライフサイクルにおいて、セキュリティテストの実施時期は、早ければ早いほど望ましい:セキュリティテストをソフトウェア開発の最後の段階で行うことは推奨しません。どうしても脆弱性が見つかってしまい、開発や保守のプロセスに大きな支障をきたす可能性があります。開発ライフサイクルの早い段階でセキュリティを組み込む:、可能であればお客様の開発運用(DevOps)チームが全面的に関与することで、対応を効率化し、リスクを抑え込むことができ、修復にかかるコストや時間を最小化することができます。

3) 修復とバグの修正に優先順位をつけることで、開発チームの業務進行を促進する:ウェブアプリケーション セキュリティ テストの結果は、開発チームがいずれかの時点で対処しなければならない項目のリストになることがよくあります。セキュリティでは脆弱性と呼びますが、開発ではバグと呼びます。重要なのは、これらの問題のリストを単にDevOpsチームで抱えるのではなく、脆弱性に優先順位をつけ、バグトラッキングシステムと完全に統合することで、修復までの時間を最大限に短縮することです。

ウェブアプリケーションセキュリティはこれまで以上に重要です。ウェブアプリケーションセキュリティスキャナを導入し、テストと修復の両方において基本的なベストプラクティスに従うことで、企業はリスクを大幅に低減し、攻撃者からシステムを安全に守ることができます。