kobadbadbadbadbad

モチベ維持

Dos攻撃種類

Dos Attack (Denial of Service)

SYN Flooding

TCP/IPスタックを消費させる。

TCP/IPスタック -> コネクションを維持するためにコネクション情報と状態を保存している

< How to Attack >

存在しないIPアドレスを設定したSYNパケットを送信。 受信側はこのIPに対して、SYN/ACKパケットを応答し、ACKの応答を待つ。この応答待ちコネクションはバックログキューに保存され、タイムアウトするまで保持する。 いろんなIPで送り続けることでバックログキューが一杯になり、新しいパケットがきた時に正しく処理できない。

< Provision >

SYN Cookiesを用いる

ACK応答が帰ってくるまでコネクションを生成しない。

Ping of Death

現在では対策済。

ICMPエコー要求パケットのデータ部分は最大2^16 -> 65,536バイト ヘッダこそ重要なので、データ部分の仕様が甘い。 データ部分に巨大なデータを乗せた要求を受け取るとクラッシュするOSがあったりする。 巨大なデータを保持したICMPエコー要求パケットをPing of Deathという。 libnetを使用することで攻撃コードを簡単にかける。

BluetoothでもL2CAP層で似たpingパケットを使用していて同様の攻撃(Bluesmack)が可能になっている。

Teardrop

クラッシュ型

現在は対策済。

IPパケットのフラグメント再構成時にあった脆弱性を攻撃。

通常、パケットがフラグメントに分割されると受信側ではヘッダ内に格納されたオフセットに従って組み立て直し元のパケットを復元する。 この攻撃では、データが重なり合うようなオフセットを保持したパケットのフラグメントを送信することで、異例ケースのチェックをしていない実装をクラッシュさせる。

Ping Flooding

もっとも単純なFlooding攻撃

大量のでかいpingパケットを送信して、対象のネットワークコネクション帯域幅を使い切る(攻撃者側もリソースが必要)。

Amplification Attack

攻撃者が帯域幅を用意せずに、Ping Floodingを引きおこす。 スプーフィングとブロードキャストを使用して、1つのパケットを数百倍に増幅する。

増幅用のネットワークを用意。(ブロードキャストアドレスへのパケット送信を許し、多くの機器が接続されているもの)

送信元IPを攻撃対象のIPに書き換えた巨大なICMPエコー要求を作成し、増幅用ネットワークのブロードキャスト宛に送信。

これは、ICMPパケットやUDPパケットを使っても実行できる。(Smurf Attack, Fraggle Attack)

分散Dos(DDos)攻撃

Dos攻撃を複数のホストから同時に行う。

あらかじめ複数のホストに侵入しデーモンをインストール。デーモンをインストールされたシステムをボットといい、ボットネットを構成する。

攻撃者が合図(何らかの制御プログラム)を送り、一斉にDDosを仕掛ける。