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

Khóa luận tốt nghiệp An toàn thông tin: Phát triển mô-đun tường lửa ứng dụng web tích hợp học máy cho NGINX

106 0 0
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

Thông tin cơ bản

Tiêu đề Phát triển mô-đun tường lửa ứng dụng web tích hợp học máy cho NGINX
Tác giả Doan Anh Dung, Le Thi My Duyen
Người hướng dẫn THS. Do Hoang Hien
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 106
Dung lượng 58,67 MB

Nội dung

Nội dung 5: Thực nghiệm với các kịch bản của ứng dụng web: e Mục tiêu: Có thé đánh giá được một cách chính xác và khách quan nhất kết quả hoạt động của mô hình mà chúng ta đã xây dựng e

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG

DOAN ANH DUNG - LE THI MY DUYEN

DEVELOPING A MACHINE LEARNING INTEGRATED WEB

APPLICATION FIREWALL MODULE FOR NGINX

KY SU NGANH AN TOAN THONG TIN

TP HO CHI MINH, 2023

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

DOAN ANH DUNG - 19520053

LE THỊ MY DUYEN - 19521439

KHOA LUAN TOT NGHIEP

PHAT TRIEN MO-DUN TUONG LUA UNG DUNG WEB

TICH HOP HOC MAY CHO NGINX

DEVELOPING A MACHINE LEARNING INTEGRATED WEB

APPLICATION FIREWALL MODULE FOR NGINX

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

THS DO HOANG HIEN

TP HO CHi MINH, 2023

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

Tigầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

LỜI CÁM ƠN

Lời đầu tiên, nhóm thực hiện khoá luận chúng em xin trân trọng giành lời

cảm ơn đến các thầy cô giảng viên tại khoa Mạng máy tính và Truyền thông, cũngnhư toàn thể các thầy cô giảng viên đang công tác tại trường Đại học Công nghệ

Thông tin đã dạy dỗ, truyền đạt những bài học và kiến thức quý báu cho chúng emtrong suốt quãng thời gian vừa qua Nhóm chúng 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ệ thong giáo dục nước nhà

Đặc biệt, nhóm chúng em xin gửi lời biết ơn sâu sắc đến giảng viên hướng

dẫn, ThS Đỗ Hoàng Hiên, thay đã luôn theo dõi, quan tâm và giúp đỡ rat nhiệt tình,đồng thời hỗ trợ giải quyết những vấn đề phát sinh khác trong quá trình hoàn thànhkhoá luận tốt nghiệp Tiếp theo chúng em xin cảm ơn Phòng thí nghiệm An Toàn

Thông Tin đã hỗ trợ cơ sở vật chất, tạo điều kiện cho chúng em trong suốt quá trình

thực hiện khóa luận.

Cuối cùng, nhóm chúng em xin gửi một lời cảm ơn chân thành dành cho cácanh chị, bạn bè tại trường Đại học Công nghệ Thông tin đã luôn giải đáp các thắc

mắc, hỗ trợ và góp ý cho khoá luận của nhóm trong thời gian vừa qua

Xin chân thành cảm ơn.

TP Hồ Chí Minh, ngày 31 tháng 01 năm 2023

Nhóm tác giả

Trang 5

ĐẠI HỌC QUOC GIA TP HO CHi MINH CONG HÒA XÃ HOI CHỦ NGHĨA VIET NAM

Tên đề tài (tiếng việt): Phát triển mô-đun tường lửa ứng dụng web tích hợp

học máy cho NGINX

Tên Tiếng Anh: Developing a machine learning integrated web application

firewall module for NGINX

Cán bộ hướng dan: Ths Đỗ Hoang Hién

Thời gian thực hiện: từ ngày 05/09/2022 đến ngày 09/12/2022

Sinh viên thực hiện:

Lê Thị Mỹ Duyên — 19521439 - 0981590645

Doan Anh Dũng — 19520053 - 0398296628

Nội dung đề tài:

1 Tổng quan tình hình nghiên cứu:

Thông tin tồn tại ở khắp mọi nơi xung quanh chúng ta ké từ khi công

nghệ thông tin phát triển, va Internet đã thay đổi lối sống truyền thống hangngày của chúng ta Đồng thời, các ứng dụng web được ứng dụng rộng rãi

trong cách lĩnh vực khác nhau, va sự gia tăng của công nghệ dam mây đã làm cho cách dịch vụ web trở nên nhanh chóng và tiện lợi hơn.

Trang 6

Gartner đã báo cáo rang 75% các hành vi tan công đã được phát hiện ởtầng ứng dụng (application layer) và các máy chủ web là mục tiêu chính củatin tặc trong các sự cô an ninh mạng đã xảy ra trong những năm gần đây Cóhai lý do khiến tin tặc có xu hướng xâm nhập vào máy chủ web Một mặt,hàng triệu thông tin cá nhân của người dung (ví dụ: số ID, địa chỉ, tài khoản

ngân hàng) được luu trữ trong cơ sở dữ liệu của máy chủ và tin tặc sẽ thu

được lợi nhuận đáng kế băng cách bán đữ liệu Mặt khác, tin tặc có thể đưa

mã độc vào tại liệu nguồn của mát chủ và người dung sẽ bị tấn công khi họ

duyệt hoặc tải xuống các tài liệu này

Chính vì vậy, tìm ra các biện pháp tối ưu dé bảo vệ ứng dụng web là mộtcông việc hết sức cần thiết, một trong những biện pháp để bảo vệ ứng dụng

web phổ biến và quen thuộc với nhiều người là sử dụng Web Application

Firewall (WAF).

Web Application Firewall (WAF) giúp bảo vệ các ứng dụng web bằng

cách giám sát và lọc các lưu lượng HTTP/HTTPS giữa ứng dụng web và

người dùng từ Internet Nó thường bảo vệ các ứng dụng web khỏi các cuộc

tấn công web như: Cross-site request forgery (CSRF), Cross-site scripting(XSS), File Inclustion, SQL Injection WAF hoạt động ở tang 7 (trong môhình OSI) va không được thiết kế dé bao vệ chống lại tat ca các loại tan công.Bằng cách triển khai WAF trước ứng dung web, một 1a chắn được thiết lập dé

bao ứng dụng web WAF là một loại reverse proxy, bao vệ máy chủ khỏi bi

tấn công bằng cách cho request từ client đi qua WAF trước khi đến máy chủ.WAF hoạt động thông qua một tập hợp các quy tắc (rule) thường được gọi là

chính sách Các chính sách này nhằm mục đích bảo vệ khỏi các lỗ hồng trongứng dụng băng cách lọc ra các traffic (lưu lượng) độc hại WAF có tốc độnhanh chóng và việc sửa đôi các chính sách có thé được thực hiện dé dàng,cho phép phản ứng nhanh hơn với các vector tấn công khác nhau

ModSeurity là một WAF khá phổ biến, nhóm sẽ chọn ModSecurity détriển khai trong khóa luận của mình

Trang 7

Server

Web Application

Firewall HTTP Traffic

Sources

Hình 1: Mô hình có sử dụng Web Application Firewall

Tuy nhiên việc chỉ sử dụng WAF một cách truyền thống dé chống lai cáccuộc tấn công web vẫn có tồn tại những rủi ro, hạn chế nhất định, chúng vẫn

có thể xâm nhập vì hầu hết các WAF đều dựa trên các bộ lọc dựa trên biểu

thức chính quy được tạo ra từ cuộc tấn công đã biết chữ ký

Với hiện trạng trên, chúng em quyết định đưa vào mô hình máy học mục

đích phân loại các requests, đồng thời tích hợp vào mô-đun của NGINX nhằm

phát hiện các loại tân công.

URL Decode

Filter blocker

2 Tính khoa học và tính mới của đề tài:

Trong mục tiêu khóa luận của nhóm, chúng em sẽ phát triển một mô đuntường lửa có kết hợp giữa mô hình Web Applicatio Firewall truyền thống và

mô hình máy học, đồng thời, đưa ra phương án giải quyết nhằm đảm bảo độ

chính xác cao nhưng vẫn giữ được tốc độ xử lí của các hành vi Nhóm thực

hiện nghiên cứu các công bô về vân đê tương tự, đưa ra cai nhìn tông thê, sau

Trang 8

đó áp dụng vào mô hình hiện tại Bên cạnh đó, vẫn đảm bảo được tính thực

tiễn, có thé áp dụng và sử dụng như một ứng dụng thực tế

3 Mục tiêu, đối tượng và phạm vi:

Mục tiêu:

Với những ý tưởng hiện tại, nhóm xây dựng một mô dun có thé ngăn chặn

được các cuộc tấn công web sử dụng Web Application Firewall như thôngthường Nhưng bên cạnh đó, nhóm kết hợp với học máy dé có thé phát hiện

được những tân công chưa được biệt đên Cụ thê mục tiêu của đê tài như sau:

- Hiểu được những hạn chế còn tồn tại trong các mô hình WAF thông

thường, nhóm sẽ thực hiện tích hợp các phương pháp hiện đại, cụ thé là

Machine Learning, để khắc phục được những hạn chế còn tồn tại.

- Dé xuất một phương pháp không những phát hiện được những cuộc tan

công đã có (những cuộc tan công đã có signature và được lưu trongdatabase) mà còn có thé phát hiện được những cuộc tan công mới

- Tu phương pháp đã dé xuất, nhóm phát triển một mô đun cho NGINX

nhằm phát hiện các tấn công web

- Thực hiện các kịch ban tan công va đo thời gian xử lý dé đánh giá hệ

thống đã xây dựng

Đối tượng nghiên cứu:

- _ Công cụ Nginx va reverse proxy

- _ Cách viết một module NGINX

- Web Application Firewall (Modsecurity)

- Cac phuong phap hoc may.

Pham vỉ nghiên cứu:

- _ Xây dựng một reverse proxy sử dung NGINX.

- Phat triển một module Web Application Firewall (WAF) Nginx

- Thuc hiện cai đặt mô dun WAF lên reverse proxy NGINX.

Trang 9

- Tim hiểu, nghiên cứu các biện pháp Machine Learning dé tích hợp vào

mô hình nhằm mục đích phát hiện ra những vector tấn công mới mà

WAF thông thường không phát hiện được.

4 Nội dung, phương pháp dự định nghiên cứu

Nội dung, phương pháp nghiên cứu chính:

a Nội dung 1: Tim hiêu vê Nginx, reverse proxy va cach câu hình một

Nginx web server dùng làm reverse proxy:

s Mục tiêu: Hiêu được nguyên tac hoạt động và các tính năng cơ bản của

Nginx Hiêu được một mô hình có sử dung reverse proxy và cách câu

hình một Nginx web server làm reverse proxy.

- Kiém tra lại hoạt động của reverse proxy, xác định xem liệu traffic dén

reverse proxy có được forward đên web server phía sau hay không.

2 Nội dung 2: Tìm hiểu về Web Application Firewall, cách triển khai một

web application Firewall, cụ thể ở đây là Modsecurity Tìm hiểu cách viết

một rule sử dụng cho Modsecurity.

+ Mục tiêu: Hiéu được tác dụng của Web Application Firewall Triển khai

được WAF (Modsecurity) trên reverse proxy đã được cấu hình Hiểu

được quy tắc hoạt động của rule, cách viết rule trong Modsecurity dé

filter được black-data và white-data.

e Phương pháp:

- Tim hiều các tài liệu về Web Application Firewall

Trang 10

- Tìm hiểu và thực hiện cài đặt Modsecurity theo hướng dẫn của

Modsecurity.

- Kiém tra hoat động cua Modsecurity, có thé block được những traffic có

chứa dữ liệu độc hại hay không.

- Xác định được vi trí chứa rule của Modsecurity và các và các rule ay

được load vào.

- Tim hiểu cách viết một rule trong Modsecurity và thực hiện viết các rule

đơn giản với ca hai trường hợp black-data và white-data.

- Thuc hiện kiểm tra lại xem các rule vừa viết đã hoạt động hay chưa với

các test case (black-data, white-data, unknown-data).

- Mục tiêu cuối cùng là đến đây có được một mô hình sử dụng WAF

truyền thống (1)

3 Nội dung 3: Machine Learning

e Mục tiêu: Áp dụng mô hình máy học, đưa ra quyết định thực hiện yêu cầu

từ phía máy khách (client) đến máy chủ (server) Bên cạnh đó phải đảm

Sử dụng các dataset có sẵn trên internet từng được sử dụng ở các bài báo

khoa học uy tín, thực hiện thử nghiệm, so sánh tính chính xác ở các thuật toán

Tiến hành sinh dataset, làm giàu vốn data dé nâng cao độ chính xác hơn

Kết hợp kĩ thuật tiền xử lí của chúng em thực hiện, mục đích dé nang cao

tính chính xác

Đưa ra quyết định sử dụng thuật toán để đảm bảo cân bằng việc chính

Trang 11

xác và độ trễ thực hiện 1 yêu cầuTích hợp về ngôn ngữ C để thuận tiện trong việc cấu hình module cho

Nginx.

Cuối cùng xây dựng được một mô hình máy học có kha năng dự đoán với

tỉ lệ chính xác nhất phục vụ cho việc phòng tránh các yêu cầu độc hại (2)

4 Nội dung 4: Tìm hiểu cách viết và compile một module Nginx Từ đó xây

dựng một module nhằm kết hợp (1) và (2) dé thực hiện phát hiện những

unknown data (những data mà Modsecurity không phát hiện được.

« Muc tiêu: Có thé viết được một module Nginx cơ ban Từ đó phát triển

module lên dé có thể tích hợp được (1) và (2) lại với nhau

e Phuong pháp:

- Tim hiểu tài liệu va những quy tắc cơ bản nhất dé có thé viết được một

module Nginx

- Song song với việc tim hiểu tài liệu, bắt đầu thử nghiệm viết những

module đơn giản, và thử compile và load những module đó vào Nginx (reverse proxy).

- Tiép tục tìm hiểu về module Nginx, cách sử dung Nginx dé load một

Machine Learning module Cuối cùng có thể xây dựng được một Nginxmodule có thê kết hợp được (1) và (2)

5 Nội dung 5: Thực nghiệm với các kịch bản của ứng dụng web:

e Mục tiêu: Có thé đánh giá được một cách chính xác và khách quan

nhất kết quả hoạt động của mô hình mà chúng ta đã xây dựng

e Phuong pháp:

- Thực hiện thử nghiệm trên nhiều cuộc tấn công với các loại lỗi khác

nhau.

- Thực hiện thử nghiệm triển khai các cuộc tan công sử dụng những

payload có áp dụng những biện pháp bypass thông thường.

- Thực hiện thử nghiệm triên khai các cuộc tân công sử dụng những

Trang 12

payload có áp dụng những biện pháp bypass nâng cao.

- Thực hiện trai khai nhiều cuộc tấn công cùng một lúc để kiểm tra hiệu

xuất hoạt động của mô hình

; ; công block những traffic

Modsecurity (dong vai tro

độc hai trước khi đến web

là WAF) va web server.

server.

| 2 P

Có thê tự viêt được một rule

Tìm hiệu về cách việt rule l ;

Modsecurity don gian va

Modsecurity va cach „

đảm bảo rule này có thê hoạt

1mport rule đó vào

Trang 13

Thực hiện áp dụng

Machine learning đê xây

, Hoàn thành mô hình và có dựng một mô hình có thê „ „

thê phát hiện được tân công.

phát hiện được những

hợp nhất để có thể tích hợp

Thực hiện các phương

được mô hình máy học vào

hap dé xây dựng module

pep yas mô hình WAF hiện tai.

nginx có thé tích hợp mô

hình Máy học vào.

Thực hiện tích hợp mô

-cHoàn thành việc tích hop

Tháng 11/2022 hình máy học vào mô

Tháng 12/2022

mô hình máy học.

hình WAE hiện tại.

Có được kết quả thực

Thực nghiệm và đánh giá nghiệm và đưa ra được báo

kết quả đạt được cáo tổng quan về quá trình

H T Nguyen va K Franke, “Adaptive Intrusion Detection System via

Online Learning,” Proc 12th Int Conf Hybrid, 2012.

J Liang, W Zhao và W Ye, “Anomaly-Based Web Attack Detection: A Deep Learning Approach,” VI International Conference on Network,

Communication and Computing, 2017.

Z Tian, C Luo, J Qiu, X Du va M Guizani, “A Distributed Deep Learning System for Web Attack Detection on Edge Devices”.

M S Hacer Karacan, “A Novel Data Augmentation Technique and

Deep Learning Model for Web Application Security,” 08 11 2021.

Trang 14

[Trực tuyến] Available: https://ieeexplore.ieee.org/document/9605636.

[5] A loulin, E Grave, P Bojanowski và T Mikolov, “Bag of Tricks for

Efficient Text Classification,” arXiv:1607.01759

[6] A Tekerek, “A novel architecture for web-based attack detection using

convolutional neural network,” Comput Secur, [Truc tuyén].

Available:

https://www.sciencedirect.com/science/article/p1i/S0167404820303692.

[7] D Madhugiri, “Visualize Deep Learning Models using Visualkeras,”

[Truc tuyến] Available:

learning-models-using-visualkeras/ [Đã truy cập 8 March 2022].

https://www.analyticsvidhya.com/blog/2022/03/visualize-deep-[8] E BARRIL, “Text Classification using Neural Networks,” 2019 [Trực

tuyên] Available: classification-using-neural-networks#A-complex-model-:-LSTM.

https://www.kaggle.com/code/eliotbarr/text-[9] Z Wang, X Ren va S Li, “A Malicious URL Detection Model Based

on Convolutional Neural Network,” 2021.

[10] H Liu, B Lang, M Liu và H Yan, “CNN and RNN based payload

classification methods for attack detection,” Knowledge-Based

Systems, 2019.

[11] M Ito va H Iyatomi, “Web application firewall using character-level

convolutional neural network,” Penang, Malaysia, 2018.

[12] T Mikolov, K Chen, G Corrado va J Dean, “Efficient Estimation of

Word Representations in Vector Space,” 2013.

[13] KERAS, “Keras API reference,” [Truc tuyén] Available:

https://keras.io/api/.

[14] P R McWhirter, K Kifayat, Q Shi va B Askwith, “SQL Injection

Attack classification through the feature extraction of SQL query strings using a Gap-Weighted String Subsequence Kernel,” [Truc tuyén] Available: https://doi.org/10.1016/j.jisa.2018.04.001.

[15] MR_ KNOWNOTHING, “Deep Learning For NLP: Zero To

Transformers & BERT,” 2020 [Truc tuyến] Available:

zero-to-transformers-bert.

https://www.kaggle.com/code/tanulsingh0O77/deep-learning-for-nlp-[16] P MEGRET, “Gensim Word2Vec Tutorial,” 2019 [Trực tuyến].

Available: word2vec-tutorial.

https://www.kaggle.com/code/pierremegret/gensim-[17] SpiderLabs, [Trực tuyến] Available:

https://github.com/SpiderLabs/ModSecurity-nginx.

[18] Emiller, “Emiller’s Guide To Nginx Module Development,” [Truc

tuyén] Available:

Trang 15

https://medium.com/@vladislavsd/undocumented-[22] O G o F5, “Compiling Third-Party Dynamic Modules for NGINX

and NGINX Plus,” [Truc tuyén] Available:

https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/.

[23] J Kiarie, “How to Install ModSecurity for Nginx on Debian/Ubuntu,”

[Truc tuyén] Available: nginx-debian-ubuntu/.

https://www.tecmint.com/install-modsecurity-[24] [Trực tuyén] Available:

https://stackoverflow.com/questions/3299 1429/compiling module-with-dependant-library.

-nginx-Xac nhan cia CBHD

(Ký tên và ghi rõ họ tên)

GVHD: Ths Đỗ Hoàng Hiển

TP HCM, ngày 21 tháng 9 năm 2022

Sinh viên

(Ký tên và ghi rõ họ tên)

SV1: Doan Anh Dũng SV2: Lê Thị Mỹ Duyên

Trang 16

2.1.1 Giới thiệu về NGINX -.-ccocsrecccctireeeerrrrerrrrrrirrrrrrrrrrrrrrrrrrrerrre 5

2.1.2 Nguyên lý hoạt động của NGINX «ecceeekieekiieiieiiiiiirie 5

2.1.3 Các tính năng chính của NGINXX e-cceieririiiririiiiiiiriie 5

2.1.4 Phương pháp tao và biên dịch mô-đun trong NGINX 6

2.4.1 Giới thiệu về Modsecurify - cccccicceeccverrrrreerverrrrtrrrrerrrrrrrrrrrrrrrrree 9

2.4.2 ModSecurity Core Rule Set (CRS): -e.c-erieireiriiriririrre 9 2.5 Hoc máy (Machine Learn1n§) -s-cssccxesrrerretrktrtrrtrrrrrirrrrrrrrrrrike 10

2.5.1 Học sâu (Deep Learn1nng) s- «sex 11 2.5.2 Neural Network (mạng 'IƠ-TOT)) - c5cxsxsekekrEkteertetrketrrerkrrreerrrke 12 2.6 Natural Language Processing (NILP) -cs«ecei HH Hiy 17

2.6.1 Giới thiệu về NLP cce+ceecetrrreeEEtrrerrrtrrrerrtrrtrrrrrrrrrrrrrrrrrrrrre 172.6.2 Ứng dụng của NLP -cs2eccetrrerErreretrrrrvrrirrtrrrrrrrrrrrrrrrerre 17

Chương 3 THIẾT KẾ HỆ THỐNG -.22ttccSttrceEttrerttrrrrrrrrrrrrrrrrre 19

Trang 17

3.1 Tổng quan về hệ thống -c2+++cc22treevEEEtrervvtttrervvtrtrrrvrrtrrrrtrrrrrrrte 19

3.2 Tiền xử lí dữ liệu .-i.ktreriiiitrHHiriiiriririreieriri 20 3.3 Triển khai các mô hình -2+++ecettreceEEEtrereEErrrerrrtrrrarrrrrirsrrrrrrerre 23

3.3.1 Kiến trúc mô hình Birectional-LSTM cse+rcccetrrreeerrre 24 3.3.2 Tổng quan mô hình Bidirectional-L/STM: - ccc-e-:-eccecccrrree 25

3.4 Word Embedding s«-cs+cxesxeerstrktkkttrskrikkiirrikriiriirrrirrrkrrrsrke 26

3.5 Chi tiết quy trình hoạt động của hệ thống -2 cseccerrccc+ 28

3.5.1 Yêu cầu được gửi từ máy tan công đến Reverse proxy -WAE 28

3.5.2 Yêu cầu được xử lý tai máy Reverse proxy — WAE - 28

3.5.3 Yêu cầu được gửi từ máy Reverse proxy — WAF đến máy chủ web 29

Chương 4 HIỆN THỰC HE THỐNG VA THỰC NGHIỆM - - 31

4.1 Hiện thực hệ thống - ece2t+ectrterttrrrztrterEtrirrtrtrrrtrtrrtrrrrrtrrrrrrrre 31 4.1.1 Mô hình triển khai -c: ++ecccccetirrrevEvEEttrrerrrvrrtrrrrrrrrrrrrrrrrrrrrrrre 31 4.1.2 Câu hình các máy thực nghiệm +eeetreeetrreeerrerverrreete 32 4.1.3 Dữ liệu và tiền xử lí .-c.etirieriiiiiriie 33 4.1.4 Cài đặt HH HH HH1 re 34 4.1.5 Tiền xử lý dữ liệu trong NGINX -ccccccreeccccerrrrreeceerrrrree 34 4.1.6 Triển khai ModSecurity vào NGINX s-.+ccsseccerrceet 48 4.1.7 Triển khai mô hình học máy vào NGINX .cccccerrrez 53 4.1.8 Triển khai các mô hình khác -s+++ccettreccvttrrrerrrrrrrrrrrre 62 cao hố ẽẽẽ 65

“AI (in 2 nh <S 65

4.2.2 Kết quả thực nghiệm trên Python es2+ccestrcc+trrerrrrrret 66 4.2.3 So sánh kết quả thực nghiệm với các mô hình khác 66

4.3 Chạy thực nghiệm trên NGINX c-cccsriieirriiriiriiiirirree 67

4.3.1 Trường hợp WAF chỉ sử dụng Modse€CUTIfy -cccs-ceexeeereeree 67

4.3.2 Trường hợp WAF tích hợp Modsecuirty và mô hình

Trang 18

Bidirectional-Chương 5 KẾT LUẬN VA HƯỚNG PHAT TRIỂN 2+-z2trzztrrz+2 78

Trang 19

Hình 1: Các chức năng chính của NGINX - si 6 Hình 2: Mô hình hoạt động của Reverse Proxy -e cceercrrterrrrrtrrerrriirrrrrrrrrie 8 Hình 3: Mô hình sử dụng Web Application FIrewalÏ -. -‹c-e-e-ceexeerreeeeere 9

Hình 4: Mối quan hệ giữa AI, Machine Learning va Deep Learning 11

Hình 5: Lịch sử deep learning

Hình 6: Mạng nƠ-TOH - 5c 5s< xxx HH HH HH HH HH Hàng nnrrkg

Hình 7: Mô hình tổng quan về hệ thống đề xuất :+:cccccerrrreeeceeerrrree 19

Hình 8: Mô hình Bidirectional LŠ TÌM c cxceksrxrekiirritkiriiririiirrriee 25

Hình 9: Phân tách đường dẫn dựa vào những kí tự đặc biệt 39

Hình 10: Phân tách dữ liệu dựa vào những kí tự đặc DIGt - ‹ -«-©5<«- 40

Hình 11: Đường dan được đưa về dang thống nhắt -+ s++czstree 42Hình 12: Chuyển đường dẫn về dạng mảng $6 .ccec:iiiceeeveerrrrresvevrrrrre 43Hình 13: Dữ liệu được chuyên sang dạng thống nhất -iiiiccccevverrrrrrrrrreeeeee 47

Hình 14: Dữ liệu được chuyên sang dạng mảng sỐ -s++cesree 48

Hình 15: Mô hình được tải thành công vào NGINX -.-«c-cceceeerreree 62 Hình 16: Mô hình Simple 1moelL -.- -s+-s<5seSxs+Extsrxerrtetrttrrkrtrkrrrrrrtkrtrrkrrrree 62

Hình 17: Mô hình LLS”TÌM c-Scccc+rirtrirtritErtiriiiriiiiiiiiiirirrree 63

Hình 19: Mô hình CNN-LSTM ou esseessssecseessseesseesneesstersseesstessseesneesssessseersessneesaseesseesaensneenes 64

Hình 20: Thực nghiệm trên 20% bộ dữ liệu bat thường CSIC chỉ sử dung

Hình 23: Thực nghiệm trên trên 5000 requests đầu trong 20% của bộ dữ liệu bình

thường FWAF chỉ sử dụng ModS€CurIfy «-cc<ccxeisrieekirttriikriiiriirirrree 69

Hình 24: Thực nghiệm trên 20% dữ liệu bắt thường của bộ HttpParams chỉ sử dụng

Trang 20

Hình 28: Thực nghiệm trên 20% bộ dữ liệu bat thường FWAF sử dung mô-đun mới

— Ô 73

Hình 29: Thực nghiệm trên 5000 yêu cầu đầu của bộ dữ liệu bình thường của

FWAB sử dụng mô-đun THỚI s << 5£5<£+x*SEE*EEE+kSEEEEErEEkrEkkttrktkkrrkkrrrkrrkrrkrrrerrkeee 74

Hình 30: Thực nghiệm trên 20% dữ liệu bất thường của HttpParams sử dụng

mô-GUT 0 75

Hình 31: Thực nghiệm trên 20% dữ liệu bình thường HttpParams sử dụng mô-đun

TIO cesssssesssssseensssseesesnsseesssseessssseseesnseenessseensssseeessssseeesssseesssnseesessueenssnseesssssseeessuseessssseenensseensssseensanseeessnans 75

Trang 21

DANH MỤC BANG

BANG 1: CÁC TU KHOA ĐƯỢC ĐỊNH NGHĨA 2-2-5 sccxccezxxe2 22BANG 2: BANG ANH XA CHUYEN DOI TỪ - 2-52 52S+E‡EEeEEeEererxrree 23BANG 3: SO LƯỢNG BO DU LIEU SAU KHI LỌC c5 s2 s+c+ +2 33

BANG 4: KET QUA DU DOAN CUA MO HINH TREN CAC BO DU LIỆU ó6

BANG 5: KET QUA SO SANH GIỮA MO HINH DE XUẤT VA CÁC MÔ HÌNHKHAC woe ccccccsesscsscssessesscsscsscsvcsvcsssesscsussucsucsucsussessesuesussucsussvssessesaesussueassssseseesseseesnease 66BANG 6: CÁC CHỈ SO TREN DU LIEU THU NGHIEM KHI CHUA TÍCH HỢPMÔ-ĐUƯN SG 5n TT 11121111011211111111 1111111111111 1111111111111 Tre 71

BANG 7: CÁC CHỈ SO TREN DU LIEU THU NGHIỆM KHI ĐÃ TÍCH HOP

MO-DUN oeeccccecsscsssessessesssessessessvssuessesssssucsuessesssssvssussuesssssecsussssssessssssessesstessesseeseesseas 76

BANG 8: SO SÁNH KET QUÁ THỰC NGHIỆM GIỮA MODSECURITY VA

\ (055910)8)1900 12 — 76

Trang 22

DANH MỤC TỪ VIET TAT

Natural Language Processing

Long Short-Term Memory

Convolutional Neural Network Recurrent Neural Network

Trang 23

Model Module

Neuron

Firewall Session

Trang 24

TOM TAT KHÓA LUẬN

Các cuộc tan công mạng đang ngày càng phổ biến, các cuộc tấn công diễn ra dưới

rất nhiều kỹ thuật và hình thức khác nhau, cách thức tấn công cũng thay đổi dần nêncác hệ thống phát hiện xâm nhập dựa vào dấu hiệu là không hiệu quả, thay vào đó,các hệ thống phát hiện xâm nhập sử dụng học máy thường chứng tỏ ưu thế hơn

trong việc phát hiện các cuộc tan công mới Đề đạt được độ chính xác cao, cần có

tập dit liệu lớn và có thé bao gồm nhiều cuộc tan công khác nhau Trong nghiên

cứu này, nhóm tác giả đề xuất một hệ thống phát hiện xâm nhập dựa trên học máy,bên cạnh đó, chính hệ thông này sẽ được tích hợp vào NGINX như một module

Mục dich của việc này nhằm tăng được khả năng bảo vệ dành cho tường lửa, nâng

cao khả năng phân biệt và ngăn chặn những yêu câu độc hại.

Trang 25

Chương 1 TONG QUAN DE TÀI

1.1 Giới thiệu về đề tài

Trong khoảng thời gian 5 năm trở lại gần đây, ứng dụng doanh nghiệp ngày càng có

xu hướng chuyền đổi từ ứng dụng desktop sang ứng dụng web Các cuộc tấn công

mạng nhăm vào các máy chủ web và ứng dụng web vẫn đang là một trong những

van đề chủ chốt cần được chú trọng trong một doanh nghiệp đang sử dụng công

nghệ Các cuộc tấn công vào các ứng dụng web ngày càng trở nên phức tạp và khó

bị phát hiện hơn Do đó, việc triển khai các biện pháp để bảo vệ các ứng dụng webnhằm tránh khỏi các cuộc tan công là một công việc hết sức cần thiết

Mặc dù các nhà phát triển ứng dụng web đã triển khai các biện pháp phòng thủ,

nhưng các cuộc tan công vẫn không ngừng phát triển nên nhu cầu về phan mềm

hoặc sản phẩm chủ yếu dé hỗ trợ các quy trình phòng thủ nham nâng cao mức độ

bảo vệ web đã trở nên cấp thiết Một trong những phương pháp được sử dụng phốbiến nhất hiện nay là Web Application Firewall (WAP)

Các WAF thông thường hoạt động bang việc sử dụng chữ ky (signature), chúng

nhận biết cuộc tắn công thông qua dấu hiệu riêng biệt của nó, điều này dựa trên một

cơ sở dữ liệu có sẵn nên nó yêu cầu cơ sở dit liệu lớn Bên cạnh đó việc phụ thuộc

vào cơ sở dir liệu va các logic và quy tắc được mã hóa cứng (sử dụng lập trình

truyền thống) cũng ton tại những hạn chế nhất định.

Trong những thập kỷ gần đây, trí tuệ nhân tạo đã trở thành một cuộc cách mạng

khoa học và đạt được ưu thế trong việc làm chủ công việc mà con người làm Các

nhà nghiên cứu và chuyên gia bảo mật thông tin đã đặc biệt chuyền sang khai thác

khả năng của trí tuệ nhân tạo dé phat hién va chéng lại các cuộc tan công

Với mong muốn có thê tận dụng tối đa những gì đã có nhưng vẫn có thể nắm bắt

được xu hướng hiện tại, trong khóa luận tốt nghiệp này nhóm tác giả sẽ thực hiện

triển khai một WAF kết hợp giữa một WAF thông thường và machine learning

Mục đích của việc kết hợp này là có thé đưa ra một WAF có thé hoạt động hiệu quả,

Trang 26

không chỉ phát hiện được những cuộc tấn công đã có chữ kí mà còn có khả năng

phát triển xa hơn, phát hiện được những cuộc tấn công mới

1.2 Mục tiêu của đề tài

Mục tiêu của nhóm hướng đến là có thé dé có thể xây dựng một mô-đun có thé ngăn

chặn được các cuộc tan công Web sử dụng Web Application Firewall như thông

thường Nhưng bên cạnh đó nhóm kết hợp với học máy đề có thé phát hiện được

những tân công mới, đây là những cuộc tân công chưa có chữ ký Cụ thê, mục tiêu

của dé tài như sau:

Nghiên cứu và sử dụng được một Web Application Firewall thông thường,

cụ thê trong khóa luận tốt nghiệp này nhóm sẽ sử dụng ModSecurity

Thực hiện tích hợp và triển khai ModSecurity vào Nginx

Hiểu được những hạn chế còn tổn tại trong một Web Application Firewallthông thường, nhóm sẽ thực hiện tích hợp các phương pháp hiện đại, cụ thể ở

đây là Machine Learning dé có thé khắc phục các hạn chế còn tồn đọng

Đề xuất một phương pháp không những phát hiện được những cuộc tấn công

đã có (những cuộc tân công đã có signature và được lưu trong database) màcòn có thé phát hiện được những cách tan công mới

Từ phương pháp đã đề xuất, nhóm phát triển một mô-đun cho Nginx có khảnăng phát hiện được những cách tan công web hoạt động ở mức tốt

Cuối cùng, nhóm sẽ thực hiện những kịch bản tan công thực tế để có thể

đánh giá được mức độ hoạt động của hệ thống mà nhóm đã xây dựng

1.3 Đối tượng, phạm vỉ nghiên cứu

1.3.1 Đối tượng nghiên cứu:

Công cụ Nginx va Reverse Proxy

Cách viết và biên dich (compile) một mô-đun Nginx

Web Application Firewall (ModSecurity)

Cac phuong phap hoc may

Trang 27

1.4 Tính mới và tính ứng dụng của đề tài

Trong mục tiêu khóa luận của nhóm, chúng em sẽ phát triển một mô đun tường lửa

có kết hợp giữa mô hình Web Application Eirewall truyền thống và mô hình máy

học, đồng thời, đưa ra phương án giải quyết khả quan đảm bảo độ chính xác cao

nhưng vẫn giữ được tốc độ xử lí của các hành vi Nhóm thực hiện nghiên cứu các

công bồ về van đề tương tự, đưa ra cái nhìn tong thé, sau đó áp dụng vào mô hình

hiện tại Bên cạnh đó, vẫn đảm bảo được tính thực tiễn, có thể áp dụng và dùng nhưmột ứng dụng thực tế

Trang 28

Chương 2 CƠ SỞ LÝ THUYET

2.1.NGINX

2.1.1 Giới thiệu về NGINX

NGINX là một web server va reverse proxy server miễn phí, mã nguôn mở Nó

được tạo ra dé giải quyết các van đề liên quan đến việc quản lý các kết nối đồng

thời và hiệu suât truyên tải trên các ứng dụng web tải nặng.

2.1.2 Nguyên lý hoạt động của NGINX

NGINX hoạt động theo mô hình xử lý bat đồng bộ (asynchronous) và sử dụng cơ

chê event-driven đê quản lý các kêt nôi đồng thời Khi có một yêu câu truy cập đên

Server, nginx sẽ tạo ra một tiên trình xử lý (worker process) đê xử lý yêu câu đó

2.1.3 Các tính năng chính của NGINX

Nginx có nhiều tính năng chính, bao gồm:

Web server: Nginx có khả năng xử lý các yêu cầu HTTP và HTTPS truy cậpđến server, hỗ tro nhiéu tinh năng như server-side includes, reverse proxy,caching, SSL/TLS, và nén dữ liệu dé tăng tốc độ truy cập

Reverse proxy server: Nginx có thể được sử dụng làm reverse proxy server,giúp chuyền tiếp yêu cầu từ client đến server hoặc giữa các server khác nhau

để tăng tốc độ truy cập và cải thiện tính sẵn sàng của hệ thống

Load balancing: Nginx cung cấp tính năng cân bằng tải giữa các server, giúpphân phối tải truy cập đến các server khác nhau một cách công bằng và giảm

thiểu tình trạng quá tải trên các server.

High availability: Với tính năng load balancing và chuyển tiếp yêu cầu,

Nginx có khả năng tăng tính sẵn sàng của hệ thống băng cách đảm bảo rằng

yêu cầu sẽ được xử lý bởi server khác nếu server chính gặp sự cố

Performance: Nginx được thiết kế dé xử lý hàng ngàn kết nối đồng thời mộtcách hiệu quả, giảm thiéu tình trang blocking và cải thiện hiệu suất truy cập

Extensibility: Nginx có khả năng mở rộng thông qua các module dé hỗ trợ

các tinh năng phức tap và đáp ứng nhu cau của người dùng

Trang 29

- Security: Nginx cung cấp tính năng bảo mật như hạn chế truy cập, chống tan

công DDoS, bảo vệ khỏi các cuộc tan công SQL injection va XSS

What is NGINX?

a ( =(( Proxy

Caching, Load Balancing

Web Server O Application Server

Serve content from disk & FastGGI, uWSGI, Passenger

HTTP traffic

Hình 1: Các chức năng chính cua NGINX

Tóm lại, Nginx là một web server và reverse proxy server đa năng và mạnh mẽ, có

thê cung cap nhiêu tính năng dé giải quyét các vân đê liên quan đên hiệu suât, tính

săn sàng, bảo mật và mở rộng của hệ thông web.

2.1.4 Phương pháp tạo và biên dịch mô-đun trong NGINX

Tùy vào mục đích của mô-đun mà mỗi mô-đun sẽ có những tệp mã nguồn và độ

phức tạp khác nhau Tuy nhiên thì để viết một mô-đun và tích hợp vào NGINX thì

cân có tôi thiêu 2 tập tin cơ bản:

- File code C: chứa code chính được sử dụng dé biên dịch mô-đun

- File config: Moi module cần một tệp cấu hình là một Bourne shell file hướng

dẫn hệ thống về cách xây dựng một module NGINX Tùy vào việc compile

module dynamic hay static mà tập tin config sẽ khác nhau.

Các bước biên dịch một mô-đun động trong NGINX:

Trang 30

- _ Biên dịch mô-đun băng cách chạy tập tin configure trước tiên với đối số

with-compat, tạo môi trường xây dựng tiêu chuẩn được hỗ trợ bởi Nginx

Open Source và Nginx Plus:

./configure with-compat add-dynamic-module=

./nginx-hello-world-module

- _ Tiếp theo chạy câu lệnh bên dưới dé xây dựng mô-đun:

make module

2.2 Reverse Proxy

2.2.1 Khái niệm Reverse proxy

Reverse proxy là một server trung gian nằm giữa client và server, chuyên tiếp các

yêu cầu từ client đến server và trả về kết quả từ server cho client Trong kiến trúc

này, client không kết nối trực tiếp với server, mà thay vào đó kết nối với reverse

proxy và yêu cầu của client sẽ được chuyền tiếp đến server bên trong mạng nội bộ.Reverse proxy thường được sử dụng trong các kiến trúc phân tán, mạng lưới và các

hệ thống web quy mô lớn Nginx là một ví dụ phổ biến về reverse proxy server

2.2.2 Mô hình Reverse proxy

Bên dưới là một mô hình trong thực tế sử dung reverse proxy Reverse proxy sẽ

đứng trước máy chủ web, nhận mọi lưu lượng từ Internet đi vào, sau đó thực hiện

chuyền những lưu lượng này đến máy chủ web

Trang 31

Hình 2: Mô hình hoạt động của Reverse proxy

2.3 Web Application Firewall

Web Application Firewall (WAF) là một loại phan mềm bao mật dat tai céng vao

(front-end) của một ứng dụng web, giúp bảo vệ ứng dụng khỏi các cuộc tan công

mạng như tan công SQL Injection, Cross-site Scripting (XSS), Cross-site Request

Forgery (CSRF), và các cuộc tan công khác

WAF hoạt động như một bộ lọc tùy chỉnh cho các yêu cầu và phản hồi HTTP/S,

chặn các yêu cau độc hại, và giám sát các hoạt động của ứng dụng web dé phát hiện

các hành vi bất thường WAF có thể được cấu hình dé thực hiện các chức năng như

chặn truy cập từ các địa chỉ IP đáng ngờ, theo dõi các kết nối của người dùng, phântích độ tin cậy của dữ liệu nhập vào và đưa ra các cảnh báo về các hành vi tấn công

mạng.

WAF là một phan quan trong trong bảo mật ứng dụng web, giúp giảm thiểu rủi ro

tan công và giữ an toàn cho dif liệu và thông tin của người dùng Tuy nhiên, việc

triển khai WAF cũng cần cân nhắc đến các yếu tố khác như hiệu suất, tương thích

và chi phí.

Trang 32

2.4.1 Giới thiệu về Modsecurity

ModSecurity (còn được gọi là ModSec) là một Web Application Firewall, nó được

triển khai dé bảo vệ trang web và ứng dụng ngăn cản nhiều cuộc tan công phô biến

Nó thiết lập và ngăn chặn các yêu cầu tấn công trước khi chúng đến được ứng dụng

OWASP ModSecurity Core Rule Set.

2.4.2 ModSecurity Core Rule Set (CRS):

CRS là một bộ các quy tắc phát hiện tấn công chung có thể sử dung cho

Modsecurity hoặc tưởng lửa tương thích CRS có mục đích nhằm bảo vệ ứng

dụng web khỏi một loạt các cuộc tấn công, bao gồm cả Top 10 OWASP CRS

Trang 33

cung cấp khả năng chống lại nhiều cuộc tân công hiện nay phổ biến, bao gồm

SQL Injection, Cross-site Scripting, Local File Inclusion,

2.5 Học máy (Machine Learning)

Học may (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo (Artificial

Intelligence - AI) nghiên cứu về cách xây dựng các thuật toán và mô hình để

máy tính có thể học hỏi và cải thiện kết quả dự đoán của chúng một cách tự

động.

Học máy cho phép máy tính tự động học hỏi từ dữ liệu đầu vào và chuyển đổi

dữ liệu đó thành các mô hình dự đoán Để làm được điều này, máy tính sử dụng

các kỹ thuật và thuật toán phân tích dữ liệu như regression, clustering, decision

trees, neural networks, support vector machines, và deep learning.

Ứng dụng của học máy là rất đa dạng và được sử dụng trong nhiều lĩnh vực

như xử lý ngôn ngữ tự nhiên, nhận dạng hình ảnh, phân loại văn bản, thị giác

máy tính, điều khiển tự động, dự đoán tín dụng, thị trường tài chính và nhiều

lĩnh vực khác.

Học máy đang được sử dụng rộng rãi trong các ứng dụng thực tế và được xem

là một công cụ quan trọng trong việc giải quyết các bài toán phức tạp.

10

Trang 34

Since an early flush of optimism in the 1950s, smaller subsets of artificial intelligence - first machine learning, then

deep learning, a subset of machine learning - have created ever larger disruptions.

Hình 4: Mối quan hệ giữa AI, Machine Learning va Deep Learning.

2.5.1 Hoc sau (Deep Learning)

Học sau (Deep learning) là một phan cua lĩnh vực hoc máy, sử dụng các mang

no-ron nhân tao (artificial neural networks) dé học và hiểu dữ liệu Khác với các mô

hình học máy truyền thống, học sâu có khả năng học và giải quyết các bài toán phức

tạp, đặc biệt là trong các lĩnh vực như thị giác máy tính (computer vision) và xử lý

ngôn ngữ tự nhiên (natural language processing).

Học sâu được gọi là "sau" bởi vì các mô hình neural networks được sử dụng có rấtnhiều lớp (layers) khác nhau, từ đó giúp nó có khả năng học được các mẫu phức tạp

hơn Các mô hình học sâu có thé được huấn luyện đề phát hiện và phân tích các đặc

trưng ấn trong dữ liệu, sau đó áp dụng các phương pháp học tăng cường dé cải thiện

kết quả dự đoán

Deep learning được nhắc đến nhiều trong những năm gần đây, nhưng những nền

tang cơ bản đã xuất hiện từ rat lâu

11

Trang 35

Cụ thé như hình dưới đây:

Deep Neural Network

+ Adjustable Weights + Learnable Weights and Threshold + XOR Problem + Solution to nonlinearly separable problems = Limitations of learning prlor knowledge + Hierarchical feature Leeming

+ Weights are not Learned + Big computation, local optima and overfiting + Kermel function: Human Intervention

Hinh 5: Lich su deep learning

2.5.2 Neural Network (mang no-ron)

Mang neural (neural network) là một mô hình toán học được lay cảm hứng từ cầu

trúc và hoạt động của hệ thông thần kinh của con người Mạng neural là một hệ

thống tính toán đồng thời trên một tập hợp các "nơ-ron" nhân tạo (artificial neurons)

để giải quyết các bài toán phức tạp trong lĩnh vực học máy và trí tuệ nhân tạo

Mỗi nơ-ron trong mạng neural nhận đầu vào từ các nơ-ron khác, thực hiện một phéptính toán đơn giản, sau đó chuyên kết quả cho các nơ-ron khác Kết quả cuối cùng

được tính toán từ các nơ-ron cuối cùng của mạng Mạng neural có thê được huấn

luyện để tự động học các mối quan hệ và đặc trưng an trong dữ liệu đầu vào, và từ

đó áp dụng dé giải quyết các bài toán phức tạp như nhận dạng hình ảnh, xử lý ngôn

ngữ tự nhiên, và dự báo.

2.5.2.1 Tam quan trong của mạng no-ron

Tầm quan trọng của neural network nam ở khả năng của chúng trong việc giải quyết

các bài toán phức tạp và khó khăn trong các lĩnh vực khác nhau như nhận dạng hình

ảnh, xử lý ngôn ngữ tự nhiên, dự báo tài chính, và nhiều ứng dụng khác Mạng

nơ-12

Trang 36

ron có thê hiêu rõ dữ liệu phi câu trúc và đưa ra các nhận xét chung mà không cân

đào tạo cụ thể Tam quan trọng của neural network có thể được tóm tắt như sau:

Xử lý dữ liệu phức tap: Neural network có thé học và xử lý các dữ liệu phức

tạp mà các phương pháp truyền thống khác không thé làm được

Khả năng học tập: Neural network có khả năng học tập và cải thiện hiệu suất

theo thời gian.

Giải quyết các bài toán khó khăn: Neural network có thé giải quyết các bàitoán phức tạp trong nhiều lĩnh vực như nhận dạng hình ảnh, xử lý ngôn ngữ

tự nhiên, dự báo tài chính, và nhiều ứng dụng khác

Độ chính xác cao: Neural network có khả năng đạt được độ chính xác cao

trong các bài toán dự đoán và phân loại.

Đa đạng về kiến trúc: Neural network có nhiều kiến trúc khác nhau cho phéptùy chỉnh dé phù hợp với các bài toán cụ thé

Tóm lại, tâm quan trọng của neural network năm ở khả năng của chúng trong việc

giải quyết các bài toán phức tạp và khó khăn, đạt được độ chính xác cao và có thé

được tùy chỉnh cho các bai toán cụ thé

2.5.2.2 Công dung của mang no-ron

Mang neural (Neural network) là một công nghệ quan trọng trong lĩnh vực machine

learning và đã được sử dụng rộng rãi trong nhiều ứng dụng khác nhau Sau đây là

một sô công dụng của neural network:

Nhận dạng hình ảnh: Neural network có thể được sử dụng để nhận dạng hìnhảnh, từ việc phát hiện khuôn mặt đến phân tích ảnh y tế để chân đoán bệnh

Xử lý ngôn ngữ tự nhiên: Neural network có thé được sử dụng dé xử lý ngônngữ tự nhiên, từ việc phân loại tin nhắn thư rác đến tạo ra các trả lời tự động

trong ứng dụng chatbot.

Dự báo va dự đoán: Neural network có thé được sử dụng dé dự báo và dự

đoán trong nhiều lĩnh vực khác nhau, từ dự đoán giá chứng khoán đến dự

báo thời tiết

13

Trang 37

- Tu động hóa: Neural network có thé được sử dụng dé tự động hóa nhiều tác

vụ, từ việc tìm kiếm thông tin trên mạng đến phân tích dữ liệu cho việc đưa

ra quyết định

- Robotics: Neural network có thé được sử dung dé diéu khién robot va lam

cho chúng có thé học và thích nghi với môi trường xung quanh

- _ Tối ưu hóa: Neural network có thể được sử dụng dé tối ưu hóa các quá trình

sản xuất và hoạt động, từ việc quản lý kho hàng đến tối ưu hóa hệ thống cung

ứng.

Trên đây chỉ là một vài ví dụ về các ứng dụng của neural network Với khả năng

học tập và xử lý dữ liệu phức tạp, neural network đang trở thành công nghệ quan

trọng trong nhiều lĩnh vực và được sử dụng rộng rãi trong các ứng dụng khác nhau.

2.5.2.3 Cách thức hoạt động của mạng nơ-ron

Mang neural (Neural network) hoạt động dựa trên các phép tính số học được thực

hiện trên một số lượng lớn các đơn vi tính toán, được gọi là neuron Mang neural

bao gôm nhiêu lớp neuron liên kêt với nhau đề thực hiện các tác vụ khác nhau.

Mỗi neuron nhận đầu vào từ các neuron trong lớp trước đó, thực hiện các phép tính

và truyền đầu ra đến các neuron trong lớp tiếp theo Các phép tính này thường bao

gồm tong trọng số các đầu vào và áp dụng một hàm kích hoạt dé tính toán đầu ra

của neuron.

Khi một tác vụ được đưa vào mạng neural, dữ liệu đầu vào sẽ được đưa vào lớp đầu

tiên của mang neural và truyền qua các lớp neuron dé đưa ra kết quả cuối cùng

Mang neural sẽ sử dung các kết quả trước đó dé tinh chỉnh các trọng số giữa các

neuron trong quá trình huấn luyện, từ đó cải thiện khả năng dự đoán và đưa ra kết

quả chính xác hơn.

Quá trình này được gọi là "backpropagation" và là một phương pháp quan trọng để

huân luyện mang neural Trong quá trình huan luyện, các dau vào và dau ra mong

14

Trang 38

muôn đã biệt trước được cung cap cho mang neural đê tinh chỉnh các trọng sô va

câu trúc mạng neural đê cải thiện khả năng dự đoán.

Tóm lại, mang neural hoạt động băng cách két nôi các lớp neuron đê thực hiện các

phép tính sô học trên các dau vào va đưa ra kêt quả dự đoán Quá trình huân luyện

mang neural bao gôm cập nhật các trọng sô giữa các neuron dé tôi ưu hóa kêt quả

2.5.2.4 Những loại mang no-ron

Có nhiều loại mạng neural khác nhau, mỗi loại được thiết kế dé giải quyết một loại

vân đê khác nhau Dưới đây là một sô loại mạng neural phô biên:

- Mang neural truyén thang (Feedforward Neural Network): Đây là loại

mang neural cơ bản nhất, trong đó dữ liệu chi truyền một chiều từ đầu vàođến đầu ra mà không có phản hồi Mạng neural truyền thăng thường được sử

dụng trong các bài toán phân loại và dự đoán.

- Mang neural tích chập (Convolutional Neural Network - CNN): Được sử

dụng rộng rãi trong xử lý ảnh và video, mạng neural tích chập là một loại

15

Trang 39

mạng neural được thiết kế để nhận diện các đặc trưng cục bộ của dữ liệu đầuvào, như các đường biên và các đối tượng trên hình ảnh.

Mạng neural tái tạo (Autoencoder Neural Network): Được sử dụng đểgiảm chiều dữ liệu, mạng neural tái tạo là một loại mạng neural có khả nănghọc cách biểu diễn dữ liệu đầu vào dưới dạng một sỐ lượng nhỏ các đặctrưng, giảm thiểu thông tin không cần thiết và tăng tốc xử lý

Mạng neural phản hồi (Recurrent Neural Network - RNN): Loại mạngneural này có khả năng lưu giữ thông tin liên quan đến quá khứ và sử dụng

nó đề đưa ra dự đoán về tương lai Mạng neural phản hồi được sử dụng trongcác bài toán liên quan đến chuỗi thời gian, như dịch máy hoặc phân tích tín

hiệu.

Mang neural tự học (Self-Organizing Maps - SOM): Được sử dụng dé tao

ra các ban đồ đa chiều của dữ liệu, mang neural tự học có kha năng phân loại

dữ liệu theo các nhóm tương tự nhau và thể hiện chúng trên một bản đồ hai

chiều, giúp người dùng đễ dàng quan sát và hiểu dữ liệu

Ngoài ra còn nhiều loại mạng neural khác như Long Short-Term Memory (LSTM),

Gated Recurrent Unit (GRU), Deep Belief Network (DBN), Generative Adversarial

Network (GAN), và nhiều loại mang neural khác được thiết kế dé giải quyết các bài

toán khác nhau.

2.5.2.5 Đào tạo mạng nơ-ron

Dé dao tạo một mang neural, chúng ta cân thực hiện các bước sau đây:

Chuan bi dữ liệu: Dữ liệu đầu vào là yếu tố quan trọng trong quá trình đào

tạo mạng neural Cần xác định và chuẩn bị dữ liệu đầu vào, cũng như chuẩn

bị dữ liệu đầu ra tương ứng cho mỗi dữ liệu đầu vào

Chọn kiến trúc mạng neural: Chọn loại mạng neural phù hợp với bài toán cầngiải quyết, xác định số lượng các lớp, số lượng neuron trong mỗi lớp, cũngnhư hàm kích hoạt và thuật toán tối ưu phù hợp

16

Trang 40

Khởi tao mạng neural: Khởi tạo các trọng số ngẫu nhiên va bias dé bắt đầu

quá trình đào tạo mạng neural.

Huấn luyện mang neural: Sử dụng dữ liệu huấn luyện dé điều chỉnh trọng số

và bias của các lớp trong mạng neural Quá trình huấn luyện này bao gồmcác bước tiền xử lý dữ liệu, chia dữ liệu thành tập huấn luyện và tập kiểm tra,

và sử dụng các thuật toán tối ưu như Stochastic Gradient Descent đề tối thiểu

suât của mạng neural trên dữ liệu mới.

Quá trình đào tạo mạng neural là một quá trình lặp đi lặp lại, đòi hỏi sự tập trung và

thử và sai đê tìm ra các siêu tham sô tôi ưu nhât cho bài toán cân giải quyết.

2.6 Natural Language Processing (NLP)

2.6.1 Giới thiệu về NLP

Natural Language Processing (NLP) là một lĩnh vực của trí tuệ nhân tạo (AI) và

khoa học máy tính (Computer Science) tập trung vào việc giúp máy tính hiểu và tao

ra ngôn ngữ tự nhiên (natural language) như con người Nó liên quan đến khả năng

xử lý và hiêu ngôn ngữ phô biên của con người, bao gôm cả tiêng nói va văn bản.

2.6.2 Ứng dụng của NLP

NLP được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm:

- _ Xử lý ngôn ngữ tự nhiên: NLP giúp máy tính hiểu và tạo ra các câu và văn

bản tự nhiên, cho phép máy tính tương tác với con người bằng ngôn ngữ tự

nhiên.

17

Ngày đăng: 23/10/2024, 01:00

w