正規アクセスによるDos攻撃
・大量のパケットを送信する
相手のサーバーへ予想以上の接続をし,サーバーをパンクさせる攻撃。
もっとも単純で難しい知識が不要なため多用される=F5attack
・F5Attack
IEブラウザでF5を押すと自動更新することが名前の由来である。
正規のHTTPリクエストを大量に送信し標的であるWebサーバがレスポンスできなくする攻撃。
性能の低いサーバだとHTTPDがハングアップし,サービス停止になることもある。
ひとつの端末からだと限界があったり,host名を絞られアクセス拒否されたりするので
主に複数の端末からipスプーフィング,踏み台(プロキシ)を通して行うことがある。
これをDDos攻撃という
・ディスク占領
ログで相手のディスクを占領しパンクさせる攻撃。
処理能力の低下だけでなく回線もパンクするのでされると非常に困ります。
主に/varなど分離されてないディスクに対し行われる。
最近はディスクの容量が多くなったのであまり使われなくなった手段。
・フォークボム
プロセスの発行を無限に行うプログラム。
相手のCPU,メモリをパンクさせることが出来る=ファイアーウォールの突破
ローカルで自作するのは非常に簡単。最も危険視する必要がある。
・メールボム
メールサービスを行うサーバーに向けて行う攻撃。
メールを大量に送信してメールサーバーのCPUや回線をパンクさせる
回線がパンクしてしまった場合,メールを送れなくなるなど支障が出る。
1999年にunabomberというメールボム発信ソフトが流行ったが最近は対策が行われている模様。
最近のメールサーバーは回線が太いのでなかなかパンクしない
・ブラウザクラッシュ/クラッシュミー
HTMLタグ,Javascriptによる無限ループや無駄に大きい文字,画像などを貼り付けることで
クライアウント側のCPU資源を食い尽くす。
ちなみにクラッシュミーはこの攻撃の中でもっとも危険なタグ。
<input type=crash>などウイルスソフトを誤認させるタグもあるが是は無害である。
帯域やCPUなどシステム資源を無駄に消費させて、攻撃対象のサービス提供を不可能にすることを目的としている攻撃のことをFlood攻撃と総称する。
・SYN flood攻撃
正規のスリーウェイハンドシェイクでSYNパケットが送信されると、
サーバーはSYN+ACKパケットを送り、コネクション待ち状態に入る。
これに対しACKパケットを送らないと(SYNパケットだけを送信)、
サーバーはタイムアウトまで待つことになる。
これが大量になるとコネクション待ち状態のポートが積み重なり、
限界に達するとそれ以上コネクションを張ることが出来なくさせる。
これを利用し大量のSYNフラグを立てたパケットを送ることで、
新規のリクエストを受け付けないようにするのがSYN Flood攻撃。
理論上単体では防ぎようがない。
一応タイムアウトを短く設定,待ち受けの数を増やすなどでそれなりの対応は可能。
これに対抗するためのSYN cookiesというものもある(SYN受信数の制限)。
・UDP Flood
あるホストのchargenポートに偽の送信元IPアドレスを指定したechoパケットを送信することで、
偽の送信元IPアドレスに対しchargenで作られたパケットが延々と送信される。
(例)
・nemesisを利用
nemesis -udp -x echo -y chargen -S 192.168.0.1 -D 192.168.0.2
・ブラウザーを利用
http://example.org:19/
・ICMP Flood
CMPでも大量のICMP Echo要求パケットを送ることで、
ICMP Echo応答パケットを返すホストの資源が枯渇し、サービス要求に対応できなくなる。
是を利用した攻撃がICMP Flood攻撃。
(例)png -f -s 65536 example.com
・fingerbomb(フィンガーボム)
フィンガーは@が複数含まれるリクエストを受信すると再帰的に自分を呼び出してしまう。
この攻撃を行うことでシステムリソースを不足させサーバーを破壊する攻撃
貧弱性を突いたDos攻撃
これまでさまざまなシステムのパケット処理の脆弱性を突いたDoSが存在する。
特徴としてシステム資源を占拠する通常のDoSとは違い、
攻撃に使用するパケット数が非常に少なく、
ひとつの端末で一瞬でシステムを終了させることもが可能なことも多いこと。
・winNuke
初期のwindows95はOOBフラグを立てた攻撃に弱く,ハングアップを引き起こした。
ポート139がデフォルトで開いているのでそこにOOBフラグを立てたパケットを送信することで
システムを停止させる攻撃。
・Jolt/SSPING/IceNuke
Joltは65536バイト以上の大きさに設定されたICMP echo repliesパケットを、
フラグメントして送ることでパケットの再組み立てエラーを引き起こす。
このエラーを利用する攻撃。
・Ping of Death
ICMPパケットの最大サイズは65536バイトとなっていますが、
これより大きなICMPパケットを送ることで、それに対応できないOSがハングアップする。
これは、この大きさのパケットはフラグメントされて送られてくるが、
パケットを再組み立てする際に65536バイトを超えてオーバーフローする。
Windows95時代に広く利用された攻撃手段。
・Jolt2は65536バイト以上のICMP、もしくはUDPパケットをフラグメントして送ることで
パケットの再組み立てエラーを引き起こす。原理は↑と同じ。
・Teardrop/Teardrop2
Teardropはフラグメントオフセット値を前のデータに含まれるように変更した(フラグメントされた)
ICMPパケットを送ることで再組み立てエラーを引き起こす。Teardrop2はUDPパケットを利用。
・bonk/boink
bonkの送信ポートは55に固定されている。
Bonkはヘッダ長より前にフラグメントオフセット値をセットしたUDPパケットを送ることで
再組み立てエラーを引き起こす。
boinkは改良版で送信ポートを設定できるようになっているが事前に調べられると意味がない
・smurf
送信先IPアドレスがブロードキャストアドレスであるICMP Echo Requestを
特定のネットワークに送ると、受け取ったネットワークの全ホストはその送信元IPアドレスに対して
ICMP Echo Replyを送信する
ここで送信元IPアドレスが偽造することで、大量のICMP Echo Replyが攻撃対象ホスト
(偽装された送信元のip)に送信されてしまう。これを利用したのがsmurf攻撃。
その特定のネットワークを踏み台にする攻撃。
・autoRST
対象の通信のシーケンス番号とMACアドレスを偽装して、
TCP RSTパケットを撃ちまくることで、通信をリセットする。
・land
攻撃対象ホストに対して、送信元と送信先が同じSYNパケットを連続して大量に送りつける攻撃。
攻撃対象ホストの無限ループやシステムダウンを引き起こす。
・winnyDos
P2Pソフトであるwinnyやcabosのバッファオーバーフロー脆弱性を利用したもの。
詳細は知らない。
長くなったけどDos攻撃といってもこれだけ沢山ある
今一番使われているのがSYN Flood攻撃。
この間ニコニコが一部サービスを停止したのもSYNFloodらしい。
Comment
Page Top