More Related Content
Similar to 情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
Similar to 情報セキュリティの啓蒙と仮想ネットワーク構築 Dos (20)
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
- 2. DOS攻撃とは?
DoS攻撃(Denial Of Service attack)
サービス停止攻撃、サービス拒否攻撃..etc
DDoS攻撃(Distributed Denial Of Service)
協調分散型DoS攻撃、分散型サービス拒否攻撃
『目的』
上記の攻撃の効果や被害度合いなどを学生の立場から検証し、
そのデータ結果から考察を加えて行くことで、実際に現在行われている
手法を体感するのが目的である。そこから防衛手段を構築する。
今回はその中でもシンプルで効果の出易いDOS攻撃について学んでいく。
DOS攻撃とは、ネットワークサービスに対して過剰アクセスを繰り返すことで、
他のネットワークサービス利用者の邪魔をしたり、ネットワーク機器を故障させること
を目的とした攻撃である。DDOSはそれを複数台のPCで実施する攻撃。
また一口にDOS攻撃といっても、様々な細かい差異がある。
- 3. DOS(=DDOS)攻撃の種類について
SYN flood TCPの接続開始要求であるSYNパケットを大量に送信する
UDP flooding attack UDPポートに大量パケットを送信する
ICMP flooding attack 大量のpingを送信する
Ping of Death 規格外のサイズの
規格外のサイズのpingを送信する
のサイズの を送信する
攻撃
smurf攻撃 pingの送信元を偽装し、LAN上の複数ホストに送信する。
の送信元を偽装し 上 複数ホストに送信する
ホストに送信する。
攻撃
Connection Flood攻撃 大量のTCPコネクションを確立する。
HTTP GET Flood TCPコネクション確立後に繰り返しHTTP GETコマンドを送信する。
e-mail bombing 大量の電子メールを送り付ける
etc..etc .
※他にも、LAND攻撃など様々なものが存在するが、
にも、 攻撃など様々なものが存在するが
攻撃など様々なものが存在するが、
今回は全ての攻撃の発想元ともなっている
今回は ての攻撃 発想元ともなっている
攻撃の ともなっているSYN flood及び、
及
そこにConnection Flood+GET floodを
そこに を
加えた
えたSlowReadDOS攻撃について次ページより解説する。
攻撃について
攻撃について次ページより解説する。解説する
- 4. その前に
接続の仕方について(基本編~3wayハンドシェイクまで)
基本
○○というファイルを送ってください!
○○というファイルを送ってください!
というファイルを
まず通信を始めよう!と思った場合、左記の
図の様に、PC(右)からサーバ(左)に向けてリ
クエストを送ります。(~~のWebページの
ファイルを下さい!という様な)その後、サー
バはリクエストされたファイルが存在するか
確認し、有ればPCにそのファイルを送ります。
分かりました。○○というファイルを送ります
かりました。○○というファイルを送
というファイルを
これを詳しく見てみると
3wayハンドシェイク
1,まず、PC(左)からサーバ(右)に向けて、接続させて下さい。
とリクエストを送ります。これをSYNパケットと言います。
2,サーバは自身の性能やネットワークの帯域のキャパシティから
新しいPCの接続が可能かどうか(※)を判断し、
可能ならSYN-ACKパケットを返します。
※
通信データは1回のやり取りでは全てのデータを受け渡せません。ファイルのデータ
量がパケットの箱のサイズを遥かにオーバーしてしまうからです。パケットサイズは
576~1500byte,、なのでファイルを分割し、複数のパケットに分けて送信することに
なります。その為に今は接続出来た、けど後から次に渡すデータが判らなくなったり
回線が一杯で通信が継続出来なくなった。というのを防ぐ為に確認するのです。これ
をコネクションを築くと呼称します。
3,PCはサーバにリクエストしたファイルデータのコネクションを
築き、データを送って欲しいことをACKパケットで伝えます。
これを3wayハンドシェイクと言います。
- 5. 接続の仕方を学んだ所で、攻撃手法の解説及び実践結果①
SYN-flood攻撃
SYN-flood攻撃とは、前ページで解説した3wayハン
ドシェイクの中でSYNパケットを大量に送信。
SYN-ACKパケットを返さないことで、サーバのリ
ソースを無駄に消費させ、正常なサービスを阻害す
る攻撃だ。(ノートに例えるなら、1ページに1文字
しか書かずに次のページに行く様なもの、そうする
ことで伝えたい情報がノートに入らない様にする。)
これを実際にLinuxにて、自身の作成した性能の低い
実機webサーバ及び、高性能パソコンにて作成した
web
これを1万回とか送信 仮想Linuxサーバに対して、SYNパケットを偽装した
結果、コネクションがパンク! するかも? パケットを送信してみた。
結果は 両サーバどちらに対してもほとんど効果が無かった。
サーバ側からトラフィック(=通信量)を確認してみた所、
確かにSYNの接続要求が大量に来ていることが判ったが、
コネクションをそこまで維持せずにすぐに放棄してしまっていた。
(上記のノートの例でいうなら、無意味な1文字ページを消しゴムで
すぐ消され、正式なデータを書き込まれた状態)
結論として、SYN-floodをただ単に送るだけでは、1つのリクエストに対し
サーバ側のコネクション記憶を長時間維持出来ないので効果が薄いことが判明した。
- 6. 接続の仕方を学んだ所で、攻撃手法の解説及び実践結果②
SlowReadDOS攻撃
前ページのSYN-flood攻撃の失敗をふまえコネクションを維持する為の返事を返し続ける
Connection Floodとそこに実際にHTTPのデータを要求するHTTP GET Floodを組み合わせたSlow
Read DOSについて解説する。これはSYNパケットをただ垂れ流すのではなく、追加のデータ要
求まで行うのだ。つまりSYN-Flood攻撃にあった弱点である、コネクションの維持が補えるので
ある。(実際に検証してみた所、通常のSYNパケットだけと今回の攻撃とでは、コネクションの
維持期間が数十倍は違う)これに加え、SlowReadDOSにはもう1つ特徴がある。それを確かめ
る為に実際の流れを下記の図で確認して頂きたい。
・通常の通信の場合 ・今回の通信の場合
通常の通信の場合は、相手側と自身の
回線の信頼度(=パケット損失率、と言
います。どれだけ確実にデータが届く
かです)に合わせてデータを適切な大
きさに分割し送ります。
例だと10回の通信に分けていますね。
これをSlowReadDOSだと一番小さい
限度のものを無理矢理要求します。今
回ですと100回に分けていますね。こ
れによってサーバ側は10回で済むデー
タ送信を100回送信しなければならな
い、つまり作業容量が増えるし、その
分サーバの記憶領域を喰います。これ
を多量の通信でやるとどうなるか。
サーバのメモリを大量に喰いますし、
パケットのやり取りが増えますので信
号の衝突なども考えられます。つまり
正常な通信が大きく阻害されやすくな
るのです。次ページより検証結果
ゆっくりDOS攻撃をする=SlowReadDOS攻撃
- 7. 接続の仕方を学んだ所で、攻撃手法の解説及び実践結果③
①攻撃に弱い環境
まずは実際に運用されている個人ベーズのwebページを
想定した環境を用意して実験してみた。自宅に用意した
Webページである。
(http://219.123.35.245/phpmotion
(http://219.123.35.245/php_board/login.php)
こちらに対して攻撃をした結果が左記の図である。
Service availableが実際にサービスが正常に動いている状態。
つまり攻撃を仕掛けてから60秒強はサービスに正常に接続
出来ない状況が続いていたわけである。
5分中1分は接続出来ない。という結果になった。
続いて
CPU:Intel Celeron 2.4Ghz メモリ:256MB
②攻撃に強い環境
ローカルに用意した仮想サーバのwebページを用意した。
こちらはPCとサーバをダイレクトに接続している。
(LANケーブルは1000Mbps)
サービスは殆ど落ちていない状況であり、サービスへの
接続コネクションも攻撃した分、全て接続出来ている状態
である。つまり効果が殆ど無かったと言える。強いて言えば
「ん?ちょっと重いな 」と僅かな人が気付くかもしれない
程度である。だが、気付いて欲しいのだが、
これは攻撃用ノートパソコン1台のみでの攻撃である点だ。
これを複数台のPCかもしくはハイエンドPCで実施すれば
接続を阻害出来る程の攻撃が可能だったと思われる。
CPU:Intel Core-i3 2.5Ghz メモリ:1GB
- 8. DOS対策について&まとめ
対策方法
高いセキュリティアプライアンス持つ機器を導入する。
(※富士通での販売価格[機器:BWAF]は2012年12月で128万でした )
Mob_security2というものを導入する。
(※Linux,Apache専用ですが、追加モジュールで多少緩和される様です。
仕組みとしては個々のパケットを監視しパラメータを設定し、
接続を制限したりするものです。)
SNMPサーバ(トラフィック監視ツール,機器)を使用して、
こまめにどの様なパケットが流れているか確認する。
まとめ
DOS攻撃は複数台のPCを用いることによって効果が激増する
複数の攻撃種があるが要は大量に何かを送りつけたり要求する事である
正常なサービスとの見分けがつきにくい為、対策と攻撃がいたちごっこ
他の攻撃手法に比べると、実践するのが容易であった。
自らDDoSをおこなってる可能性があると考えると対策は色々考えるべき
最近は「DDoS○時間~~¥」など、攻撃の手法が変わってきたことは注目
すべき点であり、今後はもう少し注意して観測する必要があると思う。
また実際に検証することで、 DOS攻撃の流れを詳しく体感出来た。