3.6.1 Vấn đề đặt ra
Trong khi khiển khai hệ thống D-WARD chúng ta nhận thấy rằng các hệ thống D-WARD không truyền thông với nhau, do vậy các hệ thống D-WARD chỉ phát hiện và ngăn chặn các cuộc tấn công đi ta từ mạng nguồn mà hệ thống D-WARD được triển khai. Vì hệ thống D-WARD là hệ thống phòng thủ DDoS source-end nên các bộ định tuyến mà D-WARD được cài đặt và triển khai trên đường đi từ mạng nguồn đến mạng
đích sẽ không thực hiện việc phân loại để phát hiện và ngăn chặn các cuộc tấn công tới máy nạn nhân. Giả thiết của vấn đềđặt ra là:
Hệ thống D-WARD sử dụng mức TCPrto, ICMPrto,….(số kết nối tối đa cho phép) tương ứng với các giao thức tầng giao vận được sử dụng để xác định phân loại luồng và kết nối từ mạng nguồn đến máy nạn nhân. Nếu một luồng và kết nối vượt ngưỡng thì được phân loại là tấn công, nếu không thì luồng và kết nối được phân loại không phải là tấn công và được truyền tới máy nạn nhân. Nhưng do cuộc tấn công DDoS là một cuộc tấn công phân tán và sử dụng một lượng lớn máy agent thuộc nhiều mạng khác nhau nên máy nạn nhân vẫn phải chịu khả năng tấn công do chịu một lượng lớn các yêu cầu.
Để giải quyết vấn đề này, chúng ta sẽ xây dựng các hệ thống D-WARD theo mô hình mạng các node hàng xóm. Và các hệ thống D-WARD này sẽ truyền thông với nhau về các thông tin về luồng từ một mạng nguồn tới một đích cho trước.
41
3.6.2 Ý tưởng giải quyết vấn đề
Ý tưởng là khi bộđịnh tuyến trên đường đi từ mạng nguồn đến mạng đích có lưu một bảng các node hàng xóm gồm địa chỉ IP của bộ định tuyến hàng xóm của nó và một số nguyên R (là số bước đi từ bộ định tuyến trung gian đó đến bộđịnh tuyến của mạng nguồn). Các địa chỉ IP của các bộ định tuyến hàng xóm có thể có một vài node hàng xóm ở xa. Khi bộđịnh tuyến này nhận được gói tin từ mạng nguồn gửi đến mạng
đích, bộđịnh tuyến sẽđọc được địa chỉ IP nguồn và đích của gói tin thông qua chương trình get_packet_info.c trong hệ thống D-WARD. Dựa vào địa chỉ IP nguồn, IP đích và bảng các hàng xóm, bộđịnh tuyến sẽ gửi yêu cầu tới bộđịnh tuyến của mạng nguồn
để yêu cầu bộ định tuyến của mạng nguồn, khi nhận được yêu cầu bộ định tuyến của mạng nguồn gửi cho tỷ số xác xuất của luồng đó. Khi nhận được các tỷ số mà các bộ định tuyến ở mạng nguồn gửi trả lại thì bộ định tuyến sẽ tổng kết tỷ số để phân loại luồng đó có phải là tấn công không, nếu tấn công thì sẽ tiến hành đưa ra các mức giới hạn với luồng đó để ngăn chặn cuộc tấn công. Để thực hiện được tốt thì ta sẽ cho các bộ định tuyến gửi các yêu cầu thu thập tỷ số xác suất này lặp lại sau một khoảng thời gian tuân theo(compliance time).
3.6.3 Cơ sở thực hiện
• Khi gói tin đi qua bộđịnh tuyến thì bộđịnh tuyến sẽđóng vai trò máy khách gửi yêu cầu tới bộđịnh tuyến của mạng nguồn ( đóng vai trò máy chủ), cả hai chạy theo giao thức TCP. Máy khách gửi yêu cầu là
địa chỉ IP của máy nạn nhân và R tương ứng với máy chủ. Bộđịnh tuyến sẽ lưu bảng các node hàng xóm trước.
• Khi máy chủ nhận được yêu cầu từ phía máy khách, máy chủ sẽ gửi tỷ
lệ xác suất ratio của luồng phát sinh từ mạng nguồn đến máy nạn nhân. Máy chủ sử dụng hàm trong D-WARD.
• Khi máy khách nhận được trả lời từ phía máy khách thì máy khách sẽ
tổng hợp lại các tỷ lệ xác suất nhận được từ các mạng nguồn khác nhau có luồng tới máy nạn nhân. Và máy khách sẽ tính toán tỷ lệ xác suất một cách hợp lý theo công thức
ratio = (ratio1 + ratio2 + ……. + ration)/n
Ởđây, ratio là tỷ lệ xác suất tổng hợp.
42
Hình 17. Mô hình mạng và bảng địa chỉ hàng xóm
Tổng kết
Chương 3 này cung cấp thông tin về các phiên bản của D-WARD và kiến trúc triển khai của D-WARD 3.1, cũng như kiến trúc triển khai các thành phần của D- WARD 3.1. Ngoài ra, chương này cũng miêu tả cấu trúc của bảng băm luồng, bảng băm kết nối,….để hiểu hơn cơ chế hoạt động của D-WARD.
43
Chương 4. Cài đặt và kết quả thu được 4.1. Cài đặt thực nghiệm
4.1.1. Mô hình thực thi
Hình 18. Mô hình thực thi
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 tại tương ứng với hình 14. Đầu tiên, chúng ta có thể tải mã nguồn của D-WARD với phiên bản mới nhất tại trang http://lasr.cs.ucla.edu/ddos/dward.tgz . Rồi, chúng ta giải nén mã nguồn trước khi biên dịch nó. Hệ điều hành được dùng ở đây để biên dịch mã nguồn là Redhat 8.0(nhân 2.4.18) vì mã nguồn này dùng thư viện lập trình của nhân 2.4. Trong hệđiều hành này, chúng ta phải cài đặt trình biên dịch gcc và môi trường của J2SE(JDK,JRE) cho mục
đích biên dịch. Mã nguồn D-WARD bao gồm module ứng dụng và nhân. Module ứng dụng sẽ thực thi việc phát hiện các cuộc tấn công và tính toán các mức giới hạn trong khi module nhân sẽ tiến hành quản lý truyền thông. Sau khi building mã nguồn, bạn có thể tìm thấy hai module “gst.o” và “rl.o” mà có thểđược tải tới module nhân. Module
44
“rl.o” sẽ thiết lập các mức giới hạn tới truyền thông đi ra, và với module “gst.o”
chúng ta có thể bắt các gói tin trên đường truyền và phân tích thông tin tiêu đề. Biên dịch D-WARD như thế nào?
Chúng ta quan tâm về hai file “makefile” và “kernel/makefile”. Chúng ta có thể
thay đổi file cấu hình một cách hiệu quả trong hai file “prefix.config” và “dward.config”
Thực thi ba dòng lệnh trong thư mục dward make depend make make install Tạo một thiết vị D-WARD Chạy hai dòng lệnh sau: mknod /dev/dward c 146 0 mknod /dev/dward c 147 0
Cài đặt module nhân Chạy hai dòng lệnh sau:
insmod kernel/gst.o plen=20
insmod kernel/rl.o drop=1 mark=255 LOCAL_ADDRESS=x.x.x.x LOCAL_MASK=y
(với x.x.x.x là địa chỉ cục bộ và y là mask cục bộ của mạng) Chạy D-WARD như thế nào?
Sau khi chúng ta hoàn thành quá trình biên dịch, chúng ta có thể chạy chương trình D-WARD. Các tài liệu về D-WARD có thểđọc được bằng câu lệnh man sử dụng lệnh “man dward” trong môi trường dòng lệnh. Cú pháp:
45
4.2 Kết quả
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
o Một số hình ảnh về file debug và stats
Hình 19: 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.
Hình 20: File rlstats.txt
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.
46
Hình 21: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…
4.3 Đánh giá về việc triển khai mở rộng
Ưu điểm:
Hệ thống 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.
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.
47 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.
Tổng kết
Chương 4 của khóa luận đã cho chúng ta biết cách để biên dịch và chạy D- WARD, và việc cài đặt thực nghiệm việc kết nối các hệ thống D-WARD theo mô hình mạng các node ngang hàng, kết quả thu được của việc cài đặt. Đồng thời chương này cũng đưa ra những đánh giá về việc cài đặt thực nghiệm đó.
48
Chương 5 Kết luận
Theo thống kê thường niên về tội phạm công nghệ cao của FBI năm 2009 (2009 CSI/FBI Computer Crime and Security Survey) thì số lượng các cuộc tấn công DDoS
đang có chiều hướng gia tang từ 21% năm 2008 lên tới 29% vào năm 2009. Các hệ
thống của các cơ quan hành chính, tổ chức kinh tế cần phải hoạt động một cách thường xuyên và chịu áp lực lớn từ việc truy cập của người dùng, sẽ là mục tiêu của các cuộc tấn công DdoS. Do vậy trong khóa luận này, chúng ta đã chỉ ra các vấn đề liên quan việc triển khai hệ thống phòng chống DdoS source-end là D-WARD và mở rộng triển khai các hệ thống D-WARD theo mô hình mạng các node ngang hàng. 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ụ, và tấn công từ
chối dịch vụ phân tán. Đó 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à khả năng phát hiện và ngăn chặn các cuộc tấn công đi ra từ mạng nguồn là cao hơn hẳn. Việc triển khai D-WARD giúp cho nhanh chóng phát hiện và ngăn chăn một cuộc tấn công ngay khi cuộc tấn công được kẻ tấn công nhen nhóm. Chúng ta đã đư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 ta đã thảo luận về việc triển khai các hệ thống D-WARD theo mô hình mạng các node ngang hàng. Bằng cách cho các hệ thống D-WARD truyền thông với nhau để 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.
Tuy đã có nhiều cố gắng nhưng khóa luận vẫn còn gặp phải nhiều vấn đề chưa giải quyết được. Chính vì vậy, trong tương lai, chúng tôi sẽ cố gắng để có thể triển khai một hệ thống hoàn thiện, thử nghiệm và đánh giá kỹ lưỡng hơn việc triển khai các hệ thống D-WARD theo mô hình mạng các node hàng xóm trên thực tế.
49
TÀI LIỆU THAM KHẢO
[1] Document in Linux Redhat 8.0 kernel 2.4.18 [2]Denial of service attack
http://en.wikipedia.org/wiki/Denial-of-service_attack
[3] D-WARD, DDoS and Three Network Administrative Domains
http://www.securitydocs.com/library/2652
[4] Jelena Mikovic, D-WARD: Source-end Defence Against Distributed Denial- of-Service Attacks, Ph.D. Thesis.
[5] Jelena Mikovic, G.Prier and P.Reiher, Attacking DdoS at the source, Proceedings of ICNP 2002, Paris – Prance, November 2002.
[6] Jelena Mikovic, G.Prier and P.Reiher, A Taxonomy of DdoS Attacks and DdoS Defense Mechanisms – UCLA CSD Technical Report no. 020018. [7] Jelena Mikovic, G.Prier and P.Reiher, Source Router Approach to DdoS Defense – UCLA CSD Technical Report no. 010042.
[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