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
Hồng Xn Dậu1, Nguyễn Trọng Hưng2
Khoa Cơng nghệ thơng tin 1, Học viện Cơng nghệ Bưu chính Viễn thơng
2
Khoa Cơng nghệ và An ninh thông tin, Học viện An ninh nhân dân
,
1
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 u cầu lớn về tài ngun tính tố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 tốn học máy có chi phí tài ngun tính tố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, XSSGUARD 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
ngun tính tố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. Ngồ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 tố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 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.
Hồng Xn 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;
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
472
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 tố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 tốn học máy cây quyết định được lựa chọn là do đây là thuật tốn thực thi nhanh
với chi phí tính tố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 tố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ử
URI bình thường
Độ chính xác
ACC (%)
98,60
Tấn cơng SQLi
99,34
Tấn công XSS
85,88
Nhãn phát hiện
Tấn công CMDi
73,33
Tấn công duyệt đường dẫn
97,94
Độ chính xác chung
98,56
Độ chính xác của Liang và
cộng sự [7] (%)
Độ chính xác của Pan và
cộng sự [8] (%)
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 u cầu tài ngun tính tố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
Truy vấn URI thực tế
Tấn công SQLi
fpw=(select%20convert(int%2cCHAR(65)))
Tấn cơng XSS
type=vh01i'><script>alert(1)</script>ooq5g
Tấn cơng CMDi
fpw=WEB-INF/web.xml%3f
Tấn cơng duyệt đường dẫn
type=../../../../../../../../../../../etc/passwd%00
Bình thường
tabid=471&language=en-US
Tấn công SQLi
1' where 2145=2145;select sleep(5)#d
Tấn công XSS
"<img id=xss src="" javascript:alert('xss');"">"
Tấn công CMDi
"& ping -n 30 127.0.0.1 &"
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 tố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. Q 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
[1] OWASP Project, , accessed June 2020.
[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.
[3] Website Attack Tools, accessed June 2020.
[4] OWASP
ModSecurity
Core
Rule
Set,
/>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.
[9] HTTP DATASET CSIC 2010, accessed June 2020.
[10] HTTP Param Dataset, accessed June 2020.
[11] Extended Log File Format, accessed June 2020.
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 webbased 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 %.