ボット管理
概要
自動化されたボットトラフィックは、可用性、インフラストラクチャコストの増加、分析の偏り、アカウントの乗っ取りなどの不正行為の観点から、ウェブアプリケーションに悪影響を与える可能性があります。ボット管理は、ボットからのトラフィックを識別し、望ましくないトラフィックをブロックするために使用するコントロールを指定します。このような制御がどの程度高度になるかは、悪意のある攻撃者がどの程度金銭的、政治的にウェブアプリケーションを標的にするよう動機付けられているかにかかっています。Web アプリケーションをターゲットにする意欲が高まるほど、検出回避技術への投資が増え、より高度な緩和機能が必要になります。ボットの管理には、それぞれが特定のボットの高度化に適応した差別化されたツールを使用した、階層化されたアプローチを採用することが推奨されます。 どこから始めればよいかについての詳細は、「ボットコントロール戦略の実装に関する AWS 規範ガイダンス」を参照してください。
一般的なボットと普及しているボットのシグネチャベースの検出
スキャナーやクローラーなどの一般的で普及しているボットによって生成されたトラフィックは、IP、ユーザーエージェントヘッダー、TLS フィンガープリントなどの HTTP 属性に基づいてリクエストの署名を分析することで、サーバー側で識別および管理できます。AWS WAF では、以下の署名ベースのルールを使用できます。
- レート制限、マネージド IP レピュテーションルールグループ (Amazon IPレピュテーションリスト、匿名 IP リストなど)、Shield Advanced の自動アプリケーションレイヤー DDoS 緩和によって自動的に作成されたルールなど、HTTPフラッド (L7 DDoS 攻撃) をブロックするために使用されるルール。
- AWS WAF Bot Control マネージドルールグループは、自己識別型ボットをブロックする共通の保護レベル、または信頼性の高いボット署名を使用して設定されています。このルールグループを細かく設定して、Http Library や Scraping Framework などのさまざまなボットカテゴリの管理を区別できます。このブログでは、ラベルとスコープダウンステートメントを使用して AWS WAF Bot Control をきめ細かく設定する具体的な例をご紹介します。
- AWS Marketplace のセキュリティベンダーが提供するマネージドルール (F5 のボット保護ルールや ThreatSTOP の Active Malicious Bots など )。
高度なボットの行動検知
悪意のある攻撃者が、Webサイトへのトラフィックを自動化する動機が高い場合(たとえば、コンテンツをスクレイピングして再販したり、クレジットカードデータを盗んだり、再販したりする金銭的動機など)、検出を回避する技術(住宅用ネットワークからのIPの使用、高度なブラウザ自動化フレームワークの使用、CAPTCHAファームの使用など)により多くの労力と費用を投資します。高度なボットの場合、シグネチャベースの検出は効率が悪く、より高度で高価な行動検出を導入する必要があります。 高度なボットの場合、シグネチャベースの検出は不十分で、より高度で高価な行動検出を導入する必要があります。サイレントチャレンジと CAPTCHA アクションは、高度なボットの一般的な緩和アクションとして使用され、ブラウザやモバイルデバイスとのやり取りを伴います。このブログ記事を読んで、これらの相互作用がどのように行われるかをさらに詳しく見てみましょう。
CAPTCHA
AWS WAF に設定されたルールには、ブロック、カウント、またはレート制限に加えて、 CAPTCHA アクションを含めることができます。ルールに CAPTCHA アクションが設定されている場合、ユーザーはパズルを解いて、人間がリクエストを送信していることを証明する必要があります。ユーザーがCAPTCHAチャレンジを正常に解決すると、今後リクエストがチャレンジされないように、設定可能なイミュニティタイムを使用してトークンがブラウザに配置されます。CAPTCHA を設定するためのベストプラクティスについて学んでください。
サイレントチャレンジ
AWS WAF に設定されたルールには、ブロック、カウント、またはレート制限に加えて、チャレンジアクションを含めることができます。ルールにチャレンジアクションが設定されている場合、ブラウザにはサイレントチャレンジ (インタースティシャルチャレンジ) が表示され、クライアントセッションはボットではなくブラウザであることを確認する必要があります。検証は、エンドユーザーの関与なしにバックグラウンドで実行されます。これは、CAPTCHA パズルでエンドユーザーエクスペリエンスに悪影響を与えることなく、無効と思われるクライアントを検証するのに適したオプションです。ユーザーがサイレントチャレンジを正常に解決すると、今後リクエストがチャレンジされないように、設定可能なイミュニティタイムを使用してトークンがブラウザに配置されます。チャレンジを設定するためのベストプラクティスについて学んでください。
クライアントアプリケーション統合
AWS WAF トークンを取得するもう 1 つの方法は、AWS WAF アプリケーション統合 SDK を使用することです。SDK はクライアントアプリケーションでのプログラミングが必要ですが、より優れたカスタマーエクスペリエンスを提供でき、無料で使用できます。また、JavaScript を実行するブラウザで使用することも、Android や iOS のモバイルアプリケーションでネイティブに使用することもできます。SDK 統合は、シングルページアプリケーションなど、Challenge または CAPTCHA ルールアクションがオプションではない場合に役立ちます。AWS WAF には、次の 2 つのレベルのクライアントアプリケーション統合が用意されています。
- インテリジェントな脅威統合 SDK – これはインテリジェントな脅威緩和ルールと連携するように設計されています。クライアントアプリケーションを検証し、AWS トークンの取得と管理を行います。また、AWS WAF Challenge ルールアクションと同様に機能します。
- CAPTCHA 統合 JS API – この API は、顧客がアプリケーションで管理するカスタマイズされた CAPTCHA パズルを使用してエンドユーザーを検証します。これは AWS WAF CAPTCHA ルールアクションで提供される機能に似ていますが、パズルの配置と動作の制御が追加されています。この機能は JavaScript アプリケーションで使用できます。
AWS WAF Fraud Control
AWS WAF には、ログインまたは登録ワークフローにおける不正行為の検出に重点を置いた一連のマネージドルールが用意されています。アカウント乗っ取りは、攻撃者が盗んだ認証情報を使用したり、一連の試行を通じて被害者のパスワードを推測したりして、ユーザーのアカウントに不正にアクセスするオンラインの違法行為です。AWS WAF Fraud Control Account Takeover Prevention (ATP) マネージドルールを実装することで、アカウント乗っ取りの試みを監視および制御できます。ATP は、ユーザーセッションごとに、ログイン試行の回数 (失敗回数を含む) を監視して、パスワードまたはユーザー名のトラバーサル試行を検出します。さらに、ATP はユーザー名とパスワードの組み合わせを盗まれた認証情報データベースと照合します。このデータベースは、ダークウェブ上で漏洩した新しい認証情報が発見されると定期的に更新されます。
アカウント作成詐欺は、攻撃者が1つ以上の偽のアカウントを作成しようとするオンラインの違法行為です。攻撃者は、プロモーションや登録ボーナスの悪用、なりすまし、フィッシングなどのサイバー攻撃などの不正行為に偽のアカウントを使用します。AWS WAF Fraud Control Account Creation Fraud Prevention (ACFP) マネージドルールを実装することで、不正なアカウント作成の試みを監視および制御できます。ACFP は、ユーザーセッションごとに、侵害された認証情報の使用、IP リスクスコア、ページとのクライアントのインタラクティビティ、検出された自動化フレームワークまたは一貫性のないブラウザー動作、同じ電話/アドレス/E メールの使用率の高さによる複数のアカウントの作成などを監視します。
さまざまな不正対策マネージドルールの機能をフルに活用するには、クライアントサイドSDKをアプリケーションに追加して、セッションレベルで動作を追跡する必要があります。
ターゲットボットの AWS WAF ボットコントロール
ターゲットボット保護レベルを設定したボットコントロールルールグループは、トラフィックパターンのインテリジェントなベースラインを作成することで、高度なボット検出と軽減を実現します。Bot Control for Targeted Bots は、ブラウザーのフィンガープリント技術とクライアント側の JavaScript 問い合わせ方法を使用して、人間のトラフィックパターンを模倣して積極的に検出を回避しようとする高度なボットからアプリケーションを保護します。AWS WAF のボットを対象にしたターゲットを絞ったコントロールには、分散型のプロキシベースの攻撃を防ぐための予測型 ML テクノロジーも用意されています。マネージド AWS WAF Bot Control ルールグループは、ウェブサイトのトラフィック統計の自動化された ML 分析を使用して、分散的かつ協調的なボットアクティビティを示す異常な動作を検出します。
これらのオプションには、動的なレート制限、チャレンジアクション、ラベルと信頼度スコアに基づくブロック機能が含まれます。この高度な機能について詳しくは、この講演とブログをご覧ください。
アプリケーションレベルの動作検知
アプリケーションレベルでは、カスタムシグナルを使用して、アプリケーションで予想される動作に基づいて異常な動作を識別できます。たとえば、ユーザーが特定の順序でアプリケーションをナビゲートすることを期待したり、ユーザーが登録住所に基づいて特定の国から特定の商品を注文したりすることを期待しない場合があります。このようなシグナルを使用すると、AWS WAF を使用して応答を自動化できます。たとえば、アプリケーションレベルの動作が疑わしい IP からの CAPTCHA リクエストをブロックしたり、拒否したりできます。アプリケーションシグナルに基づく WAF 自動化の概念を始めるには、この AWS ソリューションの例を検討してください。
高度な自動化には以下が含まれます。
- サインイン/サインアッププロセス中に Cognito から発生するリスクの高いイベントを消費します。
- Fraud Detector によって検出された高リスクのイベントを消費します。Fraud Detector は、機械学習 (ML) と、アマゾンウェブサービス (AWS) と Amazon.com の 20 年にわたる不正検出の専門知識を活用して、人間やボットが実行する潜在的な不正パターンをリアルタイムで自動的に識別します。Fraud Detectorでは、アプリケーションレベルのユーザー行動を分析し、独自の不正履歴データを使用して、ユースケースに合わせたカスタムの不正検出機械学習モデルをトレーニング、テスト、デプロイすることで、不正行為を検出できます。
サードパーティのセキュリティベンダー
高度なボット検出を専門とする AWS Marketplace のセキュリティベンダーは、追加の保護層を提供できます。ベンダーには、DataDome、Distill Networks、PerimeterX、Cequence、Kasada および Imperva が含まれます。
各セキュリティベンダーは、業界固有の保護、機能、およびコストの点で異なる強みを持っていることに注意してください。一般に、CloudFront を使用するアプリケーションでは、次の 2 つの方法のいずれかでベンダーソリューションを統合できます。
- CloudFront とオリジンの間に位置する SaaS リバースプロキシベースのソリューション。
- グローバルに複製されたボット緩和 API。受信するリクエストのたびに Lambda@Edge が呼び出して (つまり、ビューワーリクエストイベントで設定される)、リクエストの管理方法を決定できます。
リソース
- AWS re:Inforce 2024 - Catch Group が E コマースプラットフォームで AWS WAF Bot Control をどのように使用しているか
- AWS re:Inforce 2022 - AWS WAF を使用するボットに対する高度な保護機能
- ルーティングループ-アプリケーションをボットトラフィックから守る
- OLX ケーススタディ
- AWS WAF CAPTCHA を使用して、一般的なボットトラフィックからアプリケーションを保護してください
- インテリジェントな脅威軽減のベストプラクティス
- AWS WAF デリバリーパートナーを探す
- AWS WAF による詐欺防止とボット制御-AWS オンラインテックトーク
- クロスオリジン API アクセスによる AWS WAF インテリジェント脅威軽減機能の使用
- Kasada がボットを打ち負かす: ボット攻撃を特定して排除する方法