1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu các phương pháp phát hiện tấn công web dựa trên học máy

67 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Nghien Cuu Cac Phuong Phap Phat Hien Tan Cong Web Dua Tren Hoc MayNghien Cuu Cac Phuong Phap Phat Hien Tan Cong Web Dua Tren Hoc MayNghien Cuu Cac Phuong Phap Phat Hien Tan Cong Web Dua

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I

NGHIEN CUU CAC PHUONG PHAP PHAT HIEN

TAN CONG WEB DUA TREN HOC MAY

Sinh viên thực hiện : NGUYÊN NGỌC ĐOÀN

Hà Nội, tháng I nam 2022

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I

NGHIEN CUU CAC PHUONG PHAP PHAT HIEN

TAN CONG WEB DUA TREN HOC MAY

Sinh viên thực hiện : NGUYÊN NGỌC ĐOÀN

Hà Nội, tháng I nam 2022

il

Trang 3

LOI CAM ON

Loi dau, em xin được gửi lời cảm ơn đến toàn thê các thây cô giáo bộ môn,

các thây cô khoa Công nghệ thông tin nói chung, các thầy cô trong khoa An toàn

thông tin nói riêng, và đặc biệt là thầy giáo TS Hoàng Xuân Dậu Cảm ơn các thây,

cô đã giúp đỡ tận tình và tích cực truyền tải nhiều kiến thức bổ ích về học tập và cả

cuộc sông Những kiến thức em thu được trong suốt những tháng năm giảng đường

sẽ là những kiến thức quý báu nhất em dành được trong cuộc sông Xin cảm ơn thây

cô, và thật lòng mong thây, cô luôn hạnh phúc trong tương lai sau này

Gửi lời biết ơn đối với thay giáo TS Hoàng Xuân Dậu, đã nhận lời hỗ trợ em làm đô án, đã giup em vượt qua những khó khăn của việc thực hiện, và đã tin tưởng

em để hoàn thành đồ án này Trong thời gian học tập và làm việc với thầy, em luôn nhận được sự giúp đỡ kịp thời và những lời chỉ bảo tận tâm, Mong răng, thầy sẽ luôn

mạnh khỏe và thành công hơn nữa

Để đồ án đạt được kết quả như tot đẹp, em đã nhận được nhiều sự giúp đỡ từ g1a đình, bạn bè Với tình cảm chân thành, em xin được gửi lòng biết ơn sâu săc đến

những người đã tạo điều kiện, cũng như động viên và đồng hành cùng em trong những ngày tháng tại Học viện Công nghệ Bưu chính Viễn thông

Em xin chân thành cảm ơn!

Hà Nội, ngày 02 tháng 01 năm 2022

SINH VIÊN THỰC HIỆN

Nguyễn Ngọc Đoàn

Trang 4

NHAN XET, DANH GIA, CHO DIEM

(của giảng viên hướng dan)

Ó CĐ ĐO ĐO ĐO ĐO CO ĐO ĐO 6 6 6 0 0 0600 000000900 0 0 0 00 0 0 0 0000 0 0 009 0 0 0 0 0 099 69 0 0 0 0 0 0 0009 0 0 0 0 0 09 0 0 0 0 0090 0 000900 0 009.909 06 0 0 06 %6 6 66 661116

9 Đ 9 0909069009009 0009090900909 9900909990009 00 009090900909 000909009 0909009090990 9090900 099099069069 6566 « 6A6

9 9999999999999 9999909999090 990909 9909090909099 909 9990990990990 990909090 9999099099099 9909909999990 0 9999099990909 90696966665 SẤS

Dong ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng châm tốt nghiệp?

Hà Nội, ngày tháng năm .2022

CÁN BỘ - GIẢNG VIÊN HƯỚNG DÂN

Trang 5

NHẬN XÉT, ĐÁNH GIÁ, CHO DIEM

(của giảng viên phản biện)

Ó CĐ ĐO ĐO ĐO ĐO CO ĐO ĐO 6 6 6 0 0 0600 000000900 0 0 0 00 0 0 0 0000 0 0 009 0 0 0 0 0 099 69 0 0 0 0 0 0 0009 0 0 0 0 0 09 0 0 0 0 0090 0 000900 0 009.909 06 0 0 06 %6 6 66 661116

9 Đ 9090906909009 0009090900909 9900909990099 00 009090900909 0009090099999 009090090909 09 0009909909069 6s 66 «6 S6

9 9999999999999 9999909999090 990909 9909090909099 909 9990990990990 990909090 9999099099099 9909909999990 0 9999099990909 90696966665 SẤS

Dong ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng châm tốt nghiệp?

Hà Nội, ngày tháng năm .2022

CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN

Trang 6

MỤC LỤC

LỜI CẢM ƠN 26-5s E1 EE112211121112111 T11 T11 T1 TH Hàng ngưng ưng i NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIÊM (của giảng viên hướng dẫn) ii NHAN XET, DANHI GaidocCHO-DIEMG (citai gitinghvidn phidmbi4i)9 @hotmail.coriii

DANH MỤC BẢNG 2-26 tt E19 115E112711271271 1111111111111 111k tkerrked vi DANH MỤC HÌNH ẢNH .-. 2 2+ k£+EEESEEE£EEEEEEEEEEEEEEEEEEEErrrkrrrkeerkked vii DANH MỤC TỪ VIẾT TẮTT 2-2 ©£2EE££EEE£+EEEEEEEEEEEEEEEESEEEEEEkkrrrkerrke viii LOI MO DAU wicecceesscscssscssesssesssecssecssecssvcssuesssecssecssvessecsssecssecssscsssesstecssecsssesssessseessees X CHƯƠNG I CÁC PHƯƠNG PHÁP TẤN CONG UNG DỤNG WEB VÀ CÁCH PHONG CHÔNG -. 22 ©2S St E11 EE11211127111711711 1111111111111 11.1111 1

1.1 Tổng quan về ứng dụng web - ¿se ©++£++++2E++£Ek2EE+SEEkerrkeerrkerrke l 1.2 Các phương pháp tấn công ứng dụng web + xecx+erx+erxesrxeers 4

1.2.1 Top 10 OWASP 2021 [1] ceccccsscsesssesssesssessseesssesssecssessseesssessseesseesseessseesseen 4

1.2.2 Một số phương pháp tân cOng phO DIGI ecsesseesseesseesseessesseesssesseen 9

1.3 Cac phuong phap phong chéng va phat hiện tấn công web - 14

1.3.1 Tong quat ChUng cecceeccsssecssesssesssesssessvesssessvesssessessesssesssesssesssesssesseeen 14

1.3.2 Các phương pháp phòng chống tắn công ứng dụng web 15

1.4 Két ChUON veces eecccecssecssecsssessvessscssscssvesssessscssecssscssuecssscssecssuesssessssesseesseeesses 18

CHUONG 2 UNG DUNG HOC MAY VA CAC PHUONG PHAP TRICH XUAT DAC TRUNG TRONG XU LY VAN BAN VAO PHAT HIEN TAN CONG WEB

2.1 Khái quát về học máy và các thuật toán học máy - 2: 19 2.1.1 Khái quát về học máy - + ++tx+Ek++EEEEkEEEEEEEkEEEkEEEkerkrerkerre 19

2.1.2 Phân loại các thuật toán học máy - ¿+ +++s+++s£++x£+ex++xsss2 21

2.2 Các phương pháp trích xuất đặc trưng trong xử lý văn bản (feature

Trang 7

2.2.1 Bag of Words (Mô hình túi từ) c5 3S sseseereessererks 31 2.2.2 TF- IDF (term frequency-inverse document frequency) - 32 2.3 Mô hình phát hiện tân công web thông qua học máy và các phương pháp trích xuât đặc trưng trong xử lý văn bản - + * Sex 3S Evsersesesseeves 34

"8N G)(U08i0)(2)000) 0000) llng: 34

2.3.2 Các bước tiền xử lý dữ liệu - 5c se k+EeEEEEExeEEEerkkerkeerkerre 35 2.4 Kết chương - sc- tk SE 1 1111111110111 11 T1 TH Hà HH HH HH gygưy 36

CHUONG 3 CÀI ĐẶT VÀ THỨ NGHIỆM -ccvvccccsrrrrre 37

3.1 Giới thiệu tập dữ liệu thử nghiỆm - 5 5c 5c 3233 £vseseeeseeses 37

3.3 Quá trình huấn luyện và kiỂm tra - ¿+ x++ kt+EEtSEEEEEkeEEkerrxerrrers 38

3.5.1 Mô hình xử lý 2c ++++£2EE++EEE2EEEE2E112211E27112111211 11 1xerrrye 41

3.5.2 Tích hợp mô hình xử lý vào ứng dụng web «++-«++<s+++s+2 47

3.5.3 MOt $6 Két QUA eceesseecsesssesssecsssesssecssscssecssuesssecssvcssvesssesssecssecsseesssecssecen 49 3.6 Ket Chương - - s9 k9EEEE1EEEE12E11171171111111111711111 111.111 11x 52 KẾT LUẬN . 2 =2 E2 115111211121112111T11 11.11.1111 pH Hy ng 53 TÀI LIỆU THAM KHẢO -2 22 2 2SE£9EE2EEEEEEEEEEEEEEEEEEEEEEEEEEEEErkrrrkrertred 55

Trang 8

DANH MỤC BẢNG

Bảng 3.1 Kết quả của thuật toán SVM với mô hình BoW -¿- 5 40

Bảng 3.2 Kết quả của thuật toán Decision Tree với mô hình BoW 4]

Bảng 3.3 Kết quả của thuật ton Logistic Regression với mô hình BoW 4]

Bảng 3.4 Kết quả của thuật toán KNN với mô hình BoW -.-¿-ccc¿¿ 42 Bảng 3.5 Kết quả của thuật toán Random Forest với mô hình BoW 42

Bảng 3.6 Kết quả của thuật toán Gradient Boosting với mô hình BoW 43

Bảng 3.7 Kết quả của thuật toán SVM với mô hình TF-IDE -.2 - 43

Bang 3.8 Két quả của thuật toán Decision Tree với mô hình TF-IDE 44

Bang 3.9 Kết quả của thuật ton Logistic Regression với mô hình TF-IDE 44

Bảng 3.10 Kết quả của thuật toán KNN với mô hình TE-IDF -. 45

Bảng 3.11 Kết quả của thuật toán Random Forest với mô hình TF-IDE 45

Bảng 3.12 Kết quả của thuật toán Gradient boosting với mô hình TE-IDF 46

Trang 9

DANH MỤC HÌNH ANH

Hình I.I Mô hình client- server của một ứng dung Web .- - 5 «+«+<+xs+x++ | Hình 1.2 Tổng quan quá trình gửi nhận dữ liệu của web client và server 2 Hình 2.I Hình ảnh minh họa các bước trong quá trình học máy - 21

Hình 2.2 Hình ảnh minh họa về thuật toán hồi quy Logistic -. :- 23 Hình 2.3 Ví dụ về mô hình 1 hàm sigmod - 2-2 ++x+££x+££x++£x++£xe+rxe+reed 24

Hình 2.4 Hình ảnh minh họa cho thuật toán K-nearest neIghbors - 25 Hình 2.5 Mô tả cách hoạt động của Gradient Boosfing ¿5+5 +ssx++ 28

Hình 2.6 Mặt phân cách 2 lớp dữ liệu băng 1 hàm tuyến tính ‹ - 29 Hình 2.7 Mô hình cây quyết định 2: sc- s£ +£££ k£+Ek£+EEEEEEEeEEktrkesrkeerreed 20

Hình 2.§ So sánh giữa cây quyết định, Rừng ngẫu nhiên và Gradient Boosting 30

Hình 2.9 Ví dụ về mô hình túi từ -cccccc¿+ccEEkktterrrrrrrrrtrirrrrrrrrrrik 31

Hình 2.10 Mô hình phát hiện tắn công web dựa trên học máy và các phương pháp trích xuât đặc trưng trong xử lý văn bản - 5c s+seEE£EEeEEteEEeerkeerkerrked 34 Hình 3.1 Sơ đồ mô đun phát hiện tắn công web - 2 se ++xxe+rxeerxeed 47 Hinh 3.2 Cau tric tg dung Web o ccecccsecseessssscssessssessseessseesssecsssessseesssecsssessssessseessees 48 Hình 3.3 Mẫu thử “admin” cho kết quả valid 2 se +etx++£x++£xe+rxerxed 49 Hình 3.4 Mẫu thử “select admin 123” cho kết quả valid - se sz+cse¿ 49 Hinh 3.5 Mau thir “script alert” cho kết quả valid -s- se se£se+zxe+zxetrsed 30

Hình 3.6 Mẫu thử “etepwd” cho kết quả valid -sc- se2xee£zxevrxeerrseei 50

Hình 3.7 Mẫu thử “user123” cho kết quả valid 2 + s++£s++£x++rxezrx: 50

Hình 3.§ Mẫu thử “admin OR I=l; ” cho kết quả SQLI . se 5s+¿ 51

Hinh 3.9 Mau thir “ping —c 10 127.0.0.1” cho két qua CMDI . - 51 Hình 3.10 Mẫu thử “<script>alert(°admin')</seript>” cho kết quả XSS 51 Hình 3.11 Mẫu thử “ / /etc/pwd” cho kết quả Path-traversal -s 52 Hình 3.12 Mẫu thir “<script>console.log(‘user’)</script>” cho két qua XSS 52

Trang 10

DANH MUC TU VIET TAT

¡ | apy | Application Programming | Giao din lập trình ứng dụng Interface

4 CD Continuous Delivery Triên khai liên tục

Giao diện công chung giữa

5 CGI Common Gateway Interface server và chương trình ` `

6 CI Continuous Integration Tich hop lién tuc

8 CMDI Command Injection Lô hông chèn mã dòng lệnh trong web

HyperText Markup

10 HTTP HyperText Transfer Giao thức truyen tải siêu văn

II Í HTTPS Hypertext Transfer Protocol | Giao thức bao mat HTTP an

12 IDF Inverse document frequency | Dao ngugc cua tan suất văn bản

13 KNN K-nearest neighbors Một thuật toán học máy

14 LDA Linear Discriminant Một phương pháp giảm chiêu

15 LFI Local file inclusion Một loại lễ hông web

16 | OWASP Open Web Application Dự án nguồn mở vỆ bảo mật

Security Project ung dung web

Principal Component Phuong phap phan tich thanh L7 PCA Analysis phan chinh x

18 RFI Remote file inclusion Một loại lễ hông web

19 SQLI SQL Injection Lé héng web chén mi sql

Vill

Trang 11

20 SSL Secure Sockets Layer Giao thurc bao mat SSL

21 SSRF | Server-side request forgery Một loại lỗ hông web

22 SVD Singular value Mot phuong phap giảm chiêu

decomposition dữ liệu

23 SVM Support Vector Machine Là một thuật toán học máy

24 TE Term Frequency Trọng sô của một từ trong văn

bản

25 TLS Transport Layer Security Bao mat tang truyén tải

26 URI Uniform Resource Identifier Nhan dang _ thông

27 URL Uniform Resource Locator | Dinh vi tai nguyén thong nhat

28 WAF Web Application Firewall Tường lửa ứng dụng web

29 XSRF_ | Cross Site Request Forgery Một loại lỗ hông web

30 XSS Cross-Site Scripting Mot loai lỗ hồng web

31 ZAP Zed Attack Proxy Mot trinh quét bao mat

Trang 12

LỜI MỞ ĐẦU

Cuộc cách mạng công nghệ 4.0 đang ngày càng phát triển, kéo theo sự phát triển của internet Và các ứng dụng web không năm ngoài cuộc phát triển này Trên nên tảng internet, các ứng dụng web đang chiếm tỷ lệ không hề nhỏ Các gã không

lồ công nghệ (Google, Facebook, Amazon ) đều có những ứng dụng web với số

lượng lên tới hàng tỉ người dùng Chính vì vậy mà yếu tố bảo mật và phòng chống

tắn công ứng dụng web trở nên quan trọng hơn bao giờ hết Với một số phương pháp

phòng chống tan công hiện nay, chủ yếu dựa vào các bộ lọc, các dữ liệu mẫu, các

luật hoặc dâu hiệu Phương pháp này tuy có ưu điểm là dễ dàng triển khai, nhanh chóng, tuy nhiên bên cạnh đó cũng khá hạn chế về khả năng phát hiện đa dạng kiểu tấn công Chính vì vậy, hướng phát hiện tấn công web dựa trên bất thường được ra đời, mang đến khả năng phát hiện đa dạng và nhanh chóng Đô án này sẽ trình bày một phương pháp dựa theo hướng đi trên, đó là phát hiện tắn công web dựa trên học

máy, với một khả năng phát hiện tan công vượt trội và độ chính xác cao Đồ án sẽ

được trình bày trong 3 chương

Với chương 1, sẽ đưa ra cái nhìn khái quát về ứng dụng web và các cách thức tắn công cũng như các phương pháp phòng chống chung, hoặc cho từng loại tấn công riêng biỆt

Đến chương 2, học máy và các phương pháp học máy sẽ được giới thiệu Bên cạnh đó, các phương pháp trích xuất đặc trưng trong văn bản sẽ được trình bày cụ thể, và cách thức kết hợp hai phương pháp trên để tạo ra một mô hình kết hợp cho

hiệu quả phát hiện tắn công cao

Cuối cùng, chương 3 sẽ thực hiện việc cài đặt và thử nghiệm, với tập dữ liệu

mẫu đủ lớn, đa dạng phương pháp học máy cũng như mô hình trích xuất đặc trưng văn bản đê có cái nhìn khách quan nhât

Trang 13

Đồ án tốt nghiệp

CHƯƠNG 1 CÁC PHƯƠNG PHÁP TÂN CONG UNG DUNG WEB VA

CÁCH PHÒNG CHÓNG

1.1 Tổng quan về ứng dụng web

Ứng dụng web ngày càng phổ biến trong và không thê thiếu cuộc sông hiện

nay Một số ứng dụng web phố biến nhất có thể kế đến như facebook.com, google.com, Được ứng dụng vào nhiều lĩnh vực của cuộc sông như tải chính, ngân hàng, bất động sản, y tế, trường học, mua săm Ứng dụng web là một phân cốt lõi của thời đại công nghệ 4.0 Về cơ bản, mô hình phố biến của một ứng dụng web có dạng như sau:

Giải thích về mô hình, server trong mô hình được hiểu như web server- máy chủ web Máy chủ web là thành phân cốt lõi để website hoạt động, bao gôm các

thành phân con như cơ sở dữ liệu, các đoạn mã, tập lệnh và một số thành phân khác

Máy chủ web sẽ có vai trò phân tích và xử lý yêu cầu của client, đồng thời phân phôi

nội dung dén client thong qua cdc phuong thttc nhu HTTP (Hypertext Transfer Protocol) hoac phuong thitc truyén file như FTP (File Transfer Protocol)

Trang 14

Đồ án tối nghiệp

Đôi với client, máy khách trong mô hình web client-server,có thể nói là một ứng dụng hoặc trình duyệt web (như Chrome, Opera, FIrefox, Safari ) được sử dụng

đề tương tác với các máy chủ Web theo yêu cầu của người dùng thông qua internet

Về cơ bản, máy khách là một ứng dụng đề gửi và nhận dữ liệu từ máy chủ

Việc giao tiếp giữa Client và Server được thực hiện theo các thông điệp (Message) Đầu tiên, Client sẽ gửi một yêu cầu ( Request Message), mô tả công việc

tới server Khi nhận được yêu câu, server tiễn hành phân tích để xác định công việc

cần phải thực thi Sau đó, Server sẽ gửi nó cho client trong một thông điệp trả lời (Reply Message) Dạng thức (format) và ý nghĩa của các thông điệp trao đôi giữa client và server được quy định rõ bởi giao thức (protocol) của ứng dụng

Tổng quan quá trình gửi - nhận dữ liệu có thể mô tả bằng lược đô như sau:

Request message

Quá trình bị nghẽn

Hình 1.2 Tổng quan quá trình gửi nhận dữ liệu của web client và server Cao thức chủ yếu đề giao tiép giữa web client và web server có thê kê đến là

giao thức HTTP/HTTPS Thành phân của các giao thức này bao gồm có request và

response Mot vi du cua HTTP/HTTPS request nhu sau:

authority: www.google.com

:method: GET

:path: /

:scheme: https

Trang 15

Đồ án tốt nghiệp

accept:

text/html, application/xhtml+xml, application/xml;q=0.9,image/avif, imag e/webp, image/apng, */*;q=0.8,application/signed-exchange; v=b3 ; q=0 9 accept-encoding: gzip, deflate, br

accept-language: vi-VN, vi; q=9.9, en-US; q=0 8, en; q=0 7, fr-

FR; q=0 6, fr ; q=9.5

cache-control: max-age=0

cookie: _ga=test

user-agent: Mozilla/5.@ (Windows NT 10.0; Win64; x64)

AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110

Safari/537.36

Trong request header có chứa day đủ thông tin về kết nói và thông tin cần truy

vấn như :

e URL can truy vân (tai vi du trén 1A www.google.com)

e Method: phuong thitc ma request sir dung, c6é thé 1a GET, POST, DELETE,

PUT

¢ Cookie: théng tin dé định danh người dùng và các thông tin khác

e User-agent: thông tin thiết bị và hệ điều hành, hoặc thông tin trình duyệt của

web client

e_ Ngoài ra còn một sô thông tin khác cho mỗi phương thức khác nhau

Khi đó, HTTP response trả về sẽ có dạng như sau:

Trang 16

content-length: 266912

date: Thu, 23 Dec 2021 00:17:02 GMT

expires: Fri, 23 Dec 2022 00:17:02 GMT

last-modified: Wed, 15 Dec 2021 21:20:09 GMT

Thông tin trên thể hiện phiên bản HTTP đang sử dụng (HTTP/3), kiêu mã

trạng thái trả về (200: bình thường, 404: không tìm thấy trang, 500: lỗi server ) , và

các thông tin cân thiết như header, body tương ứng với yêu câu cua http request

Giao thức HTTP này cũng nằm trong số các giao thức dễ bị tân công trong

ứng dụng web Vì vậy, nên sử dụng giao thức HTTPS thay thế nhăm đảm bảo tính

bảo mật của thông tin truyền đi

1.2 Các phương pháp tấn công ứng dụng web

1.2.1 Top 10 OWASP 2021 [1]

Open Web Application Security Project (OWASP) 1a mét cong déng gdm tập hợp những chuyên gia an ninh mạng, thường xuất bản những bài báo, báo cáo, hay

những công cụ nhằm phục vụ mục đích bảo mật ứng dụng web Một trong những dự

án của họ bao gồm Top 10 OWASP Gần đây nhất là Top 10 OWASP 2021 (xuất

bản tháng 10/2021) là bản cập nhật mới nhất về những lỗi bảo mật hàng đầu của ứng

dụng web, được tông hợp từ nhiêu dữ liệu và hơn 40 đôi tác khác nhau

Trang 17

Đồ án tôt nghiệp

A01- Broken access control (Lỗ hồng kiểm soát truy cập)

M6 ta: Access control:

e Authentication: xac thuc, kiém tra danh tinh người dùng

e_ Authorization: phân quyên, kiểm tra quyền hạn của người dùng

Broken access control:

e_ Với tập dữ liệu lớn, 94% ứng dụng web trong tập dữ liệu này được kiêm tra thi

có khoảng 3.81% mặc phải lỗ hồng này

e_ Lỗ hồng kiểm soát truy cập: một người dùng có thể truy cập vào các tài nguyên không được phép, hoặc người dùng chưa định danh (login) được phép truy cập

vào tài nguyên chỉ người dùng định danh mới có quyên

e Mot so vi du cé thé kê đên như:

e Aictng co thé c6 quyên truy cập đên các tài nguyên mà chi nguoi dung quan tri mới có quyên truy nhập

e_ Sửa đôi URL, hoặc APL, bằng cách truy cập trực tiếp vào các URL chỉ dành cho người dùng quản trị, ví dụ như : https://insecure-website.com/admin

e Cấu hình sai CORS

e© Kiếm soát truy nhập dựa trên tham sô URL (ví dụ: example.com,view?admin=])

e Sử dụng số định danh duy nhất của người dùng để thực hiện cấp quyên truy nhập

mà không có biện pháp xác thực ( ví dụ,/deleteaccount?Id=123)

Mot s6 16 hong CVE được khai thác từ lỗ hông này có thé kế đến như CVE- 2018-16476, CVE-2019-11063

A02- Cryptographic failure (L6 hong ma hod)

Ví dụ một số lỗ hông tiêu biểu có thé ké dén nhu Man in the middle, brute-force

© Đối với mọi thông tin khi truyền đi trên internet, cần được mã hoá đê đảm bảo tính toàn vẹn và bí mật, đặc biệt là với các thông tin nhạy cảm (như thông tin

thẻ tín dụng, thông tin cá nhân, mật khâu )

Trang 18

Đồ án tốt nghiệp

e Điều này bao gồm các lỗi bảo mật khi dữ liệu đang được truyền đi hoặc được lưu trong database, chăng hạn như việc triển khai các thuật toán mật mã yếu, tao khóa kém hoặc lỏng léo, không có mã hoá hoặc mã hoá yếu, hoặc truyền dữ liệu

dưới dạng plaintext, cụ thể như:

e© Mật khâu/ thẻ tín dụng được lưu trong database dưới dang plaintext

e_ Sử dụng kết nối HTTP đề nhận và truyền dữ liệu

e_ Sử dụng thuật toán mã hoá kém hoặc đã lỗi thời, có thé dé dang bi

e_ Dữ liệu người dùng nhập vào không được xác thực hay kiểm tra

e_ Các câu lệnh truy vấn không an toàn, truy vấn trực tiếp từ những dữ liệu người dùng nhập mà không qua bộ lọc nào

e_ Và nhiều các trường hợp khác

e_ Ví dụ một số trường hợp như

http://example.com/search?q=%E2%80%9D%20or%201=1%20

e Các bộ lọc yếu, dữ liệu từ người dùng có thê dễ dàng vượt qua các bộ lọc này

và thực hiện chèn mã để tắn công ứng dụng web

A04- Insecure design (Lỗ hổng khiếm khuyết thiết kế)

Secure design: Vi du nhu kiém soat truy cập, phân tích flow người dùng, kiêm soát lỗi Tương tự nhu software design (thiết kế phần mêm), ứng dụng web cũng cần

có một thiết kế bảo mật

Trang 19

Đồ án tốt nghiệp

Các lỗi chủ yêu về thiết kế và kiên trúc ứng dụng web, tạo ra lễ hông bảo mật Đây là lỗi mới, mới được tìm ra Lỗi này xảy ra khi ứng dụng web được thiết kê bởi người phát triển web không có ý tưởng/ khái niệm hoặc kiến thức nào về bảo mật

hay an toàn hệ thống, các lỗi này có thể là:

e©_ Lỗi tràn bộ đệm, thiếu các giới hạn/ bộ lọc cho các dữ liệu người dùng nhập

®© Sử dụng các API/ các hàm không an toàn: ví dụ hàm random không an toàn

e_ Quyên ứng dụng cao hơn quyên thực tế để thực thi

Cách thức phòng chồng:

e Thiết lập một vòng đời phát triển (software lifecycle), đồng thời có đánh giá va thiết kế an toàn cho những vấn đề về bảo mật và quyền riêng tư

e Viét cdc unit và functional test

A05- Security Misconfiguration (L6 héng cau hinh bao mat)

Các lỗi thường gặp của lỗi này:

e Thiếu bảo mật thích hợp: bảo mật không được đảm bảo trong ngăn xếp ứng dụng, đồng thời có thể cấu hình không đúng hoặc câu hình yếu ( mật khẩu yêu, không cài đặt quyên truy cập ) cho các dịch vụ cloud Từ đó dẫn đến việc ứng

dụng dễ bị tan cong

e Các tài khoản với tên tài khoản và mật khâu mặc định vẫn được sử dụng mà

không được thay đôi, hoặc tài khoản có những đặc quyền không cần thiết dẫn

đến việc gây ra lỗ hông A05

e_ Về vân đề xử lý lỗi: lỗi được hiển thi day đủ thông tin và quá cụ thể (về lỗi dòng

code, lỗi dữ liệu ứng dụng) , từ đó có thê gây ra hiển thị những thông tin không can thiết và có thê gây nguy hiêm cho ứng dụng web

© Cac cài đặt bảo mật không được thiết lập ( như mã hóa, password policy, restrict

ip address)

e_ Một vân đề có thể gặp phải đó là phần mềm lỗi thời, và các lỗ hong bao mat da

biệt chưa có bản vá

Trang 20

Đồ án tôt nghiệp

A06- Vulnerable and Outdated Components (Cac thanh phan/ thư viện của ứng dung web bi lỗi bảo mật và đã lỗi thời)

Đây là một lỗi khá phố biên, các lỗi này có thê gây ra do:

Các bản thư viện lỗi thời: - khi quản trị viên/ lập trình viên không biết phiên bản thư viện đang dùng, hoặc những bản thư viện bên trong

Phân mêm lôi thời, đã ngừng hồ trợ hoặc có lô hông bảo mật nhưng chưa có bản

7

va

Không thường xuyên kiểm tra quét lỗ hồng bảo mật

A07- Identification and Authentication Failures ( Lỗ hồng nhận dạng và xác thực người dùng)

Sử dụng plaintext hoặc những mã hóa yêu cho mật khâu người dùng

Thiếu cấu hình ngăn chặn việc tan cong brute force

Sử dụng mật khâu yếu, như “PasswordI” hay “admin”

Thiêu xác thực 2 lớp

Sử dụng lại mã định danh phiên sau khi đăng nhập thành công

Không làm mất hiệu lực xác thực phiên sau khi đăng xuât

A08- Sofare and Data Integrity Failures (Lôi toàn vẹn dữ liệu và phân mêm)

Đây là một lôi mới, về việc cài đặt và triên khai các phân mêm hoặc phân cứng không đúng cách gây ra, ví dụ về việc triển khai CI/CD, hoặc CD không an toàn, gây

ra những lỗi bảo mật nghiêm trọng đến hệ thông

A09- Security Logging and Monitoring Failures (L6 hong loi ghỉ nhật ký bảo mật

và giám sát lôi)

Các hành động thực thi, như đăng nhập, sai dang nhập, các giao dịch có giá trị

không được ghi lại

Các cảnh báo lỗi không thể hiện cụ thê được lỗi

Các bản ghi chỉ được lưu cục bộ

Trang 21

Đồ án tốt nghiệp

e_ Hệ thống không thể cảnh báo được khi có lỗi

Al0- Server Side Request Forgery (SSRF)

e Lỗi xảy ra khi ứng dụng web tìm nạp tài nguyên từ URL mà không được xác

dù mới được phát triển hay hay đã được phổ biến từ lâu Lỗi này thường ảnh hưởng

đến máy chủ web

Về cách hoạt động, lỗ hong SQL injection thường hướng đến các phân của ứng dụng web sẽ tương tác trực tiếp với cơ sở đữ liệu băng truy vấn động do người

dùng nhập vào Kẻ tắn công sẽ thực hiện các truy vấn độc hại, các truy vấn này có

thể được thực thi trong quá trình truy xuất, và gây ảnh hưởng đến tính bảo mật và

riêng tư của dữ liệu, nguy hiểm hơn, kẻ tân công có thể thực hiện thêm, sửa, xóa hoặc

thay đổi toàn bộ nội dung thông qua các câu lệnh truy vấn, gây ra thiệt hại lớn

Một ví dụ cơ bản của câu lénh SQL:

getUser= “SELECT * from users WHERE username= ‘$GET[ “username” ]’”;

Kẻ tắn công có thê nhập vào trường username như sau:

admin’ OR 1=1;

Lúc này, cau lénh SQL sé tro thành

SELECT * from users WHERE username= ‘admin’ OR 1=1;

Trang 22

Đồ án tốt nghiệp

Dữ liệu sẽ trả về tất cả dữ liệu trong bảng User do câu lệnh 1=1 luôn đúng Đây chỉ là một ví dụ cơ bản nhất của lỗ hồng này, trong thực tế, SQL injection còn gây nhiều hậu quả nghiêm trọng hơn, như xóa toàn bộ cơ sở dữ liệu, thay đối dữ liệu

Một vài biện pháp hữu hiệu đề phòng chống lễ hồng này có thể kể đến như:

e Sử dụng các câu lệnh SQL được tham sô hóa: Các truy vẫn tham sô hóa sẽ yêu

cầu phải có câu lệnh SQL trước, sau đó dữ liệu được tham số hóa và truyền vào

cau lénh SQL Cach này sẽ giúp cơ sở dữ liệu phân biệt được đâu là cầu lệnh truy

van va đâu là dữ liệu người dùng nhập Câu lệnh này đảm bảo kẻ tấn công không thé thay đôi mục đích của câu truy vẫn, ngay cả khi các đoạn mã truy vấn độc hại

được nhập vào

e Str dung Stored Procedure: Tuy khong dam bao an toan tuyệt đôi trước các cuộc tan công chèn mã SQL, tuy nhiên Stored Procedure cũng có hiệu quả nhất định Cách hoạt động của Stored Procedure cũng khá tương tự như tham số hóa câu lệnh SQL, khác biệt ở đây là thay vì được lưu trữ trong mã của ứng dụng web,

Stored Procedure được lưu trữ trực tiếp trong cơ sở dữ liệu, và được gọi ra từ ứng dụng

e_ Xác thực đầu vào: Cách hữu hiệu nhât đê ngăn chặn chèn mã tân công SQL là xác thực đầu vào, trước khi thực hiện truy vân Có thê sử dụng các bộ lọc có sẵn, hoặc

các thư viện, hay các framework cũng là một cách hữu hiệu

e Khong hién thị các thông báo lỗi hoặc các ngoại lệ: Một trong những cách kẻ tắn

công dùng đó là dựa vào các thông báo lỗi đề thực hiện truy vết phiên bản cơ sở

dữ liệu, kiểu lưu trữ, vì vậy tốt hơn cả, không nên hiền thị chi tiết các thông báo

lỗi hay các ngoại lệ

e Tạo bản sao dữ liệu thường xuyên: Phòng trong trường hợp kẻ tấn công xóa hoặc thay đổi dữ liệu, ta luôn có một bản sao đề khôi phục về trạng thái ban đầu

1.2.2.2 XSS

Cross-site Scripting (XSS) 14 mét 16 héng kha phé bién ở thời điểm hiện tại Ngay cả các công ty lớn như Google (lỗ hông số CVE-2021-37999) hay Microsoft

Trang 23

Đồ án tốt nghiệp

(lỗ hông sô CVE-2021-28459) đều mắc phải Cách hoạt động của lỗ hồng này là lợi

dụng các đoạn script để thực hiện tân công ở phía máy khách, nhăm mục đích lay

cắp cookie hay các thông tin khác Kịch bản của lỗ hồng này khá đa dạng, nhưng

nhìn chung, kẻ tan công sẽ có mục tiêu cân thực thi các đoạn mã scrIpt độc hại ở phía

trình duyệt của người dùng, dù chủ động hay bị động

Ví dụ, có một ứng dụng web có chức năng tìm kiếm như sau:

https : //example com/search?query=test

Kẻ tan cong có thể thực hiện lỗ hồng XSS theo cách như sau:

https://example.com/search?query=<script>alert( ‘hello’ );</script>

Luc nay, doan ma script trén sé duoc thuc thi 6 phia may khach

Một vài biện pháp phòng chống của lỗ hồng này có thể kế đến như:

e Lọc dữ liệu đầu vào: lọc dữ liệu đầu vào luôn là một trong những cách phòng chống hữu hiệu nhất cho những cuộc tấn công chèn mã Mọi dữ liệu người dùng

đều phải qua quá trình lọc và xác thực, đặc biệt chú ý đến những ký tự đặc biệt

e Str dung Entity Encode/ Escaped: Thay vi str dung truc tiếp các ký tự như “<,

‘>’ ta cd thé str dung cdc nhom ky tu mang y nghia tuong duong nhu &#60,

&#61, Cac ki tu nay sé ngan chan dugc viéc thuc thi doan ma script 6 phía máy khach

e Su dung cac thư viện Javascript: Các thư viện Javascript hién dai hau hét déu được tích hợp sẵn các bộ lọc/ Escaped JavascrIpt

1.2.2.3 CSRF

Cross site request forgery (CSRF) 18 mot lỗ hồng bảo mật cho phép kẻ tấn công lừa người dùng thực hiện các hành động mà họ không có ý định thực hiện trên ứng dụng web mà họ đã xác thực Các cuộc tấn công này thường kết hợp với

phishing, social engineering đề tiếp cận người dùng, lừa họ tải các URL một cách vô

thức, thông qua tấn công CSRE có thể thực hiện chuyền tiền, thay đôi địa chỉ nha, thay đổi thông tin đăng nhập

Một ví dụ cho việc tắn công CSRF như sau:

Trang 24

Đồ án tôt nghiệp

Một URL có chức năng chuyền tiên có dạng như sau: GET http://example

.com/transfer Pusername=alice&amount=100 HTTP/1.1

Như vậy, chỉ cần người dùng click vào liên kết hay tải liên kết, khoản tiền

100$ sẽ được chuyên cho username=alice

Kẻ tân công có thể lừa người dùng bằng cách gửi cho người dùng liên kết thông qua email, ví dụ như:

<img src=”http: //examp le com/transfer ?username=alice&amount=100”/> hoặc

<a href=”http: //examp le com/transfer ?username=alice&amount=100/”>Free

gift</a>

Đôi với phương thức POST, tắn công CSRE có thể có dạng một biểu mẫu, ví

dụ như:

<form action="http://example.com/transfer" method="post">

Your name: <input type="text"><br>

Your age: <input type="text"><br>

<input type="submit">

<input type="hidden" name="amount" value="100">

<input type="hidden" name="username" value="alice">

Trang 25

Đồ án tốt nghiệp

e_ Sử dụng các thư viện phòng chống CSRF

1.2.2.4 Path Traversal

Path Traversal là một lỗ hông bảo mật web cho phép kẻ tân công duyệt các

tệp trên máy chủ web Các thông tin có thể bao gồm như mã nguồn, dữ liệu, các

thông tin đăng nhập và các file hệ thống Trong một số trường hợp, kẻ tân công có

thể thêm, sửa, xóa dữ liệu có trên máy chủ, từ đó có thê dẫn tới tình huông xâu hơn

là kiểm soát hoàn toàn máy chủ Một vài ví dụ cụ thê của path-traversal có thê liệt

kê như:

https://example.com/?filename= / / /etc/passwd

Phương pháp phòng chông path-traversal cũng khá tương đông như các

phương pháp trên, bao gồm việc xác thực dữ liệu đầu vào, sử dụng một danh sách

các ký tự được phép, phân quyền truy cập file cho từng người dùng, hoặc chặn quyền truy cập đến các file nhạy cảm

1.2.2.5 XXE injection

XXE (XML external entity) injection la một lỗi khai thác từ các file XML, cho

phép kẻ tân công can thiệp vào quá trình xử lý file XML của ứng dụng web Lỗ hông này có thể gây ra một số tác hại như cho phép kẻ tấn công có thê thao tác với tệp trên

hệ thông, tương tác với hệ thông bên ngoài, hay thậm chí chiêm quyền điều khiển hệ

thống Cách hoạt động của lỗ hồng này hầu hết dựa vào việc chèn mã độc vào cú

pháp khai báo thực thể XML, sau đó trình đọc cú pháp XML sẽ xử lý các tác vụ nguy

hiểm đó, ví dụ như sau:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>

<version><id>&xxe;</id></version>

Lúc này, &xxe chính là giá trị của file etc/passwd, kết quả trả về của ứng dụng

web sau khi xử lý file XML này chính là file etc/passwd

Cách phòng chống lỗ hồng này đó là cân nhắc sử dụng một định dạng mới (ví

dụ như JSƠN), hoặc nếu không thé thay thé, viéc cập nhật trình đọc cú pháp XML

là điều cần thiết Ngoài ra, có thé vô hiệu hóa trình đọc thực thể bên ngoài của XML,

Trang 26

Đồ án tốt nghiệp

hoặc dùng các thư viện của các ngôn ngữ đê đảm bảo an toàn cho ứng dụng web trước nguy cơ tấn công XXE

1.2.2.6 File inclusion

Đây là một lỗ hông cũng khá phố biến, lỗ hồng này cho phép tin tặc có thê

truy cập vào các tệp nhạy cảm ,hoặc cho phép tải và thực thi các tệp độc hại trên máy

chủ web Lỗ hông này thường lợi dụng cơ chế “include” tệp của một sô ngôn ngữ

lập trình để khai thác Các file độc hại có thê là tệp cục bộ (tân công Local Eile

Inclusion) hoặc tệp từ xa (tan cong Remote File inclusion) Mot vi du cho tan cong

File inclusion nhu sau:

Ngoài các lỗ hông nói trên, ứng dụng web còn gặp những lỗ hồng khác như Server side template injection (SSTI), Server-side request forgery (SSRF), Buffer overflow có cách hoạt động khá tương tự với các lỗ hồng trên

1.3 Các phương pháp phòng chống và phát hiện tấn công web

1.3.1 Tổng quát chung

Bảo mật ứng dụng web cân có 3 lớp thiết yéu: Lop bao mat mang (Network),

lớp bao mat may chu (Host) va lop bao mat ứng dụng (Application) [2]

Trang 27

cơ sở dữ liệu, các phân mêm, tập tin

Lớp bảo mật ứng dụng: có nhiệm vụ đảm bảo an toàn và bảo mật cho người dùng và dữ liệu của họ trong ứng dụng web Các thành phân đó bao gôm các vân đê trao quyền, xác thực, cấu hình, ghi nhật ky

1.3.2 Các phương pháp phòng chỗng tấn công ứng dụng web

1.3.2.1 Cài đặt tường lửa ứng dụng web, các hệ thống phát hiện và ngăn chặn xâm

nhập

Một trong những cách hữu hiệu đề đảm bảo an toàn đó là tường lửa ứng dụng

web Là một thiết bị phân cứng hoặc phân mềm, Tường lửa ứng dụng web (WARF)

có chức năng lọc và giám sát, và chặn các lưu lượng từ giao thức HTTP đến từ các

máy khách WAF có khả năng bảo vệ ứng dụng web khá hiệu quả từ các lỗ hồng bảo

mat nhu XSS, CSRF, SQL injection Tất cả lưu lượng HTTP từ máy khách đều sẽ

đi qua WAF trước khi được xử lý ở máy chủ web, do đó, WAF cũng có khả năng bảo vệ máy chủ web khỏi các cuộc tân công khác nhau từ máy khách WAF thường hoạt động thông qua một loạt các quy tắc được định nghĩa sẵn, hay còn gọi là chính sách Chính sách này có thê dễ dàng thay đổi và cập nhật, do đó WAF có khả năng

phản ứng nhanh đối với các 16 hong bao mat mới

Giống như WAF, các hệ thống phát hiện xâm nhập (IDS) và ngăn chặn xâm

nhập (IPS) cũng có khả năng bảo vệ ứng dụng web khỏi các cuộc tấn công Khác với

WAE, IDS/IPS có khả năng phát hiện và ngăn chặn xâm nhập ở tầng mạng Sự khác

biệt giữa IDS/IPS đó là IDS chỉ có khả năng phát hiện tắn công, trong khi đó IPS có

cả khả năng phát hiện và ngăn chặn Cách hoạt động của IPS/TDS cũng khả tương

đồng với WAF, cũng cân một bộ quy tắc để kiểm tra và ngăn chặn các giao thức mạng không hợp lệ IPS⁄IDS thích hợp dé thu thap thong tin, diéu tra va Ứng cứu sự

Trang 28

Đồ án tốt nghiệp

cô xảy ra ở tang mang IPS/IDS và WAF thường được kết hợp với nhau đê mang đến khả năng bảo mật tốt hơn cho các ứng dụng web

1.3.2.2 Cấu hình đúng cho ứng dụng web

Một biện pháp cơ bản nhưng cực kỳ hữu hiệu trong việc bảo vệ ứng dụng web,

đó là cấu hình đúng Cấu hình ứng dụng web được hiểu như việc cấp quyên truy

nhập, xác thực, trao quyền, và các câu hình về thành phân mặc định, cách cập nhật

hệ thông, cùng nhiều các thành phân khác Một số cấu hình an toàn có thê kế đến

như:

e_ Ngoại trừ các tài nguyên công cộng để tải trang web, chặn mọi truy cập đến các tài nguyên khác mà không có đúng quyên

e Trién khai các cơ chê kiêm soát truy cập đên trang web

e Tao quyén tdi thiéu cho những người dùng khác nhau đôi với môi bản ghị, thay vì mọi người đêu có thê chỉnh sửa và xóa bản ghi đó

e Tắt chức năng duyệt thư mục theo mặc định, và ngăn chặn truy nhập đến các thư mục hệ thống và thư mục câu hình/ cài đặt ứng dụng web

e_ Cấu hình ghi nhật ký cho mỗi kết nôi không thành công, hoặc lỗi xảy ra trong quá trình kêt nôi đên ứng dụng web

e_ Các phiên làm việc nên được xóa bỏ khi người dùng đăng xuât

e Các dữ liệu nhạy cảm nên được mã hóa băng một thuật toán mã hóa mạnh

trong cơ sở dữ liệu của ứng dụng web

e_ Cấu hình giao thức HTTPS thay vì HTTP

e Áp dụng các mẫu thiết kế an toàn

e Các môi trường khác nhau (môi trường người dùng, môi trường kiểm thử) nên được cấu hình giống nhau, và đảm bảo an toàn giữa các môi trường đó

e® Loại bỏ các thành phân không được sử dụng ở ứng dụng web, các thư viện bên

thứ ba, và thường xuyên cập nhật các thư viện cũng như thành phần nhăm đảm

bảo các bản vá bảo mật luôn có săn

Trang 29

Đồ án tốt nghiệp

e Dam bao qua trinh phì log được diên ra đúng đủ và an toàn, phục vụ cho mục đích truy vêt và ứng cứu khân câp

e© Sử dụng chữ ký sô đôi với việc tải các tài nguyên bên thứ ba vào ứng dụng

web, đảm bảo việc tải tài nguyên là đúng nguồn và không bị thay đôi

ví dụ cơ bản cho trường hợp này, đó là kẻ tân công có thê tạo form nhập liệu riêng,

hoặc xóa các thành phần xác thực dữ liệu trên máy khách, tắt Javascript, hoặc phức

tạp hơn, gửi trực tiếp yêu cầu đến máy chủ mà không thông qua bất cứ khâu xác thực

`

nao

Các khâu xác thực dữ liệu đầu vào có thể kề đến như: kiểm tra kích thước dau

vào, định dạng đầu vào Ví dụ như, với dữ liệu yêu câu là định dạng ngày, thì định

dang cần thiết sẽ là dd/mm/yyyy Với dữ liệu có yêu cầu bắt buộc phải nhập, thì kích thước dữ liệu cần lớn hơn 0 Một số trường hợp đặc biệt có thể cần kiêm tra thêm nội

dung và tính hợp lý của dữ liệu Một sô bộ lọc săn có có thê lọc được các dữ liệu không hợp lệ, dữ liệu được phân loại là dữ liệu chứa mã tấn công, để đảm bảo dữ

liệu được xử lý là dữ liệu sạch và đúng Một số bộ lọc khá nồi tiếng có thê kể đến

như bộ lọc của OWASP, bộ lọc của CloudFlare hoặc một số bộ lọc công khai có trên

các trang web quản lý mã nguôn (như Github, Gitlab )

1.3.2.4 Triển khai các biện pháp bảo mật bồ sung

Phòng vệ nhiêu lớp theo chiêu sâu (Defense in depth) là phương pháp tiếp cận bảo mật hiệu quả cho ứng dụng web nói riêng và các hệ thống thông tin nói chung,

các lớp bảo mật thường được sử dụng cho ứng dụng web bao gôm: lớp bao mat mang,

lớp bảo mật máy chủ và lớp bảo mật ứng dụng Mỗi lớp bảo mật có tính năng tác dụng riêng và hỗ trợ cho nhau trong vấn đề đảm bảo an toàn tối đa cho ứng dụng

Trang 30

Đồ án tốt nghiệp

web [2] Ngoài ra, các ứng dụng bảo mật web ( như các phan mém Acunetix, cdc hé thong cua CloudFlare, Microsoft ) cing nén duge cai dat để đảm bảo tối đa cho ứng dụng web

1.4 Kết chương

Chương này đã khái quát được về kiến trúc của ứng dụng web, các lỗ hông

bảo mật như Top 10 OWASP 2021, và một số lỗ hông tân công điền hình Bên cạnh

đó, chương 1 đã giới thiệu được các phương pháp phòng chống tân công ứng dụng web đôi hệ thông web cũng như đôi với mỗi lỗ hông bảo mật riêng

Chương 2 sẽ giới thiệu về học máy, và các phương pháp trích xuất đặc trưng

trong văn bản nhằm mục tiêu áp dụng vào việc phát hiện và phòng chống tắn công ứng dụng web

Trang 31

Đồ án tối nghiệp

CHƯƠNG 2 ỨNG DỤNG HỌC MÁY VÀ CÁC PHƯƠNG PHÁP TRÍCH XUẤT ĐẶC TRUNG TRONG XU LY VAN BAN VAO PHAT HIEN TAN

CONG WEB

2.1 Khái quát về học máy và các thuật toán học máy

2.1.1 Khái quát vê học máy

Học máy hay machine learning là một kỹ thuật không còn xa lạ trong thời kỳ hiện nay Mọi tác vụ thường ngày (tìm kiếm thông tin, gửi thư điện tử, phân loại thư

điện tử, tìm kiếm hình ảnh, nhận diện khuôn mặt ) đều ứng dụng học máy Học may (Machine Learning) là một nhánh của lĩnh vực trí tuệ nhân tạo, khi máy có khả

năng tự “học” từ những dữ liệu có sẵn, thông qua các thuật toán học máy mà không

cân lập trình cụ thê

Về cơ bản, học máy là quá trình máy tính học hỏi từ những trải nghiệm E đôi

với một số công việc T, với một thước đo hiệu suất P, nếu hiệu suất ở các nhiệm vụ

trong T được đo bằng P và sẽ được cải thiện dựa trên các trải nghiệm E

Ví dụ như sau: phân loại thư rác, lúc này,

e E: cdc dit liéu đầu vào đã phân loại sẵn là thư rác/ hay không phải thư rác

e T: nhiém vu phan loại thư rác

e P: xdc suat thư được phân loại là thư rác hay không

Các bước giải quyết bài toán học máy được đưa ra bao gồm:

I Thu thập dữ liệu

Một trong những bước đâu tiên của quá trình học máy đó là thu thập dữ liệu

Dữ liệu thu thập được có thê đến từ các nguồn khác nhau, các định dạng khác nhau,

và phù hợp với vấn đề nêu ra

Trang 32

Đồ án tốt nghiệp

thời giúp ta hiệu rõ hơn vê các môi liên hệ của dữ liệu và đảm bảo độ chính xác của

mô hình học máy Dữ liệu sau đó được chia thành các tập, bao gôm huân luyện và đánh giả

3 Huân luyện

Đây là giai đoạn quan trọng nhất trong việc giải quyết bài toán học máy Tập

dữ liệu sẽ được huân luyện băng một hoặc nhiêu thuật toán hoc may dé tim hiểu đưa

ra được mô hình học máy tôi ưu nhất, từ đó dự đoán được các kết quả đầu ra dựa trên

các dữ liệu đầu vào

4 Đánh giá

Sau khi trải qua quá trình training, mô hình học máy sẽ được thực hiện đánh

giá độ chính xác Với tập dữ liệu dùng để đánh giá (được đưa ra ở quá trình xử lý dữ

liệu), sẽ được đưa vào mô hình đề thực hiện dự đoán, và so sánh kết quả đầu ra của

mô hình với kết quả đữ liệu thực Từ đó đưa ra đánh giá qua các thông sô khác nhau,

từ đó kết luận được mô hình có đủ độ tin cậy/ độ chính xác hay không

5 Cải thiện mô hình

Cải thiện mô hình là một bước cần thiết của quá trình học máy, tại bước này,

mô hình sẽ được điêu chỉnh lại các thuật toán, hoặc các dữ liệu đâu vào, nhăm tăng

độ tin cậy/ độ chính xác của mô hình học máy

6 Triển khai mô hình học máy

Lúc này, mô hình học máy đã sẵn sàng dé có thể đưa ra sử dụng thông qua các

dữ liệu thực, bang cách cài đặt thành ứng dụng riêng hoặc tích hợp theo mô đun vào

một ứng dụng sẵn có Mô hình có thê tiếp tục được cải thiện trong tương lai

Trang 33

Đồ án tôt nghiệp

- l » bớ c? liên —a af ˆ , tá | | Cai thién Trién khai

| Thu thập - Xu ly du liéu Huân luyện }— Đánh giá mô hình mô hình

Thay đổi thuật toán học máy/ Cài đặt/ tích hợp

Thêm dữ liệu/ xử lý lại dữ liệu

Hình 2.I Hình ảnh mình họa các bước trong quá trình học máy

2.1.2 Phân loại các thuật toán học máy

Dựa theo phương thức học:

Học có giám sát (Supervised Learning): là phương thức dự đoán đâu ra với

đầu vào là các tập dữ liệu (dữ liệu huấn luyện) đã được gắn nhãn, từ đó các thuật toán sẽ mô phỏng mối quan hệ giữa dữ liệu và nhãn, do đó có thê đưa ra dự đoán với

dữ liệu chưa từng gặp Các bài toán thường dùng cho kỹ thuật học có giám sát là:

e Regression (hồi quy): bài toán phân loại với tập dữ liệu có các nhãn không

được phân thành từng nhóm Đầu ra bài toán này có thể là một nhãn mới

Ví dụ như việc dự đoán tuôi của một người, dự đoán giá nhà

e Classification (phan loai): bai toan phan loai co đâu vào là dữ liệu đã được găn với một sô hữu hạn nhãn Ví dụ như việc phân loại email có phải là

spam hay không, hoặc phân loại một người là nam hay nữ

Học không giám sát (Unsupervised learning): là phương thức dự đoán đầu ra với đầu vào là các tập dữ liệu chưa được gắn nhãn Phương thức này sẽ dựa vào cau trúc của dữ liệu dé thực hiện phân cụm dữ liệu, hoặc giảm sô chiêu dữ liệu Học

không giám sát sẽ không đưa ra kết quả cụ thê cho câu trả lời có hay không, hoặc một nhãn cụ thể nào đó Các bài toán thường dùng cho học không giám sát là:

e Clustering (phân cụm): bài toán phân loại với tập dữ liệu X, tìm ra điểm

tương đồng/ sự liên quan dữ liệu đê phân nhóm Ví dụ như, việc phân loại gen thành các nhóm về màu da, màu mắt, màu tóc giông nhau

Ngày đăng: 10/06/2024, 22:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w