Chương 1 trình bày tổng quan về tấn công từ chối dịch vụ phân tán DDoS và tấn công từ chối dịch vụ phân tán tốc độ thấp LDDoS. • Chương 2 trình bày phương pháp mới ước lượng thông lượng TCP trong điều kiện có tấn công LDDoS. • Chương 3 phân tích tiếp cận dựa trên độ đo CPR để chống tấn công LDDoS, trên cơ sở đó đề xuất cơ chế thay đổi ngưỡng CPR theo thời gian. • Chương 4 thảo luận và làm rõ các vấn đề hiện tại của tiếp cận dựa trên độ đo CPR và đề xuất độ đo CIR mới để bảo vệ thông lượng TCP tốt hơn khi có tấn công xảy ra.
5 Chương 1 Tổng quan về tấn công từ chối dịch vụ phân tán và tấn công từ chối dịch vụ phân tán tốc độ thấp Chương này trình bày những kiến thức chung và tổng quát về hai nội dung đó là tấn công từ chối dịch vụ phân tán (DDoS) và tấn công từ chối dịch vụ phân tán tốc độ thấp (LDDoS). Về nội dung thứ nhất, luận án trình bày lại các khái niệm tấn công từ chối dịch vụ (DoS) và tấn công từ chối dịch vụ phân tán (DDoS), tiếp theo luận án trình bày về nguồn gốc của DDoS và sau đó thảo luận về những khó khăn và thách thức chính trong chống tấn công DDoS. Với nội dung thứ hai, luận án đưa ra khái niệm tấn công LDDoS, sau đó trình bày mô hình điều khiển tắc nghẽn của giao thức TCP, rộng hơn và bao gồm cả cơ chế chờ phát lại gói tin vốn là mục tiêu của các tấn công LDDoS. Nội dung tiếp theo trình bày mô hình lưu lượng và các cơ chế phát hiện và chống tấn công LDDoS, phần cuối cùng giới thiệu một số mô hình phân tích đã có của các tấn công LDDoS.1 Tấn công từ chối dịch vụ phân tán 1.1 Khái niệm 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 Tấn công từ chối dịch vụ DoS (denial-of-service attack) là một hành động nhằm ngăn chặn hoặc làm suy yếu việc sử dụng hợp pháp mạng cũng như các hệ thống máy tính, các ứng dụng bằng cách làm cạn kiệt các tài nguyên như bộ xử lý trung tâm CPU, băng thông, bộ nhớ trong, không gian đĩa cứng (theo [9]).
Nếu có nhiều máy tính tham gia vào tấn công thì nó được gọi là tấn công từ chối dịch vụ phân tán DDoS (distributed denial-of-service attack). Một số tấn công DDoS điển hình: (1) Tấn công DDoS truyền thống sử dụng một mạng lưới lên đến hàng trăm nghìn máy tính tham gia, mỗi máy tính phát gói tin nhanh nhất có thể đến một mục tiêu trên mạng nhằm làm cạn kiệt băng thông của 6 đường truyền kết nối đến hệ thống mục tiêu. Nó khai thác cơ chế bắt tay ba bước (three-way handshake) của TCP trong việc khởi tạo một kết nối với mục đích xấu là làm đầy nội dung bảng thông tin các kết nối trên máy chủ, làm cho các máy tính thông thường không thể kết nối đến máy chủ nữa. (3) Tấn công quảng bá có hướng ICMP hay còn gọi là tấn công “smurf ” [1] [12] sử dụng gói tin quảng bá có hướng, với địa chỉ nguồn giả mạo là địa chỉ của nạn nhân, gửi đến một mạng ở xa, sau đó mỗi máy tính trong mạng ở xa đó nhận được một bản sao chép của gói tin quảng bá và gửi gói tin trả lời về địa chỉ của máy nạn nhân dẫn đến nạn nhân bị choáng ngợp và phải xử lý một số lượng gói tin lớn.
(4) Tấn công phản xạ dựa trên hệ thống tên miền DNS [13] sử dụng các điểm yếu trong nguyên lý hoạt động của hệ thống tên miền để tạo ra một số lượng lớn gói tin gửi đến nạn nhân. Tấn công DDoS là một loại tấn công mạng với mục đích gây ra từ chối hoặc suy giảm dịch vụ đối với người dùng bình thường. Các dịch vụ mà DDoS nhắm tới rất đa dạng có thể kể đến như là dịch vụ truyền tệp tin FTP, dịch vụ web, dịch vụ tên miền DNS, các ứng dụng như GitHub v. Tấn công DDoS có thể lợi dụng các máy chủ cung cấp dịch vụ như DNS, CLDAP, SMTP để trung chuyển và khuếch đại lưu lượng tấn công cũng như che dấu các máy tính tấn công.
Các cuộc tấn công DDoS với số lượng, quy mô và cường độ ngày càng tăng cho thấy mức độ nguy hiểm leo thang của loại hình tấn công này (xem phụ lục A.3 về các sự kiện tấn công DDoS gần đây).2 Nguồn gốc của tấn công từ chối dịch vụ phân tán Mạng Internet đã được xây dựng cách đây vài thập kỷ và đã trở nên phổ biến trên toàn thế giới. Mặc dù hiệu năng của mạng Internet dưới dạng thời gian trễ mạng, thông lượng, hiện tượng tắc nghẽn mạng đã được cải thiện đáng kể từ khi thành lập, nguyên lý hoạt động của nó vẫn gần như không thay đổi, mạng Internet vẫn hoạt động dựa trên 2 nền tảng: dịch vụ nỗ lực tối đa (best-effort service) và mô hình đầu cuối tới đầu cuối (end-to-end paradigm). Ở trung tâm của mạng Internet, các router chịu trách nhiệm trung chuyển gói tin từ nguồn tới đích. Nguồn và đích là những máy tính cuối, là nơi gói tin được gửi và nhận.
Dịch vụ nỗ lực tối đa có nghĩa là các router trung gian 7 chỉ đơn giản thực hiện nhiệm vụ lưu trữ (storing) và đẩy (forwarding) gói tin đến đích. Tất cả các công việc khác, nổi bật trong đó là điều khiển tắc nghẽn mạng (network congestion control), được dành cho các máy tính cuối. Vì thế mô hình đầu cuối tới đầu cuối, và đặc biệt là điều khiển tắc nghẽn đầu cuối, đóng vai trò quan trọng trong việc tránh và làm dịu bớt tắc nghẽn mạng xảy ra trên Internet. Ở thời điểm hiện tại, TCP vẫn là giao thức vận chuyển chủ yếu trong mạng Internet và do đó cơ chế điều khiển tắc nghẽn của nó chiếm ưu thế trong điều khiển tắc nghẽn đầu cuối.
Nếu không có cơ chế điều khiển tắc nghẽn của giao thức TCP, mạng Internet có thể trở nên tắc nghẽn nghiêm trọng và không thể sử dụng được như thời điểm tháng 10 năm 1986 khi mà nó phải chịu một chuỗi sụp đổ do tắc nghẽn [14]. Tuy nhiên vấn đề vẫn chưa dừng lại ở đây. Nếu một máy tính trở nên độc hại bằng cách gửi gói tin liên tục vào mạng với một tốc độ cao hoặc chỉ đơn giản là không sử dụng cơ chế điều khiển tắc nghẽn [15], nó sẽ làm tổn thương các máy tính khác đang giao tiếp bởi vì một vài tài nguyên như là băng thông mạng, các chu kỳ của bộ xử lý hoặc dung lượng bộ nhớ trên router hay trên máy tính cuối bị cạn kiệt. Trong khi đó, mạng trung gian vẫn truyền các gói tin tới đích một cách thụ động và không làm gì để ngăn chặn lưu lượng mạng từ máy tính độc hại này.
Hiện tượng nổi tiếng này được gọi là tấn công từ chối dịch vụ. Internet có thể đem đến cho chúng ta một cách thức tiện lợi để truy cập thông tin cũng như giao tiếp với nhau nhưng nó cũng mang theo trong kiến trúc chức năng của nó nguồn gốc sâu xa của nguy cơ tấn công DDoS.3 Khó khăn và thách thức trong chống tấn công từ chối dịch vụ phân tán Tấn công từ chối dịch vụ phân tán DDoS là một thách thức lớn đối với sự ổn định và tin cậy của mạng Internet. Các nhà khoa học đã dành nhiều thời gian và công sức vào nghiên cứu phát hiện tấn công (attack detection), truy vết ngược các nguồn tấn công (traceback of attacking sources) cũng như giảm thiểu tác hại và lọc các gói tin tấn công (attack mitigation and filtering) [16–26]. Tuy nhiên, có hai yêu cầu khiến cho việc thiết kế các hệ thống chống tấn công DDoS trở nên khó khăn [27]: 1.
Có khả năng phân loại gói tin. Tấn công DDoS thường bao gồm một số lượng 8 lớn các gói tin thông thường. Chúng trộn lẫn hoàn toàn với một số ít các gói tin được gửi đi từ các máy tính thông thường và không có một sự khác biệt nào trên cơ sở từng gói tin. Để thực hiện việc phân biệt lưu lượng, các hệ thống phòng chống DDoS phải nhóm tất cả các gói tin hướng đến nạn nhân vào các cấu trúc với ngữ nghĩa cao hơn (chẳng hạn như “tất cả lưu lượng trao đổi giữa hai địa chỉ IP”, “tất cả lưu lượng HTTP”, “tất cả lưu lượng xuất phát từ một địa chỉ IP”, v.), sau đó lưu trữ nhiều thông tin thống kê trên các cấu trúc này theo thời gian để phát hiện các giao tiếp với dung lượng lớn hoặc bất thường.
Các gói tin thuộc vào các cấu trúc nghi ngờ sau đó sẽ được kiểm soát, trong khi các gói tin thuộc vào các cấu trúc thể hiện hành vi thông thường sẽ được cho đi qua. Có thể kiểm soát được phần lớn lưu lượng tấn công. Lưu lượng tấn công DDoS được tạo ra từ vô số các máy tính tấn công gọi là zombies, trải rộng trên khắp Internet và chỉ hội tụ ở lân cận với nạn nhân. Hệ thống phòng chống DDoS phải kiểm soát được phần lớn lưu lượng tấn công để giảm nhẹ tác hại của tấn công tác động đến nạn nhân.
Điều này cho thấy nếu hệ thống là một điểm thì nó phải được đặt gần nạn nhân hoặc nếu hệ thống là phân tán thì các nút phòng chống tấn công của nó phải bao phủ phần lớn mạng Internet. Các hệ thống chống tấn công DDoS trong thực tế có thể không đáp ứng được cả hai yêu cầu trên, đặc biệt đối với các hệ thống một điểm và có tính chất độc lập như các cơ chế hỗ trợ router. Để phân biệt lưu lượng một cách chính xác, các router cần một bộ nhớ lớn để phục vụ việc lưu trữ thông tin thống kê.1 Tuy nhiên dung lượng bộ nhớ trên các router rất hạn chế do nhiều nguyên nhân khác nhau [8]. Vì vậy các cơ chế hỗ trợ router chống tấn công DDoS thường đối mặt với vấn đề không đủ bộ nhớ để lưu trữ thông tin của tất cả các dòng gói tin đi qua, đặc biệt đối với các router lõi (core router), nơi có đến hàng triệu dòng gói tin đi qua trong vòng một giờ (theo [2]).
Mặt khác, sự cần thiết của việc kiểm soát phần lớn lưu lượng tấn công lại yêu cầu việc đặt các hệ thống này tại những điểm trung chuyển một lượng lớn gói tin. Hai yêu cầu này thường khó có thể được thỏa mãn nếu là hệ thống một điểm.