Slowlorisは、Robert “RSnake” Hansenによって作られたDDoS攻撃用ソフトです。このソフトにより、一台のコンピュータでウェブサーバに攻撃を仕掛けることが可能です。そのシンプルで洗練された性質から、必要な帯域幅は極小で、他のポートやサービスにほとんど影響を及ぼさず攻撃できます。Slowloris DDoS攻撃は、Apache 1.xや2.xなど、有名なウェブサーバソフトに対して非常に効果的であることが実証されています。
Slowlorisは、標的のウェブサーバに対して複数の接続を開き、必要な間その接続を維持します。不完全なHTTPリクエストを途切れずに送り続け、リクエストを完結させないことで攻撃を行います。攻撃対象のサーバは、各リクエストの完了を待ちながらさらに新たな接続を受け入れます。
一定の間隔で、Slowlorisは各リクエストに対しHTTPヘッダを連続送信しますが、決してリクエストを完了させません。結果として、標的サーバの同時接続可能数が上限に達し、追加の接続試行が拒否されます。
Slowlorisは、不完全なパケットを送ることで従来の侵入検知システムを容易にすり抜けることが可能です。
名前はゆっくり動くアジアの霊長類に由来し、その名の通り、ゆっくりだが着実に攻撃を進めます。攻撃では、正当なリクエストによってソケットが解放されるのを待ち、その都度順次接続を占有します。
トラフィック量の多いウェブサイトの場合、結果が現れるまでに時間がかかることがあります。正当なセッションが再開されるとプロセスがさらに遅延する場合もありますが、攻撃が解消されなければ、カメのように遅くとも最終的にはSlowlorisが勝利します。
対策や検知がなされなければ、Slowloris攻撃は長時間にわたり続く可能性があります。攻撃されたソケットがタイムアウトすると、Slowlorisは通常再び接続を試み、サーバを圧倒し続けます。
隠密性と効果を重視して設計されたSlowlorisは、標的が仮想ホストの場合、異なるホストヘッダを送信するよう再設計が可能で、各仮想ホストごとにログを分けて管理できます。
さらに、攻撃時にはログファイルの作成を抑制する設定も可能です。これにより、監視が行き届いていないサーバは警戒を解き、ログに異常が記録されることなく攻撃が進行する恐れがあります。
Slowloris攻撃は、以下の4段階で実行されます:
Slowlorisの特徴は、非常に少ない帯域幅で大きなダメージを与えることにあります。
Slowlorisソフトは効率と隠密性を重視して作られており、『ゆっくり低速』の戦略をとります。正当なリクエストからのソケット解放を待ち、順次それを占有していくため、トラフィックの多いウェブサイトやアプリでも攻撃が成立します。ただし、迅速な検知と正当なセッションの再起動があれば、攻撃の緩和が可能です。
不正なパケットや悪意ある内容を送る他のDDoS攻撃とは異なり、Slowlorisは不完全なHTTPリクエストを送信するため、従来の検出システムを回避できます。
前述のように、Slowloris攻撃はわずかな帯域幅で実行可能なため、攻撃者の負担は軽く、一台のコンピュータで有名なサーバ全体をダウンさせることも可能です。そのため、ハクティビズムのツールとして採用されるケースも増えています。
標的が仮想ホストの場合、Slowlorisソフトは異なるホストヘッダの送信や、各ホストのログを個別に管理するよう調整できます。
また、攻撃中にログファイルの生成を抑制する機能もあり、監視が行き届いていないウェブサーバに対して異常が記録されることなく侵入する可能性があります。
DDoS攻撃は様々な理由で行われます。オンラインゲーム業界は長年DDoS攻撃の標的となっており、また、競合のウェブサイトを狙って攻撃を仕掛けるレンタルDDoSサービスも存在します。
政治的な目的で攻撃が行われることもあり、2007年に標的となったグルジアやエストニアがその例です。また、ロシア民族主義者がソ連戦争記念碑の移設に抗議するため、メディアや政府のウェブサイト全体をトラフィックで圧迫した事件もあり、2008年にはロシアが南オセチアに侵攻する前にジョージアのウェブサイトが攻撃されました。
サイバー犯罪者は、より深刻なセキュリティ侵害から貴社の注意を逸らすために、DDoS攻撃を隠れ蓑として利用し始めています。DDoSは別の脆弱性を狙うための気を引く手段となり、結果として複数の異なる攻撃が同時に仕掛けられることがあります。
ハッカーは注意を逸らすためにこの手法を巧妙に利用しており、特に大量のデータを扱う金融機関が狙われることが多いです。
最近、ヨーロッパの複数の銀行で、IT管理者がフィッシング攻撃の被害に遭うケースが見受けられます。マルウェアが銀行システムに侵入し、ログイン情報を盗み出します。ハッカーが情報を入手すると、銀行にDDoS攻撃を仕掛け、対応に追われる間に個人データを複製して持ち去るのです。
また、DDoS攻撃はこれだけに留まらず、マルウェアに感染したIPカメラ、家庭用ルーター、その他のIoT機器も攻撃に利用されます。攻撃者はAndroidデバイスに対しても同様の手法を取り、Google Playストアなどの悪意あるアプリを利用するケースも報告されています。
Team Cymru、RiskIQ、Akamai、Cloudflare、Flashpointのセキュリティチームが共同で調査した結果、100か国以上に分散する10万台以上のAndroidデバイスからなる大規模なボットネットが存在することが判明しました。これは、複数のコンテンツ配信事業者やネットワークを標的とした大規模なDDoS攻撃の結果として明らかになったものです。特にWireXと呼ばれるAndroidボットネットは、数万件のHTTPリクエストを送信し、正当なブラウザからのアクセスに見せかけています。
通常、このような攻撃の目的は、偽のトラフィックでサーバを埋め尽くし、インターネットのRAMやCPU等のリソースを消耗させ、正当なリクエストに応じられなくすることにあります。その他、明確でない動機が隠されている場合もあります。
感染アプリはインストール時にデバイス管理者権限を要求し、バックグラウンドでサービスを起動するため、アプリが使用されていない場合やデバイスがロックされている場合でもDDoS攻撃に参加することが可能です。
DDoS攻撃は大規模なものであり、通常は大企業や各国政府がその被害者となります。しかし、個人レベルでハッカーの手口を模倣できる製品も存在します。TrackmyFone、Xnspyなどのスパイアプリは、携帯の盗聴やハッキングに関連する代表例です。これらが密かにスマートフォンにインストールされると、第三者がデバイス内の全データに遠隔でアクセスできるようになります。これはDDoS攻撃とは性質が異なり、むしろDDoS攻撃で利用されるマルウェアの一形態と言えます。
よく見られるDDoS攻撃の種類は以下の通りです:
UDPフラッド
UDPフラッドは、UDPパケットを大量に送り込むDDoS攻撃です。攻撃はリモートホストのランダムなポートに向けられ、ホストはそのポートで待機するアプリを確認し、アプリが存在しない場合はICMPの『宛先到達不能』パケットで応答します。このプロセスによりホストのリソースが消耗し、最終的にはアクセス不能となる恐れがあります。
ICMP(Ping)フラッド
UDPフラッド攻撃と同様に、ICMPフラッドはICMPエコーリクエスト(Ping)パケットを用いて標的のリソースを圧迫します。応答を待たずに可能な限り素早くパケットを送るため、受信と送信の双方の帯域が消費され、システム全体の動作が著しく低下します。
SYNフラッド
SYNフラッド攻撃は、TCPの三者間ハンドシェイクに存在する弱点を突きます。通常、TCP接続開始の際、送信者はSYNリクエストを送信し、ホストはSYN-ACKで応答し、その後送信者がACKで確認します。しかし、SYNフラッドでは、送信者が複数のSYNリクエストを送った後、ホストのSYN-ACKに応答しなかったり、偽装IPからリクエストを送るため、ホストは各リクエストの確認を待ち続け、リソースが枯渇して新規接続ができなくなり、結果としてサービス拒否状態を招きます。
Ping of Death
POD、またはping of death攻撃は、攻撃者が悪意あるまたは不正なPingを複数送信するものです。IPパケット(ヘッダ含む)の最大長は65,535バイトですが、データリンク層では例えばイーサネットで1500バイトなどの制限があります。そのため、大きなIPパケットは複数の断片に分割され、受信ホストがそれらを再構築します。
Ping of Death攻撃の場合、悪意ある操作により再構築されたIPパケットが65,535バイトを超え、割り当てられたメモリバッファをオーバーし、正当なパケットのサービス拒否が引き起こされる可能性があります。
NTPアンプリフィケーション
NTPアンプリフィケーション攻撃では、攻撃者が公開されているNTPサーバを悪用してUDPトラフィックで標的サーバを圧倒します。問い合わせに対して1:20~1:200以上の応答比率となるため、増幅攻撃と呼ばれます。つまり、オープンなNTPサーバのリストが入手できれば、容易に大規模で高帯域幅のDDoS攻撃を仕掛けることが可能です。
このタイプのDDoS攻撃では、正当なHTTP GETまたはPOSTリクエストに見せかけ、アプリやウェブサーバを攻撃します。HTTPフラッドは、IP偽装や不正なパケット、リフレクション技法を用いず、他の攻撃に比べ少ない帯域幅で標的をダウンさせることができます。さらに、各リクエストに対して最大限のリソースを割り当てることで、攻撃の効果が高まります。
Zero-day DDoS攻撃
「Zero-day」は、未対策の脆弱性を狙った未知または新しい攻撃全般を指します。ハッカーコミュニティでは、Zero-day脆弱性の取引が盛んであることでも知られています。
以下は、Slowloris DDoS攻撃を回避するための代表的な方法と緩和策です。
DDoS攻撃を防ぎ、インフラをDDoS耐性にするための第一歩は、悪意ある活動によるトラフィック急増に対応できる十分な帯域幅を確保することです。
かつては、攻撃者よりも多くの帯域幅を用意することでDDoS攻撃を回避できましたが、増幅攻撃が一般化した現状では効果は限定的です。帯域幅を増やすことは一つの安全対策ですが、DDoS攻撃の根本的な解決策ではありません。
簡単なハードウェア設定の変更により、DDoS攻撃を防ぐ助けになる場合があります。例えば、ルーターやファイアウォールでネットワーク外からのDNS応答やICMPパケットを破棄する設定にすれば、特定のDNSやPingを用いた攻撃をある程度防止できます。
攻撃者はDNSサーバを標的にすることで、ウェブサイトやウェブサーバ全体をダウンさせる恐れがあります。DNSサーバに冗長性を持たせることが重要です。DNSはインターネットの電話帳のような役割を果たし、ウェブサイト名と正しいIPアドレスを対応させます。世界中で3億以上のドメインが利用され、インターネットの基盤となっています。そのため、DNSは攻撃者にとって重要な標的となり、DNSインフラへのDDoS攻撃は、アプリやウェブサイトを完全に利用不能にする可能性があります。ネットワーク運用者は、DNSインフラを十分に守る必要があります。
また、サーバを複数のデータセンターに分散させることで、攻撃者にとってDDoS攻撃を成功させにくくできます。データセンターは異なる国や、同一国内でも異なる地域に配置し、各センターが異なるネットワークに接続されていること、そしてボトルネックや単一障害点が存在しないことが重要です。こうした地理的・配置上の分散により、攻撃者がサーバ全体ではなく一部のみを攻撃する結果、他のサーバは通常のトラフィックを処理できます。
ハッカーは、サイト利用者がアクセスできなくなるようDDoS攻撃を仕掛ける可能性があります。攻撃中にもサイトを利用可能に保ち、エラースクリーンや古いキャッシュが表示されないよう、適切な緩和技術を使用することが必要です。攻撃者が影響が出ていないと認識すれば、攻撃を中止する可能性もあります。
サーバがネットワークファイアウォールや専用のウェブアプリファイアウォールで守られているだけでなく、ロードバランサの利用も必要です。また、他のウェブサーバソフトにDDoS防止用のソフトウェアモジュールを追加することも可能です。例えば、Apache 2.2.15にはmod_reqtimeoutが搭載されており、Slowlorisのようなアプリ層攻撃から守ります。これらは、不完全なリクエストを送信し続け、サーバが新たな接続を受け付けられなくなるまで接続を維持させる仕組みです。
さらに、SYNフラッド攻撃などのDDoSプロトコル攻撃に対しては、ハードウェアモジュールと組み合わせた対策も有効です。不完全な接続数を監視し、設定した閾値に達した場合にそれらを切断することで対応できます。
最新情報を購読