Cài đặt hệ thống D-WARD

Một phần của tài liệu 6 sử dụng d-ward cho phòng chống ddos (Trang 38 - 48)

33

Hình 12: : Topo hệ thống D-WARD

Chúng ta sẽ cài đặt hệ thống với địa chỉ IP, subnet mask, và default gateway như topo trên như sau:

 Subnet: 192.168.2.0/24, Default gateway: 192.168.2.1/24

o Các máy tấn công: 192.168.2.2/24 (A1), 192.168.2.4(A2)

o Các client hợp lệ: 192.168.2.3/24 (C1)

 Subnet: 192.168.3.0/24, Default gateway: 192.168.3.1/24

o Các máy tấn công: 192.168.3.2/24 (A3)

o Các client hợp lệ: 192.168.3.3/24 (C2), 192.168.3.4/24(C3)  Subnet: 192.168.4.0/24, Default gateway: 192.168.4.1/24

o Các máy tấn công: 192.168.4.2/24 (A4), 192.168.4.3/24 (A5)

o Các máy hợp lệ: Không có

 Subnet: 192.168.5.0/24, Default gateway: 192.168.5.1/24

o Máy tấn công: 192.168.5.3 (A6)

34  Các router R2-D, R3-D, R4-D và R5-D là các router nguồn được triển khai

D-WARD. Và có địa chỉ IP, subnet mask như hình vẽ.

 Router R1 là router gần đích không được triển khai D-WARD

 Host V là nạn nhân của cuộc tấn công DDoS có địa chỉ IP là 10.0.0.254, subnetmask: 255.255.255.0, default gateway: 10.0.0.1

4.1.2. Biên dịch và chạy D-WARD

Chúng ta sẽ biên dịch và chạy D-WARD trên các router R2-D, R3-D, R4-D và R5- D theo topo đã đưa ra ở phần trên. Đầu tiên, chúng ta download mã nguồn D-WARD mới nhất tại địa chỉ: http://lasr.cs.ucla.edu/ddos/dward.tgz . Sau đó, giải nén mã nguồn và biên dịch. Mã nguồn sử dụng sử dụng thư viện lập trình của kernel 2.4 cho nên hệ điều hành được sử dụng là Red Hat 8. Ngoài ra để biên dịch mã nguồn cần phải cài trình biên dịch GCC. Mã nguồn D-WARD bao gồm cả module module ứng dụng và module kernel. Module ứng dụng sẽ thực hiện phát hiện các cuộc tấn công và tính toán các giới hạn băng thông trong khi module kernel sẽ thực hiện điều khiển chính sách lưu lượng. Sau khi biên dịch xong mã nguồn, chúng ta có thể thấy 2 module “gst.o” và “rl.o”. Module “rl.o” sẽ đặt các giới hạn băng thông cho các traffic đi ra ngoài và module “gst.o” kiểm tra những gói tin trong đường truyền và đưa thông tin tiêu đề đến module ứng dụng để tổng hợp và thống kê.

 Quá trình biên dịch D-WARD:

Chúng ta xem xét 2 file “Makefile” và “kernel/Makefile” các giá trị tham số được sử dụng để biên dịch một cách kỹ lưỡng. Sau đó, chỉnh sửa file cấu hình trong “prefix.config” và “dward.config” để tùy chỉnh hệ thống phù hợp với mạng triển khai.

Sau khi đã chỉnh sửa các tham số cần thiết, chúng ta di chuyển vào thư mục dward

và gõ 3 lệnh:

make depend make

35 Khởi tạo các thiết bị thành phần cho D-WARD. Chúng ta chạy các câu lệnh sau:

mkdir /dev/dward mkdir /dev/sniff

mknod /dev/dward c 146 0 // Tạo một thiết bị dward mknod /dev/sniff c 147 0 // Tạo một thiết bị sniff

Cài đặt module kernel gst.o và rl.o Chạy 2 câu lệnh:

insmod kernel/gst.o plen=20

insmod kernel/rl.o drop=1 mark=255 LOCAL_ADDRESS=x.x.x.x LOCAL_MASK=y

(trong đó x.x.x.x là địa chỉ mạng mà hệ thống dward của chúng ta sẽ triển khai, y là độ dài của số bit phần host trong địa chỉ IP).

Module “gst” có plen là một tham số tùy chọn chỉ ra xem có bao nhiêu bytes trong một gói tin sẽ được đưa tới ứng dụng để thực hiện việc thống kê tổng hợp. Mặc định giá trị này là 40.

Module “rl” có các tham số tùy chọn drop, mark và LOCAL_MASK. Các giá trị mặc định của nó là 1, 255 và 0. LOCAL_ADDRESS phải được định nghĩa nếu không module sẽ không được nạp vào nhân. LOCAL_ADDRESS và LOCAL_MASK định nghĩa không gian địa chỉ mạng nguồn. Tham số drop quy định việc có hay không hủy gói tin. Nếu

tham số này được đặt bằng 1 (giá trị mặc định) các gói tin bị nghi là tấn công sẽ bị hủy. Nếu tham số này được đặt bằng 0, các gói tin sẽ không bị hủy. Tham số mark có tác dụng nếu bạn chạy các thí nghiệm D-WARD và muốn đo hiệu quả của nó. Khi phát sinh một traffic tấn công đặt một số vào trường TOC của gói tin tấn công (với câu lệnh trên thì đó là 255). D-WARD sẽ không sử dụng giá trị của trường này để đưa ra quyết định nhưng sẽ tổng hợp xem có bao nhiêu gói tin hợp lệ hay không hợp lệ. Thống kê này có thể tìm thấy trong file “stats.txt” trong thư mục “stats”.

Chạy hệ thống D-WARD

Sau khi hoàn thành quá trình biên dịch, bạn có thể chạy ứng dụng D-WARD. Tài liệu hướng dẫn cụ thể bạn có thể đọc trong “man dward”.

36

4.1.3. Kết quả và đánh giá

Thí nghiệm của chỉ được thực hiện với 2 loại tấn công là ICMP và TCP. Và sau đây là một số kết quả thu được

Kết quả của thí nghiệm với gói tin ICMP và TCP  Một số hình ảnh về file debug và stats

Hình 13: File debug/class.txt

File class.txt lưu lại các phân loại luồng và kết nối của hệ thống bao gồm: địa chỉ IP nguồn: cổng nguồn, IP đích: cổng đích, số gói tin gửi, số gói tin trả lời, phân loại luồng/kết nối.

37 File rlstats.txt là file lưu lại giá trị giới hạn băng thông cho một luồng. Ở hình trên đó là luồng tới host đích 10.0.0.254.

Với gói tin TCP:

Hình 15: File conn.txt

File conn.txt ghi lại thông tin như các kết nối được đưa vào bảng băm kết nối. Và chúng sẽ bị reset ngay sau khi chúng được phân loại.

Cũng tương tự như ICMP chúng ta cũng các file phân loại kết nối, thống kê giới hạn băng thông ở trong các thư mục debug và stats. Chúng lần lượt là những file: class.txt, rlstats.txt, stats.txt…

Đánh giá thí nghiệm:

Với kết quả của thí nghiệm như trên, chúng ta có thể đưa ra một số nhận xét sau:

o Hệ thống phòng chống D-WARD đã chạy đúng với mô hình lý thuyết của nó. Bên cạnh đó, nó cũng phân loại luồng và kết nối chính xác.

o Với các địa chỉ IP không thuộc tập các địa mạng giám sát, hệ thống sẽ ngay lập tức hủy bỏ bởi thành phần quản lý chính sách lưu lượng.

o Hệ thống D-WARD có thê chạy trên nhiều kiểu gói tin như TCP, ICMP, UDP…

38

o Hệ thống D-WARD có thể triển khai một cách rộng rãi không chỉ dừng lại ở một mạng riêng lẻ.

4.2. Cài đặt hệ thống thử nghiệm 4.2.1. Mô hình triển khai

Gần giống với topo mạng triển khai bên trên nhưng bây giờ các router nguồn được kết nối tới một server cơ sở dữ liệu tập trung.

Hình 16: Topo thử nghiệm

4.2.2. Mở rộng của hệ thống:

 Ưu điểm:

Hệ thống (Hình 16) khắc phục được điểm yếu của D-WARD khi triển khai một cách riêng lẻ. Đó là kết hợp khả năng đánh giá phân loại từ các router nguồn triển khai D- WARD khác. Cuối cùng có thể đưa ra được một phân loại chính xác hơn cho luồng và kết nối đi ra từ hệ thống của mình.

Chi phí cho việc xác thực cũng không cao bằng việc triển khai trực tiếp một kết nối giữa 2 router trong hệ thống phân tán. Vì cơ chế xác thực đã được MySQL thiết kế một cách khá ổn định.

39 Hiệu năng của hệ thống sẽ được tăng lên rõ rệt. Trong một mạng có thể xảy ra cùng lúc nhiều host cùng truy cập vào một dịch vụ nào đó trên mạng nhưng chưa chắc đó là luồng tấn công. Nếu không kết hợp để đánh giá thông qua server cơ sở dữ liệu thì rất có thể D-WARD sẽ giới hạn băng thông và ngăn cản truy cập tới dịch vụ đó. Điều này làm giảm hiệu năng của hệ thống. Nhưng khi triển khai mô hình này, nó sẽ giải quyết vấn đề nêu trên một cách tốt hơn.

 Hạn chế:

Yêu cầu sự hợp tác của nhiều nhà quản lý router nguồn. Điều này thường rất khó đạt được vì mỗi nơi đều sử dụng những chính sách về bảo mật và phòng chống tấn công khác nhau.

Cần có một server cơ sở dữ liệu chung. Chi phí cho server này thường rất khó có một tổ chức nào đứng ra chịu trách nhiệm vì kết quả của việc phòng chống này không có tác dụng một cách trực tiếp đến cơ quan doanh nghiệp.

4.2.3. Cài đặt

Thủ tục:

Nếu tỉ lệ số gói tin gửi chia cho số gói tin nhận vượt quá giới hạn cho phép của kiểu gói tin đó (ICMP, TCP, UDP) hoặc đang bị phân loại là SUSPICIOUS hoặc timestamp của luồng lớn hơn hoặc bằng 5 giây thì thực hiện các lệnh:

o Gửi câu lệnh cập nhật tỉ lệ của luồng lên server MySQL

o Lấy thông tin về luồng để thực hiện việc tính toán

o Tính lại tỉ lệ và so sánh với các giá trị rto của mỗi từng kiểu gói tin. Nếu thỏa mãn rto cho phép thì phân loại là NORMAL. Nếu ngược lại bị phân loại là ATTACK và chuyển đến thành phần quản lý giới hạn băng thông thực hiện giới hạn băng thông.

Giả mã:

if(tỷ lệ số gói tin gửi/số gói tin nhận > types_rto hoặc SUSPICIOUS hoặc timestamp >= 5s)

{

40

fprintf(stderr,“%s\n”,mysql_error(conn)); return 0;

};

// conn là kết nối tới MySQL server, query là truy // vấn cập nhật các trường trong cơ sở dữ liệu.

// types_rto tỷ lệ được phép tối đa của kiểu gói tin mysql_query(conn, get_infor);

// lấy thông tin về luồng bị cho là tấn công ở //router này bằng cách gửi truy vấn lên CSDL

ratio = trung bình cộng của các tỉ lệ mà MySQL server thống kê được từ các hệ thống D-WARD khác về luồng đang xét;

if(ratio > type_rto)

return (fs-> classification = ATTACK); else

return (fs-> classification = NORMAL); }

41

Chương 5. Tổng kết

Trong khóa luận này, chúng tôi đã chỉ ra các vấn đề liên quan việc triển khai hệ thống phòng chống DDoS và mở rộng triển khai nó với mô hình client-server. Khóa luận cung cấp một cái nhìn tổng quan trong phòng chống tấn công từ chối dịch vụ. Đó là hiệu quả của việc triển khai hệ thống phòng chống tại nguồn là rẻ và cao hơn hẳn. Nó cũng đưa ra giải pháp triển khai hệ thống tại nguồn để giúp nguồn nhanh chóng phát hiện và dập tắt một cuộc tấn công ngay khi nó bị kẻ tấn công nhen nhóm. Chúng tôi đã đưa ra một số kịch bản để kiểm tra hệ thống gần giống với thực tế và thu được một số kết quả cũng như thống kê của các kịch bản đó. Cuối cùng, chúng tôi đã thảo luận về việc sử dụng mô hình client – server để triển khai hệ thống D-WARD. Bằng cách thông qua server cơ sở dữ liệu để thực hiện việc tính toán và phân loại luồng một cách chính xác để việc phân loại trở nên hiệu quả hơn.

Trong quá trình nghiên cứu vấn đề này, chúng tôi đã gặp và thấy được nhiều thứ cần phải được chỉnh sửa ví dụ khả năng phân loại vẫn chưa được tốt, việc giới hạn băng thông không linh hoạt…Trong tương lại, chúng tôi sẽ cố gắng hoàn thiện để có thể triển khai một hệ thống hoàn thiện và ít mắc lỗi hơn.

42

Tài liệu tham khảo

[1]CSI Computer Crime and Security Survey 2009

[2]Document in Linux Redhat 8.0 kernel 2.4.18 [3]DDoS Network Attack and Recognition Defense

http://lasr.cs.ucla.edu/ddos

[4]Denial of service attack

http://en.wikipedia.org/wiki/Denial-of-service_attack

[5] D-WARD, DDoS and Three Network Administrative Domains

http://www.securitydocs.com/library/2652

[6] Doan Cao Thanh, Deploying System for DDoS Defense, Thesis, the summer in 2008

[7] Jelena Mirkovic, D-WARD: Source-End Defense Against Distributed Denial of Service Attacks, 2003

[8] Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher. Internet Denial of

Service: Attack and Defense Mechanism. Prentice Hall PTR, December 30, 2004.

[9] Katerina Argyraki, David R.Cheriton. Active Internet Traffic Filtering: Real- Time Response to Denial of Service Attacks.

[10] K.Park and H.Lee. On the Effectiveness of Route-Based Packet Filtering for Distributed DoS Attack Prevention in Power-Law Internets. In Proceedings of ACM

SIGCOMM 2001, August 2001. [11] SYN cookies

http://en.wikipedia.org/wiki/SYN_cookies

[12] Lawrence Chung, Slide Client-Server Architecture, The University of Texas, Dallas

Một phần của tài liệu 6 sử dụng d-ward cho phòng chống ddos (Trang 38 - 48)

Tải bản đầy đủ (PDF)

(48 trang)