Friday, January 21, 2011

Phân tích DDOS Vietnamnet

Tối hôm qua tớ ngồi thử nghiệm thêm VNN ở một góc độ khác nhằm phản biện khía cạnh băng thông bị bão hoà thì thấy có vài điểm lý thú sau:

- Thử traceroute từ máy của tớ đến vietnamnet.vn thì thấy:
Code:
conmale$ traceroute vietnamnet.vnconmale-hva

Chứng tỏ packets đi xuyên qua các hops không quá chậm.

Thử traceroute từ Đức về VN:
Code:
[geek@germany ~]$ traceroute vietnamnet.vn

thì thấy packets đi xuyên các hops càng nhanh nữa.

Thử httpwatch để duyệt vietnamnet.vn thì lại thấy:
13:06:39.771 0.042 380 0 GET null Redirect http://www.vietnamnet.vn/
13:06:40.278 6.449 427 182 GET 302 Redirect to: http://vietnamnet.vn http://www.vietnamnet.vn/
13:06:46.732 2.143 458 406 GET 302 Redirect to: /vn/index.html http://vietnamnet.vn/
13:06:48.882 40.536 436 19 GET 200 text/html http://vietnamnet.vn/vn/index.html
13:07:29.473 0.033 357 (1406) GET (Cache) image/x-icon http://vietnamnet.vn/favicon.ico


Điều này chứng tỏ:

- Cú GET đầu tiên đi đến www.vietnamnet.vn chỉ mất có 0.042 giây thì đầu bên khia nhận request và cho request này redirect đến vietnamnet.vn. Điều này chứng tỏ băng thông không hề bị nghẽn mà trái lại đường đi vô www.vietnamnet.vn rất nhanh.

- Giai đoạn redirection từ www.vietnamnet.vn đến vietnamnet.vn cho đến khi response về lại trình duyệt của tớ mất 6.449 giây. Chứng tỏ sự trễ nãi này xảy ra ở khoảng "response" (đi ra) chớ không phải nằm ở khoảng "request" (đi vô).

- Sau khi redirect đến vietnamnet.vn request này lại tiếp tục được redirect đến /vn/index.html (thuộc vietnamnet.vn) và mất thêm 2.143 giây nữa và tệ nhất là chỉ redirect đến một trang index.html http://vietnamnet.vn/vn/index.html) và response về trình duyệt mất đến 40.536 giây.

Qua những biểu hiện trên tớ tin chắc vnn không bị bão hoà băng thông bằng chứng là request đi vô vẫn cực nhanh. Chỉ có response đi ra cực chậm. Nến băng thông bị bão hoà thì ra hay vô cũng đều chậm. Dấu hiệu cho thấy ở đây là dịch vụ web bị nghẽn và không kịp phục vụ người truy cập.

Nếu thử "dig" thì thấy vietnamnet.vn có 2 "A" records:
conmale$ dig a vietnamnet.vn

; <<>> DiG 9.6.0-myBuild <<>> a vietnamnet.vn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7119 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;vietnamnet.vn. IN A ;; ANSWER SECTION: vietnamnet.vn. 3600 IN A 222.255.122.157
vietnamnet.vn. 3600 IN A 117.103.197.249

;; Query time: 659 msec
;; SERVER: 139.130.4.4#53(139.130.4.4)
;; WHEN: Thu Jan 20 08:45:16 2011
;; MSG SIZE rcvd: 63


và www.vietnamnet.vn lại chỉ có 1 "A" record mà thôi:
conmale$ dig a www.vietnamnet.vn

; <<>> DiG 9.6.0-myBuild <<>> a www.vietnamnet.vn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61465 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.vietnamnet.vn. IN A ;; ANSWER SECTION: www.vietnamnet.vn. 3600 IN A 117.103.197.249

;; Query time: 499 msec
;; SERVER: 139.130.4.4#53(139.130.4.4)
;; WHEN: Thu Jan 20 08:45:24 2011
;; MSG SIZE rcvd: 51



117.103.197.249 thì thuộc VTC (trong mạng vnnnic), còn 222.255.122.157 thì thuộc vinagame (trong mạng vnpt).

Xét đoạn httpwatch ở trên thì thấy:

- Nếu truy cập với www.vietnamnet.vn (117.103.197.249) thì sẽ được redirect về vietnamnet.vn (117.103.197.249 và 222.255.122.157) theo dạng DNS round robin.

- Nếu thực sự redirect từ 117.103.197.249 về 222.255.122.157 thì hữu lý (vì cho nó đi qua một mạng khác để share load) nhưng redirect từ 117.103.197.249 về lại chính 117.103.197.249 thì hơi phí vì dịch vụ web phải tốn thêm tài nguyên để xử lý thêm một cái redirection.

- Nếu truy cập trực tiếp tới vietnamnet.vn (222.255.122.157) thì không xảy ra redirection từ IP này sang IP khác nữa mà lại có thêm một lần redirection đến /vn/index.html ngay chính dịch vụ trên vietnamnet.vn, từ context "/" sang context "/vn". Xét về mặt tài nguyên thì dịch vụ web lại tiêu tốn tài nguyên để xử lý thêm một lần redirection. Có lẽ admin muốn redirect đến một trang static html để giảm thiểu hao tổn tài nguyên từ những truy cập trực tiếp đến các trang động (dynamic pages) tương tác trực tiếp đến CSDL nhưng thật sự redirection kiểu này ở tình trạng bị DDoS nặng nề thì không hữu hiệu rồi.

Tớ cũng thử "fire off" hơn 1 chục request liên tục trong 1 giây và thấy hệ thống vietnamnet responded y hệt như nhau. Các requests của tớ vẫn đến vietnamnet.vn và vẫn được redirect y hệt như trên. Điều này chứng tỏ hình như vietnamnet không có cơ chế "packet rating" (hoặc request rating) mà tớ đã đề cập ở bài trước. Nói một cách khác, dường như vietnamnet chìa lưng ra cho DDoS đập thì phải smilie .

No comments:

Post a Comment