DoS攻撃

DoS攻撃は、情報セキュリティにおける可用性を侵害する攻撃手法のひとつ。

ウェブサービスを稼働しているサーバやネットワークなどのリソースに意図的に過剰な負荷をかけたり脆弱性をついたりすることでサービスを妨害する。

1. 概要
-----

DoS攻撃には2種類の類型があり、第一の類型はウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にするフラッド攻撃であり、第二の類型はサービスの脆弱性を利用する事でサービスに例外処理をさせるなどしてサービスを利用不能にする攻撃である。

1.1. 攻撃の目的
----------

DoS攻撃の主な目的はサービスの可用性を侵害する事にあり、具体的な被害としては、トラフィックの増大によるネットワークの遅延、サーバやサイトへのアクセス不能といったものがあげられる。

しかしDoS攻撃は被害者に経済的ダメージを負わせる事を目的として行われる場合もあり、EDoS攻撃  と呼ばれる。たとえば、クラウド上で従量課金されているサービスにDoS攻撃を仕掛ければ、サービスの運営者に高額な課金を発生させることができる。

1.2. DDoS攻撃
-----------

フラッド型のDoS攻撃には、大量のマシンから1つのサービスに、一斉にDoS攻撃を仕掛けるDDoS攻撃という類型がある。

DDoS攻撃は、複数のシステムを使用して、サーバー、ネットワークデバイス、またはトラフィックとリンクして、利用可能なリソースを圧倒し、正当なユーザーに応答できないようにする攻撃である。

DDoS攻撃の類型は2つあり、第一のものは攻撃者が大量のマシンを不正に乗っ取った上で、それらのマシンから一斉にDoS攻撃を仕掛ける協調分散型DoS攻撃である。

第二の類型は、DRDoS攻撃 と呼ばれる。DRDoS攻撃では、攻撃者が攻撃対象のマシンになりすまして大量のマシンに何らかのリクエストを一斉に送信する。するとリクエストを受け取ったマシン達は攻撃対象のマシンに向かって一斉に返答を返すことになるので、攻撃対象のマシンには大量の返答が集中し、高負荷がかかることになる。DRDoS攻撃は協調分散型DDoS攻撃と異なりマルウェアなどで踏み台を乗っ取らなくても実行可能なため攻撃が発覚しづらい。

主なDRDoS攻撃として、Domain Name Systemを利用したDNSアンプ攻撃 や ICMP echo}} を利用したSmurf攻撃などがある。

DRDoS攻撃に使える主なプロトコルとして、TCPのSYN、ACK、DATA、NULL、ICMPのECHO Request、Time Stamp Request、Address Mask Request、およびUDP、IP pkt 、DNS query}} がある。

NetBIOSネームサーバやRPCポートマップなどへのリクエストを利用する攻撃も観測されている。 協調分散型DDoS攻撃とDRDoS攻撃が組み合わされることもある。

2. 攻撃手法
-------

フラッド型のDoS攻撃は、ウェブ上に公開されている様々なサービスに対して行うことができるので、攻撃対象となるサービスごとにフラッド攻撃が存在する。

2.1. SYNフラッド攻撃
--------------

TCPの3ウェイ・ハンドシェイクでは2つのマシンA,BがTCP接続をする際、Aが通信要求SYNパケットを送信し、BがSYN/ACKパケットを送信し、最後にAがACKパケットを送るという手順をたどる。 SYNフラッド攻撃では攻撃者が攻撃対象のマシンに対しSYNパケットを大量に送りつけ、それらすべてに対するSYN/ACKパケットを攻撃対象に発行させる。しかし攻撃者はそれらのSYN/ACKパケットに対しACKパケットを返信しない。 これにより攻撃対象はタイムアウトになるまでいつまでもACKパケットを待ち続けることとなり、リソースを食いつぶされてしまう。 対策としてはRFC 4987にファイアーウォールやプロキシの利用といった一般的手法の他、SYN cookies、TCP half-open、SYN Cacheといった手法が記載されている。

2.2. ICMPとUDP
-------------

ICMPやUDPのようなコネクションレスのサービスでは発信元の偽装が容易なので、DoS攻撃を行う攻撃者にとって身元がわかりにくいという利点がある。

ICMPを利用したものにはICMP echo request を攻撃対象に大量に送り続けるICMP echoフラッド攻撃や、踏み台にICMP echo requestをブロードキャストする事でICMP echo replyを攻撃対象に集めるDRDDoS攻撃であるSmurf攻撃がある。

他にも規格外の大きなサイズのICMPパケットを送りつける事で攻撃対象をクラッシュさせるping of deathという攻撃がかつてあったが、1996年に発見されて以降この脆弱性は防がれているため、この手法はほぼ通用しなくなっている。

UDPに対してもUDPポートに対して大量のトラフィックを送信するUDPフラッド攻撃があり、UDPを利用したDRDDoS攻撃をUDPベース増幅攻撃と呼ぶ。

UDPベース増幅攻撃の中でもNTPの実装であるntpdのmonlistコマンドを使った攻撃は増幅率が高く、19倍から206倍の増幅率に達する。このコマンドはNTPサーバが過去にやり取りしたアドレスを最大で600件返すものであり、ntpdにおけるコマンドを利用した攻撃が2013年に観測されている。なおntpdのバージョン4.2.7p26以降はこのコマンドを悪用できないよう修正されている。

この他にもSSDPやRIPv1を利用したUDPベース増幅攻撃がある。

2.3. ブラウザの再読み込み
---------------

ウェブブラウザに備わっているページの再読み込み機能を使用し、Webサーバに大量にリクエストを送りつける攻撃はF5アタックと呼ばれることがある。この名称は、「F5キーを連打する攻撃」であることに由来する。

Windows上で動作するウェブブラウザでは、F5キーが更新機能に割り当てられていることが多いため、F5キーを押下するたびにWebサーバにリクエストが送られることになる。

なお、Ctrl＋RでもF5アタックと同じリクエストを送ることができる。

2.4. その他
--------

スローなHTTP系：長時間にわたってWebサーバがコネクションを維持してくれることを悪用して能力を浪費する。次の攻撃がある。
Slow HTTP Headers
Slow HTTP POST
Slow Read DoS
メールボム：サイズの大きいメールや大量のメールを送り付ける手法。
HTTP GET/POSTフラッド：HTTPの規格には準拠しているが負荷のかかるリクエストを大量にWebサーバ宛てに送る。
TeardropおよびLand攻撃：かつてTCP/IP実装にあった脆弱性 を利用した攻撃。前者は分割されたIPパケットを再統合する際パケットの重複をうまく扱えない実装上の問題を利用した攻撃、後者は攻撃者が送り主と送信先を一致させたパケットを送りつけると無限ループにはまるなどの脆弱性を利用した攻撃。
WinNuke かつてMicrosoft Windowsの「NetBIOS over TCP/IP」に在った脆弱性が攻略された。

3. 攻撃ツール
--------

荒らしプログラムとは、主にWeb掲示板を荒らすために作られたプログラムを指すが、内容としてはHTMLの解析やHTMLFORMの送信機能を備え、連続投稿を可能としたHTTPクライアントで、DoS攻撃プログラムに準じている。F5アタックがWebブラウザからのGETメソッドによるhttpアクセスしか出来ないのに対し荒らしプログラムは様々なメソッドにおいてのアクセスを可能としている。また前述したDDoSに準じ、踏み台となったサーバからの一斉攻撃を行うものもある。少しHTMLの知識があれば使える物や、アドレスを入力するだけで使えるようになるツールも存在する。主にPerlによって記述されるが、これも踏み台とされたサーバでの利便性を考えたものである。コマンドで、ping -n ○○-l  ipアドレス を入力することで、多少の負荷はかけられるが、大した攻撃にはならない。
LOICは、アノニマスの常套手段となっていた。例えば2010年ペイバック作戦においても使われた。
HOICは、LOICの後継として2010年ペイバック作戦の時期に開発された。
Slowlorisは、Slow HTTP Headers攻撃を再現する。
Stacheldrahtは図に示すように、踏み台側のエージェントと、エージェントを操るハンドラーと、攻撃者がハンドラーを操るクライアントから成るDDoS攻撃ツールである。
イギリスのGCHQは、`PREDATORS FACE'と`ROLLING THUNDER'というDDoS攻撃ツールをもっている といわれている。
田代砲はhttpリクエストを連続送信するスクリプトを組み込んだ極めて単純な攻撃ツールの一例である。メガ粒子田代砲や連装田代砲などのより攻撃的な亜種も多数開発された。
:loop ping IPaddress -l 65500 -w 1 -n 1 goto :loop

4. 防御技法
-------

4.1. 各サイトにおける防御技法
-----------------

侵入防止システムには、シグニチャに基づく防御機能と閾値に基づく防御機能が実装されている。シグネチャに基づく防御機能は、Smurf攻撃やLand攻撃のように特徴あるパケットに対して有効であったが、プロトコル実装側の脆弱性もすでに解消されている。
SYNクッキーは、SYNフラッド等への対策として各OSごとに開発され、それぞれのプロトコルスタックに実装されている。
WAFには、スローなHTTP系の攻撃に対する設定を行える。WebサーバについてはQoSやタイムアウトについての設定も見直す価値がある。

4.2. インターネットサービスプロバイダにおける防御技法
-----------------------------

イングレスフィルタリング：送信元IPアドレスを偽ったパケットをフィルタリングすることによって攻撃元とならないようにする。
代理応答
帯域制御
ブラックホール
OpenFlow

5. 攻撃の副作用
---------

5.1. バックスキャッター
--------------

コンピュータネットワークセキュリティでは、スプーフィングされたDoS攻撃の副作用としてバックスキャッターが発生する。この種の攻撃では、攻撃者は被害者に送信されたIPパケットの送信元アドレスをスプーフィング する。一般に、被害者のマシンはなりすましパケットと正当なパケットを区別できないため、被害者は通常どおりになりすましパケットに応答するが、この応答がバックスキャッターと呼ばれる。

攻撃者が送信元アドレスをランダムにスプーフィングしている場合、被害者からのバックスキャッター応答パケットはランダムな宛先に送信される。バックスキャッターの観測は、DoS攻撃の間接的な証拠となる。

「バックスキャッター分析」とは、IPアドレス空間の統計的に有意な部分に到着するバックスキャッターパケットを観察して、DoS攻撃と被害者の特性を判断することである。

6. 事件
-----

MafiaBoy2000年2月にカナダ人の15歳の少年が6日間にわたってボットネットでYahoo!やCNNやAmazon.comなどの人気が非常に高いサイトに対してDDoS攻撃を行い、ターゲットにしたサイトをサービス不能状態に陥らせ、自身の行動をインターネット上のIRCチャットルームで吹聴し、逮捕された。この事件は国際的に大きく取り上げられた。 米国 Yahoo!パソコンを利用した踏み台は、一台当たりの計算・通信能力は低いが、膨大な数が利用される事から、従来のサーバを利用したDDoS攻撃よりも甚大な被害を発生させやすい。有名なものとして2002年2月に米国のYahoo!がこの攻撃を受け、アクセス不能になるという被害を受けている。また特に大規模な感染事件を引き起こすコンピュータウイルスのなかには、当初よりDDoS攻撃を意図して設計されたと推察されるものも見られ、2002年頃から活動が確認されているコンピュータウイルスによって形成された攻撃用パソコンネットワークにより、企業脅迫事件の発生が危惧されている。 コスタリカ ブックメーカー等2004年前後には、ブックメーカーのサイトが攻撃をうけ業務を妨害され、脅迫された事件 や、英国の大学生が学費の捻出に一案を講じて莫大な利益を生んだMillion Dollar Home Pageが脅迫を受けたケースも報じられている。 ニコニコ動画2007年2月20日からDDoSによる攻撃を受けて正常に運営できる状態ではなくなり、同年2月22日からサービスを一時停止する事態となった。 2ちゃんねる同掲示板サイトは度々DoS攻撃の標的にされており、中でも大規模なものが2010年3月、バンクーバーオリンピックの時期に起きている。韓国語ネットコミュニティ「ネイバー」や「ダウム」上から2ちゃんねるに対して攻撃が呼びかけられ、これにより一部のサーバーがダウンの後故障し、データが失われた。2chのサーバーが設置されている米国カリフォルニア州のデータセンター運営企業は「米国公的機関に対し、米国企業に対するサイバーテロとして調査依頼する準備をしている」と発表した。 岡崎市立中央図書館事件DoS攻撃とは到底呼べないような通常の「常識的」で「礼儀正しい」設計のクローラ
が原因であっても、極端に脆弱なシステムにおいては問題を引き起こす場合がある。2010年5月のこの事件はその代表的な例であり、三菱電機インフォメーションシステムズの致命的な不具合をもつシステム、その不具合を認めない岡崎市立中央図書館、警察担当者の無知および自白の強要が重なり、逮捕勾留に至る 結果となった。この事例の法的な見解については、2010年7月時点では未だ議論の対象 となっている。 アノニマスによるペイバック作戦2010年9月にアノニマスによって、インターネット上の不正コピー行為に対応する団体等に対してDDoS攻撃が行われた。引き続いて2010年12月、アノニマスは、ウィキリークスへの寄付受付を停止した銀行やクレジットカード決済会社のWebサイトに対してDDoS攻撃を実行した。 ソニーのプレイステーションネットワーク2011年4月、アノニマスはソニーのインターネット配信サービス「PlayStation Network」のサーバに対してもDDoS攻撃を放った。 Dynサイバーアタック2016年10月21日、大手ウェブサイトなどのドメイン管理システムを運営しているインターネット管理企業Dyn に対して、断続的なDDoS攻撃が行われた。結果、Amazon.com、Paypal、NetflixやTwitter、Reddit、Spotify、Gov.UK、ニューヨーク・タイムズ、ウォール・ストリート・ジャーナルなど多くのウェブサイトサービスがオフラインになるなどの支障が出ていた。セキュリティー企業などによると、今回の攻撃はセキュリティの弱い監視カメラ、ルーター、プリンターなどのIoT機器を乗っ取るマルウェアMiraiによって引き起こされ、1.2テラビット毎秒の通信負荷がかけられたものとみている。 GitHub2018年3月1日、GitHubに対して、最高1.35テラビット毎秒の断続的な攻撃が行われたが、AkamaiのDDoS軽減サービスを使用することによって、無効化することに成功した。

7. 関連項目
-------

PDoS攻撃
LOIC
ボットネット
ネットワーク中立性
J-NSC
通信妨害

8. 脚注
-----

9. 外部リンク
--------

https://komainu.kakurezato.com/tasiro.html田代砲保管庫
https://news.mynavi.jp/techplus/article/20160614-a423/ping攻撃サンプルコード