DoS攻撃

DoS攻撃（ドスこうげき、）は、情報セキュリティにおける可用性を侵害する攻撃手法のひとつ。
ウェブサービスを稼働しているサーバやネットワークなどのリソース（資源）に意図的に過剰な負荷をかけたり脆弱性をついたりすることでサービスを妨害する。
概要.
DoS攻撃には2種類の類型があり、第一の類型はウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にするフラッド攻撃（Flood＝「洪水」）であり、第二の類型はサービスの脆弱性を利用する事でサービスに例外処理をさせるなどしてサービスを利用不能にする攻撃である。
攻撃の目的.
DoS攻撃の主な目的はサービスの可用性を侵害する事にあり、具体的な被害としては、トラフィックの増大によるネットワークの遅延、サーバやサイトへのアクセス不能といったものがあげられる。
しかしDoS攻撃は被害者に経済的ダメージを負わせる事を目的として行われる場合もあり、EDoS攻撃 (Economic DoS Attack) と呼ばれる。たとえば、クラウド上で従量課金されているサービスにDoS攻撃を仕掛ければ、サービスの運営者に高額な課金を発生させることができる。
DDoS攻撃.
フラッド型のDoS攻撃には、大量のマシンから1つのサービスに、一斉にDoS攻撃を仕掛けるDDoS攻撃（ディードスこうげき、分散型サービス妨害攻撃、）という類型がある。
DDoS攻撃は、複数のシステムを使用して、サーバー、ネットワークデバイス、またはトラフィックとリンクして、利用可能なリソースを圧倒し、正当なユーザーに応答できないようにする攻撃である。
DDoS攻撃の類型は2つあり、第一のものは攻撃者が大量のマシン（踏み台）を不正に乗っ取った上で、それらのマシンから一斉にDoS攻撃を仕掛ける協調分散型DoS攻撃である。
第二の類型は、DRDoS攻撃（。DoSリフレクション攻撃、分散反射型DoS攻撃） と呼ばれる。DRDoS攻撃では、攻撃者が攻撃対象のマシンになりすまして大量のマシンに何らかのリクエストを一斉に送信する。するとリクエストを受け取ったマシン達は攻撃対象のマシンに向かって一斉に返答を返すことになるので、攻撃対象のマシンには大量の返答が集中し、高負荷がかかることになる。DRDoS攻撃は協調分散型DDoS攻撃と異なりマルウェアなどで踏み台を乗っ取らなくても実行可能なため攻撃が発覚しづらい。
主なDRDoS攻撃として、Domain Name Systemを利用したDNSアンプ攻撃（。DNS amp攻撃、DNSリフレクター攻撃、DNSリフレクション攻撃とも） や を利用したSmurf攻撃などがある。
DRDoS攻撃に使える主なプロトコルとして、 がある。
NetBIOSネームサーバやRPCポートマップなどへのリクエストを利用する攻撃も観測されている。
協調分散型DDoS攻撃とDRDoS攻撃が組み合わされることもある。
攻撃手法.
フラッド型のDoS攻撃は、ウェブ上に公開されている様々なサービスに対して行うことができるので、攻撃対象となるサービスごとにフラッド攻撃が存在する。
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、、SYN Cacheといった手法が記載されている。
ICMPとUDP.
ICMPやUDPのようなコネクションレスのサービスでは発信元の偽装が容易なので、DoS攻撃を行う攻撃者にとって身元がわかりにくいという利点がある。
ICMPを利用したものにはICMP echo request (を利用したping)を攻撃対象に大量に送り続けるICMP echoフラッド攻撃（pingフラッド攻撃）や、踏み台にICMP echo requestをブロードキャストする事でICMP echo replyを攻撃対象に集めるDRDDoS攻撃であるSmurf攻撃がある。
他にも規格外の大きなサイズのICMPパケットを送りつける事で攻撃対象をクラッシュさせるping of deathという攻撃がかつてあったが、1996年に発見されて以降この脆弱性は防がれているため、この手法はほぼ通用しなくなっている。
UDPに対してもUDPポートに対して大量のトラフィックを送信するがあり、UDPを利用したDRDDoS攻撃をUDPベース増幅攻撃（UDP-Based Amplification Attack）と呼ぶ。
UDPベース増幅攻撃の中でもNTPの実装であるntpdのmonlistコマンドを使った攻撃は増幅率が高く、19倍から206倍の増幅率に達する。このコマンドはNTPサーバが過去にやり取りしたアドレスを最大で600件返すものであり、ntpdにおけるコマンドを利用した攻撃が2013年に観測されている。なおntpdのバージョン4.2.7p26以降はこのコマンドを悪用できないよう修正されている。
この他にもやRIPv1を利用したUDPベース増幅攻撃がある。
ブラウザの再読み込み.
ウェブブラウザに備わっているページの再読み込み機能を使用し、Webサーバに大量にリクエストを送りつける攻撃はF5アタック（F5攻撃）と呼ばれることがある。この名称は、「F5キーを連打する攻撃」であることに由来する。
Windows上で動作するウェブブラウザでは、F5キーが更新機能に割り当てられていることが多いため、F5キーを押下するたびにWebサーバにリクエストが送られることになる。
なお、Ctrl＋RでもF5アタックと同じリクエストを送ることができる。
攻撃の副作用.
バックスキャッター.
コンピュータネットワークセキュリティでは、スプーフィングされたDoS攻撃の副作用としてバックスキャッターが発生する。この種の攻撃では、攻撃者は被害者に送信されたIPパケットの送信元アドレスをスプーフィング (偽造)する。一般に、被害者のマシンはなりすましパケットと正当なパケットを区別できないため、被害者は通常どおりになりすましパケットに応答するが、この応答がバックスキャッターと呼ばれる。
攻撃者が送信元アドレスをランダムにスプーフィングしている場合、被害者からのバックスキャッター応答パケットはランダムな宛先に送信される。バックスキャッターの観測は、DoS攻撃の間接的な証拠となる。
「バックスキャッター分析」とは、IPアドレス空間の統計的に有意な部分に到着するバックスキャッターパケットを観察して、DoS攻撃と被害者の特性を判断することである。