o Năm 2020, Vale Tolpegin và các cộng sự công bố nghiên cứu về van dé tan công nhiễm độc lên bộ dữ liệu [3], khiến cho các hệ thống sử dụng phương pháp học cộng tác phát hiện sai.. Trong
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
NGUYEN CHÍ VY — 18521681
KHOA LUAN TOT NGHIEP
NGHIÊN CỨU MÔ HÌNH HỌC CONG TÁC TRONG
PHÁT HIEN TAN CÔNG MẠNG
CU NHÂN NGÀNH KHOA HOC MAY TÍNH
GIANG VIEN HUONG DAN
TS PHAM VAN HAU ThS PHAN THE DUY
TP HO CHi MINH, 2021
Trang 3DANH SÁCH HỘI DONG BẢO VỆ KHÓA LUẬN
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 490/QD-DHCNTT
ngày 03 tháng 08 năm 2021 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1 PGS.TS Lê Đình Duy — Chủ tịch.
2 ThS Đỗ Văn Tiến — Thu ký.
3 TS Lương Ngọc Hoàng — Ủy viên.
Trang 4ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM
NGHIÊN CỨU MÔ HÌNH HỌC CỘNG TÁC TRONG
PHÁT HIỆN TAN CÔNG MẠNG
Nhóm SV thực hiện: Cán bộ hướng dẫn:
Nguyễn Chí Vỹ - 1851681 TS Phạm Văn Hậu
ThS Phan Thế Duy
Đánh giá Khóa luận
1 Vé cuôn báo cáo:
Số trang - Số chương
SO bang số liệu SỐ hình vẽ
Sô tải liệu tham khảo Sản phâm
Một sô nhận xét về hình thức cuôn bao cao:
Trang 54 Vê thái độ làm việc của sinh viên:
Người nhận xét
(Ky tên và ghi rõ họ tên)
Trang 6ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM
NGHIÊN CỨU MÔ HÌNH HỌC CỘNG TÁC TRONG
PHÁT HIỆN TAN CÔNG MẠNG
Nhóm SV thực hiện: Cán bô phản biên:
Nguyễn Chí Vỹ - 1851681 TS Lương Ngọc Hoàng
Đánh giá Khóa luận
1 Vé cuôn báo cáo:
Số trang - Số chương
SO bang số liệu So hình vẽ
Sô tải liệu tham khảo Sản phâm
Một sô nhận xét về hình thức cuôn bao cao:
Trang 74 Vê thái độ làm việc của sinh viên:
Người nhận xét
(Ky tên và ghi rõ họ tên)
Trang 8ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
DE CƯƠNG CHI TIẾT
Thời gian thực hiện:Từ ngày 01/02/2021 đến ngày 01/07/2021.
Sinh viên thực hiện:
Nguyễn Chí Vỹ — 18521681 Lớp: KHCL2018.3
Email: 18521681@gm.ui(.edu.vn Điện thoại: 0376778388
Nội dung đề tài:(Mô ta chỉ tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,
kết quả mong đợi của dé tài)
Giới thiệu:
« - Ngày nay, việc ứng dụng máy học vào trong cuộc sống ngày càng phố biến Các
mô hình máy học hiện nay cho kết quả với độ chính xác cao phân lớn là nhờlượng dữ liệu ngày càng tăng nhanh Nhưng sự gia tăng này cũng là một thách
thức lớn trong việc thực hiện việc tập trung dữ liệu dé huấn luyện Dé giải quyết
van dé này một phương pháp máy học mới được ra đời Phương pháp hoc cộngtác (Federated Learning) được xem là thé hệ tiếp theo của trí tuệ nhân tạo Đây làphương pháp giúp tạo ra mô hình ngay chính trên thiết bị đang năm giữ lượng dit
liệu từ một mô hình chung được cung cấp từ máy chủ Vì thế có thể giảm được áp
lực xử lí trên máy chủ Phương pháp này không chỉ giải quyết được vấn đề tập trung dữ liệu mà còn giúp cho dữ liệu được đảm bảo quyên riêng tư.
¢ _ Bên cạnh những lợi ích vượt trội mà phương pháp nay mang lại thì van còn một
vài nhược điêm như sau:
o_ Lượng dữ liệu không đồng nhất cũng như không được kiểm chứng kỹ càng
trên các thiết bị khác nhau có thể ảnh hưởng lớn đến mô hình máy học chung.
o Tốn chi phí dé thực hiện việc truyền tải các mô hình giữa các thiết bi.
Trang 9Các công trình liên quan:
o Nhóm nghiên cứu cua tác giả Nguyễn Đức Thiện [1] đã đề xuất phương
pháp DÏoT nhằm tự động phát hiện các mối đe doa cho các thiết bị oT Áp
dụng phương pháp này lên bộ dữ liệu được thu thập bởi 5 thiết bị:
D-LinkCamDCS930L, D-LinkCamDCS932L, EdimaxPlug1101W,
EdimaxPlug2101W va UbntAirRouter Nhóm tác giả huấn luyện mô hình
có khả năng phát hiện tan công lên đến 95.60% và chỉ mat 275 ms.
o Năm 2020, Vale Tolpegin và các cộng sự công bố nghiên cứu về van dé
tan công nhiễm độc lên bộ dữ liệu [3], khiến cho các hệ thống sử dụng
phương pháp học cộng tác phát hiện sai Nhóm tác giả cũng đưa ra phương
pháp đề tránh việc các nhãn trong bộ dữ liệu bị thay đổi, bằng cách xác
thực các mô hình máy học trước khi cập nhật lại một mô hình chung.
Phương pháp học cộng tác còn quá mới, còn quá nhiều điểm yếu nhưng đượcđánh giá là phương pháp máy học của tương lai vì vậy cần nhiều thời gian để nghiên cứu và đưa ra những cải tiến phù hợp Trong phạm vi bài báo cáo này,chúng tôi sẽ sử dụng phương pháp học cộng tác dé xây dựng hệ thống phát hiệntấn công mạng va đưa ra một vài cải tiễn để khắc phục những điểm yếu của
phương pháp nay.
Mục tiêu:
Sử dụng phương pháp học cộng tác (Federated Learning) dé xây dựng hệ thốngphát hiện tan công mang (IDS — Intrusion Detection System) Dùng phương pháp
học cộng tác đề có thé tận dụng được đữ liệu từ nhiều thiết bị khác nhau và tạo ra
các mô hình máy học phù hợp với từng thiết bị nhưng vẫn bảo đảm được quyềnriêng tư (không tập trung dữ liệu lại một chỗ)
Tìm ra hướng phòng thủ cho kỹ thuật tan công nhiễm độc (Poisoning attack) trên
hệ thông phát hiện tân công (IDS) sử dụng phương pháp học cộng tác.
Pham vi nghiên cứu:
Hệ thống phát hiện tan công mang sử dụng phương pháp máy học Các mô hình
máy học được huân luyện và đánh giá dựa trên bộ dữ liệu Kitsune.
Phương pháp học cộng tác (Federated Learning) cho hệ thống phát hiện tấn công
mạng.
Kỹ thuật tan công nhiễm độc (Poisoning attack) trong hệ thống sử dụng phươngpháp học cộng tác.
Đối tượng nghiên cứu:
Phương pháp máy học phát hiện tắn công mạng.
Hệ thống phát hiện tấn công mạng trên nhiều loại thiết bị khác nhau.
Phương pháp học cộng tác.
Kỹ thuật tan công nhiễm độc (Poisoning attack)
Trang 10¢ _ Các thư viện hỗ trợ lập trình máy học Tensorflow, Keras.
Phương pháp thực hiện:
a Nội dung 1: Tìm hiểu phương pháp học cộng tác.
« Mục tiêu: Nắm được ý tưởng, nguyên lí và áp dụng vào việc xây dựng hệ thống
phát hiện tân công.
« Phương pháp: Nghiên cứu tài liệu, bài báo khoa học về phương pháp học cộng
tác.
b Nội dung 2: Tìm hiểu về hệ thống phát hiện tan công băng phương pháp học
máy, áp dụng phương pháp hoc cộng tác vao hệ thông này.
o Tham khảo các nghiên cứu đã có dé tìm ra mô hình máy học phù hợp dé có
thê triên khai trên nhiêu thiệt bi.
o Chọn các bộ dữ liệu phù hợp dé huấn luyện và đánh giá kết quả.
c Nội dung 3: Tìm hiéu kỹ thuật tan công nhiễm độc.
« Mục tiêu: Hiểu rõ về kỹ thuật tan công nhiễm độc dé đưa ra phương pháp cải
thiện các mô hình máy học.
s Phương pháp:
o Đưa kỹ thuật tan công nhiễm độc vào hệ thống và quan sát kết quả.
o Tìm kiếm tài liệu dé đưa ra các cải tiến phù hợp.
d Nội dung 4: Thực nghiệm và đánh giá kết quả.
« Mục tiêu: Xây dựng, triển khai các hệ thống phát hiện tan công trên nhiều loại
thiệt bị khác nhau và đánh giá kêt quả đạt được.
e Phương pháp:
o_ Triển khai mô hình phát hiện tan công trên 5 tác tử IDS.
o Sử dụng các bộ dit liệu đủ tốt dé đánh giá kết quả đạt được.
Kết quả mong đợi:
« Ap dụng được phương pháp học cộng tác vào các hệ thong phát hiện tan công.
Trang 11« _ Triển khai mô hình phát hiện tan công trên nhiều tác tử, ứng với loại thiết bị khác
nhau.
¢ Keét quả thực nghiệm khả quan và có báo cáo chi tiệt cho đê tai.
Tài liệu tham khảo:
[I] Thien Duc Nguyen, Samuel Marchal, Markus Miettinen, Hossein Fereidooni, N.Asokan, and Ahmad-Reza Sadeghi: DÏoT: A Federated Self-Learning AnomalyDetection System for IoT In: Proceedings of the 39" IEEE International Conference on
Distributed Computing Systems, 2019.
[2] Ansari M.S., Alsamhi S.H., Qiao Y., Ye Y., Lee B (2020) Security of Distributed
Intelligence in Edge Computing: Threats and Countermeasures In: Lynn T., Mooney J.,
Lee B., Endo P (eds) The Cloud-to-Thing Continuum Palgrave Studies in Digital
Business & Enabling Technologies Palgrave Macmillan, Cham.
https://doi.org/10.1007/978-3-030-41110-7_6
[3] Vale Tolpegin, Stacey Truex, Mehmet Emre Gursoy, and Ling Liu, “Data Poisoning
Attacks Against Federated Learning Systems” arXiv:2007.08432v2 [cs.LG], 2020.
[4] Thien Duc Nguyen, Phillip Rieger, Markus Miettinen, and Ahmad-Reza Sadeghi,
“Poisoning Attacks on Federated Learning-based IoT Intrusion Detection System” In Workshop on Decentralized IoT Systems and Security, 2020.
[5] Dutta, Vibekananda; Choras, Michal; Pawlicki, Marek; Kozik, Rafat 2020 "A Deep Learning Ensemble for Network Anomaly and Cyber-Attack Detection" Sensors 20, no 16: 4583 https://doi.org/10.3390/s20164583
Kế hoạch thực hién:(M6 ta ké hoạch làm việc và phân công công việc cho từng sinhviên tham gia)
Tiền xử lí dữ liệu, huấn luyện các mô hình máy học.01/04/2021 - 01/05/2021 Triển khai hệ thống phát hiện tấn công và đưa ra các kịch
bản tấn công dé kiêm tra mô hình.
01/06/2021 — 26/06/2021 _ Hoàn thiện báo cáo.
Trang 13LỜI CẢM ƠN
Trãi qua nhiều tháng tìm hiểu và nghiên cứu, tôi đã hoàn thành được khoáluận "Nghiên cứu mô hình học cộng tác trong phát hiện tan công mạng" Nhữngkết quả này không chỉ là sự nổ lực cá nhân mà còn nhờ vào sự trợ giúp của thầy
cô và bạn bè.
Tôi xin cảm ơn Phòng Thí Nghiệm An Toàn Thông Tin - Inseclab của trường
Đại học Công Nghệ Thông Tin TP HCM đã cho phép tôi sử dụng đề tài nghiêncứu khoa học để làm khoá luận này Bên cạnh đó, tôi cũng xin cảm khoa KhoaHọc Máy Tính của trường Đại học Công Nghệ Thông Tin TP HCM đã tạo điềukiện tốt nhất cho tôi hoàn thành khóa luận này
Tôi xin cảm ơn thầy Phan Thế Duy đã hướng dẫn tôi trong suốt thời gian khóaluận, thầy đã đưa ra những định hướng, chia sẻ các kinh nghiệm nghiên cứu giúptôi từng bước hoàn thành khoá luận Bên cạnh đó, tôi cũng xin cảm ơn thay PhamVăn Hậu đã cùng với Thay Duy đã đồng hướng dẫn tôi Cảm ơn thay đã chỉ bảotôi nhiều vấn đề chuyên môn và giới thiệu các công cụ cần thiết giúp tôi nhanh
chóng hoàn thành khoá luận.
Một lần nữa tôi xin gửi lời cảm ơn sâu sắc đến thầy cô và các bạn!
Trang 142.2_ Các nghiên cứu vẻ những de doa đối với phương pháp học cộng tác
2.3 Các nghiên cứu về giảm bớt những de doa đối với phương pháp
3.2.3 Mạng noron hoi QUY) ee 15
3.24 Mạng sinh đối kháng| - 17
3.3_ Local Outlier Factorl 18
¬ << 25
4_ PHƯƠNG PHAP VA MÔ HÌNH ĐỀ XUẤT 27
4.1 Tổng quan phương pháp xây dựng hệ thống phát hiện tân công| 27
4.2 Kiến trúc học cộng tac] © Ặ Qua 28
Trang 154.2.1 Mô hình học cộng tác|
4.2.2 Huấn luyện ở các máy cộng
tác| -4.3 Tân công đầu độc| Ốc So 4.3.1 Tấn công đầu độc bằng phương pháp lật nhãn 4.4 Xác thực mô hình trước khi cập nhật|
5_ THỰC NGHIỆM VÀ ĐÁNH GIÁ 5.1 Môi trường và ngôn ngữ cài đặt|
5.2 Dữ liệu| Ặ HQ Q HQ HH va 5.3 Huan luyện tập trung với mô hình Fed-IDSJ
5.4 Huấn luyện bằng phương pháp học cộng tác|_
5.5 Thực hiện tấn công đầu
độc| -5.6 Xác thực mô hình trước khi tổng
hợp| -5.7 Tình huống thực tếÌ
6 KÊT LUẬN VÀ HƯỚNG PHÁT TRIEN 61 Kếtquả dayaduilal (gm em \1 18 / <
6.2_ Hướng phát triển me ,/œm# /
Trang 1623 24
29 31
32
35 37
39
¬ ee 45
18
Trang 17Danh sách bảng
Trang 18Danh mục từ viết tắt
FL IDS
DL
CNN
RNN
LSTM GRU GAN LOF
ANN
Federated Learning
Intrusion Detection System Deep Learning
Convolutional Neural Network
Recurrent Neural Network Long Short Term Memmory
Gate Recurrent Units
Generative Adversarial Networks Local Outlier Factor
Artificial Neural Network
Trang 19Học cộng tác theo chiều đọc
Học cộng tác theo chiều ngang
Bộ dữ liệu Đặc trưng
Long short term memory Generative Adversarial Networks Vertical federated learning
Horizontal federated learning
Dataset Feature Feature map
Trang 20TÓM TẮT KHOÁ LUẬN
Hiện nay, với sự phát triển vượt bậc của khoa học công nghệ nói chung và trí
tuệ nhân tạo nói riêng nhiều ứng dụng, chương trình thông minh được ra đời để
phục vụ cuộc sống con người Sự phát triển của khoa học công nghệ cũng dẫn
đến sự phát triển của dit liệu và ngược lại dữ liệu cũng chiếm phần lớn trong việc
tạo nên độ chính xác cho các mô hình máy học Hiện nay công nghệ đã can thiệp
sâu vào đời sống con người, nên những dữ liệu chứa đựng trong các thiết bị ngày
càng trở nên cá nhân hoá hơn và thậm chí là có cả dữ liệu nhạy cảm của chủ thể.
Những dữ liệu càng cá nhân lại càng có nhiều giá trị để khai thác vì vậy chúng
càng phải được bảo vệ Trong lĩnh vực an ninh mạng thì các giải pháp bảo mật
có nhiều nghiên cứu tập trung trong việc dựa trên trí tuệ nhân tạo, phương phápnày cần nhiều dữ liệu để đạt hiệu quả cao Mà dữ liệu dạng này thường hay nhạy
cảm và tiết lộ nhiều thông tin của chủ sở hữu vì lo ngại đánh mat các thông tin
các nhân Trong khoá luận này, tôi sẽ trình bày phương pháp tạo ra hệ thống phát
hiện tấn công mạng bằng các mô hình học máy nhằm giúp bảo vệ thiết bị và dữ
liệu khỏi những tân công từ các tin tặc Phương pháp được đề xuất trong khoáluận này tận dụng được những giá trị từ các dữ liệu mang tính cá nhân đồng thờicũng đảm bảo được quyền riêng tư của dir liệu Phương pháp này tạm dịch làphương pháp học cộng tác (Federated Learning), được Google giới thiệu lần đầu
tiên vào năm 2016 Phương pháp này còn quá mới để ứng dụng được vào thực
tế, đòi hỏi cần phải có nhiều thời gian nghiên cứu đánh giá một cách khoa học vàlogic Trong khoá luận này, sẽ trình bày các nghiên cứu về việc áp dụng học cộng
tác với các phương pháp học sâu Bên cạnh đó cũng xem xét đến những mối đedoa từ bên ngoài như tấn công làm bẩn dữ liệu (Poison Attack) nhằm làm giảm
độ chính xác của mô hình Đồng thời tôi cũng trình bày các nghiên cứu giúp bảo
vệ phương pháp này khỏi các mối đe doa nêu trên
Trang 21Chương 1
TỔNG QUAN
11 Giới thiệu bài toán
Gần đây, sự phát triển nhanh chóng trong lĩnh vực công nghệ thông tin đã làm
cho mạng lưới các thiết bị điện tử bao phủ rộng khắp thé giới đồng thời cũng thúcđẩy lượng dir liệu ngày càng tăng nhanh Đặc biệt, nhiều loại thiết bị IoT được
ra đời dẫn đến sự gia tăng nhanh chóng về lượng đữ liệu được tạo ra trong suốtquá trình vận hành Từ đó dẫn đến nhiều thách thức cho các van dé về an toàn
thông qua các dir liệu chia sẻ [10].Hon thé nữa, nhiều thiết bị IơT kém bảo mật có
nguy cơ bị khai thác bởi các mã độc, những cuộc tấn công từ các tin tặc, dan
đến những thách thức nghiêm trọng cho các thiết bị và dữ liệu cá nhân Trong
lĩnh vực an ninh mạng việc đưa ra chính xác các chẩn đoán và ngăn chặn nguy
cơ ở không gian mang [16] vẫn là một vấn dé cần được quan tâm Từ đó dẫn đến
việc hình thành các hệ thống phát hiện tấn công (Instrusion Detection System
— IDS) IDS là một thành phần cốt yếu giúp ngăn chặn các bước tân công trongchuỗi hoạt động tắn công mang, IDS cần phải được cập nhật liên tục để xác địnhđược cái nguy cơ gây hại cho hệ thống Để đạt được hiệu quả tốt hơn đối với chẩn
đoán những lưu lượng mạng độc hại chưa biết trước IDS sử dụng máy học nhằm
tăng khả năng mở rộng và cải thiện năng lực phát hiện bất thường trong các lưulượng mang [20] Lợi ích của máy học trong việc mở rộng được nghiên cứu trong
Trang 22Chương 1 TONG QUAN 3
những năm gần đây [714] Trong thực thé, những mô hình máy học sinh ra kết
quả với độ chính xác cao, nhờ vào sự gia tăng của lượng dữ liệu và sự chia sẻ của
chúng [8]Í9] Nhưng sự gia tăng của lượng dữ liệu cũng là một thách thức lớn
trong việc hiện thực các mô hình máy học tập trung bởi vì thường tốn nhiều chỉphí cho máy chủ và hệ thống mạng huấn luyện với lượng dữ liệu lớn Bên cạnh
đó, việc bảo vệ dữ liệu an toàn cũng là một van dé lớn (I Dữ liệu là một trong
những van dé quan trọng của mọi ứng dụng máy học, đối với IDS rất cần các dữliệu lưu lượng mạng được tổng hợp và gán nhãn Tại thời điểm này, sự thiếuthốn về dữ liệu do các van dé liên quan đến bảo mật dữ liệu nhạy cảm và quyềnriêng tư nên đây là một trong những van dé chính cần được giải quyết để máyhọc có thé ứng dụng được trong nhiều loại thiết bị loT khác nhau
Để giải quyết vân đề trên, một phương pháp huấn luyện mô hình máy học mới
được ra đời, và được đặt tên là Federated Learning tạm dịch là phương pháp học
cộng tác giúp bảo vệ quyền riêng tư mà vẫn đáp ứng được các yêu cầu làm tăng
độ chính xác cho mô hình máy học [2] Mục đích chính của là Federated Learning
giảm tải lên server, bằng cách tạo ra nhiều mô hình trên nhiều máy tham gia và
chính máy tham gia này sẽ trực tiếp huấn luyện lượng đữ liệu mà nó đang nắm
giữ Sau đó tổng hợp lại thành một mô hình chung ở máy chủ (24) Phuong phap
này không chỉ giải quyết van dé của việc huấn luyện tập trung ma còn bảo dam
được quyền riêng tư về dữ liệu bởi vì dữ liệu không ra khỏi tổ chức, cá nhân sở
hữu chúng Sự ra đời của Federated Learning giải quyết được vấn dé hợp tác từ
các nguồn khác nhau giúp phát triển được mô hình phát hiện tan công FederatedLearning cho phép các máy cộng tác tự huấn luyện trên dữ liệu mình đang có và
chia sẽ các thông số của mô hình, trong khi đó vẫn bảo đảm dữ liệu không bị tiết
lộ, vậy là vừa giúp giải quyết vấn đề tập trung, lưu trữ, huấn luyện với quá nhiều
dit liệu vừa đảm bảo được quyền riêng tư cho dữ liệu của các cá nhân tổ chức
tham gia Bên cạnh lợi ích nổi bật nhất của Federated Learning, thì cũng có vô
vàng những van dé cần quan tâm như các mối de doa từ những kẻ xâu muốn làm
Trang 23Chương 1 TONG QUAN 4
giảm độ chính xác của mô hình huấn luyện [15] Bởi vì dữ liệu huấn luyện ở
nhiều máy khác nhau sẽ đa dạng và không đáp ứng được tính xác thực trên cácthiết bị trong quá trình huấn luyện Thêm vào đó, tan công đầu độc có thể giảmđáng kể độ chính xác của mô hình máy học nếu không có các thao tác xác thựcphù hợp trước khi cập nhật mô hình [21]
Nhìn chung, hiện nay cũng đã có nhiều nghiên cứu tập trung vào việc huấn
luyện IDS sử dụng Federated Learning cho ra độ chính xác cao Ví như Nguyễn
Đức Thiện và các cộng sự [18] đã đề xuất mô hình IDS dựa trên Federated
Learn-ing đặt ở các security gateway của mỗi hệ thống mạng của các máy tham giahuấn luyện để tự động phát hiện các mối de doa cho các thiết bị IoT Tương tựvậy Liang Zhao và các cộng sự đã phát triển mạng học sâu kết hợp với Feder-
ated Learning để xây dựng IDS cho hệ thống mạng vật lý (cyber-physical systems
- CPSs) Bên cạnh đó cũng có những nghiên cứu chỉ ra rằng, Federated Learning
còn tổn tại nhiều van dé khiến cho kẻ tấn công có thể can thiệp vào quá trìnhhuấn luyện nội bộ ở các máy tham gia như trong nghiên cứu của Nguyễn Đức
Thiện và các cộng sự [17] Những tan công nay có thể là lật nhãn dữ liệu [4] và huấn luyện trên bộ dir liệu giả được tạo ra từ mạng sinh đối kháng (26) (25) Dé
giải quyết van dé đó, trong khoá luận này tôi sé di phân tích các chiến lượt tan
của hai phương pháp lật nhãn và huấn luyện di liệu giả Bên cạnh đó tôi cũng
dé cập một phương pháp sử dung Local Outlier Factor l6 để xác thực mô hình
trước khi cập nhật nhằm hạn ché các ảnh hưởng tiêu cực từ các tan công nêu trên
1.2 Mục tiêu khóa luận
Mục đích của đề tài nhằm nghiên cứu và xây dựng mô hình máy học phục vụ
cho việc xác định và ngăn chặn các cuộc tấn công mạng dựa trên phương pháphọc cộng tác Bên cạnh đó sẽ xem xét các chiến lược gây ảnh hưởng xấu đến môhình và phương pháp hạn chế chúng
Trang 24Chương 1 TONG QUAN 5
s Đầu tiên, tôi xây dựng mô hình IDS máy học bằng mạng học sâu với kiến
trúc tương tự như DeepFed [11] Kiến trúc này được áp dụng cho cả phương
pháp huấn luyện tập trung và phương pháp học cộng tác trên cũng bộ dữ
liệu để thực hiện đánh giá và so sánh.
® Sau đó, tôi sẽ dé cập đến hai loại tan công đầu độc: tấn công lật nhãn và
huấn luyện trên bộ dit liệu giả được tạo ra bằng mạng sinh đối kháng Tiến
hành thực nghiệm để so sánh mô hình trước và sau khi bị tan công
* Cuối cùng, sử dụng phương pháp xác thực mô hình trước khi tổng hợp Và
tiến hành thực nghiệm để đánh giá khả năng giảm bớt ảnh hưởng của cácloại tấn công trê
1.3 Cau trúc Khóa luận tốt nghiệp
Nội dung Khóa luận được tổ chức như sau:
° Chương] Giới thiệu tổng quan về khóa luận.
* Chương|2} Các công trình liên quan
« Chương} Cơ sở lý thuyết.
« Chương |4| Phương pháp và mô hình dé xuất.
s Chương Thực nghiệm và đánh giá
e Chương |6} Kết luận và hướng phát triển.
Trang 25Chương 2
CÁC CÔNG TRÌNH LIÊN QUAN
Trong phần này, tôi sẽ giới thiệu về các hướng nghiên cứu đã có ở các khía
cạnh liên quan đến đề tài này
2.1 Các nghiên cứu về phương pháp học cộng tác
Đầu tiên, phương pháp DioT của Nguyễn Đức Thiện và các cộng sự [18], nhóm
nghiên cứu này đã dé xuất một phương pháp để tự động học trên các hệ thốngphân tán để tạo ra mô hình máy học phát hiện những tân công gây hại cho cácthiết bị IơT Hệ thống này được đánh giá hiệu năng trên tập dữ liệu được thu thậpbởi các thiết bị thông minh trong như camera va router
Tiếp theo, Beibei Li và các cộng sự đã dé xuất kiến trúc học sâu và được dat
tên là DeepFed (11), kiến trúc này đã kết hợp rất hiệu quả với phương pháp hoc
cộng tác trong việc xây dựng hệ thống phát hiện xâm nhập cho các thiết bị có kếtnối mạng Kiến trúc DeepFed này là sự kết hợp giữa CNN và GRU Hướng tiếpcận này giúp cho các doanh nghiệp xây dựng một hệ thống chuyên dụng để pháthiện tấn công và đảm bảo về quyền riêng tư của dữ liệu của các tổ chức thamgia cộng tác Bên cạnh đó Mohamed Abdel-Basset và các cộng sự cũng dé xuất
Fed-TH [1] dé tìm những rủ ro cho các doanh nghiệp khi áp dụng phương pháp
học cộng tác.
Trang 26Chương 2 CÁC CÔNG TRÌNH LIÊN QUAN 7
2.2 Các nghiên cứu về những đe doa đối với phương
pháp học cộng tác
Mặc dù có khả bảo vệ quyền riêng tư về di liệu người dùng, nhưng phươngpháp học cộng tác vẫn chứa đựng nhiều nguy hại và được dé cập bởi Nader
Bouacida và các cộng sự (5) Nhom tac gia nay da dé cap để việc phân loại những
tấn công thành hai loại chính dua trên mục đích tấn công: tan công với mục đíchlàm giảm độ chính xác của mô hình tổng hợp và tan công làm thay đổi khả năng
phân lớp của mô hình với mục đích cụ thể Trong ngữ cảnh của phương pháp
học cộng tác, nhiều nghiên cứu đã chỉ ra rằng cách tan công từ việc làm bẩn dữliệu ở các máy cộng tác khiến cho mô hình tổng hợp bị giảm độ chính xác đi rất
nhiều Dữ liệu bẩn ở đây có thể được tạo ra bằng cách lật các nhãn dit liệu ngược
lại với thực tế hoặc đưa một bộ dữ liệu giả để cho mô hình huấn luyện ở các máycộng tác bị phân lớp sai Jiale Zhang và các cộng sự đã trình bày về phương
pháp tạo ra một bộ dữ liệu giả dựa trên mạng sinh đối khang (GAN) Déng thoi,
nhóm tác giả cũng dé xuất phương pháp tan công làm ban đữ liệu bang mang
sinh đối kháng và đặt tên là PoisonGAN để làm giảm khả năng phân lớp của
phương pháp học cộng tác trên ba bộ dữ liệu quen thuộc: MNIST, F-MNIST, và
CIFAR-10.
2.3 Các nghiên cứu về giảm bớt những de doa đối với
phương pháp học cộng tác
Các nghiên cứu gần đây đã chỉ ra rằng phương pháp học cộng tác rat dé bị
ảnh hưởng bởi loại tan công đầu độc Vì vay, Sebastien và các cộng sự đã dé xuất
một phương pháp mới giúp bảo vệ phương pháp học cộng tác trước các loại tancông bí mật và đặt tên cho phương pháp này là BaFFLe [3] Trong nghiên cứu nay,
Trang 27Chương 2 CÁC CÔNG TRÌNH LIÊN QUAN 8
nhóm tác giả đã thực hiện trên hai bộ dữ liệu: CIFAR-10 và FMNIST, kết quả cho
thấy rang khả năng nhận diện được các tấn công của BaFFLe gần như là tuyệtđối với xác suất bỏ sót tan công đưới 5% Tương tự như vậy, Vale Tolpegin và các
cộng sự cũng trình bày phương pháp để tránh việc thay đổi nhãn dữ liệu
bằng cách xác thực mô hình máy học trước khi cập nhật lên mô hình chính
Tóm lại, đã có rất nhiều nghiên cứu về phương pháp học cộng tác trong nhiềuứng dụng khác nhau Các nghiên cứu này tập trung vào việc thực hiện tấn côngđầu độc và tìm cách hạn chế chúng Tuy nhiên, vẫn còn thiếu những nghiên cứuchuyên sâu để đảm bảo được hiệu năng của mô hình máy học xây dựng hệ thốngphát hiện tấn công dựa trên phương pháp học cộng tác Gần đây, BeiBei Li và các
cộng sự [11] da dé xuất phương pháp xây dựng hệ thống phát hiện tan công bằng
phương pháp học cộng tác Nhưng nhóm tác giả không dé cập đến vấn dé bảomật Bên cạnh đó thi Zhang và các cộng sự trình bày những loại tấn công đầu
độc nhưng lại thực hiện trên bài toán phân loại ảnh.
Trang 28mạng có thể theo hướng tích cực nghĩa là việc tấn công này này chỉ nhằm mục
đích tìm ra các lỗ hổng của hệ thống nhằm mục đích vá những lỗ hổng này làmcho hệ thống trở nên bảo mật hơn Bên cạnh đó cũng có những kẻ xấu luôn muốn
tìm cách thâm nhập vào hệ thống, các thiết bị của người khác nhằm mục đích
khai thác thông tin, phá hoại hệ thống và thậm chí có thể tống tiền từ các thông
tin nhạy cảm.
3.1.2 Hệ thong phát hiện tan công
Trước nguy cơ những cuộc tan công mạng diễn ra, các chuyên gia an ninh
mạng luôn cố gắng tìm cách xây dựng một hệ thống phát nhằm dự đoán được
những tấn công dựa trên lưu lượng mạng Hệ thống phát hiện tấn công (Intrusiondetection system - IDS) là một hệ thống giúp dua ra dự đoán giúp phát hiện một
Trang 29Chương 3 CƠ SỞ LÝ THUYẾT 10
lưu lượng mạng là bình thường hay độc hại nhằm giúp đưa ra các giải pháp kịpthời và phù hợp Tuỳ vào vị trí đặt và cách phản hồi của IDS khác nhau mà có các
loại IDS khác nhau[1
¢ NIDS: Network Intrusion Detection Systems được đặt ở vị trí mà có thể quét
hết toàn bộ lưu lượng mạng, nhưng việc này có thể làm giảm tốc độ mạng
gây ảnh hưởng đến trải nghiệm người dùng
¢ HIDS: Host Intrusion Detection Systems chạy trực tiép trên may chủ riêng
và chỉ giám sát các gói dữ liệu vào ra để đưa ra nhận định đây có phải là lưu
lượng mạng độc hại hay không.
© Signature-Based: nhận biết dựa trên chữ kí gần giống với cách hoạt động
của các phần mềm diệt virut Nhưng cũng bị gặp sai lầm nếu như các chữ
kí này chưa được cập nhật
* Anomaly-Based: phát hiện tấn công dựa trên các lưu lượng bat thường trên
cơ sở baseline đã định trước.
® Passive: chỉ phát hiện và gửi thông báo đến quản trị viên
© Reactive: phát hiện và làm một số hành động ngay lập tức để ngăn chặn lưu
lượng độc hại như khoá IP.
IDS có thể được tạo ra bởi các cách khác nhau Theo cách truyền thống các
chuyên gia nghiên cứu sẽ thống kê lại các cuộc tấn công và đưa ra bộ luật để xác
định được đâu là tấn công đâu là bình thường Nhưng cách này rất khó để pháthiện những tan công mới cũng như là khó cập nhật khi có thông tin các cuộc tan
công mới Vì vậy IDS máy học ra đời, giúp tạo ra các mô hình máy học với khả
năng liên tục cập nhật các dữ liệu mới để đưa ra dự đoán chính xác hơn
Thttps:/ /quantrimang.com/he-thong-phat-hien-xam-pham-ids-phan-1-37334
Trang 30Chương 3 CƠ SỞ LÝ THUYẾT 11
Hiện nay, IDS là một hệ thống quan trọng mà mỗi tổ chức, cá nhân cần trang
bị để hạn chế các cuộc tan công từ kẻ xấu Vì vậy vấn dé nghiên cứu về IDS, đặc
biệt là IDS máy học rất cần được quan tâm
3.2 Lý thuyết học sâu
Học sâu (Deep Learning - DL) là một nhánh của máy học (Machine Learning
- ML) Học sâu được giới thiệu bởi Masahiko Fukushima vào năm 1980, vào thời
đó Deep Learning không được ưu chuộng và được xem là không thiết thực vìmat quá nhiều thời gian để huấn luyện Bên cạnh đó vấn dé quá khớp di liệu(overfitting) cũng xảy ra do lượng di liệu còn quá ít Gần đây, với sự phát triểncủa các thiết bị phần cứng đặc biệt là bộ xử lí đồ hoạ (Graphics Processing Unit -
GPU) đã cung cấp khả năng xử lí song song giúp việc huấn luyện các mạng học
sâu trở nên dễ dàng hơn Bên cạnh đó với lượng dữ liệu lớn như hiện nay giúp
cho mang học sâu dé tạo ra được mô hình với độ chính xác cao Đến nay DeepLearning đang là xu thế của ngành máy học
3.2.1 Mạng nơron nhân tạo
Mạng nơron nhân tạo (Artificial neural networks - ANNs) là việc mô phỏng
lại mạng nơron có não người trên máy tính, với mong muốn giúp máy tính có khảnăng tiếp thu các kiến thức như con người
Mỗi mạng ANNs gồm ba phần chính: đầu vào (Input), các lớp ẩn (Hidden
Layers) và đầu ra (Output) Cấu tao của mang ANNs được mô tả như hình 1]
Nhìn chung, mang ANNs giống như một đồ thị gồm các đỉnh và các đỉnh này
liên kết với nhau thông qua cạnh có hướng Ở mỗi lớp gồm nhiều nơron tương
ứng với các đỉnh của đồ thị Mỗi nơron của lớp trước liên kết đầy đủ với các nơron
ở lớp sau vì vậy có thể gọi đây là mạng liên kết day đủ (Fully Connected) Trên
Trang 31Chương 3 CƠ SỞ LÝ THUYẾT 12
Input layer hidden layer 1 hidden layer 2 output layer
HÌNH 3.1: Mô tả cau tạo mạng nơron nhân tạo - ANNs
mỗi cạnh của đồ thị có chứa một con số được gọi là trọng số (weight) Để tính giátrị tại một nơron ta lấy tổng các tích của giá trị nơron liên kết đến nó và trọng sOtrên cạnh liên kết đó Các thao tác tính toán này sẽ được tính từ lớp ẩn đầu tiên
dựa trên các giá trị của đầu vào và tính như thế cho đến khi có giá trị của đầu
ra Đem kết quả đầu ra của mạng nơron so sánh với kết quả đầu ra mong muốn,
ta sẽ tính ra được chênh lệch giữa hai kết quả này Và đây cũng chính là cơ sở đểthay đổi các trọng số phù hợp với dữ liệu
Hàm dùng để tính được độ chênh lệch này được gọi là hàm mat mát (lossfunction) Tuy vào từng bài toán cụ thể ma ham mất mát này sẽ được định nghĩakhác nhau Ví dụ, đối với bài toán hồi quy tuyến tính, cụ thể hơn là bài toán dự
đoán giá nhà kinh điển thì hàm mất mát có thể được tính bằng trung bình bình
phương độ chênh lệch giữa giá nhà thực tế và giá dự đoán Trong trường hợptính ra giá trị bằng 0 nghĩa là không có sự chênh lệch giữa dự đoán và thực tế thì
Trang 32Chương 3 CƠ SỞ LÝ THUYẾT 13
quá lí tưởng Nhưng trong thực tế thì gần như không có mô hình máy học nào có
thể làm được điều này mà chỉ là có gang để ít chênh lệch nhất có thể mà thôi
Khi tính hàm mất mát có giá trị lớn thi máy tính sẽ tiến hành điều chỉnh cáctrọng số sao cho giá trị này phải càng nhỏ dần đi Việc điều chỉnh các trọng số
này cần phải dựa trên một chiến lược tối ưu nào đó Có rất nhiều chiến lược tối
ưu khác nhau, một trong những chiến lược phổ biến nhất có thể kể đến là chiếnlược tối ưu dựa trên đạo hàm của hàm mat mát Thông tin dao ham mang lai cóthể cho biết được xu hướng của hàm số là tăng hay giảm Vì vậy nếu như hàm sốđang tăng, khi đi ngược lại có khả năng rất cao là tìm được bộ trọng số làm chohàm mất mát có giá trị thấp hon
Sau khi đã xác định được hướng đi, bước tiếp theo là cần phải xác định xem
bước đi có độ dài bao nhiêu Kích thước của bước đi này được gọi là learning rate.
Việc lựa chọn learning rate sẽ còn phụ thuộc vào dữ liệu va chiến thuật dùng đểtối ưu
Da phan các thao tác tính toán trên mạng ANN chỉ phép tuyến tính vì chỉ thựchiện hai thao tác là nhân và cộng Để cho mạng ANN có khả năng thích ứng vớinhiều trường hợp hơn người ta sẽ bổ sung vào đó các phép tính phi tuyến thôngqua hàm kích hoạt Có một số hàm kích hoạt thông dụng như sau:
¢ Ham sigmoid có phạm vi giá tri từ 0 đến 1 và tính theo công thức|3.1|
Trang 33Chương 3 CƠ SỞ LÝ THUYẾT 14
¢ Hàm ReLU giúp cho giá trị về không âm và tính theo công thức|.3]
ReLU(x) = max(0,x) (3.3)
Tóm lại, quá trình huấn luyện mạng nơron nhân tạo là quá trình tìm bộ trọng
số sau cho độ chênh lệch giữa kết quả tạo ra từ ANNs và thực tế là thấp nhất
3.2.2 Mạng tích chập
Mang ANNs giải quyét được rất nhiều lớp bài toán khác nhau Nhưng khi
kích thước của đầu vào lớn thì sẽ dẫn đến việc bộ trọng số cũng tăng lên đáng
kể, đặc biệt là khi huấn luyện với đữ liệu là hình ảnh mỗi điểm ảnh là một đặc
trưng đầu vào Ví dụ, một ảnh có kích thước 1000 x 1000 khi đi qua một lớp ẩn có
100 nơron (đầu vào càng lớn thì lớp ẩn phải có số nơron càng lớn để đảm bảo đủtrọng số huấn luyện) thì phải tốn 1000 x 1000 x 100 = 100.000.000 trọng số cholớp ẩn đầu tiên Với số lượng trọng số lớn như vậy việc huấn luyện trở nên khókhăn hơn rất nhiều và đó cũng là động lực để cho mạng tích chập ra đời
Mạng tích chập (Convolutional Neural Network - CNN) là mạng học sâu dựa
trên phép nhân tích chập và có chia sẻ bộ trọng số giữa các vùng ảnh cục bộ với
nhau Phép nhân tích chập trên ảnh là phép biến đổi ảnh bằng việc nhân từngvùng cục bộ của ảnh cho một bộ lọc (kernel) Vì vậy néu sử dung ví dụ trên và áp
dụng CNN với kích thước kernel là 10 x 10 thì ta chỉ sử dụng có 10 x 10 = 100
trọng số khi đi qua lớp ẩn đầu tiên Số lượng trọng số đã giảm đi 1 triệu lần Việcgiảm đi số trọng số giúp cho việc lưu trữ và tính toán đễ dàng hơn
Mạng CNN dần dần đã đóng vai trò quan trọng trong lĩnh vực thị giác máytính (Computer Vision) Vì khi đi qua các lớp tích chập sẽ tạo ra được các bản déđặc trưng (feature maps) mà các bang đồ đặc trưng này sẽ chứa thông tin cấpcao (high level feature) những thông tin này tuy người nhìn không thể hiểu được
Trang 34Chương 3 CƠ SỞ LÝ THUYẾT 15
HINH 3.2: Mô tả cấu tao mang noron hồi quy - RNNs
nhưng máy sé phân biệt được rất dé dang do đó chiếm được lợi thé trong bai
toán phân lớp ảnh Đồng thời các feature maps cũng giữ được các thông tin vềmặt không gian giúp cho bài toán xác định đối tượng trong ảnh trên nên dé dànghơn Ngoài ra có nhiều CNN biến thể khác nhau đáp ứng yêu cầu ngày càng cao
của lĩnh vực thị giác máy tính.
3.2.3 Mạng nơron hoi quy
Đầu tiên, ta xét đến bài toán trong lĩnh vực xử lí ngôn ngữ tự nhiên Để làm
được bài toán này đòi hỏi chúng ta phải quan tâm đến thứ tự trước sau của các
từ trong câu Ví dụ như hai câu "Em ăn cơm chưa” và "Em chưa ăn cơm” khi áp
dung ANNs có thể các đặc trưng trích xuất ra từ hai câu này là như nhau do các
từ trong hai câu là hoàn toàn giống nhau Nhưng trong thực tế về mặt ý nghĩa
và mục đích sử dụng của hai câu này là hoàn toàn khác nhau Vì thế mạng nơron
hồi quy (Recurrent Neural Network - RNN) ra đời để giải quyết vấn đề trên
Mạng RNN là mạng học sâu giúp trích xuất các thông tin dưới dạng chuỗi
và đảm bảo được thứ tự nội dung của chúng Cấu tạo của RNN được mô tả ở
hình|3.2Ì Có thể thay, các thành phan trong chuỗi thông tin sẽ được thực hiện qua
các bước giống nhau và được lặp lại cho đến khi hết chuỗi Khi trích xuất đến cácđặc trưng cuối cùng thì có thể dùng kết quả để sử dụng cho nhiều bài toán khácnhau: dự đoán từ tiếp theo, phân lớp văn bản,
Trang 35Chương 3 CƠ SỞ LÝ THUYẾT 16
HÌNH 3.3: Mô tả cau tạo mạng bộ nhớ dài ngắn - LSTM
Mặc dù, các đặc trưng được trích xuất từ RNN có đảm bảo được thứ tự nộidung nhưng RNN lại không có khả năng nhớ được các thành phần ở xa Do đã
qua quá nhiều phép biến đổi dẫn đến hiện tượng mất gradient Vì vậy để giảiquyết van dé này thì mạng bộ nhớ dài ngắn (long short term memory - LSTM)
được ra đời.
Mạng LSTM là mạng RNN có khả năng nhớ được các nội dung ở xa nhau
trong chuỗi thông tin Và có cấu tạo như hình |3.3| Về cầu tạo ở mỗi ô nhớ của
LSTM sẽ phức tạo hơn RNN, bởi vì nó bổ sung thêm trục thông tin ngữ cảnh Vì
vậy kết quả ở mỗi ô nhớ không chỉ là giá trị của trạng thái ẩn h; như RNN nữa, mà
còn đi kèm với một giá trị lưu giữ thông tin ngữ cảnh c; Việc lưu trữ các thông
tin ngữ giúp cho LSTM có thể giải quyết được van dé phụ thuộc xa
Mạng GRU là một phiên bản thu nhỏ của LSTM và có cấu tạo như hình 8.4]
Mục đích chính của GRU là bỏ đi một số thao tác tính toán nhằm tối ưu khả năng
Trang 36Chương 3 CƠ SỞ LÝ THUYẾT 17
h[t-1] h[t]
x[t]
HINH 3.4: Mô tả cau tạo mang GRU
tính toán ở mỗi 6 nhớ va tăng tốc đáng kể trong quá trình huấn luyện
3.2.4 Mạng sinh đối kháng
Với nhu cầu ngày càng cao của xã hội, con người mong muốn máy tính cũng
có sự sáng tạo như họ Thay vì chỉ đơn thuần là cho gì học nấy, thì máy tính có
thể tự sinh ra dữ liệu mới Từ đó mạng sinh đối kháng được ra đời.
Mạng sinh đối kháng (Generative Adversarial Networks - GANs) là mô hìnhmạng gồm hai thành phần đối nghịch nhau Thành phan sinh (Generator) sẽ có
gắng huấn luyện để sinh ra dữ liệu giống với thực tế nhất có thể Thành phan
phân biệt (Discriminator) sẽ được huấn luyện để phân biệt giữa dữ liệu thực tế
và dữ liệu được sinh ra bởi Generator Hai thành phần này được huấn luyện song
song với nhau Với mong muốn cuối cùng là làm sao để cho Generator tạo ra dữ
liệu mà Discriminator không phân biệt được đâu là thật đâu là giả.
Trang 37Chương 3 CƠ SỞ LÝ THUYẾT 18
3.3 Local Outlier Factor
Local Outlier Factor (LOF) là phương pháp dùng dé phát hiện ra các phan tửbat thường dựa trên các điểm lân cận của chúng Phương pháp này được dé xuất
trong bài báo [6] Dưới đây tôi xin phép mô tả phương pháp tính LOF thông qua
Trang 38Chương 3 CƠ SỞ LÝ THUYẾT 19
Đầu tiên, tôi xin dé cập đến khái niệm k-distance Đây là khái niệm cơ sở nhất
để có thể tính được LOF k-distance của một điểm là khoảng cách từ điểm đó đến
điểm gần thứ k Xuyên suốt trong các ví dụ bên dưới, tôi sẽ sử dụng k = 2
Ở hình |3.6| ta có điểm C là điểm gần nhất với O, tiếp theo là điểm A hoặc
điểm B do cả hai điểm này đều có khoảng cách đến O là bằng nhau Do đó
k_distance(O) = OA = OB = J24+2 = v5.
Trang 39Chương 3 CƠ SỞ LÝ THUYẾT 20
Tiếp theo là khái niệm k-neighbors, k-neighbors, kí hiệu N¿( ), là tập hợp các
điểm dữ liệu nằm trong phạm vi bán kính k-distance Do đó, N,(O) = {A,B,C}
Từ đây, ta nhận thấy số lượng phần tử k-neighbors luôn lớn hơn hoặc bằng k
Từ các phần tử k-neighbors được tính ở trên, chúng ta sẽ lấy ra lần lượt từng
phần tử để tinh reachability distance so với O reachability distance của hai
điểm được định nghĩa là độ dài lớn nhất giữa k-distance của điểm thứ hai và
khoảng cách giữa hai điểm Hay nói cách khác, reachability distance của hai
điểm sẽ là k-distance của điểm thứ hai nếu như điểm thứ nhất là điểm lân
cận (thuộc tập k-neighbors của điểm thứ hai) và ngược lại nếu như điểm thứ
nhất không phải điểm lân lận của điểm thứ hai thì reachability distance sẽ bằng
khoảng cách giữa hai điểm đó.
Ta có Nx(O) = {A,B,C} Vì vậy ta sẽ lần lượt tính reach_dist(O, A), reach_dist(O,B)
và reach_dist(O,C).
Vì C gần O nhất nên tôi sẽ tính reach_dist(O,C) trước, như hình ta có
reach_dist(O,C) = max(k_distance(C),OC) = AC Bởi vì điểm gần C nhất là điểm
O và sau đó đến điểm A nên k_distance(C) = AC = V12 +12 = v2là đoạn thẳng
liền nét màu xanh lam trên hình|3.7} Bên cạnh đó, khoảng cách giữa O và C là độ
đài đoạn OC = 1 là đoạn thẳng đứt nhét màu đỏ trên hình|B.7]
Ngoài ra, ta cũng có thé dé dang thấy rằng N;(C) = {O, A} Vì O là điểm lân
cận của C (thuộc tập k-neighbors của C) nên reach_dist(O,C) = k_đistance(C).
Tương tự như trên, ta có thể tính được reach_dist(O,A) và reach_dist(O,B)
tương ứng là độ dài đoạn AO đoạn liền nét màu xanh lá ở hình 8| và độ dài
đoạn BO đoạn liền nét màu cam trên hinh{3.9}
Trang 40Chương 3 CƠ SỞ LÝ THUYẾT 21
HÌNH 3.7: Reachability distance của điểm O và điểm C, với k = 2