2013年10月27日 星期日

WWW 阻斷服務攻擊 (3)

<<< 上一篇:WWW 阻斷服務攻擊 (2)
>>> 下一篇:WWW 阻斷服務攻擊 (4)

實測結果


我們來看看究竟這樣的攻擊究竟有沒有效果。

被攻擊者是 VirtualBox 安裝 Ubuntu 12.04,給它 1024 MB 的記憶體,我使用的是 Intel i5 2.5 GHz 的 CPU,預設 VirtualBox 只會給虛擬機器一個核心來跑。被攻擊的網站使用 Ubuntu 的套件 apache2,版本是 apache 2.2.22,是本文撰寫時,可以取得的最新版本,被攻擊的網址是 "http://192.168.1.192/info.php",其會產生 phpinfo(); 的資訊,檔案大小為 8500 bytes。

攻擊者的 IP 是 192.168.1.30。

第一種攻擊模式 – request header

我使用的指令如下:
$ slowhttptest -u 'http://192.168.1.192/info.php' -c 3000 -l 190 -r 100 -H -t GET -i 10 -x 6 -p 5 -g -o request-header

結果在 request-header.html 檔案中,如下:

Test parameters
Test type SLOW HEADERS
Number of connections 3000
Verb GET
Content-Length header value 4096
Extra data max length 16
Interval between follow up data 10 seconds
Connections per seconds 100
Timeout for probe connection 5
Target test duration 190 seconds
Using proxy no proxy


結果看來,攻擊相當有影響力,啟動大約 10 秒後,伺服器就沒有反應了。實際操作的時候,開瀏覽器無痕視窗去瀏覽被攻擊者的其他頁面 (使用無痕視窗是避免瀏覽器使用快取),例如 “http://192.168.1.192/", 得到的結果是,在大多數的情況下伺服器都沒回應,不過看著瀏覽器的視窗在那裡轉轉轉一段時間後,等個一分三十五秒 (如下圖),有時候會有些漏網之魚,似乎有些封包還是穿越了戰火,來往於伺服器和瀏覽器之間,最後顯示 It works! 的字眼 (It works! 是 apache 伺服器安裝好後,預設的頁面)。但是整體而言,就本機端連 VirtualBox 的連線速度飛快的情況來說,一個簡單的 It works! 頁面,可以讓使用者空等超過一分鐘,甚至完全無法連線,攻擊還是算奏效的。

在連線超過 105 秒之後,closed 的連線越來越多,而後來的連線也連不上了,就是無法達到 connected 的狀態,這也是一個重要的資訊。從伺服器的反應改變中,可以看得出來,針對不同的伺服器去調整攻擊參數,的確是有必要的。


第二種攻擊模式 – request body

我使用的測試指令如下:
$ slowhttptest -u 'http://192.168.1.192/info.php' -c 3000 -l 190 -r 50 -B -t GET -x 5 -s 8192 -p 5 -g -o request-body

騙人的 HTTP request 型態對新版的 apache 不起作用,而且攻擊效果遠不如 request header,實際測試 It works! 的回應時間只有延遲到十幾秒而已。


第三種攻擊模式 – response read

我的測試指令如下:
$ slowhttptest -u "http://192.168.1.192/info.php" -c 3000 -l 190 -r 50 -X -w 1 -y 10 -k 10 -n 5 -z 10 -p 5 -g -o response-read

結果:
Test parameters
Test type SLOW READ
Number of connections 3000
Receive window range 1 – 10
Pipeline factor 10
Read rate from receive buffer 10 bytes / 5 sec
Connections per seconds 50
Timeout for probe connection 5
Target test duration 190 seconds
Using proxy no proxy



攻擊非常有效,伺服器完全無回應,甚至在攻擊結束之後,還停留一段時間無回應,可以看到下圖,就連應該超級快回應的 It works! 頁面,也完全 Aborted 了!



測試心得


對 Apache 伺服器來說,response read 的攻擊策略最有效,request body 最沒有效果。

即便是目前最新版的 Ubuntu Apache 2.2.22 伺服器,預設的狀態下,如果沒有作額外的保護措施,仍舊可輕易地被阻斷服務攻擊成功,而且只需要極少的 CPU 和網路資源即可辦到。

<<< 上一篇:WWW 阻斷服務攻擊 (2)
>>> 下一篇:WWW 阻斷服務攻擊 (4)

沒有留言:

張貼留言