Nghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPYNghiên cứu phát hiện tấn công DDOS dựa trên IP ENTROPY
Trang 3Tôi cam đoạn đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Hà Nội, ngày 18 tháng 06 năm 2016
Tác giả luận văn
Trần Quang Hƣng
Trang 4Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các thầy, cô giáo Học viện Công nghệ Bưu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian học tập tại nhà trường
Em xin gửi lời cảm ơn sâu sắc đến TS Hoàng Xuân Dậu, người đã trực tiếp hướng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong suốt thời gian làm luận văn tốt nghiệp
Bên cạnh đó, để hoàn thành đồ án này, em cũng đã nhận được rất nhiều sự giúp đỡ, những lời động viên quý báu của các bạn bè, gia đình và đồng nghiệp Em xin chân thành cảm ơn
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những người đã luôn ở bên cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em có thể học tập tốt
và hoàn thiện luận văn
Em xin chân thành cảm ơn!
Trang 5LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ TẤN CÔNG DOS/DDOS VÀ CÁC BIỆN PHÁP PHÒNG CHỐNG 3
1.1 Khái quát về DoS/DDoS 3
1.1.1 Tấn công DoS và các dạng tấn công DoS 3
1.1.2 Tấn công DDoS và kiến trúc tấn công DDoS 8
1.1.3 Phân loại tấn công DDoS 11
1.2 Các biện pháp phòng chống tấn công DDoS 16
1.2.1 Dựa trên vị trí triển khai 16
1.2.2 Dựa trên giao thức mạng 17
1.2.3 Dựa trên thời điểm hành động 18
1.3 Mô tả bài toán của Luận văn 19
1.4 Kết luận chương 1 19
CHƯƠNG 2: PHÁT HIỆN TẤN CÔNG DDoS DỰA TRÊN IP ENTROPY 20
2.1 Khái quát về entropy 20
2.1.1 Khái niệm entropy và ứng dụng trong phát hiện bất thường mạng 20
2.1.2 Shannon entropy và entropy tham số 20
2.1.3 Một số dạng entropy khác 24
Trang 62.2.1 Giới thiệu mô hình 26
2.2.2 Hoạt động của mô hình 27
2.3 Kết luận chương 2 29
CHƯƠNG 3: THỬ NGHIỆM VÀ KẾT QUẢ 30
3.1 Thử nghiệm phát hiện tấn công DDoS dựa trên tập dữ liệu gói tin offline 30
3.1.1 Giới thiệu các bộ dữ liệu thử nghiệm 30
3.1.2 Các thử nghiệm và kết quả 30
3.2 Mô hình hệ thống phát hiện tấn công DDoS online dựa trên entropy 36
3.3 Kết luận chương 3 37
KẾT LUẬN 38
DANH MỤC TÀI LIỆU THAM KHẢO 39
Trang 7CPU Central Processing Unit Bộ xử lý trung tâm
DDoS Distributed Denial of Service Tấn công từ chối dịch vụ phân tán DNS Domain Name System Hệ thống phân giải tên miền
DoS Denial of Service Tấn công từ chố dịch vụ
HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn bản
HTTPS Hypertext Transfer Protocol
IP Internet Protocol Giao thức kết nối Internet
SMTP Simple Mail Transfer Protocol Giao thức truyền tải thư điện tử đơn
giản
SYN Synchronization Đồng bộ hóa
TCP Transport Control Protocol Giao thứ điều khiển truyền vận
UDP User Datagram Protocol Giao thức gói dữ liệu người dùng
Trang 8Hình 1.1: Minh họa kỹ thuật tấn công Buffer Overflow 5
Hình 1.5: Kiến trúc tấn công DDoS gián tiếp hay phản chiếu 11Hình 2.1: Mô hình phát hiện tấn công DDoS dựa trên entropy của IP nguồn 27Hình 3.1: Entropy của các gói tin hợp pháp theo cửa sổ thời gian 31Hình 3.2: Entropy của lưu lượng hỗn hợp với cửa sổ 2 giây 32Hình 3.3: Entropy của lưu lượng hỗn hợp với cửa sổ 5 giây 33Hình 3.4: Entropy của lưu lượng mạng bình thường với cửa sổ 100 gói tin 34Hình 3.5: Entropy của lưu lượng mạng hỗn hợp với cửa sổ 1000 gói tin 35Hình 3.6: Entropy của lưu lượng mạng hỗn hợp với cửa sổ 10000 gói tin 35Hình 3.7: Mô hình hệ thống phát hiện tấn công DDoS online dựa trên entropy 37
Trang 9LỜI MỞ ĐẦU
1 Lý do chọn đề tài
Cùng với sự phát triển như vũ bão của mạng Internet hiện nay, các hình thức tấn công từ chối dịch vụ phân tán (DDoS) cũng đã và đang phát triển một cách mạnh mẽ trong những năm gần đây Tấn công từ chối dịch vụ gây cạn kiệt tài nguyên hệ thống hoặc ngập lụt đường truyền, làm gián đoạn quá trình cung cấp dịch
vụ cho người dùng hợp pháp, hoặc nguy hiểm hơn là có thể khiến toàn bộ hệ thống ngừng hoạt động Nguy hiểm hơn nữa là tấn công DDoS rất khó phát hiện và chưa
có cách phòng chống hiệu quả do số lượng các host bị điều khiển tham gia tấn công thường rất lớn và nằm rải rác ở nhiều nơi Vì vậy đây là một mối đe dọa thường trực đối với hệ thống mạng và máy chủ dịch vụ của các cơ quan và tổ chức
Do tính chất đặc biệt nguy hiểm của DDoS, nhiều giải pháp phòng chống đã được nghiên cứu và đề xuất trong những năm qua nhằm phát hiện và chống lại các cuộc tấn công dạng này Tuy nhiên, cho đến hiện nay gần như chưa có giải pháp đơn nhất nào có khả năng phòng chống DDoS một cách toàn diện và hiệu quả do tính chất phức tạp, quy mô lớn cùng với tính phân tán rất cao của tấn công DDoS
Trên cơ sở đó, tôi đã lựa chọn đề tài: "Nghiên cứu phát hiện tấn công
DDoS dựa trên IP entropy" Đề tài nhằm tập trung nghiên cứu phương pháp phát
hiện sớm tấn công DDoS dựa trên tính toán entropy của địa IP của các nguồn khởi phát tấn công, là một trong các hướng nghiên cứu có được nhiều nhà nghiên cứu quan tâm và cho kết quả khả quan
2 Cấu trúc của luận văn
Luận văn gồm 3 chương:
Chương 1: Tổng quan về tấn công DoS/DDoS và các biện pháp phòng chống
Chương 2: Phát hiện tấn công DDoS dựa trên IP entropy
Chương 3: Thử nghiệm và kết quả
Trang 10Trong đó luận văn tập trung vào chương 2 và chương 3 với mục đích nghiên cứu một mô hình phát hiện tấn công DDoS dựa trên IP entropy sau đó thực hiện các thử nghiệm nhằm đánh giá tính hiệu quả của phương pháp này
3 Mục đích nghiên cứu
- Nghiên cứu tổng quan về tấn công DoS/DDoS
- Nghiên cứu và thử nghiệm mô hình phát hiện thông qua IP entropy
4 Đối tượng nghiên cứu
- Các dạng tấn công DoS/DDoS trên mạng máy tính
5 Phạm vi nghiên cứu
- Nghiên cứu và thử nghiệm biện pháp phòng chống tấn công DDoS được thực hiện trên tầng IP của các máy chủ đích hoặc router mạng đích
6 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết
- Phương pháp thực nghiệm, phân tích kết quả
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ TẤN CÔNG DOS/DDOS VÀ
CÁC BIỆN PHÁP PHÒNG CHỐNG
1.1 Khái quát về DoS/DDoS
1.1.1 Tấn công DoS và các dạng tấn công DoS
1.1.1.1 Giới thiệu về tấn công DoS
Tấn công từ chối dịch vụ (Denial of Service – DoS) là một tổ hợp các cách thức tấn công mà một người làm cho một hệ thống không thể sử dụng, hoặc làm cho
hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống, thì chúng cố gắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng phục vụ người dùng bình thường Mặc dù tấn công DoS không
có khả năng truy cập vào dữ liệu thực của hệ thống nhưng nó có thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp
Các tấn công DoS bắt đầu vào khoảng đầu những năm 90 Đầu tiên, chúng hoàn toàn “nguyên thủy”, bao gồm chỉ một kẻ tấn công khai thác băng thông tối đa
từ nạn nhân, ngăn những người khác được phục vụ Điều này được thực hiện chủ yếu bằng cách dùng các phương pháp đơn giản như ping floods, SYN floods và UDP floods Sau đó, các cuộc tấn công trở nên phức tạp hơn, bằng cách giả làm nạn nhân, gửi vài thông điệp và để các máy khác làm ngập máy nạn nhân với các thông điệp trả lời (Smurf attack, IP spoofing…)
Các tấn công này phải được đồng bộ hoá một cách thủ công bởi nhiều kẻ tấn công để tạo ra một sự phá huỷ có hiệu quả Sự dịch chuyển đến việc tự động hoá sự đồng bộ, kết hợp này và tạo ra một tấn công song song lớn trở nên phổ biến từ
1997, với sự ra đời của công cụ tấn công DDoS đầu tiên được công bố rộng rãi, đó
là Trinoo Nó dựa trên tấn công UDP flood và các giao tiếp master-slave (khiến các máy trung gian tham gia vào trong cuộc tấn công bằng cách đặt lên chúng các chương trình được điều khiển từ xa) Trong những năm tiếp theo, vài công cụ nữa được phổ biến – TFN (tribe flood network), TFN2K, vaf Stacheldraht
Trang 12Tuy nhiên, chỉ từ cuối năm 1999 mới có những báo cáo về những tấn công như vậy, và dạng tấn công này được công chúng biết đến chỉ sau khi một cuộc tấn công lớn vào các website công cộng vào tháng 2/2000 Trong thời gian 3 ngày, các website Yahoo.com, amazon.com, buy.com, cnn.com và eBay.com đã bị tấn công DoS liên tục, đặc biệt Yahoo.com bị ping với băng thông khoảng 1 GB/s
1.1.1.2 Các dạng tấn công DoS
Có thể chia các dạng tấn công DoS thành 2 loại:
Tấn công logic (Logic attacks): Là tấn công dựa vào lỗi phần mềm, hoặc lỗi giao thức làm hệ thống ngừng hoạt động, hoặc làm giảm hiệu năng hệ thống Một số kỹ thuật tấn công DoS dạng này gồm Ping of Death, Teardrop, Buffer overflow,…
Tấn công gây ngập lụt (Flooding attacks): Là dạng tấn công mà trong
đó kẻ tấn công gửi một lượng lớn yêu cầu gây cạn kiệt tài nguyên hệ thống hoặc băng thông đường truyền mạng Một số kỹ thuật tấn công DoS dạng này gồm SYN Floods, Smurf,…
1.1.1.3 Một số kỹ thuật tấn công DoS
a) Ping of Death :
Kẻ tấn công gửi những gói tin IP lớn hơn số lượng bytes cho phép của tin IP
là 65.536 bytes Sau đó gói tin IP được chia nhỏ và được thực hiện ở layer II Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes Nhưng hệ điều hành không thể nhận biết được độ lớn của gói tin này và sẽ bị khởi động lại, hay đơn giản
là sẽ bị gián đoạn giao tiếp Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì tương đối dễ dàng Nhưng lỗi này đã được kịp thời sửa chữa vào khoảng năm 1997-1998 và bây giờ nó chỉ mang tính lịch sử
Trang 13b) Teardrop:
Như chúng ta đã biết, trong mạng chuyển mạch gói, dữ liệu được chia thành nhiều gói tin nhỏ, mỗi gói tin có một giá trị offset riêng và có thể truyền đi theo nhiều con đường khác nhau để tới đích Tại đích, nhờ vào giá trị offset của từng gói tin mà dữ liệu lại được kết hợp lại như ban đầu Lợi dụng điều này, hacker có thể tạo ra nhiều gói tin có giá trị offset trùng lặp nhau gửi đến mục tiêu muốn tấn công Điều này dẫn đến kết quả là máy tính đích không thể sắp xếp được những gói tin này và dẫn tới bị treo máy vì bị "vắt kiệt" khả năng xử lý
c) Buffer Overflow:
Đây là kiểu tấn công xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình và đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm Một trong các vụ tấn công DoS sử dụng kỹ thuật Buffer Overflow là sự làn truyền của sâu Slammer khai thác lỗi tràn bộ đệm trong thành phần SQL Server Resolution Service của máy chủ cơ sở dữ liệu SQL Server 2000 vào năm 2003 Chỉ trong vòng 30 phút
từ khi khởi phát, sâu Slammer đã tự lây nhiễm đến khoảng 75.000 máy chủ chạy SQL Server 2000
Hình 1.1: Minh họa kỹ thuật tấn công Buffer Overflow
d) Smurf:
Trang 14Smurf là một kiểu tấn công DoS điển hình Tấn công smurf sử dụng kiểu phát quảng bá có định hướng để gây ngập lụt đường truyền mạng của máy nạn nhân bằng kịch bản như sau: Đầu tiên, kẻ tấn công sẽ gửi quảng bá một lượng lớn gói tin ICMP (Ping) với địa chỉ IP nguồn là địa chỉ của máy nạn nhân đến một mạng sử dụng một địa chỉ quảng bá (IP Broadcast address) Các máy khác trong mạng nhận được thông điệp ICMP sẽ gửi trả lời đến máy có địa chỉ nguồn IP (là máy nạn nhân) Việc này sẽ diễn ra đến khi lượng máy trong mạng rất lớn và dẫn tới hệ quả
là máy nạn nhân sẽ bị ngập lụt đường truyền và làm cho mạng bị rớt hoặc bị chậm lại, không có khả năng đáp ứng các dịch vụ khác
Hình 1.2 : Minh họa tấn công kiểu Smurf
e) SYN Floods:
SYN Floods là kỹ thuật gây ngập lụt các yêu cầu kết nối TCP SYN là bít điều khiển của TCP dùng để đồng bộ số trình tự gói Kịch bản tấn công SYN floods được diễn ra như sau:
- Kẻ tấn công gửi 1 lượng lớn gói tin yêu cầu mở kết nối (SYN-REQ) đến máy tính nạn nhân;
- Máy tính nạn nhân ghi nhận yêu cầu kết nối và dành 1 chỗ trong bảng lưu kết nối trong bộ nhớ cho mỗi yêu cầu kết nối;
Trang 15- Máy tính nạn nhân sau đó gửi gói tin xác nhận kết nối (SYN-ACK) đến
kẻ tấn công;
- Do kẻ tấn công không bao giờ trả lời xác nhận kết nối, nên máy tính nạn nhân vẫn phải lưu tất cả các yêu cầu kết nối chưa được xác nhận trong bảng kết nối tới bảng kết nối đầy và người dùng hợp pháp không thể truy nhập;
- Máy tính nạn nhân chỉ có thể xóa yêu cầu kết nối khi nó timed-out
* Phân tích quá trình tấn công SYN floods:
- Kẻ tấn công thường dùng địa chỉ IP giả mạo hoặc địa chỉ không có thực làm Source IP trong gói tin IP nên, thông điệp SYN-ACK của máy tính nạn nhân không bao giờ đến đích;
- Kẻ tấn công cố tình tạo một lượng rất lớn yêu cầu kết nối dở dang để:
+ Các yêu cầu kết nối SYN-REQ điền đầy bảng kết nối tới máy nạn nhân không thể chấp nhận yêu cầu của những người dùng khác; + Làm cạn kiệt tài nguyên bộ nhớ của máy nạn nhân dẫn tới có thể làm máy nạn nhân ngừng hoạt động;
+ Gây nghẽn đường truyền mạng
Trang 16Hình 1.3: Minh họa tấn công SYN floods
1.1.2 Tấn công DDoS và kiến trúc tấn công DDoS
1.1.2.1 Giới thiệu về DDoS
Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service) là một dạng tấn công DoS phát triển ở mức độ cao hơn và được lần đầu được phát hiện vào năm 1999 Khác biệt cơ bản giữa DoS và DDoS là chính là phạm vi tấn công Đối với tấn công DoS, lưu lượng tấn công thường chỉ được khởi phát từ một, hoặc một
số ít host nguồn trong khi lưu lượng tấn công DDoS lại được khởi phát từ rất nhiều host nằm rải rác trên mạng Internet
Có thể chia các phương pháp tấn công từ chối dịch vụ phân tán thành 2 loại:
* Phương pháp tấn công DDoS thứ nhất: kẻ tấn công gửi các gói tin được tạo theo dạng đặc biệt gây lỗi trong giao thức truyền hoặc lỗi trong ứng dụng chạy trên máy nạn nhân Một dạng tấn công DDoS điển hình theo phương pháp này là tấn công khai thác lỗ hổng an ninh của các giao thức hoặc dịch vụ trên máy nạn nhân
* Phương pháp tấn công DDoS thứ hai được chia thành 2 dạng [8]:
Trang 17- Tấn công DDoS gây ngắt quãng kết nối của người dùng đến máy chủ dịch
vụ bằng cách làm ngập lụt đường truyền mạng, cạn kiệt băng thông hoặc tài nguyên mạng
- Tấn công DDoS gây ngắt quãng dịch vụ cung cấp cho người dùng bằng cách làm cạn kiệt các tài nguyên của máy chủ dịch vụ, như thời gian xử lý của CPU,
bộ nhớ, băng thông đĩa, cơ sở dữ liệu
1.1.2.2 Kiến trúc tấn công DDoS
Đã có nhiều dạng tấn công DDoS được nhận dạng nhưng tổng quan chúng ta
có thể chia kiến trúc tấn công DDoS thành 2 dạng chính: (i) kiến trúc tấn công DDoS trực tiếp và (i) kiến trúc tấn công DDoS gián tiếp hay còn gọi là tấn công phản chiếu
Hình 1.4 minh họa kiến trúc tấn công DDoS trực tiếp, với kiến trúc tấn công này thì đầu tiên, các tin tặc sẽ thực hiện chiếm quyền điều khiển rất nhiều máy tính (có thể lên tới hàng ngàn máy tính) có kết nối Internet, để biến các máy tính này thành một Zombie (đây là một thuật ngữ chỉ những máy tính bị kiểm soát và có khả năng bị điều khiển từ xa bởi tin tặc) Khi công việc tạo dựng một mạng lưới các Zombie hoàn thành, tin tặc thường điều khiển các Zombie thông qua các máy trung gian (Handler) Hệ thống các Zombie chịu sự điều khiển của tin tặc còn được gọi là mạng máy tính ma hay còn gọi là botnet
Khi cần phát động một cuộc tấn công, tin tặc sẽ phát lệnh điều khiển các máy tính trong mạng botnet đồng loạt tạo và gửi các yêu cầu truy nhập giả mạo đến hệ thống nạn nhân (Victim) Việc làm này dẫn đến hệ quả là gây ngập lụt đường truyền mạng hoặc làm cạn kiệt tài nguyên của máy chủ (CPU, Ram, ổ cứng…), dẫn đến tạm ngưng dịch vụ cung cấp cho người dùng hoặc có thể dẫn tới hỏng hoàn toàn hệ thống về mặt vật lý khi hệ thống bị quá tải
Trang 18Hình 1.4: Kiến trúc tấn công DDoS trực tiếp
Kiến trúc tấn công DDoS gián tiếp hay còn gọi là tấn công DDoS phản chiếu được minh họa trong hình 1.5 Việc làm đầu tiên của kiểu tấn công này cũng giống như tấn công DDoS trực tiếp, đó là tin tặc trước hết thực hiện chiếm quyền điều khiển một lượng rất lớn máy tính trên mạng Internet để biến các máy tính này thành các Zombie, hay còn gọi là Slave Những máy tính bị chiếm quyền sẽ được điều khiển thông qua các máy tính trung gian (Master/Handler) Khi cần tấn công, tin tặc gửi lệnh đến các Slave đồng loạt tạo và gửi một lượng lớn các yêu cầu truy nhập giả mạo với địa chỉ nguồn của các gói tin là địa chỉ của máy nạn nhân (Victim) đến đến một số lớn các máy khác (Reflectors) trên mạng Internet Do địa chỉ của máy nạn nhân được đặt là địa chỉ nguồn của yêu cầu giả mạo, nên các Reflectors gửi phản hồi (Reply) đến máy nạn nhân Do các Reflectors thường là các máy chủ có công suất lớn và với số lượng lớn, số phản hồi sẽ rất lớn và gây ngập lụt đường truyền mạng hoặc làm cạn kiệt tài nguyên của máy nạn nhân, dẫn đến làm chậm, ngắt quãng hoặc ngừng dịch vụ cung cấp cho người dùng Các Reflectors bị lợi dụng để tham gia tấn công thường là các hệ thống máy chủ có công suất và băng thông đường truyền lớn trên mạng Internet và không chịu sự điều khiển của tin tặc
Trang 19Hình 1.5: Kiến trúc tấn công DDoS gián tiếp hay phản chiếu
1.1.3 Phân loại tấn công DDoS
Nhiều phương pháp phân loại tấn công DDoS đã được đề xuất nhưng một cách khái quát, tấn công DDoS có thể được phân loại dựa trên 6 tiêu chí chính:
- Dựa trên phương pháp tấn công
- Dựa trên mức độ tự động
- Dựa trên giao thức mạng
- Dựa trên phương thức giao tiếp
- Dựa trên cường độ tấn công
- Dựa trên việc khai thác các lỗ hổng an ninh
1.1.3.1 Dựa trên phương pháp tấn công
Dựa theo tiêu phân loại DDoS dựa trên phương pháp tấn công thì DDoS có thể được chia thành 2 dạng như sau:
Trang 20- Tấn công gây ngập lụt (Flooding attacks): Tấn công ngập lụt hay còn gọi là tấn công kiểu vét cạn thường được sử dụng với giao thức TCP Trong dạng này, hacker sẽ tạo ra một lượng lớn các gói tin tấn công có cấu trúc giống như các gói tin hợp lệ, sau đó các gói tin này sẽ được gửi đến hệ thống nạn nhân làm cho hệ thống
bị cạn kiệt bộ nhớ dẫn tới không thể phục vụ người dùng hợp pháp Đối tượng của tấn công dạng này là băng thông mạng, không gian đĩa, thời gian của CPU… Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng của nạn nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận
- Tấn công logic (Logical attacks): Đây là dạng tấn công khai thác các tính năng hoặc các lỗi cài đặt của các giao thức hoặc dịch vụ chạy trên hệ thống nạn nhân, nhằm làm cạn kiệt tài nguyên hệ thống Điển hình của phương pháp tấn công này là Ping of Death hoặc Teardrop
1.1.3.2 Dựa trên mức độ tự động
Dựa theo mức độ tự động, có thể chia tấn công DDoS thành 3 dạng:
a) Tấn công thủ công: Tin tặc trực tiếp quét các hệ thống từ xa để dò tìm lỗ hổng, đột nhập vào hệ thống để cài đặt các đoạn mã và điều khiển hệ thống tấn công khi cần thiết Chỉ những tấn công DDoS trong giai đoạn đầu mới được thực hiện thủ công
b) Tấn công bán tự động: Trong dạng này, mạng lưới thực hiện tấn công DDoS bao gồm các máy điều khiển (master/handler) và các máy agent (slave, deamon, zombie, bot) Giai đoạn đầu tiên, hacker sẽ thực hiện việc thành lập mạng lưới botnet, các máy agent, khai thác lỗ hổng và lây nhiễm được thực hiện một cách
tự động Trong đoạn tấn công, tin tặc gửi các thông tin bao gồm kiểu tấn công, thời điểm bắt đầu, khoảng thời gian duy trì tấn công và đích tấn công đến các agent thông qua các handler Các agent sẽ theo lệnh gửi các gói tin tấn công đến hệ thống nạn nhân
c) Tấn công tự động: Trong kiểu tấn công này, tất cả các giai đoạn trong quá trình tấn công DDoS, từ tuyển chọn máy agent, khai thác lỗ hổng, lây nhiễm đến thực hiện tấn công đều được thực hiện tự động Tất cả các tham số tấn công đều
Trang 21được lập trình sẵn và đưa vào mã tấn công Điều này giúp tin tặc giảm thiểu các giao tiếp với mạng lưới tấn công, khiến cho việc tìm ra thủ phạm trở nên khó khăn hơn Việc duy nhất mà tin tặc cần làm trong phương thức tấn công này là tuyển chọn các máy tính điều khiển trong mạng lưới
1.1.3.3 Dựa trên giao thức mạng
Dựa trên giao thức mạng, tấn công DDoS có thể chia thành 2 dạng:
a) Tấn công vào tầng mạng hoặc giao vận: Ở dạng này, các gói tin TCP, UDP và ICMP được sử dụng để thực hiện tấn công
b) Tấn công vào tầng ứng dụng: Ở dạng này, các tấn công thường hướng đến các dịch vụ thông dụng ứng với các giao thức tầng ứng dụng như HTTP, DNS và SMTP Tấn công DDoS tầng ứng dụng cũng có thể gây ngập lụt đường truyền và tiêu hao tài nguyên máy chủ, làm ngắt quãng khả năng cung cấp dịch vụ cho người dùng hợp pháp Dạng tấn công này rất khó phát hiện do các yêu cầu tấn công tương
tự yêu cầu từ người dùng hợp pháp
1.1.3.4 Dựa trên phương thức giao tiếp
Thông thường, để thực hiện tấn công DDoS, tin tặc phải tuyển chọn và chiếm quyền điều khiển một số lượng lớn các máy tính có kết nối Internet, và các máy tính này sau khi bị cài phần mềm agent trở thành các bots - công cụ giúp tin tặc thực hiện tấn công DDoS Tin tặc thông qua các máy điều khiển (master) giao tiếp với các bots để gửi thông tin và các lệnh điều khiển tấn công Theo phương thức giao tiếp giữa các master và bots, có thể chia tấn công DDoS thành 4 dạng:
a) DDoS dựa trên agent-handler: Tấn công DDoS dựa trên dạng này bao gồm các thành phần: clients, handlers và agents (bots/zombies) Tin tặc chỉ giao tiếp trực tiếp với clients Clients sẽ giao tiếp với agents thông qua handlers Nhận được lệnh
và các thông tin thực hiện tấn công, agents trực tiếp thực hiện việc tấn công
b) DDoS dựa trên IRC: Internet Relay Chat (IRC) là một hệ thống truyền thông điệp trực tuyến cho phép nhiều người dùng tạo kết nối và trao đổi các thông điệp theo thời gian thực Trong dạng tấn công DDoS này tin tặc sử dụng IRC làm
Trang 22kênh giao tiếp với các agents, không sử dụng handlers Việc sử dụng các kênh IRC
có nhiều ưu điểm hơn việc sử dụng các kênh dựa trên agent-handler như:
+ Không cần duy trì danh sách các agents bới vì các agents khác nhau có thể được hiển thị khi truy nhập vào máy chủ IRC
+ Sử dụng các cổng hợp lệ sẽ tạo ra các luồng dữ liệu hợp lệ
+ Máy chủ IRC có lượng lớn các luồng dữ liệu rất khó có thể phát hiện được c) DDoS dựa trên web: Trong dạng tấn công này, tin tặc sử dụng các trang web làm phương tiện giao tiếp qua kênh HTTP thay cho kênh IRC Các trang web của tin tặc được sử dụng làm trung tâm điều khiển và lây nhiễm các phần mềm độc hại, các công cụ khai thác các lỗ hổng an ninh, cài đặt các agents chiếm quyền điều khiển hệ thống máy tính và biến chúng thành các bots Các bots có thể được xác lập cấu hình hoạt động từ đầu, hoặc chúng có thể gửi các thông điệp đến trang web điều khiển thông qua các giao thức web phổ biến như HTTP và HTTPS
Những đặc điểm của tấn công dựa trên Web vượt trội so với IRC là
+ Dễ dàng cài đặt và cấu hình website
+ Nâng cao khả năng thông báo và ra lệnh
+ Yêu cầu về băng thông thấp và có thể xử lý lượng lớn các botnets phân tán d) DDoS dựa trên P2P: Ở dạng này, tin tặc sử dụng giao thức Peer to Peer – một giao thức ở tầng ứng dụng làm kênh giao tiếp Bản chất của các mạng P2P là phân tán nên rất khó để phát hiện các bots giao tiếp với nhau thông qua kênh này
Những điểm mạnh mà tấn công DDoS dựa trên P2P là :
+ Tấn công kiểu P2P là kiểu tấn công phân tán, do đó nó khó bị dập tắt hơn các botnet sử dụng truyền thông kiểu IRC
+ Kiểu tấn công này khá ổn định và có cường độ mạnh
1.1.3.5 Dựa trên cường độ tấn công
Dựa trên cường độ hoặc tần suất gửi yêu cầu tấn công, có thể phân loại tấn công DDoS thành 5 dạng:
Trang 23a) Tấn công cường độ cao: Là dạng tấn công gây ngắt quãng dịch vụ bằng cách gửi cùng một thời điểm một lượng rất lớn các yêu cầu từ các máy tính bị chiếm quyền (agents/zombies) nằm phân tán trên mạng
b) Tấn công cường độ thấp: Các agents/zombies được phối hợp sử dụng để gửi một lượng lớn các yêu cầu giả mạo, nhưng với tần suất thấp, làm suy giảm dần dần hiệu năng mạng Đây là một kiểu tấn công khá thông minh vì tin tặc chỉ gửi một lượng lớn các gói tin với cường độ thấp đồng thời lưu lương tấn công tương tự như lưu lượng đến từ người dùng hợp pháp giúp chúng khó có khả năng bị phát hiện
c) Tấn công cường độ hỗn hợp: Là dạng kết hợp giữa tấn công cường độ cao
và tấn công cường độ thấp Đây là dạng tấn công phức hợp, trong đó tin tặc thường
sử dụng các công cụ để sinh các gói tin tấn công gửi với tần suất cao và thấp
d) Tấn công cường độ liên tục: Là dạng tấn công được thực hiện liên tục với cường độ tối đa trong suốt khoảng thời gian từ khi bắt đầu đến khi kết thúc
e) Tấn công cường độ thay đổi: Đây là dạng tấn công có cường độ thay đổi động nhằm tránh bị phát hiện và đáp trả
1.1.3.6 Dựa trên việc khai thác các lỗ hổng an ninh
Dựa trên việc khai thác các điểm yếu và lỗ hổng an ninh, tấn công DDoS có thể được phân loại thành 2 dạng:
a) Tấn công gây cạn kiệt băng thông: Các tấn công DDoS dạng này được thiết kế để gây ngập lụt hệ thống mạng của nạn nhân bằng các yêu cầu truy nhập giả mạo, làm người dùng hợp pháp không thể truy nhập dịch vụ Tấn công dạng này thường gây tắc nghẽn đường truyền bằng lượng yêu cầu giả mạo rất lớn gửi bởi các máy tính ma (zombie) của các botnets Dạng tấn công này cũng còn được gọi là tấn công gây ngập lụt hoặc tấn công khuếch đại
b) Tấn công gây cạn kiệt tài nguyên: Các tấn công DDoS dạng này được thiết kế để tiêu dùng hết các tài nguyên trên hệ thống nạn nhân, làm cho nó không thể phục vụ các yêu cầu của người dùng hợp pháp Dạng tấn công DDoS này có thể được chia nhỏ thành 2 dạng:
Trang 24 Tấn công khai thác tính năng hoặc lỗi cài đặt của các giao thức Trong dạng này, tin tặc khai thác các lỗi hoặc các tính năng đặc biệt của các giao thức trên hệ thống nạn nhân để gây cạn kiệt tài nguyên
Tấn công sử dụng các gói tin được tạo đặc biệt Trong dạng này, kẻ tấn công tạo ra các gói tin đặc biệt, như các gói sai định dạng, gói có khiếm khuyết, gửi đến hệ thống nạn nhân Hệ thống nạn nhân có thể bị trục trặc khi cố gắng xử lý các gói tin dạng này Ví dụ, trong tấn công Ping of Death, tin tặc gửi các gói tin ICMP có kích thước lớn hơn 64KB gây lỗi các máy chạy hệ điều hành Windows XP
1.2 Các biện pháp phòng chống tấn công DDoS
Do tính chất nghiêm trọng của tấn công DDoS, nhiều giải pháp phòng chống
đã được nghiên cứu và đề xuất trong những năm qua Tuy nhiên, cho đến hiện nay gần như chưa có giải pháp nào có khả năng phòng chống DDoS một cách toàn diện
và hiệu quả do tính chất phức tạp, quy mô lớn và tính phân tán rất cao của tấn công DDoS Thông thường, khi phát hiện tấn công DDoS, việc có thể thực hiện được tốt nhất là ngắt hệ thống nạn nhân khỏi tất cả các tài nguyên do mọi hành động phản ứng lại tấn công đều cần đến các tài nguyên trong khi các tài nguyên này đã bị tấn công DDoS làm cho cạn kiệt Sau khi hệ thống nạn nhân được ngắt khỏi các tài nguyên, việc truy tìm nguồn gốc và nhận dạng tấn công có thể được tiến hành Nhiều biện pháp phòng chống tấn công DDoS đã được nghiên cứu trong những năm gần đây [3][5][6][7] Tựu chung có thể chia các biện pháp phòng chống tấn công DDoS thành 3 dạng theo 3 tiêu chí chính: (i) Dựa trên vị trí triển khai, (ii) Dựa trên giao thức mạng và (iii) Dựa trên thời điểm hành động Phần tiếp theo mô tả các biện pháp phòng chống tấn công DDoS thuộc 3 dạng trên
1.2.1 Dựa trên vị trí triển khai
Các biện pháp phòng chống tấn công DDoS được phân loại vào dạng này dựa trên vị trí cài đặt và tiếp tục được chia nhỏ thành 3 dạng con:
Trang 251) Triển khai ở nguồn tấn công: Các biện pháp phòng chống tấn công DDoS được triển khai ở gần nguồn của tấn công Phương pháp này nhằm hạn chế các mạng người dùng tham gia tấn công DDoS Một số biện pháp cụ thể bao gồm:
- Thực hiện lọc các gói tin sử dụng địa chỉ giả mạo tại các bộ định tuyến ở cổng mạng
- Sử dụng các tường lửa có khả năng nhận dạng và giảm tần suất chuyển các gói tin hoặc yêu cầu không được xác nhận
2) Triển khai ở đích tấn công: Các biện pháp phòng chống tấn công DDoS được triển khai ở gần đích của tấn công, tức là tại bộ định tuyến ở cổng mạng hoặc
bộ định tuyến của hệ thống đích Các biện pháp cụ thể có thể gồm:
- Truy tìm địa chỉ IP: Gồm các kỹ thuật nhận dạng địa chỉ và người dùng giả mạo
- Lọc và đánh dấu các gói tin: Các gói tin hợp lệ được đánh dấu sao cho hệ thống nạn nhân có thể phân biệt các gói tin hợp lệ và gói tin tấn công Một số kỹ thuật lọc và đánh dấu gói tin được đề xuất gồm: Lọc IP dựa trên lịch sử, Lọc dựa trên đếm hop, Nhận dạng đường dẫn,…
3) Triển khai ở mạng đích tấn công: Các biện pháp phòng chống tấn công DDoS được triển khai ở các bộ định tuyến của mạng đích dựa trên lọc gói tin, phát hiện và lọc các gói tin độc hại
1.2.2 Dựa trên giao thức mạng
Các biện pháp phòng chống tấn công DDoS được chia nhỏ theo tầng mạng:
IP, TCP và ứng dụng:
1) Phòng chống tấn công DDoS ở tầng IP bao gồm một số biện pháp:
- Pushback: Là cơ chế phòng chống tấn công DDoS ở tầng IP cho phép một
bộ định tuyến yêu cầu các bộ định tuyến liền kề phía trước giảm tần suất truyền các gói tin
- SIP defender: Một kiến trúc an ninh mở cho phép giám sát luồng các gói tin giữa các máy chủ SIP và người dùng và proxy bên ngoài với mục đích phát hiện và ngăn chặn tấn công vào các máy chủ SIP