
BoNeSi(DDoSボットネットシミュレータ)は、テストベッド環境においてワイヤ上のボットネットトラフィックをシミュレートするためのツールです。DDoS攻撃の影響を研究するために設計されています。
どのようなトラフィックを生成できますか?
BoNeSiは、定義されたボットネットサイズ(異なるIPアドレス)からICMP、UDP、TCP(HTTP)フラッディング攻撃を生成します。BoNeSiは高度に設定可能で、レート、データ量、送信元IPアドレス、URL、その他のパラメータを設定できます。
他のツールとの違いは何ですか?
UDPやICMPでIPアドレスを偽装するツールは他にも多数ありますが、TCPの偽装については解決策がありません。BoNeSiは、大規模なボットネットからのHTTP-GETフラッドをシミュレートする最初のツールです。また、BoNeSiは簡単に識別可能なパターン(簡単にフィルタリングできる)を持つパケットを生成しないように努めています。
どこでBoNeSiを実行できますか?
クローズドなテストベッド環境でBoNeSiを実行することを強くお勧めします。ただし、UDPおよびICMP攻撃はインターネットでも実行可能ですが、注意が必要です。HTTPフラッディング攻撃はインターネットではシミュレートできません。これは、ウェブサーバーからの応答をBoNeSiを実行しているホストにルーティングバックする必要があるためです。
TCPスプーフィングはどのように動作しますか?
BoNeSiはネットワークインターフェースでTCPパケットをスニッフィングし、TCP接続を確立するためにすべてのパケットに応答します。この機能のためには、ターゲットウェブサーバーからのすべてのトラフィックがBoNeSiを実行しているホストにルーティングバックされる必要があります。
BoNeSiのパフォーマンスはどの程度優れていますか?
大規模なボットネットをシミュレートするために、パフォーマンスに重点を置きました。2GHzのAMD Opteronでは、毎秒最大150,000パケットを生成できました。より新しい3.3GHzのAMD Phenom II X6 1100Tでは、毎秒300,000パケット(2コアで動作)を生成できます。
BoNeSiの攻撃は成功しますか?
はい、非常に成功します。UDP/ICMP攻撃は簡単に帯域幅を埋め尽くし、HTTPフラッディング攻撃はウェブサーバーを素早くダウンさせます。また、BoNeSiを最新の商用DDoS軽減システムに対してテストし、それらをクラッシュさせるか、攻撃を検出から隠すことができました。
BoNeSiの動作デモビデオはこちらでご覧いただけます。
BoNeSiは、さまざまなプロトコルタイプのネットワークトラフィックジェネレーターです。 作成されるパケットと接続の属性は、送信レートやペイロードサイズなどのいくつかのパラメータによって制御されるか、ランダムに決定されます。 TCPトラフィックを生成する場合でも、送信元IPアドレスを偽装します。そのため、プロミスキャスモードでTCP接続を処理するためのシンプルなTCPスタックが含まれています。 正しく動作させるには、応答パケットがBoNeSiを実行しているホストにルーティングされるようにする必要があります。したがって、BoNeSiは任意のネットワークインフラストラクチャでは使用できません。 生成できる最も高度なトラフィックはHTTPリクエストです。
TCP/HTTP HTTPリクエストをより現実的にするために、いくつかの要素がランダムに決定されます:
Copyright 2006-2007 Deutsches Forschungszentrum fuer Kuenstliche Intelligenz これはフリーソフトウェアです。 Apache License, Version 2.0のもとでライセンスされています。 法律で認められる範囲において、無保証です。
:~$ ./configure
:~$ make
:~$ make install
:~$ bonesi [OPTION...] <dst_ip:port>
Options:
-i, --ips=FILENAME filename with ip list
-p, --protocol=PROTO udp (default), icmp or tcp
-r, --send_rate=NUM packets per second, 0 = infinite (default)
-s, --payload_size=SIZE size of the paylod, (default: 32)
-o, --stats_file=FILENAME filename for the statistics, (default: 'stats')
-c, --max_packets=NUM maximum number of packets (requests at tcp/http), 0 = infinite (default)
--integer IPs are integers in host byte order instead of in dotted notation
-t, --max_bots=NUM determine max_bots in the 24bit prefix randomly (1-256)
-u, --url=URL the url (default: '/') (only for tcp/http)
-l, --url_list=FILENAME filename with url list (only for tcp/http)
-b, --useragent_list=FILENAME filename with useragent list (only for tcp/http)
-d, --device=DEVICE network listening device (only for tcp/http, e.g. eth1)
-m, --mtu=NUM set MTU, (default 1500). Currently only when using TCP.
-f, --frag=NUM set fragmentation mode (0=IP, 1=TCP, default: 0). Currently only when using TCP.
-v, --verbose print additional debug messages
-h, --help print help message and exit
50k-bots
browserlist.txt
urllist.txt
Copyright 2006-2007 Deutsches Forschungszentrum fuer Kuenstliche Intelligenz
Copyright 2008-2026 Markus Goldstein
これはフリーソフトウェアです。 Apache License, Version 2.0のもとでライセンスされています。
法律で認められる範囲において、無保証です。
本ソフトウェアは以下の支援を受けています...