Tải bản đầy đủ

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 (tt)

MỞ ĐẦ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
1


cứ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.

2


3. 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
3


tin 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
4


công TCP Syn Flood. Thêm nữa, việc phát hiện và phòng chống tấn công Web AppDDoS có những đặc trưng và thách thức riêng.
Để 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).

5


Đố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 AppDDoS đượ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;
6







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ể
7


mở 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
8


sai (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.
9


Tin 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 subprotocol).
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
giả mạo
2.3. Mô hình phương pháp phát hiện và phòng chống tấn công TCP Syn Flood
2.3.1. Mô hình tổng thể và các thành phần cơ bản
Hệ thống phát hiện và phòng chống tấn công TCP Syn Flood, tôi thiết kế thành phần
TCP Syn Flood Defence bao gồm 04 chức năng chính:
▪ 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

Black list
White list

Black-List

White-List
`

Tab

User
Internet

Auth-IF

Server

`

TCP Syn Flood
Defence Module

Web App-DDoS
Defence Module

Sniffer IF

Attacker
DDosDefence

DDoS-Defence System

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).
10


Khi 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.
User

User
IP A

Server

Attacker

IP B

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
11


tă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].
Tập tin
2-PID
3-PID
4-PID
inside.tcpdump

89.6%

84.2%

78.2%

outside.tcpdump

88.6%

82.1%

77.3%

dhbkdata.pcap
90.6%
89.5%
87.5%
Tôi kiểm chứng tỷ lệ các gói tin có ít nhất 02 giá trị tăng liên tục (2-PID); Tỷ lệ các
gói tin có ít nhất 03 giá trị tăng liên tục (3-PID); Tỷ lệ các gói tin có ít nhất 04 giá trị
tăng liên tục (4-PID). Kết quả như sau:
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 DDoSDefence 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:
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:
12


- Phát hiện các địa chỉ IP nguồn tốt, đang có nhu cầu kết nối, hay đã khởi tạo kết
nối.
- Phát hiện các gói tin giả mạo thông qua bộ lọc PID-Filter.
Để thực hiện ý đồ cơ bản này, tôi sử dụng hai bảng dữ liệu lữu trữ địa chỉ IP nguồn
(có thể kèm thông tin bổ sung):
- Bảng I0 để lưu trữ các địa chỉ IP nguồn sạch và tích cực (đã kết nối, hoặc đang
có nhu cầu khởi tạo kết nối thực sự), được sử dụng để cho phép các máy Client
đã xác định là hợp lệ kết nối đến hệ thống.
- Bảng I1 để lưu trữ các thông tin địa chỉ IP nguồn, giá trị PID và thời gian đến của
những gói tin mà chưa xác định được là gói tin bình thường (tốt) hay gói tin giả
mạo (tấn công). Trong quá trình kiểm tra sau đó, khi một địa chỉ IP trong I1 được
xác định là sạch (âm tính), nó sẽ được chuyển sang I0.
Sơ đồ hoạt động cơ bản của phương pháp là như hình dưới đây:
Permit
5
Negative

Found

New
Packet

1

I0

2
Not Found

I1

Not Found

3

PID-Filter
Positive

4

Deny

Có thể có những IP giả mạo (tạo ngẫu nhiên) trùng khớp với một địa chỉ IP sạch
trong I0, nhưng xác suất trùng khớp này là nhỏ. Để giảm thiểu ảnh hưởng của vấn đề
trùng khớp này, mỗi IP trong bảng I0 sẽ có ngưỡng thời gian sống nhất định, nếu sau
ngưỡng đó mà hệ thống không nhận được kết nối thực từ IP đó thì IP này sẽ bị xóa
khỏi bảng I0.
Một gói tin được xác định là hợp lệ trong các trường hợp sau (và do đó sẽ được
chuyển từ I1 sang I0):
- Trường hợp có gói tin có cùng địa chỉ IP nguồn đã gửi đến hệ thống trước đó.
Trường hợp này xảy ra khi một Client đã yêu cầu kết nối tới máy chủ nhưng
không được hồi đáp nên gửi lại yêu cầu kết nối, (cơ chế tcp retransmission [21]).
Hệ thống có thể phát hiện sai gói tin giả mạo là gói tin hợp lệ trong trường hợp địa
chỉ giả mạo của gói tin ngẫu nhiên trùng với một địa chỉ nào đó của gói tin đã gửi
đến hệ thống trước đó. Tuy nhiên xác xuất trùng khớp này chỉ là 1/232 cho mỗi
nguồn gửi gói tin giả mạo.
- Trường hợp nếu sau khoảng thời gian T (tham số hệ thống chọn trước) một cặp
(IP, PID) trong I1 được xác định là âm tính qua xét nghiệm PID-Filter.
Mỗi gói tin mới gửi đến hệ thống được xử lý theo các bước sau đây:
Bước 1: Kiểm tra địa chỉ IP nguồn của gói tin có trong bảng I0 hay không. Nếu có thì
cho gói tin vào hệ thống (chuyển tiếp vào Server). Nếu không sang bước 2.
Bước 2: Kiểm tra IP nguồn có trong bảng I1 hay không. Nếu có thì đưa thông tin IP
này vào bảng I0 (cơ chế tcp retransmission) và cho phép gói tin đi vào hệ thống. Nếu
không sang các bước sau.
13


Bước 3: Lưu thông tin (địa chỉ IP, giá trị PID, thời gian đến) của gói tin hiện thời vào
bảng I1. Triệu gọi PID-Filter với giá trị PID này.
Bước 4: Trong quá trình thực hiện PID-Filter, nếu có các giá trị PID bị phát hiện
dương tính thì các thông tin của các gói tin tương ứng sẽ bị loại bỏ khỏi bảng I1 (song
song với việc các gói tin đó bị lọc bỏ, không vào tới máy chủ bên trong).
Bước 5: Nếu PID-Filter báo âm tính, các thông tin tương ứng với giá trị PID này sẽ
chuyển khỏi bảng I1 và đưa vào bảng I0.
2.5.5. Phương pháp xác thực địa chỉ IP nguồn
2.6. Đánh giá thực nghiệm
ISP01

ISP01

ISP01

ISP01

ISP01

C&C Server

ISP01

Router
Core 2

Core
Internet

Router
Core 1

Router
Core 3

Web Server
ISP01

Router
Core 4

ISP01

ISP01

ISP04

ISP02
ISP03

Để đánh giá thực nghiệm, tôi đã xây dựng một mạng botnet trên môi trưởng ảo trên
03 máy chủ vật lý có cấu hình cao. Hệ thống thực nghiệm có quy mô bao gồm 13
Router Cisco và 45 máy tính Client, được cài đặt hệ điều hành WinXP và Centos.
Các máy tính này được cho lây nhiễm mã độc và chịu sự điều khiển của một máy chủ
C&C máy chủ để thực hiện tấn công TCP Syn Flood vào Web Server. Các Router
được thiết lập trên môi trường ảo sử dụng phần mềm GNS3 [81] với dòng Router
Cisco 7200, sử dụng IOS là c7200-adventerprisek9-mz.124-24.T.bin.
Về cơ chế hoạt động của mạng botnet như sau: Các máy Client bị nhiễm mã độc sẽ
định kỳ 03s, truy cập thông tin điều khiển từ C&C máy chủ thông qua giao thức http
tại địa chỉ: http://lab.ais.gov.vn/ddos-control.txt. Cấu trúc của lệnh điều khiển như
sau:
Dạng tấn công
Địa chỉ tấn công Cổng dịch vụ
Trạng thái điều
khiển
synflood
103.192.237.100
80
Enable/disable
Với cấu trúc lệnh trên, Các máy Client sẽ thực hiện tấn công dạng TCP Syn Flood
với địa chỉ IP nguồn giả mạo ngẫu nhiên và địa chỉ máy 103.192.237.100 với cổng
dịch vụ là 80.
Để có dữ liệu kiểm thử, tôi thực hiện tấn công giả lập vào máy chủ trong khoảng thời
gian 03 phút. Tại Web Server, tôi thực hiện lấy mẫu các gói tin SYN gửi đến máy chủ
sử dụng công cụ Tcpdump với câu lệnh: tcpdump -i ens32 tcp port 80 and
14


"tcp[tcpflags] & (tcp-syn|tcp-ack)! = 0" -n -p and ip dst 103.192.237.100 -w
synflood-attack.pcap.
Kết quả tại Web Server, tôi thu được 145.377 gói tin Syn và được lưu trong tệp tin
synflood-attack.pcap [115]. Để có cơ sở đánh giá thực nghiệm, các gói tin SYN được
phân làm hai nhóm, nhóm các gói tin tấn công và nhóm các gói tin bình thường.
Nhóm các gói tin bình thường là nhóm các gói tin có địa chỉ IP nguồn là các địa chỉ
IP của các máy Client, nằm trong dải địa chỉ 103.192.237.0/24. Các gói tin này được
sinh ra khi các máy Client truy cập trang Web trên Web Server. Nhóm các gói tin tấn
công là các gói tin có địa chỉ IP không nằm trong dải địa chỉ ở trên và có giá trị ngẫu
nhiên.
2.6.2. Đánh giá thực nghiệm cho phương pháp PIDAD1 và PIDAD2
100

200
150
Time(s) 100
50
0

DR(%) 50

145377

121147

96918

72688

48459

24229

PIDAD1

24229
48459
72688
96918
121147
145377

PIDAD1

0

PIDAD2

Số lượng gói tin nhận được

PIDAD2

Số lượng gói tin nhận được

2.6.3. So sánh hiệu quả của phương pháp PIDAD2 với phương pháp khác
100

1

DR(%) 50

FP(%) 0.5
C4.5

C4.5

0

24229
48459
72688
96918
121147
145377

24229
48459
72688
96918
121147
145377

0

PIDAD2

Số lượng gói tin nhận được

PIDAD2

Số lượng gói tin nhận được

CHƯƠNG III. PHÒNG CHỐNG TẤN CÔNG LỚP ỨNG DỤNG WEB
Trong chương này, tôi đã tập trung nghiên cứu và đưa ra phương pháp phòng chống
tấn công Web App-DDoS, bao gồm các nội dung chính như sau:
3.1. Giới thiệu bài toán
Ứng dụng Web là ứng dụng phổ biến để cung cấp các dịch vụ trên mạng của nhiều
loại hình ngành nghề và lĩnh vực khác nhau như: Kinh tế, Chính trị, Tài chính,
Thương mại điện tử, Giao thông vận tải... Phần lớn các ứng dụng Web cung cấp dịch
vụ qua môi trường mạng Internet sử dụng giao thức HTTP/HTTPS. Do đó, ngoài
phải đối mặt với các dạng tấn công mạng khác (SQL Injection, XSS…) thì ứng dụng
Web còn phải đối với dạng tấn công DDoS.
Để thực hiện tấn công DDoS vào ứng dụng Web (Web App-DDoS), như đối với hình
thức tấn công TCP Syn Flood, tin tặc lợi dụng mạng botnet để gửi tràn ngập các yêu
cầu tới máy chủ làm máy chủ quá tải và rơi vào trạng thái từ chối dịch vụ. Tin tặc
thường cố tình tạo ra các yêu cầu có thực, giống như các yêu cầu được gửi đi từ máy
tính bình thường để vượt qua các thiết bị bảo mật như Firewall và IDS/IPS.
15


Để giải quyết bài toán thứ hai, tôi đề 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. Kết quả nghiên cứu đã
được tôi công bố tại Hội nghị SoICT năm 2017.
Sau khi luận án được Hội đồng đánh giá cấp cơ sở thông qua, tôi tiếp tục nghiên cứu,
đề xuất phương pháp, thuật toán cụ thể hơn cho 02 tiêu chí 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, tôi đề 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 tôi 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 giải pháp sử dụng DBSCAN trong nghiên cứu [111]. Tôi trình bày cụ
thể tiêu chí này tại mục 3.5.4.1. Kết quả nghiên cứu được 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, tôi đư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 tôi chuẩn bị gửi đăng tại Tạp chí Khoa học và Công nghệ.
Tôi cũng đề xuất phương pháp phát hiện tấn công Web App-DDoS là một quá trình
độc lập với quá trình xử lý tấn công, cho phép tối ưu và tăng tốc độ xử lý của toàn bộ
giải pháp phòng chống tấn công DDoS đề xuất.
Trong chương này, luận án tập trung trình bày các nội dung chính như sau:
▪ Tổng quan về tấn công Web App-DDoS và phương pháp phòng chống.
▪ Mô hình, phương pháp phòng chống tấn công Web App-DDoS.
▪ Phát hiện tấn công Web App-DDoS.
▪ Phòng chống tấn công Web App-DDoS sử dụng phương pháp FDDA.
▪ Đánh giá thực nghiệm.
3.2. Tổng quan về tấn công Web App-DDoS
Tấn công Web App-DDoS là một dạng tấn công vào lớp ứng dụng. Một trong những
hình thức tấn công Web App-DDoS phổ biến, được thực hiện thông qua việc tin tặc
sử dụng mạng botnet để gửi tràn ngập các yêu cầu HTTP tới máy chủ. Khác với dạng
tấn công TCP Syn Flood được đề cập trong chương 2, là dạng tấn công này không thể
giả mạo địa chỉ IP nguồn. Bởi vì, để máy tin tặc có thể gửi yêu cầu tới máy chủ thì
kết nối mạng phải được thiết lập (phải hoàn thiện quá trình bắt tay 3 bước của giao
thức TCP) sử dụng IP thực. Do đó, để thực hiện tấn công Web App-DDoS, tin tặc
phải sử dụng mạng botnet lớn có nhiều thành viên.
Dạng tấn công Web App-DDoS là dạng tấn công làm cạn kiệt tài nguyên trên máy
chủ mà không phải dạng tấn công DDoS làm cạn kiệt năng lực xử lý của hạ tầng
mạng. Để thực hiện tấn công, tin tặc gửi tràn ngập các yêu cầu tới Server. Các yêu
cầu này là yêu cầu có thực giống hoàn toàn với các yêu cầu bình thường được gửi đi
16


từ máy người sử dụng bình thường. Lý do tin tặc sử dụng yêu cầu bình thường là để
vượt qua sự kiểm soát của các thiết bị bảo vệ.
Tài nguyên băng thông sử dụng trong tấn công Web App-DDoS không yêu cầu lớn
như đối với các hình thức tấn công DDoS vào hạ tầng mạng. Đối với các hình thức
tấn công DDoS vào hạ tầng mạng, tin tặc thường gửi số lượng lớn các gói tin UDP có
kích thước lớn để làm cạn kiệt băng thông kết nối mạng (hình thức tấn công DDoS
Volumetric). Đối với dạng tấn công Web App-DDoS, tin tặc có thể sử dụng cách thức
gửi các yêu cầu có kích thước nhỏ nhưng liên tục, đều đặn với tốc độ chậm, làm máy
chủ phải giữ và phục vụ mỗi yêu cầu gửi đến mà không được kết thúc phiên làm việc
đó khiến cho máy chủ cạn kiệt tài nguyên. Hình thức tấn công này không yêu cầu
băng thông lớn như hình thức tấn công DDoS Volumetric.
Tấn công Web App-DDoS có thể thực hiện bằng nhiều hình thức tinh vi khác nhau để
vượt qua các hệ thống phòng thủ như:
▪ Session flooding attacks - dạng tấn công này, tin tặc gửi số lượng lớn phiên kết
nối tới Server;
▪ Request flooding attacks - dạng tấn công này, tin tặc gửi số lượng lớn các yêu
cầu trong một phiên kết nối tới Server;
▪ Asymmetric attacks - dạng tấn công này, tin tặc gửi phiên kết nối trong đó có
các yêu cầu làm máy chủ tiêu tốn nhiều tài nguyên để xử lý;
▪ Slow request/response attacks - tương tự dạng tấn công Asymmetric attacks,
tin tặc gửi phiên kết nối trong đó có các yêu cầu làm máy chủ tiêu tốn nhiều tài
nguyên để xử lý.
Khi tin tặc sử dụng các yêu cầu có thực để thực hiện tấn công Web App-DDoS, từ
phía máy chủ rất khó để phân biệt yêu cầu nào là yêu cầu được gửi đi từ máy bình
thường. Đặc biệt, khi tấn công DDoS xảy ra, số lượng yêu cầu gửi đến máy chủ là rất
lớn, làm máy chủ càng khó khăn hơn trong việc phát hiện các yêu cầu gửi đi từ mạng
botnet.
Ứng dụng Web là ứng dụng có đặc trưng là dữ liệu cho mỗi ứng dụng Web thay đổi
thường xuyên. Tần suất truy nhập ứng dụng Web phụ thuộc vào nội dung mà ứng
dụng đó cung cấp. Khi có nội dung mới, được sự quan tâm của nhiều người sử dụng,
tần suất truy cập ứng dụng Web tăng đột biến, giống như bị tấn công. Đây cũng là
vấn đề cần giải quyết để có thể phân biệt trường hợp này với một cuộc tấn công thực
sự.
Những điểm yếu an toàn thông tin các hệ điều hành, ứng dụng và các thiết bị IoT
xuất hiện ngày càng nhiều, điều này dẫn tới việc lợi dụng các điểm yếu này để khai
thác chiếm quyền điều khiển và phát tán mã độc trở nên dễ dàng hơn cho tin tặc. Từ
đó, tin tặc có thể xây dựng mạng botnet lớn và có thể thực hiện nhiều hình thức tấn
công DDoS tinh vi khác nhau.
3.3. Mô hình, phương pháp phòng chống tấn công Web App-DDoS
3.3.1. Mô hình tổng thể và các thành phần cơ bản
Đối với chức năng phòng chống tấn công Web App-DDoS thì đây là một thành phần
tương đương với thành phần phòng chống tấn công TCP Syn Flood và được cài đặt
song song trên hệ thống DDoS-Defence.

17


Dữ liệu thu thập được từ Sniffer IF thông qua Network-Tap sẽ được sử dụng đồng
thời bởi hai thành phần để phát hiện và phòng chống tấn công TCP Syn Flood hoặc
tấn công Web App-DDoS tùy theo chức năng của từng thành phần.
3.3.2. Nguyên lý hoạt động cơ bản
Thành phần Web App-DDoS Defence có hai chức năng chính: Phát hiện tấn công
DDoS (DDoS Detection) và Phòng chống tấn công DDoS (DDoS Prevention) thông
qua việc tìm ra các nguồn gửi yêu cầu tấn công để cập nhật vào Black-List như hình
dưới đây:
WEB APP-DDOS DEFENCE
MODULE

Loop Delay

Input
Data

White List

Attack
Status
Check

Coming
Requests

Update

Update

DDoS
Detection

DDoS
Prevention

Update

Black List

Lý do tôi phân tách chức năng phát hiện và phòng chống thành hai chức năng độc lập
khác với các nghiên cứu liên quan đến phòng chống tấn công Web App-DdoS trong
mục 3.2.3 là vì: Quá trình phát hiện tấn công và phòng chống tấn công khi thực hiện
độc lập sẽ tối ưu về hiệu năng và hiệu quả hơn. Tài nguyên hệ thống dành cho chức
năng DDoS Detection sẽ ít hơn tài nguyên hệ thống dành cho chức năng DDoS
Prevention. Do đó, chức năng DDoS Detection có thể thực hiện liên tục để kiểm tra
máy chủ có bị tấn công hay không và chức năng DDoS Prevention chỉ được kích hoạt
khi chức năng phát hiện phát hiện tấn công.
Thêm nữa, việc xây dựng chức năng DDoS Detection và DDoS Prevention độc lập
cho phép xây dựng các giải pháp/thuật toán riêng biệt cho từng chức năng giúp hiệu
quả phát hiện và phòng chống tấn công DDoS.
Trên cơ sở đó, thành phần Web App-DDoS Defence được xây dựng dựa trên hai thức
năng DDoS Detection và DDoS Prevention độc lập, có nguyên lý hoạt động như sau:
Khi hệ thống hoạt động ở trạng thái bình thường, hệ thống DDoS-Defence sẽ theo dõi
thụ động kết nối mạng để thu thập các thông tin truy cập ứng dụng Web và lưu trữ
trong CSDL.
3.4. Phát hiện tấn công Web App-DDoS
Như đã phân tích ở trên, chức năng DDoS Detection được xây dựng để phát hiện khi
nào xảy ra tấn công DDoS vào Web Server. Khi tấn công xảy ra trạng thái Attack
Status được thiết lập để kích hoạt chức năng DDoS Prevention.
Như tôi đã phân tích ở trên, mục đích của việc phân tách quá trình phát hiện và phòng
chống ra làm hai giai đoạn khác nhau nhằm tối ưu và tăng mức độ chính xác của giải
pháp tổng thể. Việc phát hiện tấn công Web App-DDoS có thể dùng các tiêu chí đơn
giản để xác định khi nào tấn công xảy ra. Trong giai đoạn phát hiện, tôi chưa quan
tâm đến việc xử lý tấn công như thế nào mà chỉ quan tâm đến việc có tấn công xảy ra
18


hay không. Trong giai đoạn phòng chống, tôi sẽ áp dụng các tiêu chí, thuật toán phức
tạp hơn để xác định nguồn gửi tấn công để đưa vào Black-List và các nguồn sạch để
đưa vào White-List. Chức năng phòng chống chỉ được kích hoạt khi hệ thống được
thiết lập trạng thái là đang bị tấn công. Việc này sẽ tối ưu về hiệu năng xử lý khi tấn
công DDoS chưa xảy ra.
Tấn công Web App-DDoS được phát hiện dựa vào tập các tiêu chí như được mô tả ở
hình sau

Coming
Requests

Input
Data

Set of
Criteria

Update

Attack
Status

Loop Delay

Để phát hiện tấn công Web App-DDoS, định kỳ sau mỗi khoảng thời gian ∆t (được
thiết lập trước), dữ liệu trong CSDL (dữ liệu được lưu trong CSDL có cấu trúc được
mô tả trong hình 24) có thời gian trong khoảng ∆t tính từ thời điểm lấy dữ liệu sẽ
được lấy ra để kiểm tra xem máy chủ có bị tấn công hay không. Dữ liệu này được sử
dụng làm thông tin đầu vào cho các tiêu chí phát hiện tấn công. Nếu dữ liệu đầu vào
thỏa mãn một trong các tiêu chí thì máy chủ được cho là tấn công.
3.5. Phòng chống tấn công Web App-DDoS sử dụng phương pháp FDDA
3.5.1. Ý tưởng cơ bản của phương pháp FDDA
Ý tưởng cơ bản của phương pháp FDDA là khi tấn công xảy ra, thì các yêu cầu gửi
đến máy chủ sẽ bao gồm cả các yêu cầu tấn công và các yêu cầu bình thường. Trong
đó các yêu cầu tấn công chiếm phần lớn. Do đó, vấn đề mà phương pháp FDDA phải
xử lý là tìm ra các nguồn gửi tấn công để đưa vào Black-List và nguồn gửi bình
thường để đưa vào White-List.
Để phân biệt các yêu cầu tấn công và yêu cầu của người sử dụng bình thường, tôi sử
dụng một tập các tiêu chí để loại bỏ ngay các nguồn gửi yêu tần tấn công có tần suất
cao và xác minh nguồn gửi yêu cầu bình thường để cho phép kết nối vào hệ thống. Ý
tưởng cơ bản của phương pháp FDDA được mô tả như hình dưới đây:
Filter & Check

Coming
Requests

Input
Data

Set of
Criteria

Update

Black
List

Loop Delay

Trong nghiên cứu này, phương pháp FDDA sử dụng hai tiêu chí:
a) Tiêu chí tần suất truy cập: Tiêu chí tần suất truy cập được áp dụng phổ biến trong
các phương pháp phòng chống tấn công DDoS. Đối với phương pháp FDDA, tiêu chí
19


về tần suất truy cập được sử dụng để có thể tìm ra nhanh các nguồn gửi yêu cầu tấn
công có cường độ cao và chặn lại (Tiêu chí này sẽ được bày cụ thể trong phần 3.5.4).
Đối với các nguồn gửi yêu cầu tấn công có cường độ gửi yêu cầu thấp hơn và không
thể xác định dựa vào tiêu chí về tần suất truy cập thì sẽ được tiếp tục kiểm tra qua
tiêu chí thứ hai về tương quan.
b) Tiêu chí tương quan: Tiêu chí này được xây dựng dựa trên ý tưởng cơ bản là khi
quan sát tập các yêu cầu nhận được từ máy tính người dùng bình thường thì chúng sẽ
có mối quan hệ tương quan và ngẫu nhiên nhất định. Trong khi các yêu cầu nhận
được từ máy tấn công sẽ có những đặc trưng riêng khác với bình thường (Ví dụ như
các máy này chỉ gửi lặp đi lặp lại một yêu cầu hay một nhóm yêu cầu theo lệnh điều
khiển của máy chủ C&C). Do đó, khi hệ thống hoạt động ở trạng thái bình thường,
chưa xảy ra tấn công, tôi tìm cách xây dựng một tập dữ liệu tương quan (được bày cụ
thể trong phần 3.5.5) cho phép xác định các nguồn gửi yêu cầu tấn công và yêu cầu
bình thường đối với những nguồn gửi yêu cầu không xác định được bởi tiêu chí tần
suất.
3.5.4. Tiêu chí về tần suất truy cập
Ý tưởng cơ bản để xây dựng tiêu chí này là tôi quan sát trường hợp các máy tính tấn
công được điều khiển thông qua máy chủ C&C để thực hiện tấn công thì tần suất cao
và sự đồng đều nhất định, bởi vì chúng cùng nhận lệnh điều khiển giống nhau từ máy
chủ C&C. Trong khi các máy tính bình thường thì tần suất gửi của nó không đồng
đều với các máy tính còn lại. Ví dụ như hình dưới đây:

Vấn đề đặt ra trong việc xây dựng tiêu chí này là làm thế nào để xác định tần suất gửi
yêu cầu theo thời gian thực của các srcIP khi số lượng các yêu cầu gửi đến hệ thống
rất lớn khi tấn công xảy ra.
Để giải quyết vấn đề này, tôi đề xuất giải pháp cho phép xác định tần suất truy cập
của các srcIP theo thời gian thực mà cần ít không gian lưu trữ và thời gian xử lý. Đề
xuất này là một trong những đóng góp chính của tôi trong phương pháp tổng thể
FDDA.
3.5.5. Xây dựng tiêu chí tương quan trong phương pháp FDDA
Tiêu chí về tương quan SAT2 được xây dựng dựa trên ý tưởng cơ bản là với người
dùng bình thường khi truy cập ứng dụng Web thì họ sẽ truy cập các nội dung khác
nhau trên máy chủ (lướt web). Do đó, khi quan sát ở phía máy chủ, chúng ta có thể
thấy được mối quan hệ tương quan của các yêu cầu gửi tới máy chủ từ mỗi IP nguồn.
Ví dụ khi người dùng gửi yêu cầu rA đến máy chủ thì tiếp theo đó họ cũng gửi yêu
cầu rB đến máy chủ.
20


Vấn đề đặt ra là làm thế nào để xây dựng tập dữ liệu tương quan để đảm bảo rằng tin
tặc khó có thể cố tình đưa các yêu cầu sai lệch đến máy chủ trong quá trình hoạt động
bình thường và sử dụng tập các yêu cầu đó trong quá trình tấn công.
Để giải quyết vấn đề này, trong quá trình hoạt động bình thường, tôi đưa ra tập các
tiêu chí áp dụng đối với mỗi IP nguồn gửi yêu cầu và tập các yêu cầu được gửi đi từ
IP nguồn đó. Chỉ khi IP nguồn và các yêu cầu thỏa mãn đồng thời các điều kiện thì
mới được đưa vào xây dựng tập các yêu cầu tương quan sử dụng thuật toán
Association Rule.
3.5.5. Thuật toán xử lý tấn công của phương pháp FDDA
Trong phần này, luận án sẽ trình bày phương pháp FDDA một cách tổng thể trong
một chu trình hoàn thiện để phát hiện nhanh và loại bỏ các nguồn gửi yêu cầu tấn
công đến máy chủ
R(i)
Time Delay
Control F(t)

DInp
Get (R(i) If(i)

1

FT
For each
R(k) in RA

DSus

Yes

Call SAT1
(R(k), C)

No

3
Call SAT2 Yes
(R(k), FA)

No

Delete (S(s,i),R(i),f(i)) from DSus

Delete (S(s,i),R(i),f(i)) from DSus

2

4 Update
White-List

Black-List

Sau mỗi khoảng thời gian ∆Ts, chúng tôi kiểm tra xem với mỗi yêu cầu trong DT có
yêu cầu nào vượt ngưỡng FT hay không. Mỗi yêu cầu trong DInp gửi đến hệ thống với
tần số > FT thì sẽ được đưa vào DSus. Tập các yêu cầu khác nhau trong DSus là tập các
yêu cầu nghi ngờ tấn công cần xác minh RA.
Mỗi yêu cầu trong tập RA có thể được gửi từ nhiều IP nguồn khác nhau. Trong các IP
nguồn gửi yêu cầu có thể có IP nguồn là tấn công và IP nguồn là bình thường. Do đó,
chúng tôi phải tìm cách loại bỏ các yêu cầu là bình thường dựa vào các tiêu chí ở trên
như sau:
▪ Sử dụng tiêu chí tần suất SAT1: Xác định và loại bỏ các nguồn gửi yêu cầu lặp
lại tần suất lớn.
▪ Sử dụng tiêu chí tương quan SAT2: Xác định các nguồn gửi yêu cầu bình thường
và yêu cầu tấn công theo thuật toán FDDA-SAT2.
Các IP nguồn trong White-List sẽ được cho phép kết nối vào hệ thống và trong
Black-List sẽ bị ngăn chặn.
3.6. Đánh giá thực nghiệm
21


3.6.1. Tạo dữ liệu thử nghiệm
Dữ liệu kiểm thử được tạo ra từ môi trường ảo được đề cập ở mục 2.6.1 như sau:
Các máy Client bị nhiễm mã độc sẽ định kỳ 1s, truy cập thông tin điều khiển từ C&C
máy chủ thông qua giao thức http tại địa chỉ: http://lab.ais.gov.vn/ddos-control.txt.
Cấu trúc của lệnh điều khiển như sau:
Dạng tấn công
Địa chỉ tấn công Cổng dịch vụ
Trạng thái điều
khiển
webattack
URL tấn công
80
Enable/disable
Với cấu trúc lệnh trên, Các máy Client sẽ thực hiện tấn công dạng Web App-DDoS
với địa chỉ URL nhận được từ C&C Server. Trong thực nghiệm này, tôi thiết lập
URL
của
đích
tấn
công
là:
http://sdh.hust.edu.vn/home/Default.aspx?scid=29&CategoryID=135.
Sau khi thực hiện tấn công giả định trong khoảng thời gian 03 phút, tôi thu được tập
dữ liệu được lưu trữ dưới dạng PCAP trong đó có 66.851 gói tin [112]. CSDL thu
được có cấu trúc như bảng 3.1 bao gồm 1.310 yêu cầu, trong đó có cả yêu cầu tấn
công và yêu cầu bình thường và được lưu trữ trong CSDL MySQL [113].
Để đánh dấu các nguồn gửi yêu cầu tấn công phục vụ việc đánh giá thử nghiệm, các
yêu cầu được gửi đi từ các địa chỉ IP trong mạng botnet (trong mô hình thử nghiệm
trên môi trường ảo) sẽ được đánh dấu là các nguồn gửi yêu cầu tấn công. Các IP
nguồn khác không nằm trong dải địa chỉ IP của mạng botnet sẽ được đánh dấu là
nguồn gửi yêu cầu bình thường.
3.6.2. Đánh giá thử nghiệm phương pháp FDDA
Tôi thực hiện đánh giá thực nghiệm với tập dữ liệu [112] sử dụng các tham số dưới
đây được sử dụng như sau:
▪ Ngưỡng phát hiện yêu cầu nghi ngờ tấn công FT (requests/second).
▪ Số lượng yêu cầu trong tập DSus.
▪ Số lượng yêu cầu nghi ngờ tấn công trong tập RA.
▪ Tỷ lệ phát hiện đúng các nguồn gửi tấn công: Detection Rate - DR.
▪ Tỷ lệ phát hiện nhầm các nguồn bình thường là tấn công: False Positive - FP.
Kết quả thực nghiệm cho thấy phương pháp của tôi có tỷ lệ phát hiện cao như trong
bảng dưới đây:
FT
DSus
RA
DR
FP
50
250
185 75.32% 1.28%
100
500
365 92.56% 1.11%
150
750
668 94.08% 0.89%
200
1000
897 88.75% 1.47%
300
1310
863 67.89% 1.49%
Kết quả so sánh về hiệu quả phát hiện tấn công:
Methods Detection Rate

False Positive

KNN [5]

89.03%

1.03%

NB [7]

92.47%

1.47%

FDDA

93.75%

0.89%

22


Kết quả so sánh về thời gian xử lý
140
120
100
80
Time(s)
60
40
20
0

KNN
NB
PIDAD2
250 500 750 10001310
Số lượng yêu cầu nhận được

Kết quả cho thấy, trên cùng tập dữ liệu kiểm thử, phương pháp FDDA có tỷ lệ phát
hiện các yêu cầu tấn công cao hơn (Detection Rate - 93.75%) và tỷ lệ phát hiện nhầm
yêu cầu bình thường là yêu cầu tấn công (False Positive - 0.89%) so với hai phương
pháp được so sánh
KẾT LUẬN VÀ ĐỀ XUẤT
1. Kết luận
Tôi thấy rằng, luận án là một công trình nghiên cứu có ý nghĩa về khoa học và thực
tiễn.
a) Về ý nghĩa khoa học:
Luận án đã đóng góp thêm tối thiểu 05 công trình nghiên cứu (đã gửi đăng thêm 02
công trình nghiên cứu tại Hội nghị IEEE RIVF 2019 và Tạp chí Khoa học và Công
nghệ). Những công trình này có tính mở để tiếp tục phát triển mở rộng các hướng
nghiên cứu khác. Cụ thể:
▪ Đề 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.
▪ Đề xuất mô hình phòng chống tấn công tấn công Web App-DDoS, có tính mở,
cho phép kết hợp nhiều tiêu chí để 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í cho phép loại bỏ nhanh các nguồn gửi yêu cầu tấn công
và xác minh các nguồn gửi yêu cầu bình thường trong công tấn công Web
App-DDoS. Các thuật toán được xây dựng cho phép xử lý nhanh số lượng lớn
các yêu cầu gửi đến máy chủ và cần ít tài nguyên lưu trữ và thời gian xử lý.
▪ Xây dựng tập dữ liệu 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 Web App-DDoS trên một hệ thống mạng được xây
dựng trên môi trường ảo hóa.
b) Về 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ử” với nội dung nghiên cứu về phát triển, đề
23


xuất các kỹ thuật mới/cải tiến cho phát hiện dấu hiệu của các tấn công DoS/DDoS,
tấn công APT dựa trên phân tích dữ liệu log truy cập.
Trong quá trình thực hiện các nhiệm vụ của các đề tài nghiên cứu khoa học, tôi đã
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.
Bên cạnh đó, tôi cũng đã 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. Tôi đã tải lên trang mạng trực tuyến và địa chỉ tải
dữ liệu kiểm thử trong phần phụ lục của luận án.
2. Kiến nghị, đề xuất
Tấn công DDoS là một dạng tấn công nguy hiểm với nhiều hình thức tấn công khác
nhau mà tin tặc có thể sử dụng. Trong nghiên cứu này, tôi mới chỉ tập trung giải
quyết hai dạng tấn công DDoS phổ biến TCP Syn Flood và Web App-DDoS. Đây là
hai dạng tấn công có đặc trưng riêng nên nên việc đề xuất ra một phương pháp phòng
chống hiệu quả vẫn đang là thách thức với nhiều nhà nghiên cứu.
Do đó, tôi thấy rằng, cần tiếp tục nghiên cứu để đưa ra các phương pháp phòng chống
tối ưu và hiệu quả hơn cũng như phòng chống các dạng tấn công DDoS khác.
Tuy nhiên, trong phạm vi điều kiện về thời gian, kinh tế và công việc, tôi đã có những
đóng góp nhất định về khoa học và thực tiễn đối với những nghiên cứu của mình.
Trên cơ sở đó, tôi xin kiến nghị, đề xuất Hội đồng tạo điều kiện giúp đỡ tôi góp ý
hoàn thiện và thông qua luận án.
Xin trân thành cảm ơn!

24



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×