Do đó, các nhà nghiên cứu đã áp dụng phương pháp học máy vào việc phát hiện tan công trang mạng để cải thiện hiệu quả.. Cách tiếp cận này sử dụng một tập dữ liệu được công, bố trên mạng
Trang 1TRUONG ĐẠI HỌC CONG NGHỆ THONG TIN
KHOA MANG MAY TINH VA TRUYEN THONG
PHAM DUC TRONG
TRAN CHi THIEN
KHOA LUAN TOT NGHIEP
MO HÌNH PHÁT HIEN TAN CÔNG WEB DỰA VÀO KY
THUAT BAY MANG VA QUY TRINH MLOPS
WEB ATTACK DETECTION BASED ON CYBER TRAPS AND
MLOPS PIPELINE
KY SU NGANH AN TOAN THONG TIN
Trang 2ĐẠ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 VÀ TRUYEN THONG
PHAM ĐỨC TRONG - 18521541 TRAN CHÍ THIEN - 18520365
KHOA LUAN TOT NGHIEP
MO HINH PHAT HIEN TAN CONG WEB DUA VAO KY
THUAT BAY MANG VA QUY TRINH MLOPS
WEB ATTACK DETECTION BASED ON CYBER TRAPS AND
MLOPS PIPELINE
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
THS PHAN THE DUY
TP HO CHÍ MINH, 2022
Trang 3Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
¬ eee eee eee eee een eeee Ngay của Hiệu trưởng Trường Đại hoc Công
nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Dé hoàn thành khóa luận tốt nghiệp này, chúng tôi xin gửi lời cảm ơn đến Ban giám hiệu Trường Đại học Công nghệ Thông tin — Đại học Quốc Gia Thành Phố Hồ Chí Minh vì đã tạo điều kiện học tập, nghiên cứu tốt nhất Cảm ơn quý thầy cô giảng dạy tại trường nói chung và Khoa Mạng máy tính & Truyền thông nói riêng vì đã truyền đạt những kiến thức chuyên môn bé ích, những kinh nghiệm thực tế quý báu
mà chúng tôi đã học hỏi được trong suốt quá trình học tập, rèn luyện tại trường.
Chúng tôi xin gửi lời tri ân và biết ơn đến ThS Phan Thế Duy đã trực tiếp quan tâm, hướng dẫn tận tình trong suốt quá trình thực hiện đề tài Xin đặc biệt gửi lời cảm
ơn trân trọng nhất đến ThS Nghỉ Hoàng Khoa và ThS Đỗ Hoàng Hiển, là người đã định hướng, dẫn dắt và đồng hành rất sớm cùng chúng tôi không chỉ trong khoá luận
này mà cả trong toàn bộ những thành tựu chúng tôi đã đạt được.
Bên cạnh đó, với tình cảm sâu sắc và chân thành, chúng tôi 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 với hệ thống máy chủ hiện đại, luôn sẵn sàng nhiệt tình hỗ trợ chúng tôi về chuyên môn lẫn kinh nghiệm trong các hoạt động
nghiên cứu và thực hiện khoá luận.
Cuối cùng, do kiến thức chuyên môn còn hạn chế nên khóa luận chắc chắn không tránh khỏi những thiếu sót Rất mong nhận được nhận xét, ý kiến đóng góp,
phê bình từ quý thay cô trong hội đồng dé khóa luận được hoàn thiện hơn.
Nhóm thực hiện.
Trang 5[TÓM TẮT KHOÁ LUẬN
1 Tổng Quan Đề Tài
1.1 Lý do chọn đề tài| ẶccẶcẶẶ
1.2 Mục tiêu nghiên
cứu| -. -1.3 Phạm vinghiên
cứu| -[L4 Đối tượng nghiên
cứu| -1.5 Phương pháp thực
hiện| -1.6 Cau trúc khóa
luận| 2_ TONG QUAN TINH HÌNH NGHIÊN cứu| 2.1 Tình hình nghiên cứu và các công trình liên quan| 2.2 Mộtsố c so với ng) citukhac}
2.3 Ý nghĩa khoa học và thực tiễn của dé tai] 2
2.3.1
Ýnghiakhoahoc|l -2.3.2 Ý nghĩa thực tiến|
3 CƠ SỞ LÝ THUYẾT 3.1 Học máy va cách xây dựng mồ hình học máy|
3.1.1 Hoc máy (Machine Learning) là gì?|
3.1.1.1 Phan loại thuật toán ML|
3.1.1.2 Ứng dụng của ML trong cuộc sống con người|
Cách xây dựng một mô hình học máy|]
3.121 Thuthậpdưữliệu
3.1.2.2 _ Chọnmôhình|
Trang 63.1.2.5 Điều chỉnh thôngsố|
3.1.2.6
Dưựđoán| -B2 Hoc tiém tién (Incremental /online learning)| ¬ eee
Ê-3 Machine learning
operationsl -3.3.1 MLOpsla gì?| 3.3.2 Vai trò của MLOps
3.3.3 Lợi ích của MLOps|
5.3.4 Triển khai MLOps|
3.3.5 Các công cụ dùng trong 3.4 Bây mang (Honeypot)
MLOPpa| -B41 Khai niém
Honeypot| 3.4.2 Phân loại Honeypot
3.5 Các loại tân công phổ biến|
29.1 QL injection}
3.5.1.1 Khái nệm3.5.1.2 Đặc điểm nha
3.5.6.2 _ Đặc điểm nhận biết|
{3.6 Cac khái niệm liên quan đến triển khai bay mạng|
vi
Trang 73.6.4 UFWlàgì?] ốcc 26
E.65 Ngôn ngữ lập trình Javal - 26
l4 PHƯƠNG PHAP THUC HIEN| 28 [1 Thiết kế mô hình tổng quan| 28
4.3.2 Tiền xử lý dữliệu| - 36
4.3.3 Tao va huấn luyện mô hình học máy| 39
lñ34 Tihunhyệnmôhìh 40
[4.3.5 Kiểm tra mô hình hoc máy| 43
à \ / 4
3.7 Thực hiện tạo ảnh docker| - 45
[44 Xây dựng hệ thống bay mạng| 46
[4.4.1 Tổng quan bấy mạng| 46
4.4.2 Quá trình thu thập log| - 47
R43 Bộ kích hoạt (Trigger) - 48
4.4.4 Quản lý danh sách được phép truy cập| 48
4.4.5 Quản lý máy chủ trang mạng Nginx| 49
46 Xử lý nhật ký truy cập| - 49
[45 Trang triển khai mô hình (Serving website)| 51
5 HIỆN THỰC VÀ THỰC NGHIEM| 53 5.1 Hiện thực quá trình| - 53
5.11 Tạo mô hìnhhọcmáy| - 53
5.1.2 Tao tệp dư liệu datasetl 54
5.1.3 Tạo đường dan Kubeflow| - 56
E.14_ Xây dựng bay mang (honeypot)| Ha ee 59 6.1.5 Xử lý nhật ký truy cập| - 60
5.1.5.1 Quản lý danh sách được phép truy cập| 60
Trang 85.2.1.1 Tạo tập dữ liệu| 5.2.1.2 Tap dữ liệu thu được|
5.2.2 Tập dữ liệu công bố trên mạng
5.2.3 Phuong pháp đánh giá|
5.2.4 Mô hình được huấn luyện trong lần dau tiên|
5.1.5.2 Quản ly máy chủ trang mạng Nginx|
Trang 93.1 Học có giám sát và học không có giám sát| 11
¬— 13
3.3 Mô hình học tiệm tiến| - 16
16 7 B.6 ML Pipelines kết nối dữ liệu va code để sản xuất mô hình và đưa ra dự đoán| - Ặ Ặ LH HQ HH 18 4.1 Mô hình tổng quan của hệ thống| 28
[4.2 Mô hình đơn giản tổng quan của hệ thông| 29
4.3 phát hiện tấn công| ee 30 "` ¬Hq 30
5 Quy trình làm việc của Học máy thủ công| - 31
4.6 Quy trình học máy tự động| - 32
quan quy trình của đường 6 35 [4.8 Quy trình tiền xử lý dữ liệu|} 36
[¿9_ Triển khai mô hình học máy| 38
4.10 Quy trình tạo và huấn luyện mô hình hoc máy| - 39
[4.11 Quy trình tái huân luyện mô hình hoc máy| - 41
[412 Quy trình kiểm tra mô hình học máy| - 43
¬ eee 44 [4.14 Mã nguồn xây dựng tệp dockerfile] See eee 45 (E15 Ouy trình xây đựng containei 46
16 Danh sách Docker container chúng tôi đã xây dựng] ¬ ee 46 [4.17 Tổng quan hệ thống bay mang] 47
[£18 Quá trình thu thập log] - - 47 4.19 Quá trình thu thập log| ccẶSS eee 48
Trang 104.20 Luông ghi và định dạng nhật ký| 49
4.21 Luông xử lý nhật ký truy cập| - 51
4.22 Trang triển khai mô hình| - 51
B.1 Chỉ tiết mô hình thực hiện| 53
5.2 Kiến trúc xây dựng honeypot| - 59
[5.3 Ludng xử lý nhật ký truy cập| - 62
[5.4 Luông dữ liệu qua các hoạt động| - 69
¬_ t eee 70 b.6 Kết quả phát hiện tắn công| 72
Trang 11¿1 Tiền trình thực hiện tiền xử lý dữ liệu| 37
a 37
40
¿4 Tiền trình thực hiện tái huấn luyện mô hình| 42
5 Tiến trình thực hiện kiểm tra mô hin! 44
[4.6 Tiến trình thực hiện triển khai mô hình| 45
Ba Thông số của tập dữ liệu huấn luyện| 66
Thông số của tập dữ liệu tái huan luyện| 67
5.3 Thông số của tập dữ liệu Ewaf| 67
4 Số liệu kết qua của các thuật toán học máy khi được huấn luyén| 69
tập Ä và C]
Trang 12Mean Square Error
Support Vector Machine
xii
Trang 13Ảnh docker Docker images
Bay mang Web trap / Honeypot Hoc may Machine learning
Hoc tiém tién Incremental learning Kho lữu trữ dir liệu Data storage
Lỗ hổng chưa được công khai 0-day
Lỗ hổng đã được công khai 1-day
Máy chủ Server
Mã khai thác Payload Trang mạng Website
Tập dữ liệu Dataset
Trang 14TÓM TẮT KHOÁ LUẬN
Khi mà số lượng các trang mạng được phát triển rộng rãi do nhu cầu của ngườidùng, song các trang mang này cũng được đưa vào tam ngắm của các kẻ tan
công Trong lịch sử phát triển website, có rất nhiều cách khác nhau được đề xuất
để phát hiện lưu lượng độc hại được gửi đến các hệ thống website Trước đây cácgiải pháp phát hiện tấn công này chủ yếu dựa trên đặc điểm nhận dạng đã xác
định Giải pháp này đòi hỏi phải thường xuyên thu thập dữ liệu tan công, đồng
thời rất có khả năng bị vượt mặt Nâng cao hơn, có những giải pháp ứng dụngmáy học vào việc đào tạo mô hình phân loại nhận biết dữ liệu tan công nhưngcần nhiều bước thiết lập, không dé quản lý Trong phạm vi khóa luận, chúng tôithiết kế và giới thiệu quy trình tự động hóa máy học và bẫy mạng với mục tiêuthu hút các cuộc tan công và bắt được các dữ liệu tan công mới trên thé giới
Trang 15Tổng Quan Đề Tài
11 Lý do chọn để tài
Sự bùng nổ của Internet đang đặt ra rất nhiều thách thức trong lĩnh vực an toànthông tin Đặc biệt là sự phát triển của các trang mạng trong nhưng năm gần đây.Khi mà số lượng trang mạng được phát triển rộng rãi do nhu cầu người dùng,song các trang mạng này cũng được đưa vào tam ngắm của các kẻ tấn công Điềunày dẫn đến thách thức đội ngũ bảo mật phải phản ứng nhanh để có các mã khaithác mới và phải phân tích mã khai thác tim cách ngăn chặn tan công
Để đối phó trước những nguy cơ do tan công trang mạng gây ra và các cuộc tấncông trang mạng, trước đây các giải pháp phát hiện tấn công này chủ yếu dựa
trên đặc điểm nhận dạng đã xác định Chúng hoạt động dựa vào các mẫu có trước, sau đó so sánh với yêu cầu mà người dùng gửi đến máy chủ Cách tiếp cận
này thật sự tốt đối với những loại tấn công đã biết trước, cần sự can thiệp củacon người trong việc thu thập và phân tích mẫu dữ liệu tấn công để đưa ra đặc
điểm nhận dạng Vì thé việc phát hiện tan công website dựa vào đặc điểm nhận
dang không còn phù hợp cho mục đích phát hiện các cuộc tấn công với mã khaithác mới Do đó, các nhà nghiên cứu đã áp dụng phương pháp học máy vào việc
phát hiện tan công trang mạng để cải thiện hiệu quả Cách tiếp cận này sử dụng
một tập dữ liệu được công, bố trên mạng hoặc tự tạo một tập dữ liệu mới để huấnluyện mô hình máy học Nhưng phương pháp này này thường xuyên gặp khó khiviệc cập nhật dữ liệu về hình thức tấn công mới cho tập dữ liệu trước đó khôngđược nhanh chóng Đồng thời, một quy trình máy học có nhiều kịch bản để thực
Trang 16Chương 1 Tổng Quan Dé Tài
Dựa vào tính chất của một bay mạng là một hệ thống dé bi tan công để dẫn dụ kẻ
xấu thực hiện khai thác lỗ hồng Điều này dễ dang cho việc thu thập đữ liệu va
cập nhập cho tập dữ liệu một cách kịp thời khắc phục được điểm yếu nêu trên.Cuối cùng là tận dụng khả năng của học máy cũng như cải thiện việc tự độnghóa, thiếu trực quan của học máy truyền thống, chúng tôi đã lựa chọn đề tài “Môhình phát hiện tấn công web dựa vào kỹ thuật bay mạng và quy trình MLOps”làm đề tài nghiên cứu cho khóa luận
1.2 Mục tiêu nghiên cứu
Nghiên cứu, thiết kế, xây dựng hệ thống phát hiện tan công trang mạng thôngqua việc thu thập lưu lượng từ bẫy mạng để tạo ra tập dữ liệu riêng Sau đó ápdụng mô hình học máy để phân loại Tất cả quy trình trên được thực hiện một
cách tự động để nhanh chóng có được các mã khai thác mới.
1.3 Phạm vi nghiên cứu
- Xây dựng bay mạng đa dạng và thu thập được nhiễu tập dữ liệu tấn công
— Làm sạch dữ liệu, tránh gây nhiễu ảnh hưởng đến kết quả học máy
— Lua chọn thuật toán phù hợp để đưa vào huấn luyện mô hình máy học
— Tập trung nghiên cứu khả năng học tiệm tiến của mô hình máy học
— Tự động hóa quy trình thu thập dữ liệu đến triển khai đưa vào sử dung
1.4 Đối tượng nghiên cứu
Trang 171.5 Phương pháp thực hiện
— Tìm hiểu các kiến thức nền tảng, nghiên cứu các công trình đã được thựchiện trong và ngoài nước.
- Xây dựng hệ thống bay mang
— Sử dụng các thuật toán cho việc huấn huyện mô mình học máy
— Ghép nồi các thành phần và tự động hóa các quy trình
1.6 Cấu trúc khóa luận
Qua những gì đã giới thiệu về tổng quan của dé tài thực hiện trong khóa luận tốt
nghiệp, chúng tôi xin đưa ra nội dung của khóa luận tốt nghiệp sẽ được tổ chức như sau:
* Chương 1: TONG QUAN ĐỀ TÀI.
* Chương 2: TONG QUAN TINH HÌNH NGHIÊN CUU.
hương 3: CO SỞ LÝ THUYET.
hương 4: PHƯƠNG PHÁP THỰC HIỆN
(a
Cc
© Chương 5: HIỆN THỰC VA THUC NGHIEM
C hương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.
Trang 18Chương 2
TỔNG QUAN TÌNH HÌNH
NGHIÊN CỨU
2.1 Tình hình nghiên cứu và các công trình liên quan
Một số nghiên cứu liên quan đến giải pháp xây dựng hệ thống phát hiện tan côngtrang mạng sử dụng machine learning có thể kể đến như nghiên cứu của nhómtác giả Frederico A E Silveira [1], hoặc nghiên cứu của nhóm tác giả Jingxi Liang
BL hay giải pháp nghiên cứu cua nhóm Zhang Yunyi [7] thông qua hành vi củangười dùng.
Cụ thể, trong nghiên cứu 1], nghiên cứu của nhóm tác giải Frederico A F Silveira
sử dung machine learning để phát hiện tan công DoS Phương pháp tiếp cận của
bài báo này là đưa ra các suy luận dựa trên các đặc điển nhận dạng based) được trích xuất trước đó từ các mẫu lưu lượng mạng Kết quả của cách
(signature-tiếp cận này cho được kết quả phát hiện (DR) hơn là 96%, với độ chính xác cao(PREC) và tỷ lệ sai thấp (FAR) khi sử dụng tỷ lệ lấy mẫu (SR) là 20% lưu lượng
mạng.
Nghiên cứu [3] áp dung deep learing trong việc phát hiện tắn công trang mạng.Cách tiếp cận của nhóm tác giả Jingxi Liang là tạo 2 Recurrent Neural Networks
(RNNs) với đơn vị lặp lại phức tạp (LSTM hoặc RGU) để tìm hiểu các lưu lượng
bình thường, chỉ sử dụng các lưu lượng bình thường mà không cần giám sát, vàsau đó dùng mô hình train neutal network classifier lấy đầu ra của RNNs làmđầu vào để phân biệc các request bình thường và bat bình thường
Ở nghiên cứu [7] nhóm tác giả dé xuất một phương pháp phát hiện tấn côngtrang mạng dựa trên hành vi của người dùng bằng cách xây dựng một mô hình
Trang 19sequential behaviour để thu thập hành vi người dùng một cách độc lập, cách tiếp
cận này sẽ loại bỏ được ý định độc hại tiềm ẩn của kẻ tan công khỏi các hành vibình thường bằng cách sử dụng Long Short-Term Memory (LSTM) Sau đó dựatrên cơ sở ý định của người dùng, cách tiếp cận này sử dụng các kỹ thuật họctổng hợp để tích hợp các tính năng vốn có của hành vi bất thường, dẫn đến tínhthực tiễn và hiệu quả của nó Kết quả nhóm nghiên cứu trên đã cho thấy đượchiệu quả của phương pháp đã dé xuất trên bộ datasets CSIC 2010 với độ chínhxác là 99,87%.
Bên cạnh đó, nhiều nghiên cứu cũng đã cho thấy tính khả thi của việc áp dụng
bẫy mạng tích hợp vào hệ thống phát hiện tấn công Như ở nghiên cứu [2] của
nhóm tác giả Xiao Han đã đưa ra kết luận áp dụng bẫy mạng vào phát hiện tấn
công trang mạng hoàn toàn là khả thi nhưng nó không phù hợp với việc là hệ
thống bảo vệ độc lập và duy nhất Nghiên cứu lỗi của nhóm Stevanovié đã sử
dụng bay mạng (web traps) để thu thập thông tin về các request độc hại khi kẻxâu thực hiện tân công, và từ đó tạo ra một dataset Bên cạnh đó nhóm này cũng,
áp dụng máy học (machine learning) để thực hiện quá trình huấn luyện và pháthiện một cách liên tục Kết quả của nghiên cứu này đã đạt được là 99,55% các loạitan công thông thường và tỉ lệ phát hiện là 95,95% đối với zero-day
2.2 Một số cải tiền so với nghiên cứu khác
Trong khóa luận này, chúng tôi đã giới thiệu phương pháp cập nhập tập dữ liệu
từ bẫy mạng được thực hiện lại của nhóm tác giả Nikola Stevanovic (6) trong bai
báo "Web attack detection based on traps" được công bố năm 2021
Trong khóa luận của chúng tôi được thực hiện trên hệ thống Machine LearningOperations, để thực hiện hoàn quy trình hoàn toàn tự động Day là điểm khác sovới một số thao tác phải làm bằng tay như bài báo trên
— Các nghiên cứu và thực nghiệm cũng đã chỉ ra rằng cập nhật tập dữ liệu
liên tục sẽ dẫn tới việc quên các dir liệu trước Chúng tôi sử dụng thuật toán
học gia tăng để giảm thiểu khuyết điểm trên vì vậy cải thiện đáng kể hiệu
Trang 20Chương 2 TONG QUAN TINH HÌNH NGHIÊN CUU
— Chúng tôi làm sạch tập dữ liệu trước khi đưa vào huấn luyện bang cách áp
dụng một số bộ luật của Mod Security để xác minh lại sự lành tính và độc
hại của từng yêu cầu
— Sử dụng những dir liệu từ bay mạng giải lập lại sản phẩm muốn bảo vệ đểhuấn luyện mô hình để tăng cường khả năng phát hiện tan công vào chínhsản phẩm đó
- Để người dùng tiện lợi trong quản lý hệ thống, chúng tôi áp dụng thêm
Machine Learning Operations trên nền tang Kubeflow Dé dang hẹn lịch tái
huấn luyện, xem kết quả mỗi lần huấn luyện và tự động từ việc thu thậptập dữ liệu, tiền xử lý, huấn luyện, kiểm tra đến việc triển khai
2.3 Ý nghĩa khoa hoc và thực tiễn của dé tài
2.3.1 Ý nghĩa khoa học
Theo nghiên cứu đã trình bày ở mu é tình hình nghiên cứu trong nước cũngnhư trên thế giới cho thấy chưa có nhiều công trình liên quan đến việc tự độngcập nhật dir liệu các cách tấn công mới hoặc thực hiện tat cả các quy trình trong
hệ thống một cách tự động Do đó, dé tài nghiên cứu này sẽ giúp xây dựng mộtgiải pháp phát hiện các cuộc tan công trang mạng hiệu quả hơn phương pháptruyền thống nhờ vào các bẫy mạng và sự phát triển mạnh mẽ của trí tuệ nhântạo ngày nay.
Nghiên cứu này xoay quanh van dé ứng dụng trí tuệ nhân tạo và bay mang để
phát hiện tấn công trang mạng Nhóm nghiên cứu tao ra một tập dữ liệu bằng
cách kết hợp các lưu lượng độc hại và các lưu lượng bình thường từ trang mạng
Đề tài tập trung vào xây dung một mô hình phát hiện tan công một cách tự độnggiúp hệ thống bắt được các đữ mã khai thác tan công mới Tiềm năng và tính nổitrội khi ứng dụng phương pháp thu thập dir liệu tan công từ các bẫy mạng kếthợp với phương pháp máy học là phát hiện được mã khai thác mới như 0-day/1-day, đồng thời tự động hóa quy trình trên để dé dàng quản lý và theo dõi Nghiêncứu cũng góp phân hỗ trợ trong việc phát hiện tan công trang mạng trong tươnglai khi nó được ứng dụng rộng rãi.
Trang 212.3.2 Ý nghĩa thực tiễn
Mặc dù giải pháp của nghiên cứu chỉ mới ở giai đoạn thử nghiệm trên môi trường
giả lập nhưng ứng dụng của nghiên cứu trong thực tiễn là rất tiềm năng
Trong xu thé chuyển đổi số, nghiên cứu có thể được triển khai thành một hệ thống
phát hiện tan công tối ưu với khả năng tự động huấn luyện tăng cường liên tục
thông qua quy trình Machine Learning Operations Bên cạnh đó, hệ thống pháthiện xâm nhập sử dung honeypot để thu thắp di liệu tan công mới sẽ có đủ khảnăng để phát hiện cách thức tắn công mới lạ từ kẻ tan công nguyên hiểm
Hệ thống khi được triển khai không chỉ mang lại những lợi ích về mặt xã hội,
mà còn đảm bảo cung cấp một môi trường phát triển an toàn, mang lại hiệu quả
về mặt kinh tế Nhờ áp dụng kết hợp những công nghệ thiết thực và hiệu quả Machine Learning Operations và bẫy mạng, giải pháp được hiện thực với chỉ phí
đầu tư thấp, tài nguyên tiêu tốn ít cùng với khả năng lập trình cấu hình cao, dễđàng đổi mới, rất linh hoạt và được tối ưu hóa
Trang 22Chương 3
CƠ SỞ LÝ THUYET
3.1 Học máy và cách xây dựng mô hình hoc máy
3.1.1 Học máy (Machine Learning) là gì?
Vài năm trở lại đây, Học máy hiện là xu hướng của thể giới với sự ra đời hàng
trăm, hàng nghìn các bài báo, các tạp chí nói về lĩnh vực này Với trí tuệ nhân tạonói chung và ML nói riêng, con người đang mơ về một tương lai không xa củathế giới, ở đó máy móc sẽ thay con người làm những công việc mà trước nay đã
và đang làm, mọi công việc điều được thực hiện một cách tự động, chính xác đếntừng milimet Quay lại với thực tại, hiện nay đã có nhiều ứng dụng của ML đanglen lỏi vào hầu hết các lĩnh vực trong đời sống xã hội như y tế, quản lý an ninh,hóa học, chính trị,điện ảnh và nó đã chứng minh tiềm năng và hiệu quả thực
sự mà ML mang lại cho cuộc sống con người Trí tuệ nhân tạo hay AI (Artificial
intelligence) là một ngành khoa học của khoa học máy tính, là trí thông minh
được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên được con
người thể hiện Và Machine Learning là một nhóm ngành nhỏ trong AI, chuyên
nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự động từ dữliệu để giải quyết những van dé cụ thể như:
¢ Làm cho máy tính có những kha năng nhận thức cơ bản của con người như nghe, nhìn, hiểu được ngôn ngữ, giải toán,
s Hỗ trợ con người tron việc xử lý một khối lượng thông tin khổng 16 màchúng ta phải đối mặt hang ngày, hay còn gọi là Big Data
Trang 23Hỗ trợ con người tron việc xử lý một khối lượng thông tin khổng 16 mà chúng ta
phải đối mặt hang ngày, hay còn gọi là Big DataTóm lại, ta có thể hiểu một cách
đơn giản như sau: ML là nhóm ngành nhỏ của trí tuệ nhân tạo, chúng ta sẽ sử
dụng các thuật toán để làm cho máy tính có thể “hiểu” dữ liệu để thực các côngviệc thay vì lập trình một cách tường minh bằng các lệnh “if-else”, hay các câutruy van thông thường,
3.1.1.1 Phân loại thuật toán ML
Hiện này, có 2 nhóm chính trong ML đó là: Học giám sát (Supervised learning và
học không giám sát (Unsupervised learning) Điểm khác biệt của các nhóm thuật
toán này đó chính là dữ liệu được đưa vào huấn luyện mô hình, cách thuật toán
sử dụng đữ liệu và loại vấn đề mà chúng giải quyết
* Hoc có giám sát (Supervised learning): Là thuật toán để dự đoán dau ramong muốn của một dữ liệu mới (output) dựa vào các điểm dữ liệu chứa 2giá trị (input, label) đã biết từ trước Input được gọi là đặc trưng di liệu vàlabel chính là nhãn của dir liệu đó Dé hình dung rõ hơn ta có thể lay ví dụ
như sau: x=màu vàng, thân dài, nặng 1 gam, vị ngọt và y=quả chuối, thì ta
được một cặp (x,y) trong đó x là input đầu vào được gọi là các feature input,
y chính là nhãn tương ứng với input x Thông thường thì dữ liệu của chúng
ta là tập hợp của rất nhiều điểm dữ liệu
Và trong nhóm học có giám sát các thuật toán lại chia thành 2 nhóm nhỏ hơn đó
là Phân loại (Classification) và Hồi quy (Regresstion)
¢ Hoc không giám sát (Unsupervised learning): Khác với học có giám sát, dữ
liệu học không giám sát chỉ có các đặc trưng, không có nhãn kèm theo.
Unsupervised learning được sử dụng để khám phá ra những quy luật ẩntrong tập dữ liệu không nhãn Trong đó thuật toán này lại được phân thành
2 nhóm nhỏ hơn đó là Clustering và Association.
Trang 24Chương 3 CƠSỞLÝ THUYET
HINH 3.1: Hoc có giám sat và học không có giám sát
3.1.1.2 Ứng dụng của ML trong cuộc sống con người
Hiện nay ML đã có mặt hầu hết trong cuộc sống của chúng ta, len lỏi hầu hết ởcác lĩnh vực trong đời sống xã hội, tiêu biểu là các lĩnh vực sau:
¢ Xử lý ảnh: Nhận điện khuôn mặt trên ảnh dé gan tên người dùng trên các
mang xã hội, nhận diện chữ viết tay, xe tự vận hành, v.v
* Phan tích văn bản: Lọc spam, trích xuất thông tin, phân tích ngữ nghĩa, v.v
s Khai pha dw liệu: là quá trình khám phá ra các thông tin có giá trị hoặc dua
ra các dự đoán từ dữ liệu Nghia là tìm kiếm các thông tin hữu ích từ mộ tập
dw liệu lớn như phát hiện bat thường trong chứng khoán, giao dịch ngân
hàng, tìm ra các quy luật, v.v.
* Robot: sản phẩm máy hút bụi thông minh, v.v
3.1.2 Cách xây dung một mô hình hoc máy
Việc tạo ra một mô hình ML đầy đủ nghĩa là xây dựng một mô hình mà từ dữliệu đầu vào, tạo ra được thông tin chính xác ở đầu ra Sau đây là 7 bước cơ bản
để hoàn thiện một mô hình học máy.
11
Trang 25Đồng thời biết được néu có bat kỳ sự mắt cân đối nào về dữ liệu Chẳng hạn, nếu
thu thập quá nhiều dữ liệu về nhãn tan công so với nhãn bình thường, mô hìnhhuấn luyện sẽ bị thiên lệch về hướng đoán rằng gần như mọi thứ nó thấy đều lànhãn tan công bởi dự đoán đó gần như lúc nào cũng đúng Tuy nhiên trong thé
giới thực, mô hình này có thể thấy nhãn tấn công và nhãn bình thường là như
nhau, điều này có nghĩa là việc đoán “nhãn bình thường” sẽ sai trong nửa số lầnđoán.
Cần phân tách dữ liệu thành hai phần Phần thứ nhất, sử dụng trong việc huấnluyện (Training) mô hình, sẽ chiếm phân lớn bộ dữ liệu Phần thứ hai sẽ dùng choviệc đánh giá (Testing) chất lượng mô hình mà ta đã huắn luyện Chúng ta khôngmuốn sử dụng cùng dữ liệu đã dùng để huấn luyện dữ liệu cho việc đánh giá bởi
mô hình trả lời được vì nó nhớ “các câu hỏi” Điều này cũng giống như chúng ta
sẽ không muốn dùng cùng câu hỏi trong bài tập về nhà cho bài kiểm tra
Đôi khi dit liệu ta thu được cần chuyển sang hình thức đánh giá và thao tác khác.Những thứ như de-duping (loại bỏ phan trùng lặp), bình thường hóa, sửa lỗi,
v.v Tat cả những việc này sẽ được làm ở bước chuẩn bi dữ liệu.
3.1.2.2 Chon mô hình
Qua nhiều năm, các nhà nghiên cứu và nhà khoa học dữ liệu đã tạo ra nhiều mô
hình Một số mô hình rất phù hợp với dữ liệu hình ảnh, một số khác dành cho
chuỗi (như văn bản hay âm nhạc), một số dành cho dữ liệu số, những mô hình
khác lại phù hợp cho dữ liệu dạng văn bản Tùy theo từng trường hợp mà lựa
chọn mô hình phù hợp.
Trang 26Chương 3 CƠSỞ LY THUYET
3.1.2.3 Huấn luyện
Bước huấn luyện, bước được coi là quan trọng nhất của học máy Trong bướcnay, chúng ta sẽ sử dụng dữ liệu để từng bước cải thiện khả năng của mô hình
trong việc đưa ra dự đoán.
Trong học máy, do có thể có nhiều tính năng, ta có nhiều m Tập hợp những giátrị m đó luôn tạo thành ma trận, chúng ta sẽ biểu thị W cho ma trận “trọng số”(Weights) Tương tự như vậy đối với b, ta sắp xếp chúng lại với nhau và gọi đó làcác thành kiến (Biases)
m(1,1 Weights = $ m(2,1)
m(3,1
(
Biases = 4 b(2,1) b(2,2)
b(3,1) b(3,2)
Quá trình huấn luyện liên quan đến việc khởi tạo một số giá trị ngẫu nhiên cho
W và brồi cô gắng dự đoán đầu ra với các giá trị đó Việc này được thực hiện khákém Nhưng có thể so sánh những dự đoán của mô hình với đầu ra mà đáng lẽ
nó phải cho ra, rồi điều chỉnh các giá trị trong W và b sao cho ta có được những
dự đoán chính xác hơn.
Sau đó quá trình này được lặp lại Mỗi vòng lặp hoặc chu kỳ cập nhật trọng số và
thành kiến được gọi là một “bước” huấn luyện
Đánh giá, đây là bước dùng đến bộ đữ liệu da được để riêng từ đầu Việc đánh
giá cho phép chúng ta kiểm tra mô hình với những dữ liệu chưa từng được dùng
13
Trang 27cho huấn luyện.
Chỉ số nay cho phép đánh giá mô hình có thể thực hiện tốt với những đữ liệu nóchưa từng thấy như thế nào Điều này cũng đại diện cho việc mô hình có thể làmtốt trong thé giới thực ra sao
Một quy tắc nhỏ dùng để chia dữ liệu huấn luyện và đánh giá đó là chia theo tỉ lệkhoảng 80/20 hoặc 70/30 Điều này phụ thuộc nhiễu vào kích thước bộ dữ liệuđầu ban đầu
3.1.2.5 Điều chỉnh thông số
Nếu trong quá trình đánh giá, kết quả đánh giá không tốt, độ chính xác khôngđạt mức tối thiểu mong muốn, có thể đã phát sinh lỗi tạm dịch qua tiếng việt làquá khớp (overfitting) hoặc chưa khớp (underfitting).
® Overfitting hiện tượng khi mô hình xây dung thể hiện được chỉ tiết bộ dữ
liệu huấn luyện Điều này có nghĩa là cả dữ liệu nhiễu, hoặc dữ liệu bất
thường trong tập huấn luyện đều được chọn va học để đưa ra quy luật mô
hình Những quy luật này sẽ không có ý nghĩa nhiều khi áp dụng với bộ dữ
liệu mới có thể có dạng dữ liệu nhiễu khác Khi đó, nó ảnh hưởng tiêu cực tới độ chính xác của mô hình nói chung.
* Underfitting là hiện tượng khi mô hình xây dựng chưa có độ chính xác caotrong tập dữ liệu huấn luyện cũng như tổng quát hóa với tổng thể dữ liệu.Quay lại bước trước khi huấn luyện và đưa ra cầu hình mới cho các thông số của
mô hình
* Có thể tăng số lần epoch
© Một tham số quan trong khác là tỷ lệ hoc (Learning rate), thường là một giátrị để nhân với gradient để dan đưa nó đến gần hơn giá trị local minimum
hoặc global minimum.
— Local minimum là điểm cực tiểu trong hàm số
— Global minimum là điểm mà tại đó hàm số dat giá trị nhỏ nhất
- Gradient (độ đốc) là khái niệm rất gần với khái niệm đạo hàm màchúng ta đã học thời cấp 3, nó biểu diễn cho tốc độ thay đổi của hàm
Trang 28Chương 3 CƠSỞ LY THUYET
Gradient là một vectơ trong khi đạo hàm là giá trị vô hướng (hiểu nôm
na là các giá trị số
3.1.2.6 Du đoán
Hoc máy là việc sử dung dữ liệu để trả lời câu hỏi Vì vay Dự đoán, hay suy luận,
là bước để trả lời một số câu hỏi Trọng tâm của tất cả công việc ta làm là hiện
thực hóa giá trị của học máy
Cuối cùng là sử dụng mô hình để dự đoán
3.2 Học tiệm tiến (Incremental/online learning)
Trong khoa học máy tính, học tiệm tiến [4] là một phương pháp học máy trong
đó di liệu đầu vào được sử dụng liên tục để mở rộng tri thức của mô hình hiện
có, nói cách khác là huấn luyện thêm cho mô hình Nó đại điện cho một kỹ thuật
động của phương pháp học có giám sát và học không có giám sát mà được áp
dụng khi dữ liệu huấn luyện được cung cấp dan theo thời gian hoặc kích thước
của dir liệu vượt quá giới hạn bộ nhớ hệ thống Các thuật toán có thể tạo điều
kiện cho việc học tiệm tiền được gọi là thuật toán học máy tiệm tiến
Nhiều thuật toán học máy truyền thống vốn dĩ hỗ trợ phương pháp học tiệmtiến Các thuật toán khác có thể được điều chỉnh để tạo điều kiện học tiệm tiến
Ví dụ về thuật toán tiệm tiền bao gồm cây quyết định (IDE4, ID5R), quy tắc quyếtđịnh, mạng nơ-ron nhân tao (mạng RBF, Learn ++, Fuzzy ARTMAP, TopoART, vàIGNG) hoặc SVM tiệm tiền
Mục đích của học tiệm tiến là để mô hình học thích ứng với dữ liệu mới màkhông quên tri thức hiện có của nó Một số máy học tiệm tiến đã tích hợp sẵnmột số tham số hoặc giả định kiểm soát mức độ liên quan của dữ liệu cũ, trong
khi những máy học khác, được gọi là thuật toán học máy tiệm tiến ổn định, học
những biểu diễn của dữ liệu huấn luyện mà thậm chí không bị quên phan nàotheo thời gian Fuzzy ART và TopoART là hai ví dụ cho cách tiếp cận thứ hai này.Các thuật toán tiệm tiền thường được áp dụng cho dòng dữ liệu truyền phát hoặcdir liệu lớn nhằm giải quyết các van dé vẻ tính sẵn có của dữ liệu và sự khan hiếmtài nguyên Dự đoán xu hướng cổ phiéu và hồ sơ người dùng là một số ví dụ về
dong dữ liệu truyền phát trong đó dữ liệu mới được cung cấp liên tục Việc áp
15
Trang 29dung học tiệm tiến đối với di liệu lớn nhằm mục đích phân loại hoặc dự báo
HÌNH 3.3: Mô hình học tiệm tiền
3.3 Machine learning operations
3.3.1 MLOps la gi?
Trong MLOps thi tir "Ops" dén tir DevOps (Developments and Operations) Caccông cu MLOps đưa mỗi mô hình vào một lịch trình để phát triển, triển khai,xác minh và đào tạo lại Nó tìm cách chuẩn hóa các quy trình nay, MLOps thực
sự quan trọng khi các doanh nghiệp biến học máy (machine learning) thành một
thành phần cốt lõi trong hoạt động của họ.
HINH 3.4: Quy trình MLOps
Trang 30Chương 3 CƠSỞ LY THUYET
MLOps [5] gồm một tập hợp các phương pháp kết hợp Machine Learning,
DevOps va Data Engineering, nhằm mục đích triển khai và duy trì các hệ thốnghọc máy trong sản xuất một cách đáng tin cậy và hiệu quả
Machine Learning
Ế ` Data
DevOps \ * Engineering
HINH 3.5: MLOps
3.3.2 Vai trò của MLOps
MLOps không chỉ đơn giản hóa việc tích hợp và giúp cộng tác đễ dàng hơn mà
còn cho phép các nhà khoa học dữ liệu và nhà nghiên cứu máy học thực hiệnnhiều dự án hơn và phát triển nhiều mô hình hơn Với MLOps, việc đào tạo, kiểm
tra và triển khai di liệu thường sẽ được tự động hóa, và do đó, toàn bộ quy trình làm việc trở nên hiệu quả hơn nhiều.
3.3.3 Lợi ích của MLOps
¢ Tu động cập nhập nhiều đường ống: điều này giúp ích cho hệ thống thựchiện nhiều tác vụ cùng một lúc, giúp tiết kiệm thời gian và chỉ phí
s Khả năng mở rộng va quản lý mô hình học máy: tùy thuộc vào phạm vi
quản lý của tổ chức, nó có thể kiểm soát được hàng nghìn mô hình cùnglúc.
17
Trang 31® Quan lý mô hình: sau khi triển khai việc tự động hóa thì việc quản lý các
mô hình học máy cũng được đơn giản hóa.
¢ Tái sử dụng: sau khi mô hình được phát triển, việc thực hiện chạy lại môhình rất đơn giản và có thể sử dụng lại cho mục đích khác
3.3.4 Triển khai MLOps
Dé triển khai thành công MLOps, cần đảm bảo các yếu tố sau đây:
s Đội ngũ kết hợp Một đội ngũ sản xuất ML sẽ bao gồm Nhà khoa học dữliệu hoặc Ky su ML, Kỹ sư DevOps và Kỹ su dữ liệu.
*_MLPipelines: Phần lớn các mô hình sẽ cần 2 phiên ban pipelines để đào tạo
và ứng dụng Nguyên nhân là do thông thường, các định dang dữ liệu và
cách truy cập dữ liệu rất khác nhau giữa các thời điểm, đặc biệt đối với các
mô hình chạy theo yêu cầu thời gian thực ML Pipeline thuần túy là code và
độc lập với các trường hợp dữ liệu cụ thể Do đó, ML Pipeline đễ dàng theodéi và kiểm soát các phiên bản, đồng thời tự động hóa việc triển khai với
CI/CD pipeline Điều này giúp liên kết code với dit liệu theo cách có cầu trúc và tự động.
Data
` mm mm a aẽ - ẮĂ ắ.a ee ee
Data transformation
Model Predictions MLPipeline = ——_ MLPipeine —==—=—Ầ*
s Lập phiên bản mô hình và dữ liệu: Cần phải phiên bản hóa dữ liệu và liên
kết từng mô hình được đào tạo với các phiên bản chính xác của code, dữ
Trang 32Chương 3 CƠSỞ LY THUYET
liệu và siêu tham số đã được sử dụng Mô hình và siêu dữ liệu có thể đượctheo dõi trong hệ thống kiểm soát phiên bản tiêu chuẩn như Git
¢ Đánh giá mô hình: Không có mô hình ML nào cho kết quả chính xác 100%
cả, do đó, việc đánh giá mô hình thường mang tính thống kê nhiều hơn làquyết định đạt/không đạt
® Giám sát: Giám sát hệ thống sản xuất là điều cần thiết để giữ cho chúnghoạt động tốt Đối với các hệ thống ML, việc giám sát thậm chí còn trở nênquan trọng hơn, vì hiệu suất của chúng không chỉ phụ thuộc vào các yếu tố
có thể kiểm soát, như cơ sở hạ tầng và phan mềm, ma còn dựa vào dit liệu
~ yếu tố ít khả năng kiểm soát được Do đó, ngoài việc theo dõi các số liệu
tiêu chuẩn như độ trễ, lưu lượng truy cập, lỗi và độ bão hòa, chúng ta cũng
cần theo dõi hiệu suất dự đoán mô hình
3.3.5 Các công cụ dùng trong MLOps
Sự tiện lợi của MLOps đem lại là rất lớn đối với ngành công nghệ thông tin, vì
thế có rất nhiều nhà phát triển đã triển khai xây dựng nhiều công cụ MLOps
° Neptundl} là một công cụ trực tuyến để theo dõi và lưu trữ các thí nghiệm
khoa học dữ liệu của bạn một cách có trật tự Nó mở ra các con đường giám
sát và kiểm soát đễ dàng hơn cho quy trình MLOps, cho phép bạn làm việc
hiệu quả hơn với kỹ thuật và nghiên cứu ML Bên cạnh đó Neptune giúp
ghi nhật ký các loại dit liệu đa dạng liên quan đến quá trình đào tạo mô
hình của bạn và trực quan hóa siêu dữ liệu thử nghiệm ngay khi quá trình
đào tạo bắt đầu
¢ Kubeflow piplind]} Kubeflow là bộ công cụ ML cho Kubernetes Nó giúp
duy trì hệ thống học máy bằng cách đóng gói và quản lý các docker tainers Nó tạo điều kiện cho việc mở rộng các mô hình học máy bằng cáchlàm cho việc điều phối chạy và triển khai các quy trình công việc học máy
con-dé dàng hơn Day là một dự án mã nguồn mở chứa một tập hợp các công
Thttps:/ /neptune.ai
2https: //www.kubeflow.org/
19
Trang 33cụ và khuôn khổ tương thích được tuyển chọn cụ thể cho các nhiệm vụ ML
khác nhau.
° Polyaxor[] Polyaxon là một nền tang để tái tạo và quản lý toàn bộ vòng đời
của các dự án máy học cũng như các ứng dụng học sâu Công cụ này có thể
được triển khai vào bat kỳ trung tâm dữ liệu, nhà cung cấp đám mây nào
và có thể được lưu trữ và quản lý bởi Polyaxon Nó hỗ trợ tất cả các khuônkhổ học tập sâu chính, ví du: Torch, Tensorflow, MXNet Khi nói đến điều
phối, Polyaxon cho phép bạn tối đa hóa việc sử dụng cụm của mình bằng
cách lên lich các công việc và thử nghiệm thông qua CLI, bảng điều khiển,
SDK hoặc API REST của chúng.
3.4 Bay mang (Honeypot)
3.41 Khái niệm Honeypot
Honeypot là một công nghệ mới với tiềm năng khổng lồ cho cộng đồng bảo mật
Định nghĩa đầu tiên được đưa ra dầu tiễn bởi một vài biểu tượng về bảo mật máy
tính, cụ thể là CH Stoll trong cuén sách "The Cuckoo/s Egg" và trong bài báo củaBill Cheswick Từ đó, Honeypot tiếp tục được phát triển với những công cụ bảo
mật mạnh mẽ mà chũng ta biết cho đến nay.
Bước đầu tiên để hiểu được Honeypot thì trước hết phải hiểu Honeypot là cái gì?
Nó không giống như firewall, hay hệ thống IDS, Honeypot không giải quyết cụthể một van dé nào đó Thay vào đó, nó là một công cụ rat linh hoạt trong đó cónhiều hình dạng và kích cỡ Nó có thể làm tất cả mọi thứ từ phát hiện các cuộctan công mã hóa trong các mạng IPv6 Sự linh hoạt này cung cap một sức mạnhthực sự cho Honeypot Nó cũng là sự hỗn hợp làm cho kẻ tấn công khó xác định
và hiểu.
Honeypot là một hệ thống tài nguyên thông tin được xây dựng với mục đích giả
dang đánh lừa những kẻ sử dụng và xâm nhập không hợp pháp, thu hút sự chú
ý của chúng, ngăn không cho chúng tiếp xúc với hệ thống thật
Hệ thống tài nguyên thông tin có nghĩa là Honeypot có thể giả dang bat cứ loại máy chủ tài nguyên nào như là Mail Server, Domam Name Server, trang mạng Shttps://polyaxon.com/
Trang 34Chương 3 CƠSỞ LY THUYET
Server , được cài đặt chạy trên bat cứ Hệ điều hành nào như: Linux ( Red hat,
Fedora ), Unix( Solars), Window ( Window NT, Window 2000, Window XP,
Win-dow 2003, Vista, ) Honeypot sẽ trực tiếp tương tác với tin tặc và tim cách khaithác thông tin về tin tặc như hình thức tấn công, công cụ tan công hay cách thứctiến hành tan công
* Ưu điểm của Honeypot
— Dữ liệu nhỏ đạt được giá tị cao: Honeypot thu thập lượng thông tin rấtnhỏ, thay vì ghi một GB nhật ký về tat cả dữ liệu thì nó chỉ ghi một MB
về dữ liệu độc hại Thay vì tạo ra 10.000 cảnh báo mỗi ngày thì nó chỉ
tạo ra 10 cảnh báo xâm nhập mỗi ngày.
- Công cụ và chiến thuật mới: Honeypots được thiết kế để nắm bắt tat
cả những gì được tương tác với nó, bao gồm các công cụ, chiến thuật
và cách triển khai tất công
— Tiêu tốn ít tài nguyên: vi Honeypot chỉ lưu lại những hoạt động xấu
nên tốt rất ít dung lượng bộ nhớ
— Dé cài đặt: đây là công cụ có mã nguồn mở nên có rất nhiều tổ chức
phát triển và công bồ trên mạng
s Nhược điểm của Honeypot
- Han chế theo doi: Honeypot chỉ thu thập được dữ liệu khi kẻ tan công
tương tác với nó, những loại tan công không được cài đặt trên honeypot
thì kẻ xấu không tương tác với hệ thống và dẫn dé không thu thập được
dữ liệu tan công
— Rủi ro: khi cài đặt Honeypot để tương tác với kẻ tấn công, nhưng khicài đặt sai cách sẽ dẫn đến việc kẻ xấu sẽ chiếm được máy Honeypot
đó, điều nay sẽ rất nguy hiểm
3.4.2 Phân loại Honeypot
Honeypot được chia thành 3 loại chính dựa vào tiêu chí tương tác.
21
Trang 35¢ Honeypot nguyên thủy: Là máy chủ vật lý được cấu hình để thu hút tâncông Đặc biệt trên máy chủ có cài đặt các phần mềm theo dõi hoạt độngcũng như là kết nối đến với các máy khác trong mạng.
¢ Honeypot tương tác cấp cao: Là máy chủ được cách ly Có nhiều dịch vụ,kịch bản tấn công mô phỏng thực tế
¢ Honeypot tương tác cap thấp: La máy chủ chạy một số dịch vụ cho một sốloại tan công được chỉ định Day là loại honeypot đơn giản trong việt dung
cũng như duy trì nhất trong các loại.
Một số loại Honeypot được phân loại dựa theo chức năng:
SQL Injection là một ky thuật lợi dung những lỗ hổng về câu truy van của các
ứng dụng Được thực hiện bằng cách chèn thêm một đoạn SQL để làm sai lệnh
đi câu truy vấn ban dau, từ đó có thể khai thác dữ liệu từ database SQL injection
có thể cho phép những kẻ tắn công thực hiện các thao tác như một người quản
trị trang mạng, trên cơ sở dữ liệu của ứng dụng.
Trang 36Chương 3 CƠSỞ LY THUYET
3.5.1.2 Đặc điểm nhận biết
Trong các yêu cầu gửi lên máy chủ thường xuất hiện những mã khai thác khi xuất
hiện những chuỗi sau:
lại những hậu quả nghiêm trọng Giới thiệu về tan công XSS Tan công XSS là một
đoạn mã độc, để khái thác một lỗ hổng XSS, tin tặc sẽ chèn mã độc thông qua cácđoạn script để thực thi chúng ở phía Client Thông thường, các cuộc tấn công XSSđược sử dụng để vượt qua truy cập và mạo danh người dùng
3.5.2.2 Đặc điểm nhận biết
Trong các yêu cầu gửi lên máy chủ thường xuất hiện những mã khai thác khi xuất
hiện những chuỗi sau:
OS Command Injection là lỗ hổng cho phép kẻ tắn công thực thi các lệnh bat
kì của hệ điều hành trên server chạy ứng dụng với đặc quyền của trang mạng
23
Trang 37server Lỗ hổng xảy ra khi một ứng dụng gọi tới lệnh shell để thực thi một tác vụ
với input do người dùng nhập vào nhưng không lọc các input một cách cẩn thận
3.5.3.2 Đặc điểm nhận biết
cat /etc/passwd 1s id whoami IFS= ifconfig ; && || > < /
3.5.4 Local File Inclusion
3.5.4.1 Khai niém
Local File Inclusion cho phép kẻ tần công có thé xem các tệp trên máy chủ từ xa
mà không cần nhìn thấy hoặc có thể thực thi các mã vào 1 mục tiêu bat kì trên
Path traversal (hay còn gọi là Directory traversal) là một lỗ hổng trang mạng cho
phép kẻ tan công đọc các tệp tin không mong muốn trên server Nó dẫn đến việc
bị lộ thông tin nhạy cảm của ứng dụng như thông tin đăng nhập , một số tệp tinhoặc thư mục của hệ điều hành Trong một số trường hợp cũng có thể ghi vào cáctệp tins trên server, cho phép kẻ tấn công có thể thay đổi dữ liệu hay thậm chí làchiếm quyền điều khiển server
3.5.5.2 Đặc điểm nhận biết
SN
%2e1X2e1⁄2f
Trang 38Chương 3 CƠSỞ LY THUYET
Remote Code Execution (RCE), dich ra tiéng Việt là Thực thi mã từ xa RCE là
kỹ thuật tan công mạng của tin tặc dựa vào lỗ hổng hoặc sơ hở nào đó của hệthống để truy cập từ xa vào máy tính hoặc mạng máy tính của nạn nhân Từ đó,tin tặc có thể thực thi các mã độc, phần mềm độc hại trên thiết bị của nạn nhân
mà không cân tiếp xúc trực tiếp với thiết bị
3.6 Các khái niệm liên quan đến triển khai bay mạng
3.6.1 Docker và Docker container
Docker là một nền tảng để cung cấp cách để xây dựng và triển khai ứng dụng dễdang hơn bằng cách sử dụng các containers (trên nền tảng ảo hóa)
Docker container là một môi trường chạy chương trình mà ở đó người dùng có
thể chạy một ứng dụng độc lập Những container này rất gọn nhẹ và cho phép
bạn chạy ứng dụng trong đó rất nhanh chóng và dễ dàng.
25
Trang 393.6.2 Trang mạng (website)
Trang mạng là tập hợp các trang chứa thông tin bao gồm văn bản, hình ảnh,
video, và được nằm trên một tên miền được lưu trữ trên máy chủ trang mạng.Giúp người dùng truy cập website từ xa thông qua mạng Internet.
3.6.3 Máy chủ trang mang (web server)
Máy chủ trang mạng là máy chủ cài đặt các chương trình phục vụ các ứng dụng
trang mạng Máy chủ trang mạng có khả năng tiếp nhận các yêu cầu từ các trìnhduyệt người dùng và gửi phản hồi đến người dùng thông qua giao thức HTTPhoặc các giao thức khác Có nhiều web server khác nhau như: Apache, Nginx,IS,
3.6.4 UFW là gì?
UFW (Uncomplicated Firewall) là một công cụ nhằm hướng tới việc đơn giản hoáquá trình cầu hình tường lửa Với người dùng cơ bản hoặc người dùng mới thì sựlựa chọn UFW là rất phù hợp
3.6.5 Ngôn ngữ lập trình Java
ava là một trong những ngôn ngữ lập trình hướng đối tượng Nó được sử dung
trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di
động.
ava được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem
năm 1991 Ban dau Java được tạo ra nhằm mục đích viết phần mềm cho các sản
phẩm gia dụng, và có tên là Oak
ava được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun croSystem.
Mi-ava được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once,Run Anywhere - WORA) Chương trình phần mềm viết bằng Java có thể chạytrên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi vớiđiều kiện có môi trường thực thi thích hợp hỗ trợ nền tang đó
Hiện tại, vì lý do được sử dụng nhiều và phổ biết nên hằng năm ngôn ngữ lập
Trang 40Chương 3 CƠSỞ LY THUYET
trình này luôn là mục tiêu khai thác của tin tặc Các lỗ hổng bảo mật đến từ chính
những sản phẩm cốt lõi của Java và cả những sản phẩm được xây dựng trên ngônngữ Java Bên cạnh đó thì Java cũng không thoát khỏi các loại tắn công phổ biến
đo lỗi đến từ người lập trình
27