みなさん、こんにちは。サニービュー事業部の小寺です。

今日は、AWSよりShieldで2020年度に多かったネットワークトラフィックと Web リクエストパターンからボリュームが大きいセキュリティイベントが発表されました。AWS Shieldの活用も含めてどのような対策を取っていくと良いかお伝えします!

https://aws.amazon.com/jp/blogs/news/aws-shield-threat-landscape-review-2020-year-in-review/

■AWS Shieldとは

AWS Shieldは、分散サービス妨害 (DDoS) に対するマネージド型保護サービスです。アプリケーションの稼働状態を監視してダウンタイムやレイテンシーを最低限に抑える様々な対応を行います。マネージド型のサービスなので検知時にAWSにサポート依頼をする必要はなく、サポート要員は検出された内容に基づき、最も適切な対応を実施します。AWS Shieldは2つの階層があります。

・AWS Shield Standard
最も一般的で頻繁に発生するネットワークおよびトランスポートレイヤー(OSIのレイヤー3とレイヤー4)のDDoS攻撃を防御します。Amazon CloudFrontやAmazon Route 53 とともに使用すると、ネットワークおよびトランスポートレイヤー(TCP/IPレベルのインフラ)を標的とするすべての既知の攻撃を総合的に保護することができます。

・AWS Shield Advanced
Standardの機能に加えて、EC2、ELB、Amazon CloudFront等のリソースの上で実行されるアプリケーションを標的とした攻撃に対する保護も行うことができます。大規模で高度な DDoS攻撃に対する追加の検出および影響を最小限にするための対策と、ほぼリアルタイムの可視性を提供します。また、ウェブアプリケーションファイアウォールである AWS WAFと統合して機能します。

■2020年度のShieldで確認された攻撃

インフラストラクチャ層(ここでは、OSI モデルのレイヤ 3 および 4を意味します)とアプリケーション層の2つに分けて、月別の傾向を示します。

「 2020 年に AWS Shield が検出したボリュームイベントの月別の件数 」 https://aws.amazon.com/jp/blogs/news/aws-shield-threat-landscape-review-2020-year-in-review/より引用

インフラストラクチャ層(OSI モデルのレイヤ 3 および 4)

TCP SYN フラッドや UDP リフレクション攻撃が多い傾向でした。
TCP SYN フラッドはサーバに多量のTCP接続を行おうとするもので、その際の3Wayハンドシェイクを悪用します。TCPの接続を確立するとき、クライアントはサーバにSYNパケットを送り、サーバがACKパケットを返信、クライアントがACKパケットを送り返します。
サーバは最後のクライアントからのACKパケットが届くまで待機します。SYN flood攻撃はクライアント側がACKパケットを送らずに次々とSYNパケットを送っていくことで、サーバが新しい接続を受け付けにくい状態にしてしまいます。

UDP リフレクション攻撃とは、UDPのコネクションレスな性質を悪用し、インターネット上の無防備なサーバーに対して偽装したリクエストを行います。攻撃では、偽装した被害者のIPアドレスを使用して、大量の小さなリクエストをインターネット上のアクセス可能なサーバーに送信します。サーバーは増幅されたレスポンスを何も知らない被害者に大量に返します。サーバーの挙動は、攻撃者が意図している通りの攻撃を行ってしまいます。

「https://docs.aws.amazon.com/whitepapers/latest/aws-best-practices-ddos-resiliency/udp-reflection-attacks.html」より引用

アプリケーション層攻撃

Webリクエストフラッド攻撃が多い傾向でした。これは、過去数年から同じ傾向がみられます。Webリクエストフラッド攻撃は、攻撃者はネットワークパス、デバイス、またはその他の下位レベルのコンポーネントの容量を使い果たさなくても、アプリケーションが処理できる以上の Web リクエストを送信することができます。

2020 年、Shield は 53 日間の高い脅威レベルを報告し、そのうち 33 件は大量の Web リクエストフラッドが原因でした。50万リクエスト/秒 ( RPS ) を超えるボリュームを持つイベントは 55 件あり、そのうちのいくつかは数百万 RPS に達しました。

 「2020 年に AWS Shield が検出したWeb リクエストフラッドの四半期ごとの P90 および P99 の値 」
https://aws.amazon.com/jp/blogs/news/aws-shield-threat-landscape-review-2020-year-in-review/より引用

■アプリケーションを保護するベストプラクティス

AWS Shield Advanced で、インターネットに面したリソースを保護

AWS Shield Advanced を使用すると、AWS で実行されているアプリケーションを最も一般的で頻繁に発生するネットワークおよびトランスポート層の DDoS 攻撃から保護できます。AWS Shield Advanced で保護されたリソースを追加すると、それらのリソースに対するネットワークボリューム攻撃が検出され、より迅速に軽減されます。AWS Shield コンソール、API、または Amazon CloudWatch メトリクスを使用して、セキュリティイベントの可視性も取得できます。

Amazon CloudFront と Amazon Route 53を利用して、大規模なボリューム攻撃を軽減

AWS エッジロケーションのグローバルネットワークを使用して、静的および動的な Web コンテンツと DNS 応答ができます。。よって、大規模なボリューム攻撃の軽減に役立つ容量が増えます。Amazon CloudFront と Amazon Route 53 が前段にあるアプリケーションでは、すべてのトラフィックを継続的に検査し、インフラストラクチャ層の DDoS の試行を 1 秒未満で軽減するインライン緩和のメリットもあります。

AWS WAF とレートベースのルールを使用して、アプリケーション層攻撃を軽減

Web コンテンツを提供するために CloudFront またはアプリケーションロードバランサー ( ALB ) に Shield Advanced 保護を追加すると、追加料金なしで AWS WAF を利用することができます。AWS WAF の AWS マネージドルールを使用すると、特定の要件に応じて、事前設定されたルールを簡単に選択して適用できます。また、Web リクエストフラッドの検出を受信し、定義したレートを超えるトラフィックを送信している IP アドレスを一時的にブロックするようにレートベースのルールを設定することで、セキュリティイベントを軽減できます。

■DDoS 攻撃の可能性が検出された場合の迅速な対応

AWS Shield Advanced でリソースを保護するケースを考えます。
AWS Shield Advanced では、Amazon Route 53 ヘルスチェックを関連付けるオプションがあるので、有効にすることがおすすめです。ヘルスチェックのステータスは、Shield の検知システムで行われる判断に使われます。
ShieldでRoute53のヘルスチェックで、DDos攻撃によるエラーだと判定されると自動的にAWS Shield Response Team (以下、SRT※)がアサインされます。
Shield コンソールで提供される連絡先情報に基づいて、SRT エンジニアがお客様に連絡し、検出されたイベントに対する対応を調整します。Web アプリケーションを実行している場合は、Shield Advanced および AWS WAF API へのアクセスの対応を依頼することができます。
WAFのログも提供することによりSRT エンジニアが DDoS シグネチャとボットのパターンについてログを評価し、効果的なDDos緩和策の対応をサポートします。

※AWS Shield Response Teamをご利用いただくためには、対象のアカウントがAWS BusinessサポートもしくはAWS Enterpriseサポートに加入している必要があります。

■まとめ

いかがでしたでしょうか。リスクを下げるために取り組むべきことは多々ありますね。

SunnyCloudでは、AWSのコストを削減したい、無駄なコストが発生していないか心配・・という方向けに 「AWS利用料の削減を極める」と題したWebinarを7/27(火)13時~開催いたします。ご興味のある方は、ぜひお申込みをお待ちしております。

https://www.sunnycloud.jp/20210727/