1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Đức Duy TRIỂN KHAI CÁC HỆ THỐNG D-WARD
THEO MÔ HÌNH MẠNG CÁC NODE HÀNG XÓM
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và truyền thông máy tínhi
LỜI CẢM ƠN
TÓM TẮT NỘI DUNG
Các cuộc tấn công tấn công từ chối dịch vụ (DDoS) gây ra một đe dọa rất lớn tới
mạng Internet. Chúng lấy sức mạnh của một lượng lớn các máy được kết nối vào
mạng Internet để tiêu thụ một vài tài nguyên tại máy nạn nhân và từ chối dịch vụ tới
các máy khách hợp lệ, vì chúng thường gây ra sự tắc nghẽn mạng trên đường từ nguồn
đến đích, do vậy làm giảm sự hoạt động của mạng Internet. Chính vì vậy nảy sinh việc
xây dựng các hệ thống phòng thủ DdoS để phát hiện và ngăn chặn các cuộc tấn công
DDoS. Hệ thống D-WARD được biết đến một hệ thống phòng thủ DdoS source-end
rất hiệu quả, nhưng hệ thống D-WARD có nhược điểm là chỉ phát hiện và ngăn chặn
được các cuộc tấn công đi ra từ m
ạng nguồn mà D-WARD được triển khai. Bởi vậy,
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 với
mục đích để cho các hệ thống D-WARD trong mạng trao đổi thông tin với nhau, nhằm
tăng hiệu quả của việc phát hiện và ngăn chặn các cuộc tấn công DdoS.
Luận văn đã cài đặt và kiểm chứng hiệu quả của 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 đồng thời đưa ra m
ột cải tiến đối với
việc triển khai để nâng cao hiệu quả của việc ngăn chặn các cuộc tấn công DDoS.
iii
MỤC LỤC
2.6.1. Giảm theo luật số mũ 26
2.6.2 Tăng tuyến tính 26
iv
2.6.3 Tăng theo hàm số mũ 27
2.7. Thành phần quản lý truyền thông 28
Ưu điểm của D-WARD 28
Nhược điểm của D-WARD 28
Tổng kết 29
Chương 3. Cơ sở lý thuyết của kiến trúc triển khai và mở rộng D-WARD 30
D-WARD 1.0 30
D-WARD 2.0 30
D-WARD 3.0 32
D-WARD 3.1 32
3.1. Kiến trúc thực thi của D-WARD 3.1 33
3.2. Thành phần theo dõi 33
3.2.1. Bảng băm luồng 33
3.2.2 Bảng băm kết nối 35
3.2.3 Thu thập thông tin gói tin 36
3.2.4 Phân loại luồng và kết nối 36
3.3 Thành phần giới hạn 38
3.4 Thành phần quản lý truyền thông 38
3.4.1 Tiến trình quản lý truyền thông 39
3.4.2 Các mẫu máy 39
3.5 Bắt truyền thông(traffic-sniffing) 40
3.6 Triển khai các hệ thống D-WARD trên mạng các node hàng xóm 40
Tổng kết 42
Chương 4. Cài đặt và kết quả thu được 43
4.1. Cài đặt thực nghiệm 43
4.1.1. Mô hình thực thi 43
4
D-WARD
DDoS Network Attack Recognition and
Defense (Phòng thủ và nhận diện tấn công
mạng DDoS)
6
HTTP
Hypetext Transfer Protocol
(giao thức truyền siêu văn bản)
9
ICMP
Internet Control Message Protocol
(Giao thức thông điệp điều khiển Internet)
10
IP
Internet Protol
(giao thức mạng)
11
NTP
Network Time Protocol
(Giao thức thời gian mạng)
12
TCP
Transmission Control Protocol
(Giao thức điều khiển truyền vận)
13
UDP User Datagram Protocol
14
VoIP
Voice over Internet Protocol 1
LỜI MỞ ĐẦU
Các cuộc tấn công từ chối dịch vụ phân tán (DDoS) là một vấn đề nghiêm trọng
và thách thức tới mạng Internet. Việc này yêu cầu ít nỗ lực ở phía kẻ tấn công, vì một
lượng lớn các máy móc tham gia vào cuộc tấn công, và các công cụ cũng như các mã
kịch bản tự động cho việc khai thác và tấn công có thể dễ dàng được tải về từ mạng và
triển khai. Nói cách khác, việc ngă
n chặn tấn công là vô cùng khó khăn do một lượng
lớn máy móc tham gia tấn công, việc sử dụng lừa đảo địa chỉ nguồn và sự giống nhau
giữa truyền thông hợp lệ và tấn công.
Nhiều hệ thống phòng thủ được thiết kế trong các viện nghiên cứu và các hiệp
hội thương mại để chống lại các cuộc tấn công DDoS, nhưng vấn đề vẫn hầu như chưa
được gi
ải quyết. Luận văn này sẽ giới thiệu hệ thống phòng thủ DDoS source-end
được gọi là D-WARD và sự triển khai các hệ thống D-WARD theo mô hình mạng các
node hàng xóm. D-WARD ngăn chặn các cuộc tấn công đi ra từ các mạng được triển
khai. Sự phòng thủ source-end không là giải pháp hoàn toàn với các cuộc tấn công
DDoS, vì các mạng không được triển khai vẫn thực hiện các cuộc tấn công thành công,
nhưng D-WARD có thể tìm ra và ngăn chặn đáng kể các cuộc tấn công DdoS khi nó
đượ
c cài đặt. Nhược điểm của hệ thống D-WARD là các hệ thống D-WARD không
liên lạc được với nhau. Và trong luận văn này sẽ 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 hàng xóm.
Khóa luận gồm có 4 chương.
Chương 1: Giới thiệu sơ lược về tấn công từ chối dịch vụ(DoS) và tấn công từ
cập tới các dịch vụ của máy nạn nhân. Ngoài ra, ngay cả khi máy nạn nhân th
ực thi
thành công sau cuộc tấn công, các người dùng thường chọn các nhà cung cấp dịch vụ
khác vì sự quấy rối trước đó. Hiệu ứng này có thể thấy được trong vài trang mà hỗ trợ
các giao dịch thời gian thực như mua vé tàu, chuyển khoản hay mua cố phiếu. Vì
những nguyên nhân này, các máy nạn nhân sẽ mất sự tin tưởng của khách hàng và
giảm lợi nhuận sau các cuộc tấn công DoS.
Hình 1. Trường hợp tấn công từ chối dịch vụ - DoS
3
1.2.2. Sơ lược về từ chối dịch vụ phân tán (DDoS)
Các cuộc tấn công từ chối dịch vụ phân tán đơn giản là các cuộc tấn công từ chối
dịch vụ nhưng được thực hiện từ nhiều máy móc bị phá hoại (agent). Mỗi khi kẻ tấn
công có thể điều khiển các agent, tất cả các máy mọc được tiến hành đồng thời và bắt
đầu phát sinh lượng lớn gói tin có thể
tới máy nạn nhân, được chỉ rõ trong hình 2.
Lượng agent càng lớn,các tài nguyên của máy nạn nhân càng nhanh cạn kiệt và quá
tải. Bởi vậy, để thiết kế một hệ thống phòng thủ tốt, chúng ta phải hoàn toàn hiểu về
các đặc điểm của cuộc tấn công DDoS.
Đầu tiên, các agent luôn sử dụng việc lừa đảo địa chỉ IP nguồn trong các cuộc tấn
công DDoS. Kẻ tấn công giả mạo thông tin trong trường địa chỉ IP ngu
ồn trong các
tiêu đề gói tin tấn công. Do vậy, thật khó cho các máy nạn nhân nếu chúng muốn lần
vết các máy agent. Bên cạnh đó, việc ẩn địa chỉ của các máy agent cho phép kẻ tấn
công sử dụng lại chúng cho các cuộc tấn công trong tương lai. Vì vậy, bất kỳ loại
truyền thông nào cũng có thể được sử dụng để thực hiện một cuộc tấn công từ chối
dịch vụ thành công. Kẻ tấn công nhắm t
ới phát sinh các gói tin giống như hợp lệ để
• Triển khai hoàn toàn.
• Triển khai kề nhau.
• Triển khai mức lớn, diện rộng.
• Triển khai hoàn toàn tại các vị trí xác định trong mạng Internet.
• Sự điều chỉnh của các giao thức Internet được triển khai diện rộng, như TCP,
UDP hay HTTP.
• Tất cả các máy khách (hợp lệ) của phòng thủ triển khai mục tiêu được bảo vệ.
1.3.2. Mục đích của phòng thủ DDoS
5
Mục đích chính của phòng thủ DDoS là cung cấp dịch vụ tốt tới các máy khách
hợp lệ của máy nạn nhân trong cuộc tấn công, vì vậy hủy bỏ hiệu ứng từ chối dịch vụ.
Múc đích thứ hai là làm giảm bớt hiệu ứng của cuộc tấn công tới máy nạn nhân vì thế
các tài nguyên của nó có thể dành cho các máy khách hợp lệ hay được giữ gìn. Cuối
cùng, thuộc tính tấn công sẽ như m
ột cản trở lớn tới các sự cố DDoS, vì vậy các kẻ tấn
công có thể đối mặt với rủi ro phát hiện và trừng phạt.
1.3.3. Các giải pháp phòng thủ
Các giải pháp phòng thủ DDoS có thể được chia thành ba loại: các giải pháp
ngăn ngừa, giải pháp chọn lọc tự nhiên và giải pháp đáp lại.
Các giải pháp ngăn ngừa: Giới thiệu sự thay đổi trong các giao thức
Internet,các chương trình và các host, để vá các tổn thương
đang tồn tại và giảm sự
xâm nhập và lợi dụng. Mục đích của chúng ngăn chặn các cuộc tấn công vào tổn
thương, và cản trở các cố gắng của kẻ tấn công để đạt được một lực lượng agent lớn.
Các giải pháp chọn lọc tự nhiên: Mở rộng các tài nguyên của máy nạn nhân,
cho phép nó phục vụ cả các yêu cầu hợp lệ và có ác ý trong cuộc tấn công, vì vậy h
ủy
bỏ hiệu ứng từ chối dịch vụ. Sự mở rộng này đạt được một cách tĩnh – bằng việc mua
thêm các tài nguyên, hay tự động – bằng cách kiếm được các tài nguyên từ việc
Đa số các hệ thống phòng thủ DDoS được thiết kế cho sự triển khai victim-end,
hình 4 thể hiện sự triển khai phòng thủ victim-end. Thật dễ hiểu vì máy nạn nhân chịu
tổn thương nhất từ một cuộc tấn công DDoS. Một hệ thống phòng thủ DDoS victim-
end dễ dàng phát hiện vì nó theo dõi máy nạn nhân gần. Tuy nhiên, khoảng đáp lại bị
giới hạn. Hệ thống phòng th
ủ nằm trên đường đi của toàn bộ lực lượng tấn công, và có
thể bị vượt ngưỡng bởi một lượng lớn truyền thông. Một thách thức khác mà hệ thống
victim-end phải đối mặt là khả năng xử lý và lưu trữ. Để mà phân biệt các luồng hợp lệ
với các luồng tấn công, hệ thống của bạn cần lưu một lượng lớn các mẫu và sức m
ạnh
tính toán để kiểm tra và lưu trữ các đặc điểm của từng luồng.
7 Hình 4. phòng thủ Victim-End
1.3.4.1.2. Phòng thủ mạng trung gian
Chúng ta biết rằng sự nguy hiểm của một cuộc tấn công DDoS với các tài nguyên
mạng là rất lớn. Vì vậy, chúng ta muốn di chuyển sự phòng thủ xa hơn máy nạn nhân,
vào mạng trung gian, hình 5 thể hiện sự triển khai phòng thủ ở mạng trung gian. Một
hệ thống phòng thủ mạng trung gian, thường cài đặt tại một bộ định tuyến hạt nhân,
phát hiện cuộc tấn công thông qua theo dõi các bấ
t thường tại bộ định tuyến này. Vì
các bộ định tuyến hạt nhân xử lý lượng lớn, chúng hầu như giám sát tất cả. Các bộ
định tuyến hạt nhân không thể có khả năng giữ các đặc điểm của các gói tin đi qua trên
nền tảng mỗi đích. Giải pháp này không phổ biến vì chúng ta cần một lượng lớn chi
phí và bảo đảm chắc chắn về các kết quả hiệu quả
khi chúng ta tăng sự phức tạp của
bộ định tuyến hạt nhân.
8
trong triển khai và duy trì. Hơn nữa, sự yêu cầu kết hợp của phòng thủ là khó mà đạt
được do việc quản lý phân tán mạng Internet và sự hoạt động tự trị của các miền. Việc
an toàn và xác thực các kênh truyền thông cũng chịu một giá cao nếu lượng tham gia
là lớn.
1.4. D-WARD được đặt ở đâu?
10
D-WARD là một hệ thống phòng thủ DdoS source-end. Nó được thiết kế để thực
hiện cả hai như một hệ thống tự trị và như một phần của phòng thủ phân tán. Như một
hệ thống tự trị, nó phát hiện một khoảng rộng các cuộc tấn công và điều khiển chúng,
điều khiển là được lựa chọn, vì vậy cho phép các máy khách hợp lệ nhận được các
dịch vụ tốt từ máy nạn nhân trong cuộc tấn công. Như một phần của phòng thủ phân
tán, D-WARD có thể nhận một cảnh báo tấn công và hướng dẫn giới hạn, và đưa ra
một đáp lại tự động,hiệu quả và có lựa chon. Nhưng D-WARD không phải là một giải
pháp hoàn toàn với các cuộc tấn công DdoS, nó đẩy mạnh an ninh mạng Internet.
Tổng kết
Chương 1 của khóa luận đã chỉ cho các bạ
n thấy rằng từ chối dịch vụ phân tán
(DDoS) là các cuộc tấn công đơn giản. Chúng thu thập các tài nguyên của một lượng
agent để làm tràn máy nạn nhân. Khó khăn trong việc xử lý các cuộc tấn công DdoS
một cách chính xác. Vì chúng lạm dụng các giao thức hợp lệ để thực hiện từ chối dịch
vụ, nó vô cùng khó khăn để phân chia truyền thông tấn công với truyền thông hợp lệ;
việc này cản trở cả việc phát hiệ
n và đáp lại.
Thêm đó, cũng chỉ cho các bạn thấy được các thách thức trong việc thiết kế một
sự phòng thủ hiệu quả. Các giải pháp phòng thủ nhắm đến việc ngăn chặn các cuộc tấn
công từ chối dịch vụ (các giải pháp ngăn chặn), để cho phép máy nạn nhân tồn tại
trong cuộc tấn công ma không từ chối dịch vụ tới các máy khách hợp lệ(các giải pháp
chọ
n lọc tự nhiên). Và các giải pháp ngăn chặn, giải pháp chọn lọc tự nhiên không thể
và công nhận một vài sự đáp lại được yêu cầu từ máy khác.
D-WARD là hệ thống phòng thủ source-end, nên nó được cài đặt tại bộ định
tuyến nguồn và sự hoạt động của nó dường là một gateway giữa mạng được triển khai
và phần còn lại của mạng Internet. Do vậy D-WARD chỉ kiểm soát truyền thông đi ra
từ mạng của nó. Bất kỳ truyền thông hình thành trong các miền khác được
đưa đến cho
D-WARD thì không được kiểm soát.
2.2. Các thuật ngữ
Khi chúng ta nghiên cứu về D-WARD, chúng ta phải hiểu các thuật ngữ liên
quan tới D-WARD như luồng, kết nối, “bộ địa chỉ kiểm soát”,…
Đầu tiên, D-WARD được cấu hình với một bộ các địa chỉ cục bộ mà truyền
thông đi ra được nó kiểm soát – bộ địa chỉ kiểm soát của nó. Bộ này nhận diện, ví dụ,
tất cả các máy trong mạ
ng stub hay tất cả khách hàng của một ISP. Chúng ta giả thiết
D-WARD có thể nhận diện bộ địa chỉ kiểm soát, hoặc thông qua vài giao thức hay
thông qua cấu hình bằng tay.
D-WARD theo dõi tất cả truyền thông giữa bộ địa chỉ kiểm soát của nó và phần
còn lại của Internet, dựa vào luồng và kết nối. Luồng được xác định như toàn bộ
truyền thông giữa bộ địa chỉ kiểm soát và một host bên ngoài (i.e ,mộ
t địa chỉ IP bên
ngoài). Một kết nối được định nghĩa như toàn truyền thông giữa một cặp địa chỉ IP và
12
số cổng, nơi một địa chỉ thuộc vào bộ địa chỉ kiểm soát và địa chỉ kia là một địa chỉ
bên ngoài.
Hình 7 sẽ minh họa khái niệm của một lưu lượng và một kết nối.
Hình 7: Luồng và kết nối
D-WARD áp dụng bộ lọc lối vào với truyền thông đi ra, để chống lại sự lừa đảo
ngẫu nhiên. D-WARD có khả năng điều khiển các cuộc tấn công mà dùng lừa đảo
lừa đảo các địa chỉ cục bộ tới mạng con củ
a nó). Hình thức này của việc tìm ra lừa đảo
IP không hoàn toàn chính xác, vì có thể xảy ra khi một máy đích trở nên quá phổ biến
để nhiều host cục bộ bắt đầu các kết nối hợp lệ với nó (do vậy hình thành một hiệu ứng
“giả đám đông” (“flash crowd”)).
Một khi cuộc tấn công được tìm ra, D-WARD đáp lại bằng tỷ lệ giới hạn tổng
luồng đi ra từ mạng nguồn t
ới máy nạn nhân, và vì thế giảm bớt lượng truyền thông
lớn của máy nạn nhân. Như một sự đáp lại đầy đủ, tỷ lệ giới hạn được chọn thay cho
bộ lọc. D-WARD có thể tự điều chỉnh với các gói tin thuộc các luồng và kết nối nhận
được. Sự khác nhau của các kết nối hợp lệ với tấn công là một vấn đề rất khó trong
phòng th
ủ DdoS, D-WARD biểu diễn sự khác nhau trong hai cách:
Nó giám sát các kết nối ở mọi lúc, và dùng các mẫu kết nối hợp lệ để tìm ra các
kết nối hợp lệ. Mỗi khi tìm ra, các kết nối này được ghi vào trong Danh sách kết nối
hợp lệ (Legitimate Connection List). Khi cuộc tấn công được tìm ra, các gói tin thuộc
các kết nối trong Danh sách kết nối hợp lệ dường như hợp lệ, và không phải chịu tỷ lệ
giới hạn. Vì tình trạ
ng kết nối được đánh giá lại theo định kỳ, các kết nối có ác ý mà
được ghi vào Danh sách kết nối hợp lệ. Chúng sẽ nhanh chóng tìm ra và được xóa
khỏi danh sách.
Trong cuộc tấn công, D-WARD dùng một bộ các mẫu để đánh giá tính hợp lệ
của các gói tin đang bắt đầu các kết nối mới. Những gói này này mà trải qua cuộc
kiểm tra tùy theo tỷ lệ giới hạn. Kỹ thuật này tăng cơ hội của việ
c tạo ra các kết nối
thành công trong cuộc tấn công, trong khi giới hạn lượng nguy hiểm mà một kẻ tấn
công lén lút có thể làm (một kẻ tấn công mà có thể phát sinh các gói tin mà vượt qua
cuộc kiểm tra hợp lệ).
2.4. Kiến trúc
14
Để cung cấp tất cả các
thông tin thích hợp trong các bảng có kích cỡ giới hạn,thành phần theo dõi xóa các
bảng: (1) xóa bỏ một cách định kỳ các bản ghi đã cũ, và (2) nếu tràn, xóa bỏ các bản
ghi mà xem như ít được dùng hơn các bản ghi khác.
Thành phần theo dõi phân chia một cách định kỳ các luồng và kết nối. Phân chia
luồng được dùng để tìm ra sự xảy ra của một cuộc tấn công DDoS, trong khi phân chia
kết nối được dùng để nhận ra các kết n
ối hợp lệ để mà nhận được dịch vụ tốt trong
trường hợp luồng kết hợp trở nên bị giới hạn. Sơ lược kết nối tiếp tục được thực hiện
(ngược lại với sơ lược trức tiếp mỗi khi cuộc tấn công được tìm ra). Lợi thế của
phương pháp này là Bảng kết nối hợp lệ đã sẵ
n sàng tồn tại khi cuộc tấn công xảy ra.
D-WARD dùng kiến thức này để duy trì cung cấp dịch vụ tốt tới các kết nối trong
bảng, do vậy chúng không chịu nguy hiểm bởi cuộc tấn công. Nếu D-WARD dùng sơ
lược trực tiếp, một thời gian trễ sẽ tồn tại giữa tín hiệu phát hiện tấn công và sự cư trú
của bảng kết nối hợp lệ. Trong thời gian này, truyền thông kết n
ối hợp lệ sẽ nguy hiểm
bởi các cuộc tấn công.
2.5.1. Các đặc điểm và sự phân loại luồng
Mỗi gói tin đi ra và đi vào đều đổi sang một bản ghi trong Bảng luồng. Vì
vậy,một luồng đi ra có thể bao gồm hỗn hợp của nhiều giao thức giao vận và các
chương trình, các bản ghi luồng bao gồm vài trường dành cho việc xác định các đặc
điểm giao thức. D-WARD hiện t
ại phân chia các đặc điểm thành 3 loại giao vận với
luồng: TCP, UDP, và ICMP. Các đặc điểm nào sẽ được gán cho giao thức giao vận
phụ thuộc vào các mẫu luồng hợp lệ. Sự phân chia luồng được thực hiện trong mỗi
Khoảng theo dõi luồng (giây). Trong sự phân chia, D-WARD so sánh các đặc điểm
luồng cho mỗi trường giao thức với các mẫu luồng hợp lệ tương ứng. Mỗi luồng sẽ
đượ
c phân chia:
nghĩa TCP
rto
là tỷ lệ lớn nhất cho phép của số lượng gói tin gửi và nhận trong luồng.
Luồng được phân loại như là một luồng tấn công nếu tỷ lệ gói tin của nó là trên
ngưỡng cho phép. Tỷ lệ gói tin được theo dõi là được dàn xếp trước sự phân loại để
tránh nhiễu trong các phép đo. Truyền thông kết nối hợp lệ không phải chịu mức giới
hạn và vì vậy không ảnh hưởng bởi giá trị
thời gian tuân theo. D-WARD dùng 3 cho
giá trị TCP
rto
Mẫu luồng ICMP hợp lệ: Các tin nhắn ICMP được dùng như các tin nhắn điều
khiển ngoài luồng để báo cáo vài lỗi mạng hay để giúp đỡ việc sửa chữa mạng. Không
may,chúng được dùng thành công cho các cuộc tấn công khác nhau. Giao thức ICMP
chỉ định nhiều loại tin nhắn khác nhau. Trong lúc hoạt động bình thường, các tin nhắn
“timestamp”, “information request”, và “echo” phải đi kèm với đáp lại tương ứng.
Dùng sự theo dõi này, mẫu luồng ICMP bình thường định ngh
ĩa ICMP
rto
như là tỷ lệ
cho phép lớn nhất của số lượng echo, timestamp, và information request và đáp lại các
gói tin được gửi và nhận trong luồng. Tần số của các tin nhắn ICMP khác, như không
17
tìm thấy host đích(destination unreachable), source quench, redirect,… được kỳ vọng
là rất nhỏ để một mức giới hạn được điều khiển có thể dùng để điều khiển một phần
giao vận.
Mẫu luồng UDP hợp lệ: Giao thức UDP được dùng để phân phối thông điệp
không tin cậy và trong đời thường không yêu cầu các gói tin ngược cho hoạt động
đúng của nó. Nhiều ứng dụng dùng UDP phát sinh m
theo dõi kết nối (giây). Trong phân lo
ại, D-WARD so sánh các đặc điểm kết nối với
các mẫu kết nối hợp lệ tương ứng. Một kết nối sẽ được phân loại:
Tốt nếu các đặc điểm của nó khớp với mẫu tương ứng.
Xấu nếu các đặc điểm của nó không khớp với mẫu tương ứng.
Nhất thời nếu không đủ dữ li
ệu để thực hiện phân loại.