SlideShare a Scribd company logo
IS03-02 ネットワーク/セキュリティ
 ウィルスバスターズ




 ・清水   一輝     ・関根 良樹
 ・小澤   雄司     ・大日方 貞光
 ・新井   英史     ・志水 翼
DOS攻撃とは?
  DoS攻撃(Denial Of Service attack)
   サービス停止攻撃、サービス拒否攻撃..etc
  DDoS攻撃(Distributed Denial Of Service)
   協調分散型DoS攻撃、分散型サービス拒否攻撃
『目的』
上記の攻撃の効果や被害度合いなどを学生の立場から検証し、
そのデータ結果から考察を加えて行くことで、実際に現在行われている
手法を体感するのが目的である。そこから防衛手段を構築する。
今回はその中でもシンプルで効果の出易いDOS攻撃について学んでいく。
DOS攻撃とは、ネットワークサービスに対して過剰アクセスを繰り返すことで、
他のネットワークサービス利用者の邪魔をしたり、ネットワーク機器を故障させること
を目的とした攻撃である。DDOSはそれを複数台のPCで実施する攻撃。
また一口にDOS攻撃といっても、様々な細かい差異がある。
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攻撃について次ページより解説する。
                 攻撃について
                 攻撃について次ページより解説する。解説する
その前に
     接続の仕方について(基本編~3wayハンドシェイクまで)
基本
      ○○というファイルを送ってください!
      ○○というファイルを送ってください!
        というファイルを
                                    まず通信を始めよう!と思った場合、左記の
                                    図の様に、PC(右)からサーバ(左)に向けてリ
                                    クエストを送ります。(~~のWebページの
                                    ファイルを下さい!という様な)その後、サー
                                    バはリクエストされたファイルが存在するか
                                    確認し、有ればPCにそのファイルを送ります。
      分かりました。○○というファイルを送ります
       かりました。○○というファイルを送
               というファイルを

     これを詳しく見てみると
3wayハンドシェイク
                              1,まず、PC(左)からサーバ(右)に向けて、接続させて下さい。
                                とリクエストを送ります。これをSYNパケットと言います。

                              2,サーバは自身の性能やネットワークの帯域のキャパシティから
                               新しいPCの接続が可能かどうか(※)を判断し、
                               可能ならSYN-ACKパケットを返します。
                              ※
                              通信データは1回のやり取りでは全てのデータを受け渡せません。ファイルのデータ
                              量がパケットの箱のサイズを遥かにオーバーしてしまうからです。パケットサイズは
                              576~1500byte,、なのでファイルを分割し、複数のパケットに分けて送信することに
                              なります。その為に今は接続出来た、けど後から次に渡すデータが判らなくなったり
                              回線が一杯で通信が継続出来なくなった。というのを防ぐ為に確認するのです。これ
                              をコネクションを築くと呼称します。

                              3,PCはサーバにリクエストしたファイルデータのコネクションを
                                築き、データを送って欲しいことをACKパケットで伝えます。

                              これを3wayハンドシェイクと言います。
接続の仕方を学んだ所で、攻撃手法の解説及び実践結果①

   SYN-flood攻撃
                       SYN-flood攻撃とは、前ページで解説した3wayハン
                       ドシェイクの中でSYNパケットを大量に送信。
                       SYN-ACKパケットを返さないことで、サーバのリ
                       ソースを無駄に消費させ、正常なサービスを阻害す
                       る攻撃だ。(ノートに例えるなら、1ページに1文字
                       しか書かずに次のページに行く様なもの、そうする
                       ことで伝えたい情報がノートに入らない様にする。)
                       これを実際にLinuxにて、自身の作成した性能の低い
                       実機webサーバ及び、高性能パソコンにて作成した
                          web
これを1万回とか送信             仮想Linuxサーバに対して、SYNパケットを偽装した
結果、コネクションがパンク! するかも?   パケットを送信してみた。

  結果は 両サーバどちらに対してもほとんど効果が無かった。
      サーバ側からトラフィック(=通信量)を確認してみた所、
       確かにSYNの接続要求が大量に来ていることが判ったが、
      コネクションをそこまで維持せずにすぐに放棄してしまっていた。
      (上記のノートの例でいうなら、無意味な1文字ページを消しゴムで
      すぐ消され、正式なデータを書き込まれた状態)
  結論として、SYN-floodをただ単に送るだけでは、1つのリクエストに対し
  サーバ側のコネクション記憶を長時間維持出来ないので効果が薄いことが判明した。
接続の仕方を学んだ所で、攻撃手法の解説及び実践結果②

 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攻撃
接続の仕方を学んだ所で、攻撃手法の解説及び実践結果③
    ①攻撃に弱い環境
                                     まずは実際に運用されている個人ベーズの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
DOS対策について&まとめ
 対策方法
   高いセキュリティアプライアンス持つ機器を導入する。
 (※富士通での販売価格[機器:BWAF]は2012年12月で128万でした )
   Mob_security2というものを導入する。
 (※Linux,Apache専用ですが、追加モジュールで多少緩和される様です。
 仕組みとしては個々のパケットを監視しパラメータを設定し、
 接続を制限したりするものです。)
   SNMPサーバ(トラフィック監視ツール,機器)を使用して、
   こまめにどの様なパケットが流れているか確認する。

 まとめ
  DOS攻撃は複数台のPCを用いることによって効果が激増する
  複数の攻撃種があるが要は大量に何かを送りつけたり要求する事である
  正常なサービスとの見分けがつきにくい為、対策と攻撃がいたちごっこ
  他の攻撃手法に比べると、実践するのが容易であった。
  自らDDoSをおこなってる可能性があると考えると対策は色々考えるべき
 最近は「DDoS○時間~~¥」など、攻撃の手法が変わってきたことは注目
  すべき点であり、今後はもう少し注意して観測する必要があると思う。
 また実際に検証することで、 DOS攻撃の流れを詳しく体感出来た。

More Related Content

Viewers also liked

Kek Kendal
Kek KendalKek Kendal
Kek Kendal
hadipuspito
 
BA Certificate
BA CertificateBA Certificate
BA CertificateAbu Supian
 
New C.V Ahmed Givori
New C.V Ahmed GivoriNew C.V Ahmed Givori
New C.V Ahmed Givoriahmed ali
 
Derek A Bean resume
Derek A Bean resumeDerek A Bean resume
Derek A Bean resumeDerek Bean
 
SuryaMohan_Resume_2015
SuryaMohan_Resume_2015SuryaMohan_Resume_2015
SuryaMohan_Resume_2015Surya Mohan
 
Resume Kevin Gunter - Work
Resume Kevin Gunter - WorkResume Kevin Gunter - Work
Resume Kevin Gunter - WorkKevin Gunter
 
jubabanditの紹介
jubabanditの紹介jubabanditの紹介
jubabanditの紹介
JubatusOfficial
 

Viewers also liked (11)

Kek Kendal
Kek KendalKek Kendal
Kek Kendal
 
UCLan_Certificate
UCLan_CertificateUCLan_Certificate
UCLan_Certificate
 
BA Certificate
BA CertificateBA Certificate
BA Certificate
 
New C.V Ahmed Givori
New C.V Ahmed GivoriNew C.V Ahmed Givori
New C.V Ahmed Givori
 
Derek A Bean resume
Derek A Bean resumeDerek A Bean resume
Derek A Bean resume
 
CV_Zulfikar_1
CV_Zulfikar_1CV_Zulfikar_1
CV_Zulfikar_1
 
SuryaMohan_Resume_2015
SuryaMohan_Resume_2015SuryaMohan_Resume_2015
SuryaMohan_Resume_2015
 
Resume Kevin Gunter - Work
Resume Kevin Gunter - WorkResume Kevin Gunter - Work
Resume Kevin Gunter - Work
 
Ali Ghavami_CV
Ali Ghavami_CVAli Ghavami_CV
Ali Ghavami_CV
 
Questionario
QuestionarioQuestionario
Questionario
 
jubabanditの紹介
jubabanditの紹介jubabanditの紹介
jubabanditの紹介
 

Similar to 情報セキュリティの啓蒙と仮想ネットワーク構築 Dos

法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用Ruo Ando
 
BP Study #16
BP Study #16BP Study #16
BP Study #16
Toshiaki Baba
 
2011年度 新3年生向け
2011年度 新3年生向け2011年度 新3年生向け
2011年度 新3年生向け
Yuki Takahashi
 
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
Amazon Web Services Japan
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
hogemaru_
 
とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編
kumin1030
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
 
ネットワークの紹介+苦労話
ネットワークの紹介+苦労話ネットワークの紹介+苦労話
ネットワークの紹介+苦労話
Tetsuya Hasegawa
 
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
コワーキングカンファレンスTokyo 2012を支えたインフラ技術
コワーキングカンファレンスTokyo 2012を支えたインフラ技術コワーキングカンファレンスTokyo 2012を支えたインフラ技術
コワーキングカンファレンスTokyo 2012を支えたインフラ技術
Kei Mikage
 
NATS on VCAP
NATS on VCAPNATS on VCAP
NATS on VCAP
Katsunori Kawaguchi
 
Tiny server
Tiny serverTiny server
Tiny server
komem3
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
Kazuhiko Kato
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論shigaoki
 
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
Akira Suzuki
 

Similar to 情報セキュリティの啓蒙と仮想ネットワーク構築 Dos (20)

法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
 
BP Study #16
BP Study #16BP Study #16
BP Study #16
 
Mmo game networking_1
Mmo game networking_1Mmo game networking_1
Mmo game networking_1
 
2011年度 新3年生向け
2011年度 新3年生向け2011年度 新3年生向け
2011年度 新3年生向け
 
Unity WebSocket
Unity WebSocketUnity WebSocket
Unity WebSocket
 
計算機理論入門08
計算機理論入門08計算機理論入門08
計算機理論入門08
 
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
ネットワークの紹介+苦労話
ネットワークの紹介+苦労話ネットワークの紹介+苦労話
ネットワークの紹介+苦労話
 
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
 
コワーキングカンファレンスTokyo 2012を支えたインフラ技術
コワーキングカンファレンスTokyo 2012を支えたインフラ技術コワーキングカンファレンスTokyo 2012を支えたインフラ技術
コワーキングカンファレンスTokyo 2012を支えたインフラ技術
 
NATS on VCAP
NATS on VCAPNATS on VCAP
NATS on VCAP
 
Tiny server
Tiny serverTiny server
Tiny server
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
 
UnicastWS vol.1
UnicastWS vol.1UnicastWS vol.1
UnicastWS vol.1
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論
 
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
 

情報セキュリティの啓蒙と仮想ネットワーク構築 Dos

  • 1. IS03-02 ネットワーク/セキュリティ ウィルスバスターズ ・清水 一輝 ・関根 良樹 ・小澤 雄司 ・大日方 貞光 ・新井 英史 ・志水 翼
  • 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攻撃の流れを詳しく体感出来た。