<![CDATA[Latest posts for the topic "DDoS và nguyên tắc phân tích gói tin"]]> /hvaonline/posts/list/31.html JForum - http://www.jforum.net DDoS và nguyên tắc phân tích gói tin DDoS và nguyên tắc phân tích gói tin Như đã đề cập ở bài trước /hvaonline/posts/list/0/44934.html) Giảm thiểu tác hại của DDoS có hai hướng chính: 1) Giảm thiểu bằng cách cản lọc những đặc điểm cụ thể. 2) Giảm thiểu bằng cách cản lọc theo ấn định số lần truy cập trong một khoản thời gian (nếu không tìm ra được đặc điểm cụ thể). Từ những thông tin nào có thể giúp mình thực hiện việc giảm thiểu ấy? Cách khó nhất, tỉ mỉ nhất nhưng cũng chính xác nhất là lấy thông tin từ những gói tin bắt được trong lúc chúng tràn vào mục tiêu (để thực hiện việc DDoS). Có lẽ một trong những công cụ phổ biến nhất ngày nay cho công việc bắt gói tin và phân tích gói tin đó là Wireshark (ngày xưa có tên là Ethereal). Công cụ này cho phép chúng ta sắp xếp gói tin theo: - thời gian gói tin đi đến. - theo nguồn IP của gói tin. - theo dạng giao thức của gói tin. - theo chiều dài của gói tin. - và đi sâu vào tính chất của từng gói tin. Tuỳ nhu cầu, tuỳ hoàn cảnh mà sử dụng biện pháp sắp xếp để phân tích. Đôi khi cần phải đổi từ cách sắp xếp gói tin từ dạng này sang dạng khác để có thể nắm bắt tính chất được xem là "đặc điểm cụ thể". Tất nhiên, logs trên proxies, trên web server (như Apache, Nginx, IIS..v..v..) cũng có thể dùng để phân tích nhưng chúng thiếu hẳn những thông tin cụ thể về giao thức. Tuy vậy chúng có điểm lợi là đơn giản hơn, dễ phân tích hơn nhưng nếu muốn nắm rõ tính chất những gói tin thuộc dạng DDoS không thể không dùng Wireshark để bắt gói tin và phân tích gói tin. Lấy một đoạn packets được dùng để tấn công một nạn nhân gần đây (5/7/2013), chúng ta có thể thấy gì?
- Các gói tin đã được sắp xếp (sort) theo nguồn (IP) ở đây đang tập trung vào phân tích nguồn 113.170.184.21. - Nếu bấm vào dòng có giao thức là HTTP và có Info là "GET / HTTP/1.1" thì sẽ thấy có giá trị "User-Agent" hiện ra. Theo thông tin ở đây, đó là một điện thoại di động dạng Android và có địa phương (locale) là Canada (en-ca). - Gói tin HTTP kia có chiều dài là 502 bytes (bao gồm chiều dài của gói tin TCP/IP tầng dưới). - Nếu sử dụng tính năng "follow TCP stream" của gói tin cụ thể trên, bạn sẽ thấy một nhóm các gói tin được gởi / nhận và được ráp lại. Nếu xoáy sâu xuống một chút, mình có thể thấy thêm đây là một gói ACK có PSH flag và có chiều dài là 448 bytes.
Nếu tiếp tục xem xét danh sách các request đi từ 113.170.184.21, bạn sẽ thấy nhiều gói tin có tính chất y hệt xảy ra nhiều lần. Đó là chuyện bình thường nhưng sự thể sẽ bất thường khi cùng một IP lại có User-Agent khác cùng gởi request trong cùng 1 giây đó và đặc biệt, chúng gởi request đến cùng một địa chỉ lặp đi lặp lại liên tục như: http://www.abc.com/ trong một khoảng thời gian.
Những thông tin trên có vẻ rất bình thường nhưng đó là một bức ảnh mẫu để so sánh và để đặt ra những câu hỏi giúp cho việc phân tích, ví dụ: a. Tại sao một IP thuộc Việt Nam mà lại dùng bằng điện thoại Android có ấn định địa phương là Canada? b. Tại sao một IP như trên lại có User-Agent khác có ấn định địa phương là từ Đan Mạch gởi nhiều request cùng một lúc đến cùng một địa chỉ URL? c. Tại sao những HTTP requests kia có cùng những nhóm "length" y hệt nhau và lặp đi lặp lại? d. Tại sao chúng có cùng giá trị Referer, thậm chí Referer ấy không tồn tại? e. Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi cùng một IP có cùng một User-Agent? f. Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó? g. Liệu những IP tấn công kia có phải là IP của một proxy có nhiều người dùng chung hay không? v....v....v.... Nói chung, càng nhiều câu được đặt ra và trả lời càng giúp cung cấp các thông tin để hình thành những điểm đặc thù của dạng tấn công. Từ đó mới có thể hình thành biện pháp cản lọc. 1. Cản lọc trên tầng IP: Là những cản lọc thuần tuý mang tính chất thuộc về tầng IP thay vì những "string" và "text" thấy được ở tầng application (sau khi các packets đã gom lại hoàn chỉnh). Ví dụ, bạn thống kê được có 1 triệu requests đánh tới "index.php" có mấy chục User-Agents khác nhau và những requests này thuộc dạng ACK-PSH và có chiều dài chung là 488, 502, 515, 576, 590 (chẳng hạn). Trong khi đó, các requests (được xem là hợp lệ và sạch sẽ) của người dùng bình thường có chiều dài khác. Bạn có thể có hai chọn lựa: 1.1 Cản cụ thể các packets ACK-PSH có chiều dài như trên vì bạn (biết) rằng người dùng đến trang web của bạn không có mấy ai xài đổ địa phương là Canada, Đan Mạch, Belarus...v.v.v.. Chọn lựa này có thể cản nhầm một số người nhưng trong tình trạng bị đập nặng nề, đó là một chọn lựa nhằm cứu vãn số người dùng còn lại. 1.2 Cản tổng quát dựa trên số lần truy cập trong 1 giây (hoặc một phút, hoặc một khoản thời gian nào đó). Lý là người dùng bình thường chẳng có ai liên tục truy cập hàng chục lần đến trang chủ trong mỗi giây hoặc vài trăm lần đến một hoặc nhiều URL trong một phút. Chẳng có ai có thể đọc nhanh như thế. 2, Cản lọc trên tầng application: Là những cản lọc cụ thể và chính xác những "string" và "text" thấy được trên logs của các web server. Ví dụ, bạn thống kê được có 1 triệu requests đánh tới "index.php" có mấy chục User-Agents khác nhau và bạn biết rằng những User-Agents ấy trước giờ ít xuất hiện vì không có mấy ai xài đổ địa phương là Canada, Đan Mạch, Belarus...v.v.v.. Bạn cũng có hai chọn lựa: 2.1 Cản cụ thể các User-Agents lạ như đã thống kê. Chọn lựa này có thể cản nhầm một số người nhưng trong tình trạng bị đập nặng nề, đó là một chọn lựa nhằm cứu vãn số người dùng còn lại. Ngày nay, biện pháp cản lọc trên tầng application có vô số các công cụ, tiên ích, plugins, modules...v..v... giúp cho việc này. 2.2 Cản tổng quát dựa trên số lần truy cập trong 1 giây (hoặc một phút, hoặc một khoản thời gian nào đó), y hệt với nguyên tắc phần 1.2 ở trên. Conmale]]>
/hvaonline/posts/list/44935.html#277324 /hvaonline/posts/list/44935.html#277324 GMT
DDoS và nguyên tắc phân tích gói tin e. Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi từ cùng một IP và có cùng một User-Agent? f. Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó?   ]]> /hvaonline/posts/list/44935.html#277327 /hvaonline/posts/list/44935.html#277327 GMT DDoS và nguyên tắc phân tích gói tin

quanta wrote:
Có bạn nào hứng thú trả lời mấy câu hỏi này không nhỉ?
e. Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi từ cùng một IP và có cùng một User-Agent? f. Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó?  
 
Không rõ quanta có tool nào tự động thực hiện việc này không, thường mình hay sử dụng splunk filter khá tốt nhưng nếu yêu cầu phức tạp quá thì có lẽ nên làm một cái script có khi tốt hơn]]>
/hvaonline/posts/list/44935.html#277334 /hvaonline/posts/list/44935.html#277334 GMT
DDoS và nguyên tắc phân tích gói tin

mylove14129 wrote:

quanta wrote:
Có bạn nào hứng thú trả lời mấy câu hỏi này không nhỉ?
e. Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi từ cùng một IP và có cùng một User-Agent? f. Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó?  
 
Không rõ quanta có tool nào tự động thực hiện việc này không, thường mình hay sử dụng splunk filter khá tốt nhưng nếu yêu cầu phức tạp quá thì có lẽ nên làm một cái script có khi tốt hơn 
Với lưu lượng DDoS lớn và kích thước log phì đại nhanh khủng khiếp thì việc dùng script để phân tích log có vẻ là thiếu hiệu quả vô cùng ;)]]>
/hvaonline/posts/list/44935.html#277339 /hvaonline/posts/list/44935.html#277339 GMT
DDoS và nguyên tắc phân tích gói tin /hvaonline/posts/list/44935.html#277342 /hvaonline/posts/list/44935.html#277342 GMT DDoS và nguyên tắc phân tích gói tin

xnohat wrote:

mylove14129 wrote:

quanta wrote:
Có bạn nào hứng thú trả lời mấy câu hỏi này không nhỉ?
e. Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi từ cùng một IP và có cùng một User-Agent? f. Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó?  
 
Không rõ quanta có tool nào tự động thực hiện việc này không, thường mình hay sử dụng splunk filter khá tốt nhưng nếu yêu cầu phức tạp quá thì có lẽ nên làm một cái script có khi tốt hơn 
Với lưu lượng DDoS lớn và kích thước log phì đại nhanh khủng khiếp thì việc dùng script để phân tích log có vẻ là thiếu hiệu quả vô cùng ;) 
:D Đúng vậy, nhưng ở đây chúng ta đang nói đến việc dùng wireshark capture gói tin lúc đang bị tấn công để phân tích( để nhận dạng chính xác thông tin các trường của gói tin), mình nghĩ việc sử dụng wireshark( hoặc tcp dump) để capture một lượng gói tin quá lớn sẽ có thể sẽ ảnh hưởng đến tài nguyên của máy chủ. Nên giải pháp dùng script sẽ dùng tốt trong trường hợp này( capture bằng wireshark một vài phút sau đó chạy script để thống kê). Trường hợp đã lưu thành log, khi đó lượng dữ liệu là cực lớn. Chúng ta bắt buộc phải sử dụng một công cụ có khả năng index cực nhanh trong trường hợp này sử dụng splunk là hợp lý.]]>
/hvaonline/posts/list/44935.html#277343 /hvaonline/posts/list/44935.html#277343 GMT
DDoS và nguyên tắc phân tích gói tin

quanta wrote:
Có bạn nào hứng thú trả lời mấy câu hỏi này không nhỉ?
e. Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi từ cùng một IP và có cùng một User-Agent? f. Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó?  
 
Câu hỏi của anh quanta có ai trả lời không ạ ? Bây giờ em cũng muốn thu thập các thống kê kiểu này từ wireshark mà không biết cách ?]]>
/hvaonline/posts/list/44935.html#280714 /hvaonline/posts/list/44935.html#280714 GMT
DDoS và nguyên tắc phân tích gói tin

explorer88 wrote:
Bây giờ em cũng muốn thu thập các thống kê kiểu này từ wireshark mà không biết cách ? 
Bạn thử dùng `tshark` http://www.wireshark.org/docs/man-pages/tshark.html) kết hợp với `awk`, `sort`, `uniq`, ... xem.]]>
/hvaonline/posts/list/44935.html#280739 /hvaonline/posts/list/44935.html#280739 GMT
DDoS và nguyên tắc phân tích gói tin /hvaonline/posts/list/44935.html#280824 /hvaonline/posts/list/44935.html#280824 GMT