Phát hiện tấn công web thường gặp dựa trên học máy sử dụng web log

Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020  
DOI: 10.15625/vap.2020.00202  
PHÁT HIỆN TẤN CÔNG WEB THƯỜNG GẶP DỰA TRÊN  
HỌC MÁY SỬ DỤNG WEB LOG  
Hoàng Xuân Dậu1, Nguyễn Trọng Hưng2  
1Khoa Công nghệ thông tin 1, Học viện Công nghệ Bưu chính Viễn thông  
2Khoa Công nghệ và An ninh thông tin, Học viện An ninh nhân dân  
TÓM TẮT: Tấn công chèn mã SQL (SQLi) và tấn công XSS từ lâu đã được xem là một trong các mối đe dọa chủ yếu đối với  
các ứng dụng web và người dùng web. Các dạng tấn công này có thể dẫn đến nhiều rủi ro cho các ứng dụng web và người dùng  
web, bao gồm từ việc vượt qua hệ thống xác thực của ứng dụng web, đánh cắp các thông tin từ cơ sở dữ liệu web và từ trình duyệt  
người dùng, đến chiếm quyền điều khiển hệ thống máy chủ. Để đối phó với các dạng tấn công web, nhiều biện pháp và công cụ đã  
được nghiên cứu và triển khai để bảo vệ các ứng dụng web và người dùng web. Trong lớp các biện pháp phòng chống tấn công web,  
phát hiện tấn công web là một hướng nghiên cứu có nhiều triển vọng. Tuy vậy, một số biện pháp chỉ có khả năng phát hiện duy nhất  
một dạng tấn công web, trong khi một số biện pháp khác đòi hỏi cập nhật tập luật phát hiện thường xuyên, hoặc một số biện pháp  
lại yêu cầu lớn về tài nguyên tính toán do chúng sử dụng các kỹ thuật phát hiện phức tạp. Bài báo này đề xuất một mô hình phát  
hiện tấn công web dựa trên học máy sử dụng web log. Mô hình phát hiện đề xuất được xây dựng sử dụng thuật toán học máy cây  
quyết định - một trong các thuật toán học máy có chi phí tài nguyên tính toán tương đối thấp. Đồng thời, mô hình cũng không yêu  
cầu phải cập nhật thường xuyên. Các thử nghiệm trên tập dữ liệu có gán nhãn và dữ liệu web log thực cho thấy mô hình có khả  
năng phát hiện hiệu quả nhiều dạng tấn công web với độ chính xác chung đạt trên 98 %.  
Từ khóa: Phát hiện tấn công web, phát hiện tấn công SQLi, phát hiện tấn công XSS, phát hiện tấn công duyệt đường dẫn,  
phát hiện tấn công web dựa trên học máy.  
I. GIỚI THIỆU  
Các dạng tấn công web, bao gồm SQLi, XSS, CMDi (chèn dòng lệnh hệ điều hành) và duyệt đường dẫn được  
cho là các mối đe dọa thường trực và nguy hiểm đối với các website, ứng dụng web và người dùng web [1], [2]. Các  
dạng tấn công này rất thông dụng do sự phổ biến của các website, ứng dụng web và sự sẵn có của các công cụ tấn công  
web trên mạng Internet [3]. Chúng tôi đặt tên cho nhóm các tấn công web gồm SQLi, XSS, CMDi và duyệt đường dẫn  
là “tấn công web thường gặp”. Tấn công web thường gặp có thể gây ra những hậu quả nghiêm trọng cho các website,  
ứng dụng web và người dùng web. Chúng có thể cho phép tin tặc (1) vượt qua hệ thống xác thực của ứng dụng web,  
(2) thực hiện sửa đổi trái phép nội dung trang web, cơ sở dữ liệu web, (3) trích xuất dữ liệu từ cơ sở dữ liệu web, (4)  
đánh cắp thông tin nhạy cảm trên máy chủ web và trình duyệt web của người dùng và thậm chí (5) chiếm quyền điều  
khiển các máy chủ web và/hoặc máy chủ cơ sở dữ liệu [1], [2]. Hình 1 minh họa một ví dụ về tấn công SQLi vào một  
website, trong đó tin tặc (Attacker) chèn mã độc SQL vào từ khóa tìm kiếm để xóa một bảng của cơ sở dữ liệu của  
website.  
Hình 1. Một ví dụ về tấn công SQLi vào một website  
Do tính chất nguy hiểm của các dạng tấn công web thường gặp, nhiều biện pháp, công cụ đã được nghiên cứu,  
phát triển và ứng dụng trong thực tế nhằm phát hiện và ngăn chặn các dạng tấn công này nhằm bảo vệ các website, ứng  
dụng web và người dùng web. Tựu chung, có 3 hướng tiếp cận cho phòng chống các dạng tấn công web, bao gồm (1)  
kiểm tra tất cả dữ liệu đầu vào, (2) giảm số bề mặt có thể bị tấn công và (3) ứng dụng chiến lược phòng vệ theo chiều  
sâu [1], [2]. Cụ thể, hướng tiếp cận (1) yêu cầu kiểm tra kỹ lưỡng tất cả dữ liệu đầu vào của ứng dụng web và chỉ có dữ  
liệu hợp lệ mới được chuyển đến khâu xử lý tiếp theo. Theo một cách khác, hướng tiếp cận (2) yêu cầu chia ứng dụng  
web thành các thành phần và áp dụng các cơ chế kiểm soát truy cập phù hợp để hạn chế truy cập của người dùng đến  
từng thành phần. Trong hướng tiếp cận (3), nhiều biện pháp phòng vệ được áp dụng tạo thành các lớp hỗ trợ nhau để  
bảo vệ các ứng dụng web và người dùng web.  
Bài báo này đề xuất một mô hình phát hiện tấn công web thường gặp dựa trên học máy sử dụng web log thuộc  
hướng tiếp cận (3). Chúng tôi sử dụng kỹ thuật học máy để xây dựng mô hình phát hiện, nhờ đó loại bỏ được việc xây  
dựng và cập nhật thủ công các bộ lọc dữ liệu, hoặc các tập luật phát hiện, đồng thời tăng tỷ lệ phát hiện đúng và giảm  
tỷ lệ cảnh báo sai. Ngoài ra, dữ liệu web log được các máy chủ web sinh ra theo cấu hình ngầm định cho mỗi website  
hoạt động được sử dụng là dữ liệu đầu vào cho mô hình phát hiện.  
Phần còn lại của bài báo được cấu trúc như sau: Mục II trình bày các nghiên cứu có liên quan; mục III giới thiệu  
mô hình phát hiện tấn công web đề xuất, các thử nghiệm và kết quả và mục IV là kết luận của bài báo.  
 
470  
PHÁT HIỆN TẤN CÔNG WEB THƯỜNG GẶP DỰA TRÊN HỌC MÁY SỬ DỤNG WEB LOG  
II. CÁC NGHIÊN CỨU LIÊN QUAN  
Như đã đề cập trong Mục I, một số biện pháp và công cụ thuộc 3 hướng tiếp cận đã được đề xuất và ứng dụng  
để phòng chống các dạng tấn công web thường gặp. Do giới hạn độ dài của bài báo, chúng tôi chỉ thực hiện khảo sát  
một số đề xuất có liên quan gần nhất với hướng nghiên cứu của mình, bao gồm OWASP Core Rule Set (CRS) [4],  
SQL-ID [5], XSS-GUARD [6], Liang và cộng sự [7] và Pan và cộng sự [8].  
CRS [4] là một tập luật do dự án OWASP phát triển để phát hiện nhiều loại tấn công web liệt kê trong Top 10  
OWASP với tỷ lệ cảnh báo sai thấp. CRS có thể được sử dụng trong tường lửa ứng dụng web ModSecurity - môđun đi  
kèm với máy chủ web Mozilla Apache. ModSecurity được OWASP và cộng đồng an ninh web toàn cầu hỗ trợ. Tuy  
nhiên, do CRS gồm một số lượng khá lớn luật, nên nó tương đối cồng kềnh và có thể gặp vấn đề tương thích khi tích  
hợp vào các tường lửa ứng dụng web khác, hoặc sử dụng với các máy chủ web khác, như máy chủ web Microsoft  
Internet Information Services.  
SQL-ID [5] là một hệ thống phát hiện tấn công SQLi dựa trên đặc tả. Đầu tiên, SQL-ID xây dựng một tập luật  
đặc tả cấu trúc của các lệnh SQL hợp lệ được sinh bởi ứng dụng web và gửi cho máy chủ cơ sở dữ liệu để thực hiện.  
Sau đó, SQL-ID thực hiện giám sát, tiền xử lý và phân loại các câu truy vấn SQL được gửi đến dựa trên tập luật đặc tả  
đã xây dựng. Chỉ những câu lệnh SQL được phân loại là “hợp lệ” mới được gửi đến máy chủ cơ sở dữ liệu để thực  
hiện, còn các câu lệnh SQL không hợp lệ sẽ bị chặn và ghi log. Các thử nghiệm cho thấy, SQL-ID đạt được 0 % cảnh  
báo sai và có thể được sử dụng để bảo vệ đồng thời nhiều website do hệ thống này được triển khai như một máy chủ  
trung gian nằm giữa máy chủ web và máy chủ cơ sở dữ liệu. Mặc dù vậy, việc xây dựng thủ công tập luật đặc tả cấu  
trúc các câu lệnh SQL hợp lệ phải thực hiện riêng rẽ cho từng website và tiêu tốn nhiều thời gian, đặc biệt với các  
website, ứng dụng web có quy mô lớn.  
XSS-GUARD [6] là một framework cho phép giám sát và ngăn chặn tấn công XSS bằng cách tạo một “trang  
bóng” và so sánh trang bóng với trang thực trước khi gửi trang thực cho máy khách. Trang bóng được tự động tạo song  
hành với trang thực từ phản hồi của máy chủ web, nhưng sử dụng dữ liệu đầu vào sạch (không có mã script) có độ dài  
bằng với dữ liệu thực. Các thử nghiệm cho thấy XSS-GUARD có khả năng ngăn chặn nhiều dạng XSS do OWASP liệt  
kê. Hơn nữa, phương pháp này không đòi hỏi tập luật có kích thước lớn và cập nhật thường xuyên. Tuy nhiên, XSS-  
GUARD làm tăng đáng kể tải lên máy chủ web do phải liên tục sinh và so sánh các trang bóng với các trang thực trên  
mỗi yêu cầu từ người dùng web.  
Theo một hướng khác, Liang và cộng sự [7] đề xuất sử dụng phương pháp học sâu RNN (Recurrent Neural  
Network) để xây dựng các mô hình phát hiện tấn công web. Các thử nghiệm trên bộ dữ liệu CSIC 2010 [9] cho thấy  
phương pháp đề xuất đạt được độ chính xác chung trên 98 %. Hơn nữa, phương pháp này có thể loại bỏ được các phần  
việc cần thực hiện thủ công và tiêu tốn nhiều thời gian bao gồm việc lựa chọn và trích xuất các đặc trưng cho huấn  
luyện và phát hiện. Với cách tiếp cận khá tương tự, Pan và cộng sự [8] đề xuất sử dụng công cụ Robust Software  
Modelling Tool (RSMT) để giám sát và trích xuất các thông tin thực thi của một ứng dụng và sau đó sử dụng các thông  
tin thu thập được để huấn luyện mạng học sâu stacked de-noising autoencoder để xây dựng mô hình phát hiện. Các thử  
nghiệm cho thấy phương pháp đề xuất có thể phát hiện nhiều dạng tấn công web với độ đo F1 trung bình trên 90 %.  
Từ các khảo sát trên, có thể rút ra một số nhận xét như sau:  
OWASP Core Rule Set (CRS) [4] có thể phát hiện hiệu quả các dạng tấn công web, tuy nhiên CRS có kích  
thước lớn và đòi hỏi được cập nhật thường xuyên. Ngoài ra, CRS gặp phải vấn đề tương thích khi được triển  
khai trên các nền tảng máy chủ web khác với Mozilla Apache.  
SQL-ID [5] hoặc XSS-GUARD [6] chỉ có thể phát hiện một dạng tấn công web. Hơn nữa, chúng hoặc gặp  
vấn đề với việc xây dựng và cập nhật tập luật thủ công, hoặc gặp vấn đề giảm hiệu năng của máy chủ web.  
Liang và cộng sự [7] và Pan và cộng sự [8] đều sử dụng mạng học sâu để xây dựng mô hình phát hiện tấn  
công web. Đây là hướng đi mới có nhiều triển vọng, tuy nhiên các kỹ thuật học sâu nhìn chung đòi hỏi tài  
nguyên tính toán lớn và có thể không phù hợp cho phát hiện tấn công web theo thời gian thực. Hơn nữa, hiệu  
năng phát hiện của các đề xuất này chỉ cao hơn một chút (với Liang và cộng sự [7]) và thậm chí còn thấp hơn  
(với Pan và cộng sự [8]) so với hiệu năng phát hiện dựa trên các phương pháp học máy truyền thống. Ngoài  
ra, việc sử dụng công cụ RSMT (Pan và cộng sự [8]) để giám sát máy chủ có thể làm suy giảm nghiêm trọng  
hiệu năng hoạt động của máy chủ.  
Trong bài báo này, chúng tôi đề xuất một mô hình phát hiện các dạng tấn công web thường gặp dựa trên học  
máy sử dụng web log với các ưu điểm sau so với các nghiên cứu đã có: (1) Mô hình đề xuất có khả năng phát hiện 4  
dạng tấn công web phổ biến, bao gồm SQLi, XSS, CMDi và duyệt đường dẫn; (2) thuật toán học máy cây quyết định  
được sử dụng để xây dựng mô hình phát hiện có chi phí tính toán tương đối thấp nhưng vẫn đạt được hiệu năng phát  
hiện cao; (3) quá trình lựa chọn, trích xuất các đặc trưng và huấn luyện mô hình có thể được thực hiện tự động; (4) mô  
hình phát hiện đề xuất không yêu cầu phải cập nhật thường xuyên và (5) dữ liệu web log cho mỗi website được sử  
dụng là đầu vào của mô hình phát hiện thường có sẵn theo cấu hình ngầm định trên các máy chủ web. Điều này có  
nghĩa là việc thu thập dữ liệu sẽ tương đối đơn giản và giúp cho quá trình triển khai thực tế thuận lợi hơn.  
Hoàng Xuân Dậu, Nguyễn Trọng Hưng  
471  
III. MÔ HÌNH PHÁT HIỆN TẤN CÔNG WEB THƯỜNG GẶP  
A. Mô hình phát hiện tấn công web  
Mô hình phát hiện tấn công web đề xuất được triển khai trong 2 giai đoạn: (1) Giai đoạn huấn luyện và (2) giai  
đoạn phát hiện. Giai đoạn huấn luyện như biểu diễn trên Hình 2 gồm các bước sau:  
1. Thu thập dữ liệu huấn luyện, bao gồm các URI (Uniform Resource Indicator) bình thường và các URI tấn công;  
2. Dữ liệu huấn luyện được tiền xử lý để chọn và trích xuất các đặc trưng. Sau tiền xử lý, mỗi URI được chuyển  
đổi thành 1 véctơ và tập dữ liệu huấn luyện được chuyển đổi thành một ma trận huấn luyện gồm M×(N+1) phần tử, trong  
đó, M là tổng số URI trong tập huấn luyện và N là số đặc trưng. Cột cuối của ma trận huấn luyện lưu nhãn của URI.  
3. Dữ liệu huấn luyện dưới dạng ma trận huấn luyện được đưa vào bước huấn luyện để xây dựng bộ phân loại,  
hoặc mô hình sử dụng cho giai đoạn phát hiện.  
Giai đoạn phát hiện như mô tả trên Hình 3 gồm các bước sau:  
1. Các URI được tách ra từ dữ liệu web log được sử dụng làm đầu vào cho quá trình phát hiện;  
2. Mỗi URI được tiền xử lý theo thủ tục giống như khi thực hiện với URI huấn luyện. Kết quả của tiền xử lý là  
véctơ của URI sử dụng cho bước tiếp theo;  
3. Véctơ của URI được phân loại sử dụng Bộ phân loại đã xây dựng trong giai đoạn huấn luyện. Kết quả của bước  
này là trạng thái của URI: Bình thường hoặc tấn công.  
Hình 2. Mô hình phát hiện tấn công web: Giai đoạn huấn luyện  
Hình 3. Mô hình phát hiện tấn công web: Giai đoạn phát hiện  
B. Thử nghiệm trên bộ dữ liệu HTTP Param Dataset  
Mục này trình bày về tập dữ liệu HTTP Param Dataset [10] dùng cho thử nghiệm, các vấn đề thử nghiệm, gồm  
tiền xử lý, huấn luyện, các độ đo thử nghiệm, các kết quả và một số nhận xét, đánh giá.  
1. Bộ dữ liệu HTTP Param Dataset [10]  
Bộ dữ liệu này gồm 31.067 chuỗi truy vấn URI của các yêu cầu web, bao gồm độ dài và nhãn của truy vấn. Có  
2 loại nhãn truy vấn là Norm (Bình thường) và Amon (Tấn công). Nhãn Anom lại gồm 4 loại tấn công cụ thể: SQLi,  
XSS, CMDi và duyệt đường dẫn. Bộ dữ liệu được chia ra thành 2 phần:  
Tập huấn luyện gồm 20.000 truy vấn được sử dụng cho huấn luyện xây dựng mô hình phát hiện;  
Tập kiểm thử gồm 11.067 truy vấn được sử dụng để đánh giá hiệu năng của mô hình phát hiện.  
2. Tiền xử lý  
Tiền xử lý thực hiện việc tách và véctơ hóa các đặc trưng của các truy vấn URI. Khâu này gồm 2 nhiệm vụ:  
Tách các đặc trưng của truy vấn URI sử dụng kỹ thuật n-gram. Kỹ thuật n-gram được lựa chọn do đây là  
phương pháp đơn giản và thực thi nhanh. Chúng tôi lựa chọn 3-gram để tách các đặc trưng của URI;  
   
472  
PHÁT HIỆN TẤN CÔNG WEB THƯỜNG GẶP DỰA TRÊN HỌC MÁY SỬ DỤNG WEB LOG  
Véctơ hóa các đặc trưng của URI sử dụng phương pháp IF-IDF (Term Frequency-Inverse Document  
Frequency). Với mỗi 3-gram, giá trị tf-idf được tính toán như sau:  
(1)  
(2)  
tf-idf(t, d, D) = tf(t, d) x idf(t, D)  
(3)  
trong đó, tf(t, d) là tần suất của 3-gram t trong URI d; f(t, d) là số lần 3-gram t xuất hiện trong URI d; max{f(w,d): w∈  
d} là số lần xuất hiện lớn nhất của một 3-gram bất kỳ trong URI d; D là tập tất cả các URI và N là tổng số lượng các  
URI. Do số lượng các đặc trưng URI (số lượng 3-gram) có thể rất lớn, nên phương pháp PCA (Principle Component  
Analysis) được sử dụng để giảm số đặc trưng về 256 – lựa chọn theo thực nghiệm.  
3. Huấn luyện  
Bước huấn luyện sử dụng thuật toán học máy cây quyết định CART hỗ trợ bởi thư viện Python Sklearn để xây  
dựng mô hình phát hiện. Lý do thuật toán học máy cây quyết định được lựa chọn là do đây là thuật toán thực thi nhanh  
với chi phí tính toán thấp, thích hợp cho các hệ thống phát hiện tấn công theo thời gian thực. Kết quả của bước huấn  
luyện là Bộ phân loại hay Mô hình phát hiện sử dụng cho giai đoạn phát hiện.  
4. Độ đo đánh giá  
Độ đo đánh giá được sử dụng là độ chính xác phát hiện chung ACC được tính theo công thức sau:  
ACC = Số truy vấn được phát hiện đúng/Tổng số truy vấn kiểm thử * 100 %  
(4)  
Độ đo ACC được tính toán cho từng dạng tấn công web, cho các truy vấn URI bình thường và tính chung cho  
tất cả các truy vấn kiểm thử.  
5. Phát hiện và kết quả  
Trong giai đoạn phát hiện, tập dữ liệu kiểm thử được sử dụng để kiểm tra hiệu năng phát hiện của mô hình đã  
xây dựng trong giai đoạn huấn luyện. Mỗi truy vấn URI trong tập kiểm thử được tiền xử lý sử dụng thủ tục giống như  
quá trình huấn luyện. Sau đó, mỗi véctơ của truy vấn URI được đưa vào phân loại và kết quả có thể bình thường, hoặc  
tấn công, kèm theo dạng tấn công cụ thể. Bảng 1 cung cấp độ chính xác phát hiện sử dụng Tập kiểm thử.  
Bảng 1. Độ chính xác phát hiện sử dụng Tập kiểm thử  
Độ chính xác  
ACC (%)  
Độ chính xác của Liang và Độ chính xác của Pan và  
Nhãn phát hiện  
cộng sự [7] (%)  
cộng sự [8] (%)  
URI bình thường  
Tấn công SQLi  
98,60  
99,34  
85,88  
73,33  
97,94  
98,56  
Tấn công XSS  
Tấn công CMDi  
Tấn công duyệt đường dẫn  
Độ chính xác chung  
98,42  
91,40  
6. Nhận xét  
Từ các kết quả thử nghiệm cho trên Bảng 1, có thể rút ra một số nhận xét:  
Mô hình phát hiện tấn công web đề xuất đạt được độ chính xác phát hiện chung khá cao, 98,56 % trên tập dữ  
liệu kiểm thử. Kết quả này cao hơn một chút so với độ chính xác 98,42 % của Liang và cộng sự [7] và cao hơn  
đáng kể so với độ chính xác 91,40 % của Pan và cộng sự [8], trong khi các đề xuất này sử dụng các kỹ thuật  
học sâu với yêu cầu tài nguyên tính toán lớn.  
Độ chính xác phát hiện tấn công SQLi đạt được rất cao (99,34 %), theo sau là độ chính xác phát hiện truy vấn  
URI bình thường và tấn công duyệt đường dẫn. Độ chính xác phát hiện tấn công XSS và CMDi chưa cao, chỉ  
đạt lần lượt 85,88 % và 73,33 %. Điều này là do dữ liệu huấn luyện cho các dạng tấn công XSS và CMDi  
chưa đầy đủ để có thể xây dựng một mô hình phát hiện hiệu quả.  
C. Thử nghiệm trên web log thực  
Trong mục này, chúng tôi cung cấp một số kết quả thử nghiệm trên web log thực thu thập trên các máy chủ web  
đang vận hành. Nhìn chung, các máy chủ web phổ biến như Mozilla Apache, Microsoft IIS và Ng ngix đều có thể tạo  
log cho mỗi website mà chúng vận hành theo các yêu cầu từ người dùng. Hầu hết các web log ở dạng văn bản thuần và  
mỗi dòng là một bản ghi log. Mặc dù có nhiều định dạng log được sử dụng, định dạng W3C Extended log file format  
 
Hoàng Xuân Dậu, Nguyễn Trọng Hưng  
473  
[11] được sử dụng rộng rãi nhất và được hầu hết máy chủ web hỗ trợ. Hình 4 minh họa một phần file web log sử dụng  
định dạng W3C Extended log file format.  
Từ file web log, chúng tôi tách các URI truy cập là sự kết hợp của các trường cs-uri-stem và cs-uri-query trong  
mỗi bản ghi log. Sau đó, truy vấn URI được đưa vào quá trình phát hiện như biểu diễn trên Hình 3. Các thử nghiệm  
trên web log thực xác nhận mô hình đề xuất có khả năng phát hiện chính xác và hiệu quả các dạng tấn công web  
thường gặp. Bảng 2 cung cấp một số truy vấn tấn công và bình thường được phát hiện bởi mô hình đề xuất sử dụng  
web log thực.  
Hình 4. Một phần file web log sử dụng định dạng W3C Extended log file format [11]  
Bảng 2. Một số truy vấn tấn công được phát hiện trong web log thực  
Nhãn phát hiện  
Tấn công SQLi  
Truy vấn URI thực tế  
fpw=(select%20convert(int%2cCHAR(65)))  
type=vh01i'><script>alert(1)</script>ooq5g  
fpw=WEB-INF/web.xml%3f  
Tấn công XSS  
Tấn công CMDi  
Tấn công duyệt đường dẫn  
Bình thường  
type=../../../../../../../../../../../etc/passwd%00  
tabid=471&language=en-US  
Tấn công SQLi  
1' where 2145=2145;select sleep(5)#d  
"<img id=xss src="" javascript:alert('xss');"">"  
"& ping -n 30 127.0.0.1 &"  
Tấn công XSS  
Tấn công CMDi  
Tấn công duyệt đường dẫn  
txtSearchNews=.../.\.../.\.../.\.../.\.../.\.../.\.../.\.../.\.../.\.../.\windows/win.ini  
IV. KẾT LUẬN  
Bài báo này đề xuất một mô hình phát hiện tấn công web dựa trên học máy có giám sát sử dụng web log. Mô  
hình đề xuất có khả năng phát hiện 4 dạng tấn công web thường gặp nguy hiểm nhất, bao gồm tấn công SQLi, XSS,  
CMDi và duyệt đường dẫn. Các thử nghiệm trên tập dữ liệu có gán nhãn và dữ liệu web log thực khẳng định mô hình  
đề xuất đạt được độ chính xác phát hiện chung là 98,56 % và mô hình có khả năng phát hiện hiệu quả các dạng tấn  
công web thường gặp. Mô hình đề xuất được huấn luyện sử dụng thuật toán cây quyết định có chi phí tính toán thấp  
nhưng vẫn đạt được hiệu quả phát hiện cao. Quá trình huấn luyện để xây dựng mô hình có thể được thực hiện tự động.  
Trong tương lai, chúng tôi sẽ mở rộng mô hình cho phép phát hiện thêm nhiều dạng tấn công web, cũng như  
nâng cao tỷ lệ phát hiện đúng cho một số dạng tấn công web đặc thù như XSS và CMDi.  
TÀI LIỆU THAM KHẢO  
[2] Abhishek Kumar Baranwal, “Approaches to detect SQL injection and XSS in web applications”, EECE 571B,  
Term Survey Paper, University of British Columbia, Canada, April 2012.  
[4] OWASP  
ModSecurity  
Core  
Rule  
Set,  
https://www.owasp.org/index.php/Category:  
OWASP_ModSecurity_Core_Rule_Set_Project, accessed June 2020.  
           
474  
PHÁT HIỆN TẤN CÔNG WEB THƯỜNG GẶP DỰA TRÊN HỌC MÁY SỬ DỤNG WEB LOG  
[5] Kemalis, K. and T. Tzouramanis. “SQL-IDS: A Specification-based Approach for SQL injection Detection”.  
SAC’08. Fortaleza, Ceará, Brazil, ACM, 2008.  
[6] P. Bisht, and V.N. Venkatakrishnan, “XSS-GUARD: Precise dynamic prevention of Cross-Site Scripting Attacks,”  
In Proceeding of 5th Conference on Detection of Intrusions and Malware & Vulnerability Assessment, LNCS  
5137, pp. 23-43, 2008.  
[7] Jingxi Liang, Wen Zhao and Wei Ye. “Anomaly-Based Web Attack Detection: A Deep Learning Approach”.  
ICNCC 2017, Kunming, China, December 8-10, 2017.  
[8] Yao Pan, Fangzhou Sun, Zhongwei Teng, Jules White, Douglas C. Schmidt, Jacob Staples and Lee Krause.  
“Detecting web attacks with end-to-end deep learning”. Journal of Internet Services and Applications (2019)  
10:16, SpringerOpen, 2019.  
DETECTING COMMON WEB ATTACKS BASED ON  
MACHINE LEARNING USING WEB LOG  
Hoang Xuan Dau, Nguyen Trong Hung  
ABSTRACT: SQL injection (SQLi) and Cross-site Scripting (XSS) attacks have long been considered major threats to web-  
based applications and their users. These types of web attacks can cause serious damage to web applications and web users,  
ranging from bypassing the authentication system, stealing information from database and users, to even taking control of the server  
system. To cope with web attacks, many measures have been researched and applied to protect web applications and users. Among  
them, the detection of web attacks is a promising approach in the defensive layers for web applications. However, some measures  
can only detect a single type of web attacks, while others require frequent updates to the detection rule sets, or require extensive  
computational power because of using complex detection methods. This paper proposes a web attack detection model based on  
machine learning using web log. The detection model is built using the inexpensive decision tree algorithm and it does not require  
frequent update. Our experiments on a labelled dataset and real web logs show that the proposed model is capable of detecting  
several types of web attacks effectively with overall detection accuracy rate of over 98 %.  
             
pdf 6 trang baolam 25040 Free
Bạn đang xem tài liệu "Phát hiện tấn công web thường gặp dựa trên học máy sử dụng web log", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfphat_hien_tan_cong_web_thuong_gap_dua_tren_hoc_may_su_dung_w.pdf