【レポート】エッジでBotを対処する #SEC332 #reinvent

2019.12.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも!大阪オフィスの西村です。

本記事はAWS re:Invent 2019の「Bot mitigation at the edge」の速報セッションレポートです。

 

概要

DDoS attacks and malicious bots threaten the performance and availability of internet-facing applications. It’s important to protect these applications to ensure that they are secure and available for use by legitimate viewers. In this session, learn how developers are using AWS services at the edge, including Amazon CloudFront, AWS Shield, AWS WAF, and Lambda@Edge to build a more comprehensive defense that can be applied across scaled, multi-region applications.

 

DDoS攻撃と悪意のあるボットは、インターネットで公開しているアプリケーションのパフォーマンスと可用性を脅かしています。これらのアプリケーションを保護して、正当なユーザーが安全に使用できるようにすることが重要です。このセッションでは、開発者がAmazon CloudFront、AWS Shield、AWS WAF、Lambda@EdgeなどのAWSサービスをエッジでどのように使用して、どうやってスケーリングされたマルチリージョンアプリケーションに包括的な防御を構築できるかを学びます。

 

レポート

 

アジェンダ

関連セッション

 

内容

 

▼トラフィックの割合は大まかに人、良いBot、悪いBotに分類されます

 

▼良いBotの例を紹介します

 

▼良いBotとは下記のエチケットを守ってくれます

 

▼amazon.comのrobots.txtはこんか感じで記載されています。

▼有名なところとしてはCommon Crawlという団体のクローラーです。CCBotというBotがあります。

▼Botによる攻撃

インフラに対するDDoS攻撃

ex)

  • SYN Flood
  • UDP reflection
  • HTTP Flood

 

▼数値で表すとこのように大量の攻撃がAWSに対して行われています

 

アプリケーションにおける攻撃

OWASP Top 10より

  • SQL Injection
  • Cross Site Scripting(XSS)

 

OWASP Automated Threatsより

  • Vulnerability Scanning
  • Scraping
  • Account Takeover(ATO) アカウントの乗っ取り

▼Botによる攻撃のインパクト

インフラ

  • インフラのコスト増加
  • サーバダウンや不安定な状況の可能性
  • Manual intervention手動の作業が発生する?
  • 機会損失

アプリケーション

  • 盗まれたデータ
  • 侵害されたクレデンシャル
  • スパムや偽のレビュー
  • goodwillの損失
  • 財政的影響

▼シンプルなbot

特徴としては

  • よく知られたツールで自動化されている
  • 単一のデバイス、単一IPからリクエストする
  • 必要なデータがなかったり、不正なリクエストをしてくる

 

高度なボットの特性

  • JSで実行し、有効なフィンガープリントを生成し
  • 人によるタップ操作などを模倣し、ワークフローをエミュレート
  • 全世界に分散し、オリジンをマスクしているので、発生源を特定することは困難です

▼Botによる攻撃を緩和

DDoSサービスやFirewallのサービスを組み合わせて対処していきます

 

▼AWSのミッション

お客様を守り、AWSを守り、AWSと統合することです

つまり、お客様がセキュリティ対策を簡単に実装できるようにすることです。

 

▼AWSでは多くのサービスを提供しています

  • AWS Shield
  • AWS WAF
  • AWS Firewall Manager
  • AWS Shield Advanced

 

▼これまでの歴史

▼ここから、サービスにフォーカルした内容の紹介です

AWS WAFの最新動向について説明します

▼AWSでマネージドされたAWS WAFのルールを提供しました

▼ここで登壇者が変わります

▼ここからはAWS Shield/Shield Advancedについての機能説明が続きます

▼再び最近リリースされたAWS Managed Rules for AWS WAFの話です

▼セキュリティを自動しましょうという話でテンプレートとなるCloudFormationが公開されています

▼LambdaがAWS WAFのIPリストを自動的に定期的に更新します

▼Lambdaに渡ってくるイベントソース

▼Lambdaの実装例の説明

▼AWS WAFのIPリストが自動的に更新されます

高度な攻撃からアプリケーションを保護すためにはどうするかの話をします

▼AWS WAFでは複数の条件をみたしたらブロックするなどボーリュームに対するルールを設定できます

ここでは下記のような条件で設定した例を載せています

  • URL:/login.html
  • メソッド:POST
  • From:Xという国から
  • 5分間で100リクエスト以上

▼アカウント乗っ取りの攻撃を緩和

エラーに対して完全に制御できます

  • エラーのしきい値
  • 分単位でのチェック
  • エラーコード
  • URIリスト

▼不正なボットの動作を検出する構成:ハニーボット

▼AWS WAFでManaged Ruleを提供する企業が多くあります。

▼マーケットプレイスから利用できます。

▼Botの脅威を緩和するベンダーも多くあります

▼CloudFrontにLambda@edgeを設定しBot Mitigration APIをコールして対処する

▼それぞれのレイヤーで対策します

▼ここで登壇者交代です!

▼Daemon SolutionsのPaul Campbell氏によるサービスの紹介です

カスタマーエクスペリエンスは最重要ですが、セキュリティはトレードオフではありません

 

▼セキュリティは軍拡競争のようなものです

▼私達は先に2つのことを先に感が寝る必要があります

▼AWSの上でサービスを構築しています。

構成の説明が行われました。

 

▼コスト、モニタリング、実行スピードを考慮する必要があります

▼まとめ

  • シンプルなBotをブロック
    • 一般的なボットシグネチャ(AWS WAFのセキュリティ自動化構成、マーケットプレイスで提供されているAWS WAFのマネージドルールを使う)
  • 発展したBotをブロック
    • マネージドルールを使う、ハニーポッドソリューションを構成をとる、レートベースのルールを設定する、bot mitigation softwareと連携する

 

 

感想

アクセスの多いサイトだとBotの対策は必須になってくるかと思います。

Botに対する対処が紹介されていました。

AWSのサービスを組み合わせたソリューションはCloudFormationで簡単に作れるので、今度試してみたいと思います。

誰かの参考になれば幸いです。