Để thực hiện một cuộc tấn công từ chối dịch vụ hiệu quả, có thể vượt qua sự phòng chống của đối tượng bị tấn công, tin tặc thường tổ chức cuộc tấn công với sự tham gia đồng thời từ nhiều
Trang 1MỞ ĐẦU
1 Tính cấp thiết của đề tài
Tấn công từ chối dịch vụ (Denial of Service - DoS) là một dạng tấn công mạng nguy hiểm mà tin tặc thường sử dụng để làm gián đoạn hoạt động của một hệ thống thông tin Để thực hiện một cuộc tấn công từ chối dịch vụ hiệu quả, có thể vượt qua sự phòng chống của đối tượng bị tấn công, tin tặc thường tổ chức cuộc tấn công với sự tham gia đồng thời từ nhiều máy tính khác nhau; hình thức này thường được gọi là tấn công từ chối dịch vụ phân tán (Distributed Denial of Service -DDoS)
Trong thời gian vừa qua, với sự phát triển và ứng dụng rộng rãi công nghệ thông tin
và truyền thông, đặc biệt là trong giai đoạn bùng nổ công nghệ 4.0, ngành công nghệ thông tin và truyền thông đã mang lại nhiều lợi ích to lớn cho cơ quan, tổ chức trong các lĩnh vực chính trị, kinh tế, xã hội Tuy nhiên, bên cạnh những lợi ích to lớn ngành công nghệ thông tin và truyền thông mang lại thì việc này cũng kéo theo các nguy cơ mất an toàn thông tin mà các cơ quan, tổ chức phải đối mặt Một trong những nguy
cơ đó là các cuộc tấn công mạng, đặc biệt là tấn các cuộc tấn công DDoS Ảnh hưởng của một cuộc tấn công DDoS quy mô lớn có thể làm dừng hoạt động của hạ tầng mạng của một quốc gia, gây gián đoạn công tác chỉ đạo điều hành của Chính phủ, ngừng hoạt động của các hạ tầng trọng yếu (điện, nước, giao thông, tài chính…) làm ảnh hưởng nghiêm trọng đến trật tự an toàn xã hội, lợi ích công cộng, quốc phòng, an ninh
Từ đó, chúng ta có thể thấy rằng việc đưa ra các phương pháp phòng chống tấn công DDoS hiệu quả nhằm bảo đảm an toàn thông tin cho cơ quan, tổ chức trước các cuộc tấn công mạng là vấn đề quan trọng và cấp bách
Nguyên nhân dẫn tới những cuộc tấn công DDoS ngày càng trở nên nguy hiểm là việc số lượng các thiết bị đầu cuối, IoT kết nối mạng ngày càng nhiều trong thời kỳ công nghệ 4.0 Những điểm yếu an toàn ở các thiết bị này cho phép tin tặc có thể chiếm quyền điều khiển và huy động nó trở thành thành viên của mạng máy tính ma (botnet) Bằng cách này, tin tặc có thể xây dựng một mạng lưới botnet, tập hợp các máy tay sai, với kích thước lớn, từ đó phát động tấn công DDoS hết sức nguy hiểm Trên thực tế đã có nhiều công trình nghiên cứu liên quan đến phát hiện và phòng chống dạng tấn công DDoS, nhưng thực tế đều cho thấy dạng tấn công này vẫn hiệu quả Do đó, việc tiếp tục nghiên cứu và đề xuất ra các phương pháp phòng chống tấn công DDoS phù hợp và hiệu quả vẫn đang là vấn đề cần thiết và thách thức đối với các nhà nghiên cứu hiện nay
Trong quá trình công tác với thâm niên chuyên môn được tích lũy nhiều năm trong lĩnh vực này, NCS đã từng phải đối mặt trực tiếp với nhiều cuộc tấn công DDoS xảy
ra đối với hệ thống thông tin của cơ quan, tổ chức Qua quá trình thực tế đó, NCS đã thu thập được nhiều kinh nghiệm về phân tích và xử lý các cuộc tấn công DDoS Tuy nhiên, NCS tự nhận thấy rằng, phương án xử lý các cuộc tấn công đã thực hiện tại thời điểm đó chỉ là giải pháp tạm thời, mà không có một nền tảng hay phương pháp tổng thể để có thể giải quyết được các vấn đề cốt lõi của vấn đề một cách khoa học và hiệu quả
Niềm đam mê về chuyên môn nghiệp vụ và nghiên cứu khoa học đã thôi thúc tác giả trở thành nghiên cứu sinh tại trường Đại học Bách Khoa Hà Nội, với đề tài nghiên
Trang 2cứu chuyên sâu: “Phát hiện và phòng chống một số dạng tấn công từ chối dịch vụ phân tán”
Kết quả nghiên cứu được trình bày trong luận án này do NCS thực hiện dưới sự hướng dẫn của tập thể hướng dẫn Sau đây, để thuận tiện cho việc trình bày luận án, tác giả (“tôi”) sẽ đại diện nhóm nghiên cứu trình bày các nội dung nghiên cứu của luận án
2 Đối tượng nghiên cứu và phương pháp nghiên cứu
Đối tượng nghiên cứu của luận án là phương pháp phát hiện và phòng chống một số dạng tấn công DDoS Trong đó, luận án tập trung vào 03 nhóm vấn đề:
Tổng quan về tấn công và phòng chống tấn công DDoS;
Phát hiện và phòng chống tấn công TCP Syn Flood (dạng tấn công gửi tràn ngập gói tin khởi tạo kết nối giả mạo địa chỉ IP nguồn, xảy ra ở lớp mạng);
Phát hiện và phòng chống tấn công Web App-DDoS (dạng tấn công DDoS vào ứng dụng Web, xảy ra ở lớp ứng dụng)
NCS tập trung vào hai dạng tấn công này là vì đây là những dạng tấn công đang xảy
ra phổ biến và được coi là thực sự nguy hiểm
Các phương pháp phát hiện và phòng chống hai dạng tấn công TCP Syn Flood và Web App-DDoS được đề xuất ở trên là các phương pháp được triển khai ở phía gần máy chủ bị tấn công Lý do đề xuất là vì: Đối tượng bị tấn công DDoS của tin tặc có thể là hạ tầng mạng hoặc máy chủ Trường hợp, đối tượng bị tấn công DDoS là hạ tầng mạng, thì tin tặc có thể sử dụng hình thức tấn công Volumetric (hình thức tấn công làm cạn kiệt băng thông kết nối Internet của đối tượng cần bảo vệ với các ISP) Đối với dạng tấn công này, thì phương pháp chặn lọc hiệu quả chỉ có thể thực hiện ở
hệ thống của các ISP Thêm nữa, để thực hiện hình thức tấn công Volumetric hiệu quả, tin tặc cũng phải sử dụng nguồn tài nguyên rất lớn (cần một mạng botnet đủ lớn)
để thực hiện tấn công Trường hợp, đối tượng bị tấn công DDoS là máy chủ, thì tin tặc có thể sử dụng hình thức tấn công DDoS dạng làm cạn kiệt tài nguyên trên máy chủ
Trên thực tế, đối tượng tấn công là máy chủ xảy ra thường xuyên và phổ biến hơn, bởi vì các máy chủ là lộ mặt trực tiếp ngoài Internet nên đối tượng tấn công dễ xác định hơn và tin tặc cũng không cần tài nguyên quá lớn mà vẫn có thể làm đối bị tấn công rơi vào trạng thái từ chối dịch vụ
Khi đối tượng tấn công là máy chủ thì phương pháp phòng chống được triển khai phía gần đích là phù hợp và hiệu quả hơn Khi đó, nếu phương pháp chặn lọc hiệu quả, băng thông kết nối Internet vẫn còn thì máy chủ vẫn có thể cung cấp dịch vụ mà không bị rơi vào trạng thái từ chối dịch vụ
Tin tặc thường sử dụng hai dạng tấn công TCP Syn Flood và Web App-DDoS để tấn công các Server Hai dạng tấn công này thường được thực hiện trên cơ sở khai thác điểm yếu của giao thức hay nguyên lý hoạt động của giao thức mà máy chủ sử dụng
Về phương pháp nghiên cứu, NCS kết hợp giữa lý thuyết, kinh nghiệm và những quan sát thực tế để tìm ra các vấn đề cần phải giải quyết Trên cơ sở đó, NCS đề xuất phương pháp phù hợp để giải quyết các vấn đề đặt ra
Trang 33 Nội dung nghiên cứu
NCS đã thực hiện một quá trình nghiên cứu liên quan đến phát hiện và phòng chống tấn công DDoS kể từ trước và trong quá trình làm NCS tại trường Đại học Bách Khoa Hà Nội
Trong quá trình công tác tại Cục An toàn thông tin - Bộ Thông tin và Truyền thông, NCS đã trực tiếp hỗ trợ cơ quan trong tổ chức xử lý, giảm thiểu các cuộc tấn công DDoS quy mô lớn Trải qua nhiều kinh nghiệm thực tế, NCS thấy rằng hai dạng tấn công TCP Syn Flood và Web App-DDoS là hai dạng tấn công phổ biến Các cuộc tấn công DDoS thuộc hai dạng này đều gây thiệt hại nghiêm trọng cho các cơ quan, tổ chức khi bị tấn công, mặc dù họ đã được trang bị và triển khai các biện pháp phòng chống nhất định Sau mỗi lần hỗ trợ cơ quan, tổ chức xử lý tấn công DDoS, NCS có được kinh nghiệm về các đặc trưng riêng của mỗi đợt tấn công và tại thời điểm đó NCS cũng đưa ra các biện pháp thủ công để xử lý tạm thời Tuy nhiên, NCS tự nhận thấy rằng kinh nghiệm có được còn rất hạn chế và luôn bị động khi phải đối mặt với những cuộc tấn công DDoS mới Từ đó, NCS thấy rằng cần tập trung và tiếp tục nghiên cứu để có những kiến thức chuyên sâu hơn về tấn công DDoS nói chung và với hai dạng tấn công đã đề cập ở trên
Khi làm NCS tại Viện Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội, được
sự hướng dẫn của tập thể hướng dẫn, NCS có cơ hội nghiên cứu chuyên sâu về tấn công, phát hiện và phòng chống DDoS một cách tổng thể, có khoa học
Trong những năm đầu tiên của quá trình nghiên cứu, NCS tập trung nghiên cứu tổng quan về các dạng tấn công, các đặc trưng của mỗi dạng tấn công, những khó khăn, thách thức trong việc phòng chống mỗi dạng tấn công và các phương pháp phòng chống
Sau khi có được những kiến thức mang tính nền tảng, NCS tập trung nghiên cứu, đề xuất được các phương pháp cụ thể để giải quyết các bài toán đặt ra như sau:
Bài toán thứ nhất về phát hiện và phòng chống tấn công TCP Syn Flood Bài toán này, NCS đã đề xuất các phương pháp cụ thể dựa trên một phát hiện mối liên hệ giữa các gói tin IP khi được gửi ra từ cùng một máy tính Dựa vào kinh nghiệm chuyên môn và quan sát thực tế, NCS quan sát thấy rằng các gói tin được gửi ra ngoài từ một máy tính thì có giá trị trường Identification (PID) tăng liên tục cách nhau một đơn vị (sở cứ cho phát hiện này, được luận án trình bày chi tiết ở các phần sau) Tuy nhiên, việc phát hiện các gói tin có giá PID tăng liên tiếp ở phía máy chủ bị tấn công không
hề đơn giản Bởi vì, mỗi máy tính khi tham gia tấn công DDoS đều chạy song song nhiều ứng dụng với các kết nối mạng khác nhau, có nghĩa là các gói tin gửi ra khỏi máy tính sẽ đi nhiều hướng khác nhau mà không phải chỉ mỗi hướng đến máy chủ bị tấn công Do đó, từ phía máy chủ bị tấn công, chúng ta chỉ thu được các gói tin có giá trị PID tăng liên tục, ngắt quãng
Bên cạnh đó, khi tấn công TCP Syn Flood xảy ra thì ở phía máy chủ sẽ nhận được số lượng rất lớn các gói tin SYN Do đó, việc xử lý các gói tin SYN này như thế nào thật nhanh, để máy chủ giảm thiểu thời gian rơi vào trạng thái từ chối dịch vụ, cũng là một vấn đề lớn khác đặt ra đối với các phương pháp mà chúng tôi đề xuất
Để giải quyết hai vấn đề đặt ra đối với bài toán thứ nhất, NCS đề đề xuất 02 giải pháp [108, 110] trên cơ sở giả thuyết là trường thông tin PID của các gói tin không bị giả mạo Giải pháp thứ nhất [108], NCS sử dụng thuật toán DBSCAN để nhóm các gói
Trang 4tin SYN có giá trị PID tăng liên tiếp vào từng nhóm Trong mỗi nhóm đó, chúng tôi xác định một giá trị PID của gói tin giả mạo tiếp theo sẽ gửi đến hệ thống
Điểm hạn chế của giải pháp sử dụng thuật toán DBSCAN là phải cần một khoảng thời gian ban đầu nhất định cho việc thu thập các gói tin SYN đầu tiên, làm thông tin đầu vào cho thuật toán DBSCAN để xác định dấu hiệu của các gói tin giả mạo tiếp theo gửi đến Trong thời gian này, máy chủ bị tấn công vẫn phải hứng chịu các gói tin tấn công gửi đến Thêm nữa, phương pháp này cũng yêu cầu phải cập nhật liên tục trạng thái các nhóm của thuật toán DBSCAN khi có gói tin hay nhóm mới được tạo
ra Điều này làm ảnh hưởng lớn đến tốc độ xử lý chung của cả phương pháp
Để giải quyết các hạn chế của phương pháp thứ nhất, NCS đề xuất giải pháp thứ hai [110] cho phép phát hiện và loại bỏ ngay các gói tin SYN tấn công đầu tiên gửi đến
mà không cần khoảng thời gian xử lý lúc đầu như phương pháp thứ nhất Giải pháp này lưu trữ các giá trị PID trong các bảng dữ liệu có cấu trúc kết hợp với một phương pháp tìm kiếm nhanh các giá trị PID tăng liên tiếp thay vì sử dụng thuật toán DBSCAN
Trong nghiên cứu [110], tuy giải pháp đề xuất cho phép phát hiện và loại bỏ nhanh các gói tin giả mạo gửi đến nhưng việc lưu trữ và truy vấn các thông tin về địa chỉ IP
và giá trị PID mới được lưu trữ trong các bảng dữ liệu với phương pháp tìm kiếm đơn giản Việc này dẫn tới giảm tốc độ xử lý chung của phương pháp đề xuất khi số lượng các gói tin gửi đến hệ thống là rất lớn Để tiếp tục tăng tốc độ xử lý của giải pháp PIDAD2, NCS đề xuất giải pháp lưu trữ và tìm kiếm nhanh thông tin PID, IP nguồn
sử dụng thuật toán Bloom Filter [117] Sau khi bảo vệ cơ sở, nghiên cứu này [116] đã được chấp nhận trình bày tại Hội nghị ACDT 2018
Các giải pháp mà NCS đã xuất ở trên mới chỉ tập trung vào việc phát hiện và loại bỏ các gói tin giả mạo trong quá trình phòng chống mà chưa đề cập đến việc phát hiện tấn công như thế nào Thêm nữa, việc xác thực các IP nguồn để cho phép các IP nguồn thực được kết nối với máy chủ khi tấn công đang xảy ra cũng là một vấn đề quan trọng trong bài toán tổng thể về phát hiện và phòng chống tấn công TCP Syn Flood Do đó, NCS đã đề xuất một mô hình tổng thể về phương pháp phát hiện tấn công TCP Syn Flood và cơ chế xác thực IP nguồn tại nghiên cứu [109]
Cả hai giải pháp đề xuất ở trên dựa trên giả thuyết là ở phía máy chủ bị tấn công, chúng ta có thể nhận được tối thiểu 03 gói tin có giá trị PID tăng liên tiếp Tuy nhiên, trong thực tế sẽ có nhiều trường hợp ở phía máy chủ bị tấn công, chúng ta chỉ nhận được từ 01 đến 02 gói tin giả mạo Khi đó, hai giải pháp [108, 110] sẽ bỏ sót các gói tin giả mạo này Đây là vấn đề tiếp theo mà NCS cần phải tiếp tục giải quyết
Để giải quyết vấn đề này, NCS sẽ tiếp tục nghiên cứu một giải pháp mới dựa trên nghiên cứu chúng tôi đã đề xuất trước đây [98] Giải pháp này, NCS dự kiến sẽ sử dụng thuật toán DBSCAN một cách hoàn toàn khác với giá trị epsilon và minpts có giá trị độc lập cho mỗi nhóm trong thuật toán DBSCAN Cặp giá trị này của mỗi Cluster là tham số để xác định các gói tin giả mạo tiếp theo nhận được vào từng Cluster
Bài toán thứ hai mà NCS phải giải quyết là phát hiện và phòng chống tấn công Web App-DDoS Trong thực tế, tin tặc cũng có thể sử dụng tấn công TCP Syn Flood để tấn công ứng dụng Web Tuy nhiên, tin tặc thường sử dụng tấn DDoS ở lớp ứng dụng
để thực hiện tấn công Web App-DDoS với mức độ tinh vi và nguy hiểm hơn dạng tấn
Trang 5công TCP Syn Flood Thêm nữa, việc phát hiện và phòng chống tấn công Web DDoS có những đặc trưng và thách thức riêng
App-Để giải quyết bài toán thứ hai, NCS đề xuất phương pháp phát hiện nhanh các nguồn gửi yêu cầu tấn công Web App-DDoS ngay khi tấn công xảy ra trong nghiên cứu [111] Đề xuất này cũng đưa ra một mô hình mở cho phép kết hợp, bổ sung nhiều tiêu chí khác nhau để phát hiện và xác định nguồn gửi yêu cầu tấn công Trong đó, có tiêu chí cho phép phát hiện ngay ra các nguồn gửi yêu cầu tấn công mà không phải trải qua quá trình máy học/huấn luyện như các phương pháp khác
Trong nghiên cứu [111], NCS sử dụng 02 tiêu chí (tiêu chí về tần suất truy cập và tiêu chí về tương quan giữa các yêu cầu gửi đến máy chủ) để xác định các nguồn gửi yêu cầu tấn công Tuy nhiên, trong nghiên cứu này, các tiêu chí NCS đưa ra và thực hiện ở mức độ rất cơ bản để đánh giá mô hình và phương pháp đề xuất
Trong quá trình hoàn thiện luận án và sau khi luận án được Hội đồng đánh giá cấp cơ
sở thông qua, NCS tiếp tục đi sâu nghiên cứu, đề xuất giải pháp cụ thể hơn cho 02 tiêu chí chúng tôi đã sử dụng trong nghiên cứu [111] Cụ thể:
Đối với tiêu chí về tần suất truy nhập, NCS đề xuất giải pháp cho phép tìm ra tần suất truy cập từ các IP nguồn gửi yêu cầu theo thời gian thực Giải pháp đề xuất cần rất ít tài nguyên để lưu trữ và xử lý Tần suất xác định được sẽ là dữ liệu đầu vào cho thuật toán của tiêu chí về tần suất Bên cạnh đó, trong nghiên cứu này NCS cũng đề xuất một giải pháp mới để xác định các nguồn gửi yêu cầu tấn công thay cho phương pháp
sử dụng DBSCAN trong nghiên cứu [111] Kết quả nghiên cứu được chúng tôi gửi đăng tại Hội nghị IEEE RIVF 2019
Đối với tiêu chí về mối quan hệ tương quan giữa các yêu cầu gửi đến máy chủ từ một nguồn, NCS đưa ra giải pháp để thiết lập tập các yêu cầu tương quan trong quá trình huấn luyện (training) Tập các yêu cầu tương quan được thiết lập dựa trên các điều kiện để bảo đảm rằng tập các yêu cầu này là sạch và tin tặc rất khó để có thể đưa các yêu cầu sai lệch vào tập dữ liệu này trong quá trình huấn luyện Kết quả nghiên cứu được chúng tôi gửi đăng tại Tạp chí Khoa học và Công nghệ
Đánh giá thực nghiệm các phương pháp đề xuất cũng là một vấn đề lớn đặt ra đối với tôi Qua việc nghiên cứu các công trình liên quan, NCS thấy rằng các công trình này không sử dụng chung tập dữ liệu kiểm thử để đánh giá thực nghiệm Phần lớn các tác giả đều tự xây dựng mô hình và dữ liệu kiểm thử riêng để phục vụ việc đánh giá hiệu quả phương pháp họ đề xuất Do đó, tương tự với cách làm của các tác giả, trong nghiên cứu này, NCS xây dựng một hệ thống trên môi trường ảo hóa để tạo ra tập dữ liệu kiểm thử Mô hình bao gồm C&C máy chủ và một mạng botnet được điều khiển bởi máy chủ đó Tập dữ liệu kiểm thử được sử dụng để đánh giá hiệu quả của các phương pháp chúng tôi đề xuất và so sánh với các phương pháp khác trên cùng tập dữ liệu được tạo ra
4 Ý nghĩa khoa học và ý nghĩa thực tiễn của Luận án
Ý nghĩa khoa học:
Đóng góp thêm 05 công trình nghiên cứu (ngoài 05 công trình đã đăng, NCS đã tham gia viết và chuẩn bị gửi đăng thêm 02 công trình nghiên cứu đến Hội nghị IEEE RIVF 2019 và Tạp chí Khoa học và Công nghệ Các Trường Đại Học Kỹ Thuật)
Trang 6Đối với cộng đồng nghiên cứu khoa học, kết quả của luận án sẽ cung cấp thêm nguồn tài liệu tham khảo hữu ích, phục vụ việc nghiên cứu và đề xuất các phương pháp phòng chống tấn công DDoS
Các hướng nghiên cứu tập trung vào phòng chống 2 dạng tấn công điển hình, phổ biến và nguy hiểm Các nghiên cứu này đều có tính mở cao, cho phép tiếp tục mở rộng để làm tăng hiệu quả, mức độ chính xác trong việc phát hiện và phòng chống tấn công DDoS
Ý nghĩa thực tiễn:
Kết quả nghiên cứu của luận án cũng đã đóng góp vào hai đề tài nghiên cứu khoa học: (1) Đề tài nghiên cứu khoa học cấp Bộ, mã số B2016-BKA-06 về “Xây dựng hệ thống xử lý tấn công từ chối dịch vụ và mạng botnet”; (2) Đề tài nghiên cứu khoa học cấp quốc gia mã số KC.01.05/16-20 về “Nghiên cứu, phát triển hệ thống phân tích vết truy cập dịch vụ cho phép phát hiện, cảnh báo hành vi bất thường và nguy cơ mất an toàn thông tin trong Chính phủ điện tử”
Xây dựng được một hệ thống phòng chống tấn công DDoS thực sự và đang được triển khai thử nghiệm tại trường Đại học Bách Khoa Hà Nội
Xây dựng được một mạng botnet trên môi trưởng ảo hóa cho phép thực hiện nhiều hình thức tấn công DDoS khác nhau để tạo ra các dữ liệu kiểm thử cho các nghiên cứu khác nhau
5 Điểm mới của Luận án
- Đề xuất phương pháp mới trong việc phát hiện và loại bỏ các gói tin giả mạo trong tấn công TCP SYN Flood (tấn công tràn ngập gói tin TCP SYN)
- Đề xuất mô hình khung phòng chống tấn công DDoS-Web , có tính mở, cho phép kết hợp nhiều tiêu chí phát hiện để làm tăng hiệu quả, mức độ chính xác trong việc phát hiện và phòng chống tấn công
- Xây dựng 02 tiêu chí phát hiện nhanh cho phép loại bỏ tức thời các nguồn gửi yêu cầu khả nghi tấn công và xác minh các nguồn gửi yêu cầu bình thường trong tấn công DDoS-Web Các thuật toán đề xuất trên cơ sở sử dụng các tiêu chí này cho phép sử dụng tức thời vào chống tấn công (không cần thời gian chuẩn bị, huấn luyện dữ liệu),
xử lý lọc bỏ nhanh và cần ít tài nguyên lưu trữ
- Xây dựng hệ thống mô phỏng và dữ liệu phục vụ kiểm thử cho hai dạng tấn công có đặc trưng riêng là TCP SYN Flood và tấn công DDoS-Web trên môi trường ảo hóa
CHƯƠNG I TỔNG QUAN VỀ TẤN CÔNG DDOS VÀ PHƯƠNG PHÁP
PHÒNG CHỐNG
Trong chương 1, luận án đưa ra các nội dung tổng quan về tấn công và phòng chống tấn công DDoS Nội dung nghiên cứu trong chương này là cơ sở cho nghiên cứu, đề xuất các phương pháp cụ thể đối với hai dạng tấn công TCP SYn Flood và Web App-DDoS được đề trình bày tại chương 2 và chương 3 Những nội dung chính tôi đã trình bày trong chương này bao gồm:
▪ Tổng quan về tấn công từ chối dịch vụ phân tán DDoS;
▪ Các dạng tấn công DDoS phổ biến;
▪ Các công cụ tấn công DDoS phổ biến;
Trang 7▪ Những thách thức trong việc phát hiện và phòng chống tấn công DDoS;
▪ Tổng quan về các phương pháp phòng chống tấn công DDoS;
▪ Nghiên cứu về tiêu chí đánh giá hiệu quả các phương pháp đề xuất;
▪ Nghiên cứu khảo sát đánh giá thực nghiệm phương pháp phòng chống tấn công DDoS
Thông qua các nội dung nghiên cứu liên quan đến tấn công từ chối dịch vụ phân tán DDoS, Các dạng tấn công và Các công cụ tấn công DDoS phổ biến tôi thấy được những thách thức trong việc phát hiện và phòng chống tấn công DDoS làm cơ sở để
đề xuất các phương pháp phòng chống phù hợp Thông qua việc phân tích ưu, nhược điểm của các phương pháp, tôi có cơ sở đề xuất các phương pháp phòng chống hai dạng tấn công TCP Syn Flood và Web App-DDoS theo phương pháp triển khai ở phía gần đích
Để lựa chọn được tiêu chí đánh giá các phương pháp được đề xuất, tôi cũng nghiên cứu, rà soát các tiêu chí mà các tác giả đã sử dụng để đánh giá phương pháp của họ Trên cơ sở tham khảo kinh nghiệm của các tác giả, tôi lựa chọn đưa ra 04 tiêu chí để đánh giá giải pháp đề xuất của mình
Để có cơ sở đánh giá thực nghiệm, tôi cũng khảo sát kinh nghiệm của các tác giả có các công trình nghiên cứu liên quan để từ đó đề xuất mô hình và phương pháp đánh giá hiệu quả của các phương pháp do tôi đề xuất
CHƯƠNG II PHÓNG CHỐNG TẤN CÔNG TCP SYN FLOOD
Trong chương 2, luận án đã đưa ra những nội dung nghiên cứu chính như sau:
2.1 Giới thiệu bài toán
2.1.1 Tổng quan về nội dung nghiên cứu trong chương 2
Trong chương này, tôi đi sâu vào giải quyết bài toán thứ nhất đặt ra là phát hiện và phòng chống tấn công TCP Syn Flood Dạng tấn công này là một trong những dạng tấn công phổ biến và khó phòng chống nhất ở lớp mạng Bởi vì, với dạng tấn công này, tin tặc thường giả mạo ngẫu nhiên địa chỉ IP nguồn, trong khi các trường thông tin khác của gói tin hoàn toàn như các gói tin bình thường làm máy chủ bị tấn công không có cách nào phát hiện gói tin giả mạo nếu xử lý riêng rẽ từng gói tin
Mục tiêu của các phương pháp đề xuất là làm tăng cường tối đa khả năng phòng chống và chịu đựng tấn công TCP Syn Flood và giảm thiểu khả năng rơi vào trạng thái từ chối dịch vụ của hệ thống cần bảo vệ Do đó, vấn đề mà các phương pháp cần phải giải quyết ngoài việc tìm ra các gói tin giả mạo thì còn phải có cơ chế xử lý loại
bỏ thật nhanh các gói tin giả mạo này
Phương pháp mà tôi đề xuất xuất phát từ việc đi tìm các mối liên hệ giữa các gói tin
IP khi chúng được gửi đi từ cùng một máy tính
Tuy nhiên việc khai thác tính chất tăng liên tiếp của trường PID để phát hiện dòng thác SYN tấn công không hề đơn giản: ta sẽ không hề thấy có dãy PID tăng liên tục này khi quan sát ở máy nạn nhân (máy bị tấn công)
Nguyên do là vì: mỗi máy tính tham gia tấn công thường là một máy tay sai (của một botnet nào đó) đều phải tham gia nhiều hoạt động giao dịch mạng khác nhau, có thể
Trang 8mở nhiều liên kết TCP đồng thời thông qua nhiều tiến trình song song, trong đó chỉ
có 1 là với máy chủ nạn nhân Cơ chế phát sinh PID sẽ hoạt động dạng round robin lần lượt sinh PID cho nhiều tiến trình song song này Do đó, từ phía máy chủ bị tấn công, chúng ta thường chỉ thu được các gói tin có giá trị PID tăng liên tục trên một đoạn ngắn và ngắt quãng (tức là thành các chùm PID liên tục độ dài 2,3 hay 4 …) Mặc dù vậy chúng tôi vẫn coi đây là dấu hiệu đủ tốt để phát hiện tấn công
Tất nhiên giải pháp phát hiện và phòng chống TCP SYN Flood chúng tôi đề xuất cần dựa trên một giả định quan trong: các máy tay sai tham gia tấn công, toàn bộ hoặc phần lớn, đều có hệ điều hành “sạch”, giữ vững cơ chế sinh PID tăng liên tiếp nói trên Cần nói rõ là hầu hết các phương pháp chống tấn công TCP SYN Flood đều phải dựa trên một giả định nào đó và giả định cơ sở của chúng tôi cũng như các giả định đã được sử dụng kia đều có những cơ sở thực tế vững chắc, tức là mặc dù có thể
bị vi phạm nhưng qui mô vi phạm sẽ tương đối nhỏ (hoặc để thực hiện qui mô lớn là điều khó không tưởng) Chúng tôi sẽ phân tích kỹ hơn ở phần sau
Dựa trên ý tưởng này, hai giải pháp đã được nhóm nghiên cứu đề xuất cho phép phát hiện và loại bỏ các gói tin giả mạo trong tấn công TCP Syn Flood [108,110]
Trong giải pháp PIDAD1 [108], tôi sử dụng thuật toán DBSCAN để nhóm các gói tin giả mạo vào từng Cluster Mỗi Cluster sẽ giúp xác định được một giá trị PID của gói tin giả mạo tiếp theo gửi đến Giải pháp này có điểm hạn chế là cần khoảng thời gian chuẩn bị nhất định khi tấn công bắt đầu xảy ra để thu thập các gói tin giả mạo đầu tiên, được sử dụng làm dữ liệu đầu vào cho thuật toán DBSCAN Do đó, trong khoảng thời gian này máy chủ vẫn phải hứng chịu các gói tin tấn công giả mạo Thêm nữa thuật toán DBSCAN có độ phức tạp nhất định và chưa thực sự đem lại hiệu năng phù hợp cho việc phát nhanh các gói tin giả mạo
Ở nghiên cứu tiếp theo [110] tôi đề xuất giải pháp PIDAD2 để giải quyết những hạn chế của giải pháp PIDAD1 Giải pháp này cho phép phát hiện nhanh các gói tin giả mạo đầu tiên gửi đến, thông qua cơ chế lưu trữ dữ liệu có cấu trúc và sử dụng thuật toán tìm kiếm nhanh
Để tiếp tục tăng tốc độ xử lý của PIDAD2, tôi đề xuất phương án lưu trữ và tìm kiếm nhanh thông tin PID, IP nguồn sử dụng thuật toán Bloom Filter [117] Nghiên cứu này đã được chấp nhận đăng tại Hội nghị ACDT 2018 [116]
Mô hình, phương pháp phát hiện tấn công TCP Syn Flood và cơ chế xác thực địa chỉ
IP nguồn được tôi đề xuất trong nghiên cứu [109] Trong đề xuất này, tôi đưa ra phương pháp pháp hiện khi nào tấn công xảy ra và cơ chế xác thực các IP sạch để cho phép kết nối nhanh vào hệ thống khi tấn công xảy ra
Để có cơ sở đánh giá hiệu quả phương pháp đề xuất và so sánh với các phương pháp khác, tôi cũng đã xây dựng một hệ môi trường thực nghiệm và tạo ra dữ liệu kiểm thử tương tự như các tác giả khác đã thực hiện đối với các đề xuất của họ
2.1.2 Phạm vi của bài toán
Phương pháp chung của các giải pháp phòng chống tấn công TCP Syn Flood tôi đề xuất dựa trên giả định rằng: Mặc dù tin tặc thực hiện tấn công TCP Syn Flood có khả năng cao là sinh giả mạo địa chỉ IP nguồn và (có thể các trường thông tin khác) để che giấu nguồn gốc, nhưng trường PID của gói tin IP là giá trị được phát sinh tự động tăng liên tục mặc định theo nguyên lý chung của các hệ điều hành Nói cách khác phương pháp đề xuất dựa trên giả định là hầu hết các máy tấn công là máy tay
Trang 9sai (cũng là một dạng nạn nhân “ngây thơ” bị khai thác) và vẫn có các tầng thấp của
hệ điều hành là sạch (có thể có bị lây nhiễm mã độc nhưng chỉ ở các tầng cao hơn) Tất nhiên thay đổi giả mạo trường thông tin PID có thể thực hiện được, nếu tin tặc có thể chiếm được quyền cao nhất của máy tính nạn nhân (và do đó can thiệp sâu các tầng bên dưới của hệ điều hành) Tuy nhiên, để có thể xây dựng một đội quân tay sai
cỡ lớn đều có thể can thiệp giả mạo PID thì tin tặc phải có khả năng chiếm quyền điều khiển của cả đội quân đông đảo máy tính tay sai này Việc này là rất khó thực hiện khi các hãng cung cấp sản phẩm luôn cập nhật bản vá lỗ hổng và phần mềm phòng chống mã độc ngày càng tinh vi, hiệu quả hơn
Cũng cần nói thêm, việc giả mạo địa chỉ IP nguồn thì dễ dàng thực hiện hơn nhiều, bởi vì bản thân giao thức IP cũng cho phép thay đổi IP nguồn hoặc đích khi gói tin đi
từ nguồn đến đích Trường hợp điển hình là các gói tin đi từ mạng Private ra ngoài Internet thì phải chuyển đổi địa chỉ IP nguồn thành địa chỉ Public thông qua giao thức NAT Việc thay đổi IP nguồn cũng dễ dàng thực hiện bởi các ngôn ngữ lập trình như
C, C++, C# hay Java đều cung cấp các API để cho phép người lập trình đưa giá trị IP nguồn vào
Tóm lại giả định cơ sở của phương pháp chúng tôi đề xuất chính là cho rằng hầu hết đội quân máy tay sai trong tấn công botnet mới chỉ tin tặc lợi dụng do sơ suất chứ chưa thực sự bị lũng đoạn điều khiển hoàn toàn Đây có thể coi là một hạn chế của phương pháp đề xuất nhưng cũng có thể coi là một thực tế phổ biến đang diễn ra Bên cạnh đó, một số nghiên cứu khác trong phòng chống tấn công TCP Syn Flood như phương pháp Path Identifier [36], IP Traceback [30] hay Hop-count filtering [35] đều cần phải dựa trên những giả thuyết hay giải định nhất định
Các phương pháp [30, 36] dựa trên giả định là đường đi từ nguồn đến đích của một gói tin IP là duy nhất Tuy nhiên, trên thực tế thì luôn tồn tại nhiều đường đi từ nguồn đến đích khác nhau khi gói tin đi qua mạng Internet Đường đi từ nguồn đến đích của gói tin là do các Router trên Internet quyết định dựa vào thước đo metric Metric các Router sử dụng là số hiệu mạng AS qua giao thức định tuyến BGP Nếu số lượng số hiệu mạng bằng nhau thì gói tin sẽ đồng thời sử dụng hai đường đi để cân bằng tải Tuy nhiên, số Router trong mỗi AS là khác nhau dẫn tới số hop-count sẽ khác nhau Điều này làm ảnh hưởng lớn đến hiệu quả của hai phương pháp trên, nếu không đưa
ra giả thuyết đường đi duy nhất
Một ví dụ khác nữa, trong phương pháp [35] việc phát hiện gói tin giả mạo là dựa vào giả định là thông tin hop-count có thể tính được nhờ giá trị trường TTL sẽ giảm đi một đơn vị khi qua mỗi Router dọc đường Tuy nhiên, nếu tin tặc có thể giả mạo trường TTL và học trước khoảng cách từ nguồn tấn công đến máy nạn nhân để giả mạo trường TTL cho phù hợp thì phương pháp này cũng không xử lý chính xác được nữa
2.2 Tổng quan về dạng tấn công TCP Syn Flood
Dạng tấn công TCP Syn Flood là dạng tấn công DDoS mà tin tặc gửi tràn ngập gói tin SYN đến đích bị tấn công [91] Dạng tấn công này được cho là một trong những dạng tấn công khó phòng chống nhất vì địa chỉ IP nguồn của gói tin tấn công được giả mạo ngẫu nhiên, trong khi các trường thông tin khác hoàn toàn như gói tin bình thường Do đó, máy chủ nạn nhân khó có thể phân biệt được gói tin nào là gói tin giả mạo khi quan sát riêng rẽ từng gói tin
Trang 10Tin tặc thực hiện tấn công TCP Syn Flood thông qua việc khai thác điểm yếu của giao thức giao vận TCP trong quá trình bắt tay ba bước (3-way handshake sub-protocol)
Các gói tin giả mạo được tạo ra với các trường thông tin giống như của gói tin thông thường, nhưng với địa chỉ IP nguồn giả mạo (sinh ngẫu nhiên) Nếu không có cơ chế theo dõi đặc biệt, máy chủ không thể phân biệt được gói tin nào là gói tin thực hay
▪ Chức năng xây dựng danh sách các địa chỉ IP sạch IP white-list;
▪ Chức năng phát hiện tấn công TCP Syn Flood;
▪ Chức năng phát hiện và loại bỏ gói tin giả mạo;
▪ Chức năng xác thực địa chỉ IP nguồn
TCP Syn Flood
Defence Module
Web App-DDoS Defence Module Black-List White-List
User
DDosDefence
Auth-IF
2.3.2 Nguyên lý hoạt động cơ bản
Khi hệ thống hoạt động ở trạng thái bình thường (không bị tấn công), hệ thống DDoS-Defence sẽ theo dõi thụ động kết nối mạng để xây dựng danh sách các địa chỉ
IP nguồn thường xuyên kết nối vào hệ thống (IP white-list) Danh sách IP white-list được xây dựng dựa vào các tiêu chí khác nhau để đảm bảo không để tin tặc không thể đưa các địa chỉ IP độc hại vào danh sách này (chi tiết được trình bày trong mục 3.5.5) Khi có tấn công xảy ra, danh sách IP white-list sẽ được gửi đến các thiết bị mạng để cho phép IP trong danh sách này được ưu tiên kết nối vào hệ thống cần bảo
vệ Các IP không nằm trong IP white-list sẽ phải xác minh tính hợp lệ, trước khi cho kết nối vào hệ thống thông qua cơ chế xác minh địa chỉ IP nguồn Khi đó, hệ thống DDoS-Defence sẽ đại diện máy chủ đang bị tấn công, gửi gói tin SYN, ACK về IP nguồn để xác minh Nếu hệ thống DDoS-Defence nhận được gói tin ACK từ IP nguồn đó thì IP đó sẽ được đưa vào danh sách IP white-list (chi tiết tại mục 2.5.4)
Trang 11Khi phát hiện tấn công DDoS xảy ra (tần suất gửi các gói tin TCP Reset vượt quá ngưỡng) thì chức năng phát hiện và loại bỏ gói tin giả mạo sẽ được kích hoạt để chặn các gói tin tấn công gửi đến hệ thống cần bảo vệ
2.4 Phát hiện tấn công TCP Syn Flood
Việc phát hiện sớm cuộc tấn công DDoS Syn Flood là rất quan trọng trong việc xử lý
và giảm thiểu ảnh hưởng của cuộc tấn công đối với hệ thống Đối với các phương pháp sử dụng threshold để phát hiện tấn công DDoS thường gây ra các cảnh báo sai hoặc không phát hiện ra Điểm hạn chế của phương pháp sử dụng threshold là tin tặc
có thể thay đổi lưu lượng tấn công về số lượng, tần suất để tránh khỏi sự phát hiện của hệ thống, do không có cơ chế thay đổi giá trị threshold một cách tự động phù hợp
để mô tả hoạt động thực tế của hệ thống mạng được bảo vệ khi có sự thay đổi Do đó, trong nghiên cứu này, tôi đề xuất một phương pháp cho phép theo dõi và tự động cập nhật giá trị threshold khi số lượng và tần suất truy nhập trên hệ thống thay đổi
Cơ chế của phương pháp đề xuất là định kỳ theo dõi tần số xuất hiện các gói tin TCP
có cờ (flag) được thiết lập là Reset Lý do theo dõi các gói tin TCP có flag là Reset là
vì theo nguyên lý hoạt động của giao thức TCP, khi máy chủ nhận được gói tin SYN giả mạo thì máy chủ sẽ gửi trả lại gói tin ACK tới địa chỉ IP của máy thực (máy bị giả mạo địa chỉ IP) Khi máy thực nhận được gói tin ACK của máy chủ thì sẽ gửi gói tin TCP Reset tới máy chủ để hủy kết nối Đây là điểm khác biệt giữa kết nối mạng thông thường với kết nối mạng sử dụng trong tấn công DDoS Syn Flood
2.5 Phát hiện và loại bỏ các gói tin giả mạo trong tấn công DDoS TCP Syn Flood
2.5.1 Đặc trưng của các gói tin IP được gửi đi từ cùng một máy nguồn
Qua quan sát thực tế và khảo sát các tập dữ liệu kiểm thử, chúng tôi thấy rằng khi một máy tính gửi ra một gói tin, không phân biệt địa chỉ IP đích hay dịch vụ sử dụng thì giá trị PID sẽ tăng lên một đơn vị Điều này có nghĩa khi quan sát ở phía máy chủ thì ta sẽ nhận được chuỗi các gói tin có giá trị PID tăng liên tiếp, nếu chúng gửi đi từ cùng một máy
2.5.2 Kiểm chứng giả thuyết về tính chất tăng dần của giá trị PID
Để có thêm sở cứ, tôi tiếp tục xác minh tỷ lệ các gói tin có giá trị PID tăng liên tiếp
có cùng địa chỉ IP nguồn từ 03 tập tin tôi có được ở trên Để tìm ra tỷ lệ các gói tin có giá trị PID tăng liên tiếp có cùng địa chỉ IP nguồn, tôi sử dụng cách làm như phương pháp [110] tôi đề xuất Cách làm này chỉ khác là tôi sẽ tìm các gói tin có giá trị PID
Trang 12tăng liên tiếp từ cùng địa chỉ IP nguồn thay vì tìm các gói tin có giá trị PID tăng liên tiếp nhưng có IP nguồn khác nhau như trong [110]
2.5.3 Phương pháp phát hiện và loại bỏ các gói tin giả mạo PIDAD1
Quá trình thiết lập thông tin đầu vào được thực hiện tại thời điểm hệ thống Defence bắt đầu phát hiện tấn công DDoS Khi đó, trong khoảng thời gian rất ngắn phương pháp PIDAD1 thực hiện lấy mẫu các gói tin tấn công đầu tiên tới hệ thống để thiết lập các tham số của thuật toán DBSCAN Phương pháp PIDAD1 chỉ tập trung vào việc phát hiện và loại bỏ các gói tin giả mạo gửi đến hệ thống Việc phát hiện khi nào xảy ra tấn công DDoS dạng TCP Syn Flood, luận án trình bày ở trên Quá trình thiết lập thông tin đầu vào được thực hiện như sau:
DDoS-Khi hệ thống phát hiện có tấn công DDoS xảy ra, phương pháp PIDAD1 sẽ thu thập
Npc gói tin đầu tiên có địa chỉ IP nguồn khác nhau gửi đến hệ thống Sau khi có được
Npc gói tin, PIDAD1 sẽ áp dụng thuật toán DBSCAN để tìm ra những Cluster là nhóm các gói tin có PID tăng liên tiếp Thuật toán DBSCAN áp dụng tham số Eps =
1, để thỏa mãn điều kiện các PID tăng liên tiếp một đơn vị, MinPts = 3 để thỏa mãn điều kiện có ít nhất 3 gói tin có PID tăng liên tiếp thì sẽ tạo lên một Cluster Do tính chất PID tăng liên tiếp của các gói tin trong một Cluster, nên khi mỗi khi Cluster có thành viên mới (một gói tin mới thỏa mãn điều kiện và thuộc về Cluster đó) thì vị trí của core point sẽ được cập nhật thành vị trí của thành viên mới đó (border point) để cập nhật trạng thái của Cluster và giá trị EPID
2.5.4 Phương pháp phát hiện và loại bỏ các gói tin giả mạo PIDAD2
Phương pháp PIDAD2 cho phép phát hiện và loại bỏ nhanh các gói tin giả mạo sử dụng trong tấn công SYN Flood để bảo vệ máy chủ bị tấn công bằng cách thực hiện đồng thời hai việc: