Chương 1 trình bày tổng quan về tấn công DDoS; phân loại các hình thức tấn công, các giải pháp phòng chống DDoS dựa trên công nghệ mạng truyền thống; các tham số, tiêu chí đánh giá một giải pháp phòng chống DDoS và những yêu cầu, thách thức đối với các giải pháp phòng chống DDoS hiện nay. Phần tiếp theo nội dung của chương giới thiệu về kiến trúc, kỹ thuật mạng cấu hình bởi phần mềm SDN, cấu trúc và phạm vi chuẩn hóa của giao thức Openflow, các vấn đề kỹ thuật cơ bản trong Openflow bao gồm phạm vi chuẩn hóa, các bản tin trao đổi giữa các thực thể, quy tắc nhận dạng luồng và xử lý gói tin… Nội dung tiếp theo của chương trình bày kết quả khảo sát các giải pháp, các kỹ thuật phát hiện, ngăn chặn, giảm thiểu tấn công DDoS dựa trên kỹ thuật SDN/Openflow. Phần cuối của chương đề cập đến các nguy cơ tấn công DDoS vào kiến trúc, kỹ thuật SDN/Openflow và nghiên cứu, khảo sát các giải pháp phòng chống tương ứng. Tổng quan về tấn công DDoS 1.
Khái niệm Tấn công DoS Internet được thiết kế dựa trên nguyên tắc tối thiểu hóa các xử lý thông tin, đồng thời việc thực hiện chuyển gói tin trên hệ thống mạng theo cơ chế nỗ lực tối đa, không quan tâm và không có biện pháp kiểm soát nguồn gốc gói tin và tính nguy hại của nó. Chính triết lý này đã dẫn đến một hệ quả là sự lợi dụng internet để phát ra những lưu lượng tấn công không vì mục đích lấy cắp thông tin, truy nhập bất hợp pháp mà nhằm ngăn cản các người dùng lành tính khác tiếp cận các dịch vụ trên mạng internet. Tấn công từ chối dịch vụ (DoS) [31] là dạng tấn công nhằm ngăn chặn người dùng hợp pháp truy nhập tới dịch vụ, tài nguyên mạng làm cho hệ thống mạng không thể sử dụng, bị gián đoạn, hoặc chậm đi một cách đáng kể bằng cách làm quá tải tài nguyên của hệ thống. Đối tượng tấn công của DoS [1], [32], [33] có thể là: • Một ứng dụng, một dịch vụ.
• Một máy chủ, máy tính có địa chỉ cụ thể. • Toàn bộ hệ thống mạng trong một phạm vi cụ thể. Mục tiêu cụ thể tấn công DoS bao gồm: • Nhằm tiêu tốn tài nguyên tính toán trên hệ thống của đối tượng tấn công như băng thông, dung lượng đĩa cứng hoặc thời gian xử lý. 2 • Cô lập, cách ly đối tượng tấn công với các người dùng bằng các kỹ thuật như phá vỡ các thông tin cấu hình, thông tin định tuyến; phá vỡ các trạng thái kết nối mạng; phá vỡ các thành phần vật lý của hệ thống mạng; làm tắc nghẽn kênh truyền… Các phương pháp tấn công DoS có thể là: • Thao tác phần cứng: Kẻ tấn công tìm cách phá hủy, gây lỗi thiết bị phần cứng, gây nhiễu hệ thống.
• Kỹ thuật lưu lượng: Kẻ tấn công phát đi lưu lượng làm lụt hệ thống đích hoặc làm lỗi các giao thức truyền thông trên hệ thống mạng. Đây là kỹ thuật phổ biến nhất do tính chất đơn giản, khó bị phát hiện. • Chiếm đoạt quyền điều khiển: Kẻ tấn công tìm cách chiếm quyền điều khiển máy chủ, thiết bị mạng sau đó tắt máy chủ, dịch vụ hoặc cấu hình giới hạn khả năng phục vụ của dịch vụ, thay đổi bảng định tuyến trên thiết bị mạng để cách ly lưu lượng người dùng hợp pháp với máy chủ. Tấn công DDoS Tấn công từ chối dịch vụ phân tán (DDoS) [3], [15], [34] là dạng phát triển ở mức độ cao của tấn công DoS sử dụng kỹ thuật lưu lượng trong đó lưu lượng tấn công được huy động cùng một lúc từ rất nhiều máy tính khác nhau trên hệ thống mạng.
Lưu lượng tấn công DDoS được huy động từ nhiều nguồn trên Internet 1. Phân loại tấn công DDoS Tấn công DDoS có thể được phân loại theo nhiều cách khác nhau [2], [3], [32], [33], [35], [36]. Dưới đây là một số cách phân loại cơ bản. Phân loại theo kỹ thuật tấn công: Theo cách phân loại này [2], [3], [35], tấn công DDoS được phân thành 3 nhóm chính được thể hiện như trong sơ đồ Hình 1.
• Tấn công dựa vào dung lượng lưu lượng: Nhóm này bao gồm 2 kỹ thuật chính: - Làm lụt (flooding): Kẻ tấn công cố gắng ngăn chặn các kết nối từ người dùng hợp pháp bằng cách tạo ra một lưu lượng khổng lồ tới mục tiêu tấn công làm cạn kiệt tài nguyên băng thông. Kỹ thuật này thường dựa trên các giao thức mạng lớp 4 như UDP flood, 3 ICMP flood. Kẻ tấn công cũng có thể khai thác các điểm yếu của các phần mềm, dịch vụ ứng dụng hoặc tạo nhiều kết nối giả mạo, không có mục đích nhằm ngăn chặn các kết nối lành tính. Dạng phổ biến của tấn công loại này là HTTP Flood với hàng triệu kết nối không mục đích được gửi đến máy chủ.
Kẻ tấn công sử dụng kỹ thuật thăm dò năng lực phục vụ của máy chủ và điều chỉnh tốc độ tấn công tạo nên hình thức tấn công dai dẳng làm suy giảm năng lực máy chủ như tấn công Slowloris [37]. Theo báo cáo an ninh mạng thường niên của Abor Networks năm 2018 [38], loại tấn công này chiếm tới 75,7% các cuộc tấn công. Phân loại các kỹ thuật tấn công DDoS - Khuếch đại: Kỹ thuật tấn công này lợi dụng giao thức trao đổi gói tin yêu cầu/trả lời (request/response) và khả năng giả mạo địa chỉ nguồn trong mạng IP. Hàng loạt yêu cầu giả mạo địa chỉ nguồn bằng địa chỉ của nạn nhân được gửi tới các máy chủ đồng thời.
Giao thức trao đổi yêu cầu/trả lời có đặc tính lưu lượng yêu cầu nhỏ nhưng bản tin trả lời lớn sẽ gửi ồ ạt các bản tin trả lời tới máy nạn nhân cùng lúc làm cho lưu lượng tới máy nạn nhân tăng đột biến, gây quá tải. Các dịch vụ thường được lợi dụng cho tấn công dạng này bao gồm máy chủ DNS, NTP, IRC,… Ngoài ra, cơ chế trao đổi gói tin quảng bá, phản xạ trong hệ thống mạng cũng được lợi dụng như Smurf, Fraggle [33]. • Tấn công dựa vào lỗ hổng giao thức truyền thông mạng: Các lỗ hổng an ninh cố hữu của các giao thức mạng được lợi dụng để phát động tấn công theo dạng này như cơ chế bắt tay ba bước (gọi tắt là 3HS) trong giao thức TCP [39], giao thức ICMP,… Ví dụ đối với tấn công TCP SYN Flood [18], [40], theo giao thức TCP, khi nhận được một gói tin SYN, máy chủ (server) sẽ gửi gói tin trả lời SYN-ACK và dành ra một vùng nhớ TCB 128 KB để lưu trữ thông tin kết nối và chờ gói tin xác nhận CliACK từ máy khách (client) trong một khoảng thời gian (lên đến 75s) trước khi gửi gói tin trả lời SYN-ACK (Hình 1. Lợi dụng nguyên tắc này, kẻ tấn công huy động gửi ồ ạt các gói tin SYN tới máy chủ mà không gửi gói tin xác nhận CliACK dẫn đến máy chủ nhanh chóng bị cạn kiệt tài nguyên do dành hết bộ nhớ cho các TCB tương ứng với các kết nối dang dở (gọi tắt là HOC) và không thể phục vụ các kết nối lành tính khác (Hình 1.
Quá trình bắt tay ba bước trong kết nối TCP (a) và cơ chế tấn công TCP SYN Flood (b) Phân loại theo phương thức huy động nguồn tấn công Nguồn tấn công là yếu tố quan trọng trong tổ chức tấn công DDoS. Trong một đợt tấn công DDoS, kẻ tấn công thường huy động nguồn lực tấn công từ nhiều nguồn nhằm tạo ra lưu lượng tấn công lớn vượt quá khả năng phục vụ của hệ thống đồng thời che dấu được nơi phát lưu lượng tấn công. Các phương thức huy động nguồn tấn công bao gồm: • Giả mạo địa chỉ nguồn: Lợi dụng đặc điểm tự trị của mạng Internet trong đó không có cơ chế xác thực địa chỉ nguồn của gói tin IP, kẻ tấn công phát đi lưu lượng trong đó thay đổi địa chỉ IP nguồn của gói tin bằng các địa chỉ IP giả mạo một cách ngẫu nhiên làm cho máy chủ đích không thể biết nguồn phát sinh lưu lượng chính xác, khó phân biệt giữa lưu lượng lành tính và lưu lượng tấn công. • Sử dụng botnet: Botnet là một tập hợp gồm nhiều máy tính trên Internet bị lây nhiễm bởi các phần mềm độc hại (malware) mà nhờ đó, kẻ tấn công có thể điều khiển các máy tính này thực thi các kết nối tới các máy tính khác trên Internet theo mục đích riêng của chúng mà chủ sở hữu các máy tính này không hay biết [4].
Các máy tính trong botnet được gọi là các xác sống. Bằng các kỹ thuật phát tán virus, malware, kẻ tấn công tuyển mộ các xác sống trên Internet và huy động chúng phát sinh lưu lượng trong các đợt tấn công. Số lượng các xác sống trong một botnet có thể lên đến hàng triệu nên khi tổ chức tấn công, mặc dù lưu lượng tấn công của mỗi xác sống là rất nhỏ, chúng tạo nên tổng lưu lượng tấn công khổng lồ đủ làm tê liệt hệ thống mạng nạn nhân trong một khoảng thời gian ngắn cỡ vài phút. • Kết hợp sử dụng botnet và giả mạo địa chỉ nguồn: Ở phương thức này, các xác sống trong botnet phát đi lưu lượng tấn công với địa chỉ IP giả mạo nhằm vô hiệu hóa các phương pháp giảm thiểu tấn công thông thường như lọc địa chỉ IP.
Chính sự kết hợp phương thức huy động nguồn tấn công này làm cho việc phát hiện và phân loại lưu lượng tấn công, giảm thiểu tấn công DDoS trở nên khó khăn. Các giải pháp phòng chống DDoS dựa trên công nghệ mạng truyền thống Vị trí triển khai các giải pháp Do được huy động từ nhiều nguồn khác nhau nên lưu lượng tấn công DDoS có đặc điểm là nhỏ ở phía nguồn phát sinh và rất lớn ở phía mạng nạn nhân. Đặc điểm này dẫn đến một thực tế là tại nguồn phát sinh lưu lượng tấn công, việc áp dụng giải pháp ngăn chặn tấn công thì dễ nhưng lại khó phát hiện tấn công. Ngược lại tại mạng nạn nhân, việc phát hiện tấn công dễ hơn trong khi ngăn chặn và giảm thiểu tấn công rất khó thực hiện.
Do tính nguy hại của tấn công DDoS, trên thực tế, các giải pháp phòng chống DDoS dựa trên công nghệ mạng truyền thống được triển khai trên cả mạng nguồn phát sinh, mạng trung gian và hệ thống mạng đích.