8割解けるCTF「WEST-SEC」

セキュリティ初心者の方でも楽しめるゲーム形式のセキュリティイベント。CTFや勉強会の依頼があればご相談ください。

DDoS対策

1.DDoS対策のWEST-SECについて

1.1 開催概要

・日時:1月28日(火)19時~21時
・形式:オンライン
・講師:WEST-SECメンバー、Cloudflare社
・カリキュラム案※予定であり、変更すると思われます。

時間 内容 講師
19:00~19:20 TCP/IPのおさらいとDDoS攻撃の基本 WEST-SEC
19:20~19:50 Cloudflare社のDDoS対策サービス概要 Cloudflare社
19:50~20:40 DDoS対策の技術解説、管理画面の紹介、ログの確認など Cloudflare社
20:40~21:00 Q&A WEST-SEC、Cloudflare社

1.2 Cloudflare社について

https://www.cloudflare.com/about-overview/

2.DDoS攻撃について

2.1 攻撃の現状

・インターネットで流れるパケットは、10億~20億程度なのであるが、秒間20億パケットというとんでもないDDoSが確認された。
・これだと、サーバのリソースをダウンさせるというより、回線を埋め尽くすので、単一ネットワーク(サーバや企業単位)で防ぐことは不可能。
・最近では、アフリカからの攻撃が多い。実際にアフリカから攻撃があるわけではなく、セキュリティレベルが低いサーバが多いので、踏み台にされている。
・最近はSlow系のDoS攻撃が減っている。
・HTTP/2のRapid Reset AttackのDDoS攻撃が増えていて、Requestですぐにcancelを送り付ける。Responsを受け付けないので、たとえば1Gbpsの回線だとすると、単純計算だと2倍?の攻撃ができて、サーバのリソースに負担をかけることができる★要確認。
・生成AIを使った攻撃も増えている。ヘッダをランダム化して、同じPCから同じパケットを送っているのではなく、複数台のPCからの自然なパケットに見せるようにしている。
・IPv4、IPv6、どっちの攻撃が多い?★★

2.2 DDoS攻撃の種類

攻撃の種類 概要
UDP Flood 攻撃 公開Webサーバ,DNSサーバを攻撃対象に,偽の送信元IPアドレスとランダムな宛先UDPデータグラムを大量に送りつける。(情報処理安全確保支援士試験R6春問2より)
SYN Flood攻撃  
HTTP GET Flood攻撃  
DNSリフレクション攻撃  
・・・  

2.3 TCP/IPの復習

・3wayハンドシェークについて


3.DDoSの対策について

3.1 対策の方法

DDoS攻撃への対策は、以下があると思います。
❶サーバの前に、DDoS対策のアプライアンス製品を設置する
❷UTMやルータにてトラフィックシェーピングやDDoS対策を有効にする
❸ISPが提供するDDoS防御サービスを契約する
❹クラウド上にサーバを構築しているのであれば、クラウドのDDoS対策サービスを利用する。
たとえば、AWSの場合、Amazon Shield。簡易なものは無料版。CloudFrontなどを使う有料版もある。注意点はトラフィック課金なので、非常に高額になる場合がある。
❺DDoS対策のサービスを利用する
❻CDNサービスを利用する
❼何もしない(リスク受容)
攻撃者もコストと稼働がかかるので、ずっと攻撃することは不可能です。

3.2 DDoSのアプライアンスでの対策とその限界

・概要および構成の説明
・先に述べたように、回線を埋め尽くすDDoSの場合、単一のアプライアンスでどうこうなる話ではない

3.3 その他の技術

SYN Cookie

4.Cloudflare社のDDoSの対策について

4.1 概要

・インターネットの通信の約20%の通信がCloudflareを通っている。
・イメージとしては、インターネットに巨大なDMZを作るようにして、規模を大きくしたうえで、入り口で防ぐ。
・保有する500拠点のDCは全て高いセキュリティレベルを保っている
・L7では、DNSをCloudflareに移す→nslookupを引くと、Cloudflareに向く。
・L3やL4では、BGPの経路をCloudflareに向けて、攻撃パケットを流す。
・いくらクラウドフレアのDCといえ、1つだけでDDoS対策を対処しようとすると、つぶされてしまうくらいの大規模な攻撃がくる。なので、DDoSの基本は攻撃者に近い所(基本的には世界中のサーバ)で防御する

4.2 サービスプラン

・Cloudflare社は、DNSやCDNなどを単体提供しているわけではない。
・プランは、以下
https://www.cloudflare.com/ja-jp/plans/

※Free、Pro、Businessは帯域に差はない。Enterpriseは帯域で差が出る。サポートはEnterpriseのみなので、企業向けにはEnterpriseがおすすめ。
※Enterpriseの料金は、個別見積りであって、標準価格的なものはない。料金は対象のドメイン(FQDN)に対して、データの転送量によって変わる。
★安価なProで申し込んで、大量の攻撃が来てもBlockしてくれる?

4.3 L7の対策および設定

(1)対策の概要

DNSをCloudflareに移す→nslookupを引くと、Cloudflareに向く。

(2)設定変更
(3)PC単位での攻撃防御

NAPT環境が多いので、同じ送信元IPであっても、ブロックするものと許可するパケットを分けるべきである。
普通の攻撃の場合、3wayハンドシェークのあとにClientHELLOを送るが、その内容がブラウザによって異なる。これがフィンガープリンティングであるが、そこで同一のPCからなのかを判断できる。しかし、生成AIによって通信のランダマイズ化が行われていて、送信元IPは同じだけど、Client Hello JA3のフィンガープリンティングを変えている。

(4)CDNを使う場合

CDNはオリジンはどこにあってもいい。まあ、当たり前か

4.4 L3やL4での対策および設定

・BGPの経路をCloudflareに向けて、攻撃パケットを流す。

4.5 設定画面

・クラウドフレアの設定で閾値設定はある?→簡単なものはあるみたい

4.6 注意点

・DNSサーバは、Cloudflare社を使ってもらうことがおすすめ。DNSサーバそのものがダウンする可能性があるからである。
・そのため、DNSサーバを移行する。しかし、TTLおよびキャッシュの保持時間の関係で、サービスが不安定になることがある。DNSは企業におけるインターネットの通信の根幹であり、慎重になるところ。