ここでは、ファイアウォールなどのネットワークセキュリティ機器が実装している、ネットワーク攻撃検出機能を再現する方法について紹介しています。
各機能の再現方法が分からないときに、参考にしてください。
なお、以下の内容はNetScreenというファイアウォール製品に実装されている機能を検証したものですが、他の機器で同じように検出できるとは限りませんのでご注意ください。
| 種類 | 内容と発生方法 |
|---|---|
| (攻撃の名前) | (攻撃の内容) |
| (再現するのに必要な道具) | |
| (再現するための方法) | |
| ICMP Flood Protection | ターゲットに対して、単位時間あたりに大量のPingを発生させる |
| Pingコマンドや、その辺に落ちているFloodツール | |
| セキュリティ機器の「単位時間あたりのパケット数」の値に注意して、Pingコマンドの-flood系オプションやFloodツールからターゲットに大量のパケットを投げる | |
| UDP Flood Protection | ターゲットに対して、単位時間あたりに大量のUDPパケットを発生させる |
| その辺に落ちているFloodツール | |
| セキュリティ機器の「単位時間あたりのパケット数」の値に注意して、Floodツールからターゲットに大量のUDPパケットを投げる | |
| SYN Flood Protection | ターゲットに対して、単位時間あたりに大量のSYNフラグ付きTCPパケットを発生させる |
| その辺に落ちているFloodツール | |
| セキュリティ機器の「単位時間あたりのパケット数」の値に注意して、Floodツールからターゲットに大量のSYNフラグ付きTCPパケットを投げる | |
| Block Java Component | HTTPコンテンツのJavaコンポーネントが含まれる通信を拒否する |
| JavaコンポーネントをWebサーバに置くか、インターネット上のJavaサンプルページを利用する | |
| セキュリティ機器を経由して、JavaコンポーネントにHTTPアクセスする プロキシを挟む場合、ポート番号によって検出しない場合があるので注意する | |
| Block ActiveX Component | HTTPコンテンツのActiveXコンポーネントが含まれる通信を拒否する |
| ActiveXコンポーネントをWebサーバに置くか、インターネット上のActiveXサンプルページを利用する | |
| セキュリティ機器を経由して、ActiveXコンポーネントにHTTPアクセスする プロキシを挟む場合、ポート番号によって検出しない場合があるので注意する | |
| Block ZIP Component | HTTPによるZIPファイルのダウンロードを拒否する |
| ZIPファイルをWebサーバに置くか、ベクターなどのダウンロードサイトを利用する | |
| セキュリティ機器を経由して、HTTPでZIPファイルをダウンロードする プロキシを挟む場合、ポート番号によって検出しない場合があるので注意する | |
| Block EXE Component | HTTPによるEXEファイルのダウンロードを拒否する |
| EXEファイルをWebサーバに置くか、ベクターなどのダウンロードサイトを利用する | |
| セキュリティ機器を経由して、HTTPでEXEファイルをダウンロードする プロキシを挟む場合、ポート番号によって検出しない場合があるので注意する | |
| WinNuke Attack Protection | Windows95の頃に流行したWinNukeパケットを検出し、URGフラグを外す |
| winnuke.cをコンパイルするか、専用ツールを使う | |
| Windowsのホストに対して、ツールからWinNukeパケットを飛ばす 最近のWindowsなら、仮にパケットを受信しても問題ない | |
| Land Attack Protection | 戻りパケットが自分自身になってしまうような、送信元IPアドレスとポート番号が偽装されたパケットを拒否する |
| hpingやNmapなどの攻撃ツール | |
| 送信元IPアドレスと送信先IPアドレスが同一で、かつ送信元ポート番号と送信先ポート番号が同一になるようなパケットを投げる | |
| IP Address Spoof Protection | 送信元IPアドレスが偽装されているパケットを拒否する |
| 送信元IPアドレスを指定できるツールなら何でも可 | |
| そのインターフェースに入ってくるはずのないネットワークのIPアドレス(例えば、別のインターフェースの裏側に存在するような経路設定になっているネットワークなど)を送信元IPアドレスとして指定したパケットを飛ばす | |
| IP Address Sweep Protection | 一定の範囲のIPアドレスに対して単一のホストから順番に投げられたパケットを拒否する |
| hpingやNmapなどの攻撃ツール、ターゲットを範囲指定できるPingツール | |
| 特定のIPアドレス範囲に対して、IPアドレスを順番にインクリメントするようなパケットを連続して飛ばす | |
| Port Scan Attack Protection | 一定の範囲のポート番号に対して単一のホストからポートの開閉をチェックするために投げられたパケットを拒否する |
| hpingやNmapなどの攻撃ツール、その辺に落ちているPortScanツール | |
| セキュリティ機器の「単位時間あたりのパケット数」の値に注意しながら、特定のポート番号範囲に対してPortScanを実施する | |
| Ping of Death Attack Protection | サイズが65535バイト近くのPingパケットを拒否する |
| hping(他の攻撃ツールやPingコマンドでも出来るかもしれませんが、僕は出せませんでした) | |
| 出来るだけ大きなサイズを指定して、Pingを飛ばす | |
| Tear-drop Attack Protection | フラグメントが発生しているパケットの中で、オフセット値のおかしいパケットを拒否する |
| hping | |
| 故意にフラグメントさせて、オフセット値を矛盾した値に指定したパケットを飛ばす | |
| ICMP Fragment Protection | フラグメントされたICMPパケットを拒否する |
| サイズ指定でPingを実行できるツールなら何でも可 | |
| フラグメントするようなサイズ(Ethernetならヘッダとの合計が1500バイト以上)のPingを飛ばす | |
| Block Fragment Traffic | フラグメントされたパケットを拒否する |
| サイズ指定でパケットを飛ばせるツールなら何でも可 | |
| フラグメントするようなサイズ(Ethernetならヘッダとの合計が1500バイト以上)のパケットを飛ばす | |
| IP Timestamp Option Protection | IPオプションが「4(Timestamp)」になっているパケットを拒否する |
| PingコマンドのソースのIPオプション部分を編集してコンパイル | |
| IPオプションを指定して、Pingコマンドを実行する | |
| IP Security Option Protection | IPオプションが「2(Security)」になっているパケットを拒否する |
| PingコマンドのソースのIPオプション部分を編集してコンパイル | |
| IPオプションを指定して、Pingコマンドを実行する | |
| IP Stream Option Protection | IPオプションが「8(Stream)」になっているパケットを拒否する |
| PingコマンドのソースのIPオプション部分を編集してコンパイル | |
| IPオプションを指定して、Pingコマンドを実行する | |
| IP Record Option Protection | IPオプションが「7(Record)」になっているパケットを拒否する |
| OS付属のPingコマンド | |
| 「Record」オプションを指定して、Pingコマンドを実行する | |
| IP Loose Source Route Option Protection | IPオプションが「3(LooseSourceRoute)」になっているパケットを拒否する |
| OS付属のPingコマンド | |
| 「LooseSourceRoute」オプションを指定して、Pingコマンドを実行する | |
| IP Strict Source Route Option Protection | IPオプションが「9(LooseStrictRoute)」になっているパケットを拒否する |
| OS付属のPingコマンド | |
| 「LooseStrictRoute」オプションを指定して、Pingコマンドを実行する | |
| SYN Fragment Protection | SYNフラグ付きのフラグメントパケットを拒否する |
| hping | |
| フラグメントオプションをつけて、フラグメントさせたSYNパケットを飛ばす | |
| TCP Packet Without Flag Protection | TCPフラグの全く付いていないパケットを拒否する |
| hpingやNmapなどの攻撃ツール | |
| 全くフラグを付けないでTCPパケットを飛ばす | |
| SYN and FIN Bits Set Protection | SYNフラグとFINフラグが同時に付いたパケットを拒否する |
| hpingやNmapなどの攻撃ツール | |
| SYNフラグとFINフラグを付けたTCPパケットを飛ばす | |
| FIN Bit With No ACK Bit in Flags Protection | ACKフラグの付いていないFINパケットを拒否する |
| hpingやNmapなどの攻撃ツール | |
| FINフラグだけを付けたTCPパケットを飛ばす | |
| Unknown Protocol Protection | 実際には使用されていない101番以上のプロトコル番号を持ったパケットを拒否する |
| hpingやNmapなどの攻撃ツール | |
| 101以上のプロトコル番号を付けたパケットを飛ばす |
ネットワークセキュリティ関係者の部屋 > aTTACK