Để đối phó với các hình thức tấn công mạng ngày càng tỉnh vi và phức tạp hơn, các nhà nghiên cứu đã phát triển các phương pháp mới để bảo vệ an toàn thông tin và di liệu trên ứng dụng we
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VA TRUYEN THONG
NGUYEN THI HAI HÀ - 19520506
KHOA LUAN TOT NGHIEP
MOT MO HINH PHAT HIEN TAN CONG WEB DUA
TREN HOC TANG CUONG
A NOVEL WEB ATTACK DETECTION MODEL BASED ON
REINFORCEMENT
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN THS DO HOANG HIEN
TP HO CHÍ MINH, 2023
Trang 2LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn thầy Đỗ Hoàng Hiền, người đã trực tiếp hướng dẫn em thực hiện khóa luận tốt nghiệp lần này Em xin gửi đến Thầy lời
tri ân chân thành và sâu sắc vì những hướng dẫn, hỗ trợ và động viên của Thầy
chính là yếu tố then chốt giúp em hoàn thành khóa luận này.
Xin chân thành bày tỏ lòng biết ơn đối với toàn thể quý Thầy Cô trong Khoa
Mạng máy tính và Truyền thông, trường Đại học Công nghệ thông tin đã tận tình truyền dạy những kiến thức trong suốt thời gian em theo học tại trường, cũng như
tạo mọi điều kiện thuận lợi đề em có thể thực hiện khóa luận này Em xin chúc khoa Mạng máy tính và Truyền thông nói riêng và trường Đại học Công nghệ
Thông tin nói chung luôn đạt được những thành công trong tương lai, sẽ mãi là
niềm tin cho các thế hệ sinh viên và là niềm tự hào của hệ thống giáo dục nước
nhà.
Bên cạnh đó, cũng xin cảm ơn các thầy cô, anh chị đang công tác tại Phòng thí
nghiệm An toàn thông tin - InSecLab vì đã luôn tạo điều kiện về cơ sở vật chất hiện đại, luôn sẵn sàng nhiệt tình hỗ trợ em về chuyên môn lẫn kinh nghiệm trong
quá trình hoạt động nghiên cứu và thực hiện khoá luận.
Xin chân thành cảm ơn gia đình, bạn bè và anh chị đồng nghiệp ở công ty, những
người luôn động viên và hỗ trợ dé em có thé yên tâm thực hiện khóa luận một cách tập trung nhất.
Cuối cùng, do những hạn chế về mặt kiến thức chuyên môn và kinh nghiệm của nên còn nhiều thiếu sót trong khóa luận Em rất mong có thể nhận được những ý
kiến đóng góp của quý Thay, Cô dé khóa luận tốt nghiệp có thể được hoàn thiện nhất có thể.
Xin chân thành cảm ơn!
Tác giả thực hiện.
Trang 3MỤC LỤC
Chương 1 TỎNG QUAN DE TAL 2222222222 2222212222132 2
1.1 Giới thiệu đề tài ccctthhtrHhHreerre 2
1⁄2 Mục tiêu đề tài c3
1.3 Đối tượng, phạm vi nghiên cứu -: +22++++22v+v+rttrxsrrrsrrrecree 4
1.4 Tính mới và tinh ứng dụng của đề tài ccccccsccccrrrrerrrrrrrrrrrrrree 4
1.5 Tóm tắt chương -2¿-222+2+2222EE22E22111122221122271112221111 2211 cctrrLeC 5 Chuong2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIÊN QUAN 6
QA Cơ sở lý thuyẾt -22222-22222222225111212211122271122271112.10111 2.1 ceere 6
2.1.1 Các tấn công web thường gặp cc:-©cc2ccceccvvcrrerrvecree 6
2.1.2 Máy học - Học tăng cường - -¿- - 5< S+Stst+ttekerrkekererrk 13
2.1.3 Các công nghệ sử dụng -c cccccccccxsrercee 20
2.2 Các nghiên cứu liên quan ¿5+ 525£‡++£*+£‡£+eereererererrrrrrxee 21
Chương 3 THIẾT KE HE THÓNG 2¿+222+2z22vvzzrsrrvscee 23
3.1 Tổng quan về mô hình -:¿£222E+22+++++222EEYv++rrtttttrrrxrrrrrrrrrrr 23
3.2 Tiền xử lý dữ liệu -22-+2-2222EE2E22E1E 2.2211 co 24
3.3 Chuan bi dit liệu cho mô hình học tăng CƯỜng -c -.-.- 3 Í
3.4 Triển khai mô hình học tăng cường :2z+22s++z+cvvszzerx 32
3.4.1 Môi trường -ccccc2C2SvcrEEEEtrrrerrttrrrrrrtrrrerrrvee 33
3.4.2 Tác nhân -2222+c222E2ECEEEEEEtEEEEEErEEEErrrrrrvee 34
Chương 4 HIỆN THỰC MÔ HÌNH VÀ THỰC NGHIỆM - 37
4.1 Cấu hình máy thực nghiệm -2++22E++++2222+++t2EEEEzrrrrrrrrrrrrrke 37
4.2 Hién thurc m6 inh oe ồồễồễồ®ồ®ồ®ễồễ - 37
Trang 44.2.1 Dữ liệu và tiền xử lý
4.2.2 Chuyên đổi dữ liệu thành dang số
4.2.3 Tạo bộ dữ liệu huấn luyện mô hình - -: -ccveccczrrxz 41 4.2.4, Triển khai mô hình
4.3 Thực nghiệm hệ thống 22¿+2222+++2E22E2Et22221121222212 2221 cerrkiv 44
4.3.1 — Tiêu chí đánh giá
4.3.2 Kịch bản thực nghiệm 45
4.3.3 Kết quả thực nghiệm
4.3.4 Kếtluận Hee 49
Chương 5 | KET LUẬN VÀ HƯỚNG PHÁT TRIÊN - 50
5.I Kết luận 22222222E22222222112222111222211112212112 2.111 cE.1.eccre 50
5.2 Kết quả đạt được 222:222222222271112222112 22121122111 ceEecree 50 5.3 Hướng phát triển của đề tài
TÀI LIEU THAM KHẢO 222222222£22222222222222222222522+tEEEEEEEYvrrrerrrrrrrrrrrree 52
Trang 5DANH MỤC HÌNH
Hình 2.1: Minh họa tắn cơng SQL Injection -22cc+222222vvvvzrrrrrrrrrrrree 6 Hình 2.2: Minh họa tan cơng Local File Inclusion -: -¿z©sc++22sscce2 7 Hình 2.3: Minh hoa tắn cơng Remote File Inclusion - -z-©s+z:++ 8 Hình 2.4: Minh họa tan cơng Command Injection sccccsssssessssssssssssssesssssseeesessseess 9 Hình 2.5: Minh họa tan cơng Open Redirect -.-:¿+22v+z++22zxvcrzrrxscee 0 Hình 2.6: Minh họa tan cơng CRLF +©2+++222S+++ttEEv+rrttrrxrrrrrrrrree 1
Hình 2.7: Minh họa tan cơng XSS -222222222E2E221122222112 222112 2
Hình 2.8: Minh họa tan cơng Path traversal cccccssssssssssssesssossessessssesssesseessessseeesessees 3
Hình 2.9: Mơ phỏng thí nghiệm PaVÌO V ¿c5 2+ xey 4
Hình 2.10: Mơ hình hoc tăng cường ¿-¿-¿- + + + St+E+k‡keEEkEkkekekrkrkrkeree 5
Hình 2.11: Cơng thức cập nhật giá tri của Q-Ïearning - -¿-+-+ + c+c+x+ce+ 5
Hình 2.12: Ví dụ Cart DỌ€ - S11 212121 29151 12121 1 13 12121211111 v ưy 6
Hình 2.13: Ứng dụng học tăng cường vào cờ vua c-:¿ 2csccccz++cccvvse+ 7 Hình 2.14: Chiến thuật Epsilon øreedy - .2::+¿22222222c++r+22vvvvvvrrrrrrrrrrrser 9
Hình 2.15: Mơ phỏng chiến thuật e-greedy (1) ¿z2sz++222+sz+cvsscez 9 Hình 2.16: Mơ phỏng chiến thuật e-greedy (2) -ccc¿¿2222cvvvcccerrrrrrree 20 Hình 2.17: Mơ hình tổng quan của bài nghiên cứu nhĩm tác giả Iram Tariq 2 Hình 3.1: Mơ hình tổng quan : 222¿22ES+++222EYE+tSEESE+rttEEEvrrrrrrrrrrrrrrrree 23
Hình 3.2: Một request trong bộ dữ liệu CSIC2010 5 -+5+ 5+5 £+c+++<++ 24
Hình 3.3: Dữ liệu sau khi được tiền xử II 24
Hình 3.4: Mơ tả quá trình phân tách URL ¿-¿ 2 +©++++++c++e£+ezxses> 26
Hình 3.5: Ánh xạ tương ứng của các thành phần . z++2++zz+2z+scez 27 Hình 3.6: Dữ liệu chuyển đổi thành dạng sỐ 222+¿222222vvvvcrrrrrrrrree 31 Hình 3.7: Chuẩn bị dữ liệu cho mơ hình -: -222c2cczz+22EEvvvvvrrrrrrrrrree 31
Hình 3.8: Tạo mini-batch cho mơ hình ¿55s s+s+esvseseesrseerrseessessseersee.22
Hình 3.9: Ludng hoạt động của mơi trường -+¿£©22vcvvvrrrtrrrrrrrrrercee 33 Hình 3.10: Mơ hình học tăng cường tác giả đề xuất - -: c5c5sccecz 34 Hình 4.1: Các bước hiện thực hệ thống
Trang 6Hình 4.2: Biểu đồ tông hợp dữ liệu đã được tiền xử lý
Hình 4.3: Biểu đồ số liệu từng bộ dữ liệu train va test
Hình 4.4: Cấu trúc mạng NN được sử dụng trong mô hình
Trang 7DANH MỤC BANG
Bang 3.1: Các từ khóa được định nghĩa - + St Sxttetrerrkekrkrrrrkrkrrrreree 25
Bảng 3.2: Bảng ánh xạ chuyền đổi từ 222-22222+222222tc2E2EEEetrrrkrrerrrrerrrrr 25 Bảng 3.3: Danh sách thuộc tính đại diện tan công Web ¿-:+ccccccereerecee 27 Bang 3.4: Thuật toán xử lý dữ liệu thành dang sỐ -¿- ¿+22 30 Bảng 4.1: Bảng tổng hop đữ liệu sau khi xử lý - 2 22c¿+2222+cceccvsececrr 38
Bảng 4.2: Bảng thuộc tính và các ký tự của thuộc tính - + - +-+-«++ 40
Bảng 4.3: Bang tổng hợp số liệu dữ liệu 22-22222+t22EEEzrerrrkerrrrrrerrrrr 42 Bảng 4.4: Bảng giá trị của các tham số được sử dụng -+ccscce+cz 44
Bảng 4.5: Bảng so sánh kết quả của mô hình đề xuất với các mô hình DL — Dữ liệu
Bảng 4.9: Bang so sánh thời gian dự đoán của mô hình đề xuất với các mô hình DL
(diing dit ligu test CSIC2010) 0 48
Trang 8DANH MỤC TU VIET TAT
CNN Convolutional Neural Networks
NN Neural Networks
CRLF Carriage Return and Line Feed
XSS Cross Site Scripting
Trang 9và dữ liệu Do đó, việc bảo vệ an toàn thông tin và dữ liệu trên ứng dụng web trở
thành một vấn đề cấp bách, cần được quan tâm và giải quyết ngay từ bây giờ.
Để đối phó với các hình thức tấn công mạng ngày càng tỉnh vi và phức tạp hơn,
các nhà nghiên cứu đã phát triển các phương pháp mới để bảo vệ an toàn thông tin và di liệu trên ứng dụng web Các phương pháp này bao gồm sử dụng những công nghệ bảo mật mới, tăng cường kiểm tra an toàn cho các ứng dụng web và
đào tạo nhân viên quản lý bảo mật Trong đó, việc nghiên cứu áp dụng máy học
vào việc phát hiện tắn công ứng dụng web đang là xu hướng hiện nay.
Trong khoá luận này, tác giả đề xuất một mô hình phát hiện tắn công web mới áp dụng học tăng cường Dựa vào đặc điểm của các loại tấn công khác nhau, tác giả
sẽ tìm các đặc trưng cụ thé trong các yêu cầu (HTTP request) dé lựa chọn các thuộc tính cho bộ dữ liệu Sau đó, xây dựng mô hình học tăng cường để phân loại
các yêu cầu trong trong ứng dụng web Mô hình đề xuất có thể phát hiện được
các loại tấn công web với tỉ lệ phát hiện cao Ngoài ra, mô hình đề xuất không bị phụ thuộc vào một bộ dữ liệu nhất định, có thể huấn luyện và kiểm tra dựa trên
nhiều bộ đữ liệu khác nhau.
Trang 10Chương 1 TONG QUAN DE TÀI
1.1 Giới thiệu dé tài
Sự phát triển của Internet đã mở ra những cánh cửa mới cho thế giới kết nối, mở rộng phạm vi giao tiếp và tiếp cận thông tin Internet đã thay đổi cách chúng ta
làm việc, học tập, giải trí, và thậm chí cả cách chúng ta giao tiếp với nhau Chỉ cần vài cú click chuột, chúng ta có thé thực hiện được tat cả những hoạt động như
đọc báo, mua sắm trực tuyến, thanh toán hóa đơn trên ứng dụng web Điều này
đã đem lại nhiều tiện ích cho người dùng, giúp tiết kiệm thời gian và chỉ phí.
Ứng dụng web là một phần mềm chạy trên web server và truy cập vào Internet
bằng trình duyệt Các ứng dụng web được sử dụng phổ biến bởi các người dùng
cá nhân hay doanh nghiệp tùy vào dịch vụ mà ứng dụng web cung cấp Những
dịch vụ được sử dụng pho biến là mua sắm, kết nối liên lạc, chia sẻ thông tin, thanh toán, giáo dục và giải trí Hầu hết, ứng dụng web đều chứa những dữ liệu
rất nhạy cảm của người dùng Vì vậy, ứng dụng web trở thành đối tượng bị tấn
công bởi những tin tặc do có lượng thông tin dữ liệu quan trọng của người dùng.
Những kẻ tan công có thé đánh cắp những ứng dụng này va sử dụng với mục đích
xấu gây ảnh hưởng tới người sử dụng ứng dụng web.
Những báo cáo gần đây cho thấy các cuộc tấn công mạng đang gia tăng tần suất
và mức độ tinh vi Từ các lỗ hổng zero-day tới các biến thể của mã độc đã liên tục tấn công tới các trang web thường được sử dụng, những kẻ tan công đã liên
tục đổi mới dé có thé qua mặt được các biện pháp bảo mật Sự tinh vi và phức tap
của các cuộc tấn công ngày càng tăng này đòi hỏi phải tiến bộ hơn và đổi mới liên tục trong các chiến lược phòng thủ Mặc dù vẫn được các chuyên gia khuyến
nghị và sử dụng các phương pháp phát hiện xâm nhập, kiểm tra gói theo phương pháp truyền thống, nhưng những phương pháp này không còn đủ khả năng phát hiện những tan công ngày càng tinh vi và phức tạp Khi sức mạnh tính toán tăng
lên và chỉ phí giảm xuống, áp dụng học máy đề phát hiện tấn công được coi là
Trang 11một phương pháp thay thế hoặc một cơ chế bé sung để chống lại các cuộc tan
công chèn mã độc hại, SQL injection, tan công XSS
Việc áp dụng máy học đã có nhiều tiễn bộ và thành quả trong nhiều lĩnh vực nói chung và lĩnh vực bảo mật — điển hình là phát hiện tan công web nói riêng Các
nghiên cứu của nhóm tác gia Hacer Karacan [1], và nhóm tác gia Waleed Bin
Shahid [2] đã đạt kết quả cao 99.08% và 99.410% khi áp dụng các mô hình học
máy dé phát hiện tan công ứng dụng web.
Học tăng cường là một nhánh của học máy, tập trung vào việc phát triển các thuật
toán và mô hình có thể học từ kinh nghiệm thông qua những lần thử và sai Trong
học tăng cường, một tác nhân tương tác với một môi trường và học thông qua
việc nhận phản hồi dưới dạng phần thưởng hoặc trừ điểm cho các hành động của
nó Ưu điểm cúa học tăng cường là có khả năng học từ những kinh nghiệm thông qua những lần thử, khả năng tương tác với môi trường và tự động học đề cải thiện
hiệu suất theo thời gian Từ những ưu điểm đó, tác giả quyết định áp dụng học tăng cường dé phát hiện các loại tan công web phô biến.
Trong lĩnh vực áp dụng học tăng cường phát hiện tấn công ứng dụng web, đã có
nhiều tác giả nghiên cứu ra những phương pháp phát hiện tấn công đạt nhiều kết
quả cao như bài nghiên cứu của nhóm tác giả Zhenze Liu [3] nghiên cứu phương
pháp phát hiện tắn công trực tuyến trong hệ thống điều khiển công nghiệp và đạt
được kết quả cao Bên cạnh đó, nhóm nghiên cứu của tác giả Mostofa Ahsan [4]
đã phát triển thành công một mô hình học tăng cường tự động hóa quá trình phát hiện các hành vi xâm nhập và cải thiện khả năng phòng ngừa tấn công mạng, có
thể áp dụng vào thực tế.
1.2 Mục tiêu đề tài
- Tim hiểu các phương pháp học tăng cường.
- Xây dựng một mô hình dé phát hiện tan công web sử dung học tăng cường.
- Đưa ra mô hình học tăng cường nhằm phát hiện những cuộc tấn công đã
có và còn có thé phát hiện những cuộc tân công mới.
Trang 12- _ Đánh giá kết quả của mô hình đề xuất với các mô hình học máy khác.
1.3 Đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu
- Cac phương pháp học máy.
- Các mô hình hoc tăng cường.
- Các bộ dữ liệu HTTP CSIC 2010, FWAP và HttpParams.
-_ Các dạng tan công web phổ biến hiện nay.
Pham vi nghiên cứu
- Nghiên cứu mô hình máy học phổ biến.
- _ Nghiên cứu các mô hình học tăng cường.
- Nghiên cứu việc biểu diễn các tấn công web dé mô hình máy học có thể
hiểu được.
- Ap dụng học tăng cường đề xây dựng mô hình phát hiện tan công web.
- Thực hiện nghiệm trên các bộ dữ liệu HTTP CSIC 2010, FWAP và
HttpParams.
1.4 Tính mới và tính ứng dung của đề tài
Việc bảo vệ ứng dụng web trở thành một thách thức lớn ở thời điểm hiện tại, khi các cuộc tan công web ngày càng phát triển và phức tạp hơn với tần suất cao hơn.
Những phương pháp phát hiện tan công truyền thống có thé sẽ không theo kịp tốc
độ phát triển của các dạng tan công Vi thế áp dụng máy học vào việc phát hiện
phát hiện tấn công web góp phần cải thiện quá trình bảo vệ ứng dụng web hơn so với phương pháp truyền thống.
Nghiên cứu này xoay quanh van đề ứng dụng phương pháp học sâu tăng cường
dé tim phát hiện các tan công web nhanh chóng và hiệu qua; từ đó đưa ra giải pháp bảo mật một cách tốt nhất có thé dé bảo vệ các ứng dụng web.
Trang 13Tiềm năng và tính nồi trội khi ứng dụng phương pháp học sâu tăng cường là phát
hiện được cả tấn công zero-day Ngoài ra, nghiên cứu cũng góp phần hỗ trợ cho
các hệ thống bảo mật trong tương lai khi nó được ứng dụng vào thực tiễn.
1.5 Tom tắt chương
Báo cáo khóa luận bao gồm 5 chương, trong đó nội dung tóm tắt từng chương lần
lượt là:
- Chương 1: Tổng quan dé tài
Trong chuong dau tién, tac giả giới thiệu tổng quan về đề tài cũng như lý do chọn
đề tài để nghiên cứu và những mục tiêu thực hiện nghiên cứu.
- _ Chương 2: Cơ sở lý thuyết và các nghiên cứu liên quan
Tại chương thứ hai, tác giả giới thiệu những lý thuyết được nghiên cứu trong quá trình thực hiện và những bài báo khoa học được sử dụng để tham khảo và nghiên
cứu.
-_ Chương 3: Thiết kế hệ thống
Trong chương này, tác giả sẽ mô tả về mô hình được đề xuất Bao gồm tổng quan
mô hình đề xuất, các luồng hoạt động của mô hình và phương pháp tiền xử lý dữ
liệu đưa vào mô hình, định nghĩa các thành phần trong mô hình học tăng cường được dé xuất.
- _ Chương 4: Hiện thực mô hình và thực nghiệm
Trong chương thứ tư, tác giả sẽ trình bày chỉ tiết các bước dé hiện thực hệ thống
đã được đề xuất Tiếp theo sẽ là hiện thực các kịch bản thực nghiệm với mô hình bằng ngôn ngữ Python Cuối cùng là đưa ra kết quả và nhận xét chung cho các
kịch bản thực nghiệm đã đề ra.
- _ Chương 5: Kết luận và hướng phát triển
Ở chương cuối, nhóm tác giả hệ thống lại những gì đã làm được trong khoá luận
này, đồng thời đưa ra những mục tiêu và các hướng phát triển dé có thể cải thiện kết quả, tăng thêm tính khả quan của đề tài khi áp dụng vào thực tiễn.
Trang 14Chương 2 CƠ SỞ LÝ THUYET VA CÁC NGHIÊN CỨU LIEN QUAN
2.1 Cơ sở lý thuyết
2.1.1 Các tin công web thường gặp
Tân công mạng hay còn gọi là chiến tranh trên không gian mạng Có thê hiểu tấn
công mang là hình thức tan công xâm nhập vào một hệ thống mạng máy tính, cơ
sở dữ liệu, hạ tầng mạng, website, thiết bị của một cá nhân hoặc một tổ chức
thông qua mạng internet với những mục đích bất hợp pháp Đề có thể ngăn chặn
các cuộc tan công mạng, ta cần tìm hiéu và phân tích các cuộc tan công thường gap, từ đó có thé tìm ra dấu hiệu của cuộc tan công và thực hiện ngăn chặn chúng.
2.1.1.1 Tấn công SQL Injection
Tần công SQL Injection là loại tấn công mà attacker có thé tận dụng các lỗ hồng
và các lỗi logic trong source code đề chèn các câu truy vấn nguy hiểm nhằm khai
thác thông tin từ server hoặc database.
Hình 2.1: Minh họa tan công SQL Injection Dau hiệu của tan công SQL injection thông thường sẽ thêm những ký tự đặc biệt
như #, , %00, ‘, “ hoặc các từ union, and, or, order by, vào sau input hay
Trang 15URL của trang web Những ký tự này kết hợp với dữ liệu được đưa vào sẽ được
máy chủ chuyền thành một câu truy vấn trong cơ sở dữ liệu và thực thi nó.
2.1.1.2 Tấn công Local File Inclusion
Local File Inclusion là kỹ thuật tan công cho phép kẻ tan công đọc hoặc thực thi file trên ứng dụng web Điều này có thể rất nguy hiểm vì nếu máy chủ web bị định cấu hình sai và chạy với đặc quyền cao, kẻ tan công có thé có quyền truy cập
vào thông tin nhạy cảm Nếu kẻ tấn công có thể đặt mã trên máy chủ web thông qua các phương tiện khác, thì chúng có thể thực thi các lệnh tùy ý.
Local File Inclusion (LFI)
1 Hacker identifies web 2 Hacker modifies URL
application with insufficient string using “ /“ directive filtering or validation of to ensure Directory (Path) browser input from users Traversal is possible.
3 Hacker backdoor uploads 4 Request is improperly
malicious php file to host server validated and hacker is and attempts to locate script permitted to run malicious
using same method as Step 2 script on host application.
Hình 2.2: Minh họa tan công Local File Inclusion
Kẻ tấn công sẽ thực hiện tấn công bằng cách thêm những từ khóa sau vào URL
của trang web là: etc, htpasswd, passwd
Trang 162.1.1.3 Tấn công Remote File Inclusion
Khi các ứng dụng web cho phép người dùng nhập dữ liệu, chang han như URL,
giá trị tham số, v.v và chuyển những thông tin trên nhờ cơ chế “includeFile” ma không được làm sạch đúng cách, kẻ tan công có thé lợi dụng lỗ hong Remote File
Inclusion trong các ứng dụng web để tải lên các tệp hoặc tập lệnh độc hại bên ngoài, từ đó thao túng ứng dụng web thực thi các tệp từ xa bằng các tập lệnh độc
hại.
Remote File Inclusion (RFI)
1 Hacker identifies web 2 Hacker modifies URL
application with insufficient string using “ /“ directive
filtering or validation of to ensure Directory (Path) browser input from users Traversal is possible.
https: //axezBifEcees/?page=£++4fBBx.pnp /7
£i1enametphp <“>^ /«4/1-7 /eke/test.txt
https: //example.com/2page= / Jercieest.exe J
HACKER SERVER
3 Hacker uploads malicious php
file to hacker-controlled server ©
and attempts to locate script using same method as step 2.
4 Malicious php file is located and host server executes remote server-side code from hacker-controlled server.
X oo HACKER
hacker.php SERVER
filename.php > https://hacksite.com/hacker php
https: //example.com/?page=https://hacksite.com/hacker.php f
Hình 2.3: Minh họa tắn công Remote File Inclusion
Dấu hiệu nhận biết tan công RFI thường thấy trong payload của request sẽ xuất hiện
các đường dẫn URL tới web server khác.
Trang 172.1.1.4 Tấn công Command Injection
Lỗ hồng Command Injection là loại lỗ hổng mà kẻ tắn công có thé lợi dụng dé
thực thi các lệnh tùy ý trên hệ điều hành máy chủ (OS), từ đó thu thập thông tin
bí mật hoặc lấy quyền truy cập vào hệ thống.
Hinh 2.4: Minh hoa tan céng Command Injection
Kẻ tan công lợi dung lỗ hồng nay dé thực thi những câu lệnh dé thực hiện tấn
công Sau đây là những câu lệnh thường được sử dụng dé kẻ tan công có thé lẫy được nhiều thông tin VỀ server: pwd, Is, where, cd, ssh, ||, &&, echo, whoami
2.1.1.5 Tấn công Open Redirect
Lỗ héng Open Redirect phát sinh khi một ứng dụng kết hợp dit liệu do người dùng kiểm soát vào mục tiêu chuyển hướng theo cách không an toàn Kẻ tan công có thể tạo một URL trong ứng dụng gây ra chuyền hướng đến một miền bên ngoài
tùy ý Hành vi này có thể được tận dụng để tạo điều kiện cho các cuộc tấn công
lừa đảo chống lại người dùng ứng dụng Khả năng sử dụng URL ứng dụng xác thực, nhắm mục tiêu đúng tên miền và có chứng chỉ SSL hợp lệ (nếu SSL được
sử dung), tạo độ tin cậy cho cuộc tan công lừa đảo vì nhiều người dùng, ngay cả
Trang 18hi họ xác minh các tính năng này, sẽ không nhận thấy chuyển hướng tiếp theo
hittp:/www.abc.in
Hình 2.5: Minh họa tắn công Open Redirect
Những từ khóa thường thấy trong tấn công Open redirect: redirect to,
checkout_url, domain_name,
2.1.1.6 Tấn công Carriage Return and Line Feed (CRLF)
Tổ hợp ký tự xuống dòng của header HTTP và nội dung trang web HTML được
gọi là CRLF Máy chủ web sử dung CRLF dé hiểu khi nào tiêu đề HTTP mới bắt
đầu và một tiêu đề khác kết thúc CRLF cũng có thể cho ứng dụng web hoặc người dùng biết rằng một dòng mới bắt đầu trong một tệp hoặc trong một khối văn bản Các ký tự CRLF là một thông báo HTTP/1.1 tiêu chuẩn, do đó, nó được sử dụng
bởi bất kỳ loại máy chủ web nào, bao gồm Apache, Microsoft IIS và tất cả các
loại máy chủ khác.
Trong một cuộc tan công bằng lỗ hong chèn CRLF, kẻ tan công chèn cả ký tự xuống vào input của người dùng dé lừa máy chủ, ứng dụng web hoặc người dùng nghĩ rằng một đối tượng đã kết thúc và một đối tượng khác đã bắt đầu Do đó, các chuỗi CRLF không phải là các ký tự độc hại, tuy nhiên chúng có thé được sử dụng
10
Trang 19cho mục đích xấu, dé phân tách phản hồi HTTP, v.v Trong các ứng dụng web,
việc tiêm CRLF có thể có tác động nghiêm trọng, tùy thuộc vào ứng dụng thực
hiện với các mục đơn lẻ Các tác động có thé tir tiết lộ thông tin đến thực thi mã,
16 hồng bảo mật ứng dụng web tác động trực tiếp Trên thực tế, một cuộc tấn công
tiêm CRLF có thể gây ra hậu quả rất nghiêm trọng đối với ứng dụng web, mặc dù
nó chưa bao giờ được liệt kê trong danh sách Top 10 của OWASP.
2.1.1.7 Tan công Cross Site Scripting (XSS)
Tan công XSS dựa vào lỗ hong XSS dé thực hiện tan công Với lỗ héng XSS,
attacker sẽ thao túng trang web gửi đoạn mã JavaScript độc hại tới người dùng.
Doan mã JavaScript đó sẽ thực thi trên browser của người ding và đánh cắp các
thông tin của người dùng như cookie, password và các thông tin nhạy cảm khác.
Thông thường, kẻ tan công sẽ sử dụng XSS và các kỹ thuật lừa đảo khác dé đánh
lừa người dùng thực thi đoạn mã JavaScript nhằm đánh cắp thông tin.
11
Trang 20#4 https://insecure-website.com/comment?message=<script src=https:/levil-user.net/badscript.js><!script>
(&Password 3] @ Sensitive data ) 4
+
(G Wire transfer) (@ Mother's maiden name `)
Hình 2.7: Minh họa tan công XSS
Những từ khóa phô biến thường thấy trong tan công XSS là: script, onerror,
onmouseover, onload, &\#X41, alert, <>
2.1.1.8 Tấn công Path traversal
Đây là một dang tan công thường được sử dung với mục dich là truy cập các thư
mục, đường dẫn không công khai trên Internet được lưu trữ tại thư mục gốc của Web Bằng cách thao túng biến tham chiếu đến file “ /” và các biến thể của nó
để truy cập các tệp và thư mục tùy ý được lưu trữ trên hệ thống tệp bao gồm mã
nguồn ứng dụng hoặc cầu hình và các tệp hệ thống quan trọng.
12
Trang 2112:man: /var/cache/nan: /bin/sh
Hình 2.8: Minh họa tan công Path traversal
Những ký tự thường được sử dụng trong tan công Path traversal là , / , // ,.//
„ kẻ tấn công sé lặp lại những ký tự này nhiêu lần đề thực hiện tan công.
2.1.2 Máy học - Học tăng cường
2.1.2.1 Giới thiệu về học tăng cường
Hoc tăng cường (RL) là một nhánh của Máy học (ML) được định nghĩa bằng cách lập chiến lược khi có một cơ chế đánh giá từng hành động (cơ chế đó có thé không
biết trước nhưng ta được phép thử Mục tiêu cuối cùng của việc học tăng cường
là ta sẽ lập được một chiến lược các hành động dé có thé đạt được tối đa số điểm
thưởng.
Học tăng cường có thể được xem là một cách hiện thực hoá thí nghiệm Pavlov
dưới dạng kỹ thuật số, là một đại diện trực tiếp của khái niệm củng cố được sử
dụng cho việc học Học tăng cường được áp dụng trong nhiều tình huống trong cuộc sống Những hệ thống gợi ý (recommendation system) luôn tìm được những món đồ rất phù hợp với nhu cầu của người dùng, xe tự hành, những con bot chơi
13
Trang 22game giành chiến thắng áp đảo trước con người là những ví dụ tiêu biểu của
việc áp dụng học tăng cường trong các sản phẩm thực tế.
trường (Environment) và Tác nhân (Agent) Trong đó môi trường là không gian
máy hay còn gọi là tác nhân tương tác, tác nhân là một chủ thể tương tác với môi
trường qua hành động (Action).
14
Trang 23Hình 2.10: Mô hình học tăng cường
Đầu tiên bắt đầu với trạng thái S, (State), tác nhân sẽ dựa trên một chiến thuật
(Policy) đã được thiết kế sẵn dé đưa ra hành động A, cho trạng thái hiện tại Môi trường sẽ quan sát hành động A,, đưa ra phần thưởng R, tương ứng và đồng thời,
đưa ra trạng thái tiếp theo Si+; cho tác nhân Tác nhân sẽ thực hiện quy trình này
lặp đi lặp lại cho đến khi tìm ra được chuỗi hành động tối ưu hóa phần thưởng
được nhận.
2.1.2.2 Thuật toán Q-Learning
Q-learning là một thuật toán học tăng cường không có mô hình được sử dụng đề
tìm chính sách lựa chọn hành động tối ưu cho một môi trường nhất định Nó chọn
hành động này một cách ngẫu nhiên và nhằm mục đích tối đa hóa phần thưởng Thuật toán Q-learning hoạt động bằng cách cập nhật giá trị Q dựa trên kinh
nghiệm Trong mỗi vòng lặp, tác nhân sẽ thực hiện một hành động cho trạng thái
hiện tại, quan sát trạng thái tiếp theo và phần thưởng nhận được, sau đó cập nhật giá trị Q cho trạng thái hiện tại và tất cả các hành động có thể có Công thức cập
nhật giá trị được mô tả ở Hình 2.11
Update Current Q-value
Trang 24Cart-Pole là một môi trường rat đơn giản bao gồm một chiếc xe day có thé di
chuyển sang trái hoặc phải và một chiếc cột được đặt thăng đứng trên xe Tác tử
phải di chuyên xe sang trái hoặc phải dé giữ cột thắng đứng.
Phân tích bài toán:
- Sr: VỊ trí, vận tốc của xe theo trục x, góc nghiêng của cọc, vận tốc đầu cọc
- Ar dịch chuyền xe sang trái hoặc sang phải
- Aj được quy định theo tiêu chí của người hiện thực hoá hệ thống (chang
hạn quy ước là 1 nếu cọc chưa đồ, là 0 nếu cọc đồ)
Cọc được tính là đổ khi góc nghiêng của cọc lớn hơn một ngưỡng nhất định được
người hiện thực hoá hệ thống quy ước, hoặc xe di chuyền ra khỏi vùng quan sát.
Hệ thống sẽ dừng trong các trường hợp trên.
2 Bot chơi cờ vua
16
Trang 25Cờ vua là một trò chơi phổ biến trong thực tế, và đã nhiều phần mềm chơi cờ vua,
đánh bại được các kỳ thủ hàng đầu thế giới Nồi tiếng hiện tại ta có Stockfish,
AlphaZero
Phân tích bài toán:
- Sv tình trạng bàn cờ và nước đi tiếp theo
- Ar thực hiện các nước đi hợp lệ
- ®,;¡: được quy định theo tiêu chí của người hiện thực hoá hệ thống (chẳng
hạn như nếu chưa phải thế cờ kết thúc = 0; nếu là thế cờ kết thúc: thắng =
1, thua = -1, hoà = 0)
2.1.2.4 Thuật toán Deep Q Network va Double Deep Q Network
Deep Q-Network còn gọi là DQN, là một thuật toán được phát triển bằng cách nâng cao thuật toán Q-Learning cổ điển trong học tăng cường kết hợp với các
mạng nơ-ron (CNN) học sâu.
17
Trang 26Trong phương pháp Q-learning, chúng ta xây dựng một bảng bộ nhớ Ø/s, a] dé
lưu trữ các giá trị Q cho tất cả các kết hợp có thể có giữa s và a Và đó sẽ là một
bảng gian lận mà chứa các bước đi tốt nhất.
Tuy nhiên, nếu sự kết hợp giữa các trạng thái và các hành động quá lớn, yêu cầu
về bộ nhớ và việc tính toán cho Q sẽ rat lớn Dé giải quyết van dé đó, chúng ta sẽ
chuyển sang DQN để tính toán x4p xi giá trị Q(s, a), thuật toán này được gọi là Deep Q-learning sẽ tổng quát hóa phép tính x4p xi giá trị của hàm Q thay vì phải ghi lại và lưu trữ lại các giải pháp DQN học cách ước tính các giá trị Q bằng cách
đào tạo một mạng lưới thần kinh sâu để dự đoán các giá tri Q trực tiếp từ trạng
thái.
2.1.2.5 Chiến thuật Epsilon greedy
Để có thể cân bằng giữa quá trình khai thác và khám phá, ta sử dụng một chiến lược tên là Epsilon greedy Ban dau, ta sẽ để giá trị epsilon ¢ = 1, giá trị này xác
suất mà tác nhân sẽ thực hiện khám phá môi trường thay thì khai thác Nếu epsilon
=l, tác nhân sẽ thực hiện khám phá môi trường, khi tác nhân đã có những hiểu biết về môi trường epsilon sẽ giảm dần và khi epsilon < 1, tác nhân sẽ thực hiện
khai thác môi trường Để xác định tác nhân sẽ chọn khai thác hay khám phá cho
từng trạng thái mà môi trường gửi đến, ta sẽ tạo một số ngẫu nhiên có giá trị từ 0 đến 1 Nếu số ngẫu nhiên này lớn hơn giá trị hiện tại của epsilon, thì tác nhân sẽ
chọn hành động của mình là khai thác, tức là tác nhân sẽ chọn hành động có giá
Qvalue cao nhất cho trạng thái hiện tại theo bảng giá trị Q; ngược lại, nếu giá trị của số ngẫu nhiên nhỏ hơn giá trị hiện tại của epsilon, thì tác nhân sẽ chọn hành
động của mình là khám phá, tức là sẽ chọn ngẫu nhiên hành động và xem kết quả
từ môi trường.
18
Trang 27Action at time(t)
any action (a) with probability €
Hình 2.14: Chiến thuật Epsilon greedy Khi bắt đầu huấn luyện, ta dé giá trị số ngẫu nhiên bằng 1, dé đảm bảo rằng hành động đầu tiên sẽ thực hiện khám phá môi trường bằng cách chọn ngẫu nhiên hành động và chờ đợi kết quả.
giá trị Q ngày cảng tăng lên Đây là lúc tác nhân áp dụng kết quả học được từ những lần trước để chọn hành động cho trạng thái hiện tại.
19
Trang 282.1.3.1 Bộ dữ liệu
Trong nghiên cứu này sử dụng ba bộ dữ liệu là HTTP CSIC 2010, HTTP Params,
FWAP và ECML Lý do sử dụng các bộ dữ liệu trên là vì đây là các bộ dữ liệu về
payload tắn công web, việc kết hợp ba bộ đữ liệu khiến cho data train mô hình có kích thước lớn và đa dạng hơn, đồng thời bên cạnh đó tăng cường tỉ lệ đúng.
(a) _ Bộ dữ liệu HTTP CSIC 2010
Bộ dữ liệu HTTP CSIC 2010 chứa hàng nghìn request được tạo tự động Nó có
thể được sử dụng để thử nghiệm các hệ thống bảo vệ chống tấn công web Nó được phát triển tại “Viện An ninh Thông tin” của CSIC (Hội đồng Quốc gia
Nghiên cứu Tây Ban Nha) Các gói tin này được ghi lại trong khoảng thời gian từ
tháng 8 năm 2009 đến tháng 3 năm 2010.
Bộ dữ liệu chứa các yêu cầu HTTP được gắn nhãn là bình thường hoặc bất thường
và tập dữ liệu bao gồm các cuộc tấn công như SQL injection, tràn bộ đệm, thu thập thông tin, tiết lộ tệp, CRLF, XSS
20
Trang 29(b) Bộ dữ liệu HTTP Params
Bộ dữ liệu HTTP Params được phát triển bởi Morzeux với mục đích nghiên cứu
phát hiện tấn công Tập dữ liệu được gắn nhãn bình thường và nhãn bat thường
về các cuộc tan công như SQL Injection, XSS, Command Injection
(c) BO dữ liệu FWAP
Bộ dữ liệu FWAF được phat triển bởi một cộng đồng tên là FSECURITY dé phát
hiện các truy vấn web độc hại cùng với tường lửa dựa trên máy học Các request bất thường được gắn nhãn phân loại bình thường và bất thường từ Internet chứa
đữ liệu về các cuộc tấn công ứng dụng web thường thấy như XSS, SQLI
(d) BO dữ liệu ECML
Bộ dữ liệu ECML/PKDD 2007 là một bộ dữ liệu được tạo ra bởi một nhóm các nhà
nghiên cứu tham gia Hội nghị ECML/PKDD 2007 Bộ dữ liệu được chuẩn bị và
chuan bị đặc biệt cho hội nghị như một phan của cuộc thi khai thác dữ liệu hoặc thử
thách nghiên cứu Các loại tan công có trong bộ dữ liệu bao gồm: SQLi, XSS, RFI
2.2 Các nghiên cứu liên quan
Nhóm tác giả Francesco Caturano [5] đã nghiên cứu một phương pháp mới sử
dụng học tăng cường đa mục tiêu để phát hiện các lỗ hồng reflected XSS trong
ứng dụng web Phương pháp này sử dụng một khung MORL (học tăng cường đa
đối tượng) để huấn luyện tác nhân tạo ra các chuỗi tấn công có khả năng khai thác
lỗ hồng Khung MORL được sử dụng dé huấn luyện tác nhân tối ưu hóa hai mục tiêu: độ dài của chuỗi tấn công và số ký tự được tránh Tác nhân được huấn luyện
trên một tập dé liệu các chuỗi tan công đã biết có khả năng khai thác lỗ hổng reflected XSS Quá trình huấn luyện lặp lại và tác nhân được cập nhật sau mỗi
tương tác với ứng dụng web Phương pháp được đánh giá trên một tập các ứng
dụng web thực tế Kết quả cho thấy phương pháp của nhóm tác giả Francesco Caturano có thé khám phá các lỗ hồng reflected XSS mà các công cụ quét tự động
khác không phát hiện được Và phương pháp này cũng vượt trội hơn các công cụ
21
Trang 30quét tự động khác về số lượng lỗ hong được khám phá, có tiềm năng dé cải thiện
việc bảo vệ an ninh cho các ứng dụng web.
Bên cạnh đó, còn có nhóm tác giả Iram Tariq [6] đưa ra một phương pháp mới
kết hợp giữa thuật toán di truyền (GA) và học tăng cường dé giải quyết các cuộc
tấn công liên quan đến lỗ hồng XSS GA được sử dụng dé tạo ra một quan thé các
mô hình ứng viên Mỗi mô hình là một tập hợp các quy tắc được sử dụng dé phân loại chuỗi đầu vào là độc hại hoặc vô hại Phần RL được sử dụng để huấn luyện
mô hình để cải thiện độ chính xác Tác nhân RL được thưởng điểm khi phân loại đúng các chuỗi XSS độc hại và bị phạt khi phân loại sai các chuỗi vô hại Phương pháp được đánh giá trên một tập dữ liệu thực về các cuộc tan công XSS Kết qua cho thấy phương pháp này có khả năng phát hiện các chuỗi XSS độc hại với độ
chính xác lên đến 99,75% Phương pháp cũng vượt trội hơn các phương pháp dựa
trên học máy khác trong việc phát hiện XSS.
Preprocessor
Model
Genetic Algorithm
Threat Intelligence Distinguisher
Declaration
Statistical Inference
Reinforcement Learning
Hình 2.17: Mô hình tổng quan của bai nghiên cứu nhóm tác giả Iram Tariq
22