Trong quá trình thực hiện, chúng tôi đã tiến hành thu thập, phân tích, xử lí và tổnghợp các bộ dữ liệu liên quan đến các cuộc tấn công vào mạng CAN Bus, đồng thời nghiên cứu và áp dụng c
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG
LÊ TIỀN PHONG - 19522010 TRAN NHƯ PHÁT - 19520211
KHÓA LUẬN TÓT NGHIỆP
XÂY DUNG HE THONG PHAT HIỆN TAN CÔNG CHO
HE THONG MANG CAN BUS
BUILDING AN INTRUSION DETECTION SYSTEM FOR CONTROLLER AREA NETWORK (CAN) BUS SYSTEM
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
TS LE KIM HUNG
TP HO CHi MINH, 2023
Trang 2LỜI CẢM ƠN
Nhóm thực hiện xin được gửi lời cảm ơn chân thành đến những người đã đóng góp và hỗ
trợ chúng em trong quá trình nghiên cứu và hoàn thành bài luận văn nay.
Trước hết, chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn, thầy Lê Kim
Hùng về những chỉ dẫn, hỗ trợ và những gợi ý quý giá của thầy Nhờ có thầy hỗ trợ mànhóm chúng em đã phát triển ý tưởng và thực hiện nghiên cứu một cách hiệu quả
Chúng em cũng muốn bày tỏ lòng biết ơn đến tất cả các giảng viên và cán bộ khoa Mạng
máy tính và Truyền thông, cũng như tat cả các thầy cô khác đã và đang công tác tại trườngĐại học Công nghệ Thông tin, đã chia sẻ kiến thức, kinh nghiệm và các bài học quý giátrong suốt quá trình chúng em học tập tại trường Sự đồng hành và sự hỗ trợ của các thầy
cô đã tạo điều kiện thuận lợi để chúng em hoàn thành bài luận văn này Chúng em xinkính chúc khoa Mạng máy tinh và Truyền thông nói riêng, và trường Dai học Công nghệ
Thông tin nói chung ngày càng thành công trên con đường giảng dạy, trở thành môi
trường học tập và rèn luyện tốt nhất cho các thé hệ sinh viên tiếp theo trên con đường
giáo dục.
Bên cạnh đó, chúng em xin gửi lời cảm ơn đên gia đình và bạn bẻ đã luôn đứng bên cạnh
và cô vũ chúng em trong suôt quá trình học tập và nghiên cứu, giúp chúng em có thêm
động lực dé hoàn thành quá trình học tập đến ngày hôm nay
Cuối cùng, chúng em xin chân thành cảm ơn các anh, chị và các bạn sinh viên tại trườngĐại học Công nghệ Thông tin đã luôn nhiệt tình hỗ trợ, chia sẻ và góp ý cho nhóm chúng
em trong suốt thời gian thực hiện khóa luận
TP Hồ Chí Minh, ngày tháng năm 2023
Nhóm tác giả
Trang 3ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌCCÔNG NGHỆ THÔNG TIN
BUILDING AN INTRUSION DETECTION SYSTEM FOR CONTROLLER AREA
NETWORK (CAN) BUS SYSTEM
Cán bộ hướng dẫn: TS Lê Kim HùngThời gian thực hiện: Từ ngày 01/03/2023 đến ngày 15/06/2023
Sinh viên thực hiện:
Lê Tiến Phong - 19522010Trần Như Phát - 19520211
Trang 4Nội dung đề tài:
Mục tiêu nghiên cứu:
+ Tìm hiểu về trí tuệ nhân tạo (AI — Artificial Intelligence) và khả năng ứng dung của AI
vào các hệ thống phát hiện xâm nhập
+ Tìm hiểu cách thức hoạt động của hệ thong mang CAN Bus (Controller Area Network)
va anh hưởng của các loại tan công khác nhau lên hệ thông mang.
+ Tìm hiểu, thử nghiệm va áp dụng vào xây dựng hệ thống phát hiện các cuộc tan công
đối với hệ thống mạng CAN Bus
+ Thử nghiệm và đề xuất được mô hình trí tuệ nhân tạo có khả năng phát hiện tốt các tất
công đối với hệ thống CAN Bus
Đối tượng nghiên cứu: Các tắn công khác nhau nhắm vào hệ thống mạng CAN Bus và việc
áp dụng trí tuệ nhân tạo dé phát hiện một cách hiệu quả các tan công vào hệ thống này
Phạm vỉ nghiên cứu: Nghiên cứu sự ảnh hưởng của các cuộc tân công khác nhau vào hệ thông mang CAN Bus.
Phương pháp thực hiện:
e Cơ sở lý thuyết:
+ Tìm hiểu và phân tích định dang tin nhắn trong hệ thống CAN Bus
+ Tìm hiểu sự ảnh hưởng của các tấn công khác nhau lên hệ thống CAN Bus
e Thu thập và tong hợp các bộ dir liệu về tan công vào hệ thông CAN Bus:
+ Thu thập các bộ dữ liệu khác nhau về các loại tấn công lên hệ thống mạng CANBus.
Trang 5+ Tìm hiểu các thuật toán và mô hình trí tuệ nhân tạo khác nhau.
+ Cài đặt các thuật toán trên môi trường Google Colab.
+ Tiên hành huân luyện các mô hình đê xuât với các bộ dir liệu, đánh giá các két qua
thu được.
+ Chọn lọc và đề xuất được mô hình có khả năng phát hiện tấn công tốt nhất đối vớicác cuộc tan công CAN Bus
- Két quả mong đợi:
+ Báo cáo kết qua tong hợp được về kha năng phát hiện tấn công đối với hệ thống CAN
Bus áp dụng các mô hình trí tuệ nhân tạo khác nhau.
+ Thu thap,tong hop, xử lí các bộ đữ liệu liên quan về tan công vào hệ thống CAN Bus.Xây dung được một thư viện cung cấp các dif liệu liên quan dé phục vụ các nghiên cứu
liên quan.
+ Đề xuất được một mô hình trí tuệ nhân tạo có khả năng phát hiện tốt tấn công, có thể
áp dụng vào các hệ thống CAN Bus
- _ Công nghệ liên quan đến đề tài:
+ Sử dụng Google Colaboratory, Jupyter Lab dé cai đặt và huấn luyện các mô hình
+ Sử dụng các framework Scikit-Learn, Pandas để huấn luyện
- Tinh mới dé tài: Đề xuất được một mô hình với khả năng phát hiện tan công tốt hơn
các mô hình trí tuệ nhân tạo truyền thống Mô hình mới này có thể được áp dụng lên
hệ thống CAN Bus dé tăng độ chính xác và hiệu suất phát hiện các tấn công.
- _ Kế hoạch thực hiện:
Thời gian Công việc Phân công
Cài đặt môi trường Anaconda.
09/03/2020 — 26/03/2020 | Tìm hiểu python, pandas,
framework scikit-learn và công nghệ trí tuệ nhân tạo.
Trang 6Học các kỹ thuật giải quyếtunbalanced dataset Ap dung
cac ky thuat nay dé balance
lại tập Syscan va thử với mô
Tìm hiểu phương pháp
one-class one-classification train
model trên nhãn 0.
Áp dụng cho 4 thuật toán
SVM, isolation forest, elliptic envelope va local outlier
factor vào các dataset.
15/04/2023 — 30/04/2023
Check lại kết quả của 4
model one - class
classification với tham số
contamination là ty lệ
abnormal/tan công trên tổng
sô sample.
Chạy lại Model Random
Forest trên các dataset không
có săn label và xóa Feature
CANID.
Trang 7đã sử dụng và cách xử lý của
các dataset này (cách gán nhãn, label_encoding ).
01/05/2023 — 15/05/2023 Áp dụng phương pháp One —
class classification lên tất cả
6 dataset và tim ra dataset có
két qua kha quan lam trong
tam train.
Chay thử model Random
Forest kết hợp với CNN trên
python cho phép người dùng
download 6 dataset đã tông
Trang 830/05/2020 - 27/06/2020 Chuẩn bị bảo vệ khóa luận.
Hoàn thành khóa luận.
Trang 9Xác nhận của CBHD
TS Lê Kim Hùng
TP HCM, ngày tháng năm 2023
Sinh viên 1 Sinh viên 2
Lê Tiến Phong Trần Như Phát
Trang 10MỤC LỤC
DANH MỤC HÌNH -2-2 2E cevzvzreseez
DANH MỤC BẢNG - +5 cscx+eczzxzeez
DANH MỤC TU VIET TẮTT - - s+s+s+z
TOM TAT KHÓA LUẬN - se:
Chương 1.
1.1 Tên đỀ tài -.scccccccecrcrersrrerses
1.2 Đặt vấn đề -ccccccrcxsrerrreseee
1.3 Mục tiêu của dé
tài -.c -e-1.4 Đối tượng và phạm vi nghiên cứu
1.4.1 Đối tượng nghiên cứu
1.4.2 Pham vi nghiên cứu
Chương 2. CƠ SỞ LÝ THUYÉT
2.1 Controller Area Network - CAN
2.1.1 2.1.2. Tổng quan về mạng CAN
Các môi de dọa vê bảo mật
2.2 Các mô hình học máy
. -2.2.1 2.2.1.1 2.2.1.2 2.2.1.3 2.2.1.4 2.2.1.5. Các mô hình học máy truyền thốn Random Forest Classifier
K-Neighbor Classifier
TabNet Classifler
Decision Tree Classifier
Quadratic discriminant analysis 5
Trang 112.2.1.6 Gaussian Naive Bay€S HH HH HH HH nh 10 2.2.1.7 Perceptron AlgOrithm - + x1 k vn Hiệp 11 2.2.1.8 Passive Aggressive Classifier cccccecccsssecssecesneceseeeeseeeeeeeseeenees 12 2.2.1.9 Stochastic Gradient Descent Classifier -«+<s«2 13
2.2.2 Các công cu hoc máy tự động - + c + sssiresrrrrrrrrrsee 14
2.2.2.1 TROT oe o 14 2.2.2.2 PyCaret eeceecccessessnecescecsseeeeeessaecesceceeecseeeaeceeaeceeesseeseaeeeseeeeaes 15 2.2.2.3 Auto SKÏ€arn - ng TH nh ngờ 15 2.2.3 Các mô hình học sâu . - Ă E2 11112111 111511 111511185111 xxx 15
2.2.3.1 Convolutional Neural Network — CNN -. ccc+<<ss2 15
2.2.4 Các mô hình học máy kết hop (hybrid mode]) -5- 2-52 16
2.2.4.1 CNN - Random FOT€SỂ - - s5 + 1231133 E*9kEsskEeseeeesee 16
Trang 123.5.3 Cách thức hoạt động - L1 S9 HH ng ng Hit 30
3.5.4 Phương thức sử dụng - ship 30
Chương4 THỰC NGHIỆM VÀ DANH GIA - 2-2 se+++x+rserxeei 31
4.1 Các bộ dữ liệu về CAN Bus -cccccccttittrtrrttrrirrrtririrrirrrrirrii 31
4.1.1 SynCAN dataset - Synthetic CAN Bus data < 52 31 4.1.2 CAN Dataset for Intrusion detection (OTTIDS) - 32
4.1.3 Survival Analysis Dataset for Automobile IDS 33 4.1.4 Car hacking for Intrusion DefecfIOn s5 ++<sc+ssccsseesses 34
4.1.5 | Automotive CAN Bus Intrusion Dataset v2 c «++<+2 36
4.1.6 Real ORNL Automotive Dynamometer (ROAD) CAN Intrusion Dataset
37
4.1.7 Xử lí đữ liệu — Trích xuất đặc 011 - 37
4.1.7.1 Xử lí dữ liỆU - QC HS Hy 37
4.1.7.2 Trích xuất đặc trưng — Features extraction -scs s2 40
4.2 Thực nghiệm bộ dữ liệu SynCAN với các mơ hình học máy truyền thống và các
cơng cụ tự đỘn - c k1 1111111191 n TH TH TH TH TH TH HH HH 40
4.2.1 Sklearn Random Forest CÏaSSITIT - 5512k sssvesseseee 40 4.2.2 | TPOT— Automated machine learning tOỌ -« -«<+<<s+2 42 4.2.3 KNeIghbors CÏasSIÍI€T G- SH ng ng 43 4.2.4 TabNet CÏasSIÍI€T HH HH ri 45 4.2.5 _ PyCaret— Automated machine learning tool « «<+ 47 4.2.6 Decision Tree CÏaSSIÍI€T Ăn HH ng rưệt 48 4.2.7 AutoSklearn— Automated machine learning tool - ‹ 50
Trang 134.3 Thực nghiệm phương pháp One-class classification áp dung cho 4 thuật toán
SVM, Isolation forest, Minimum Covariance Determinant và Local outlier factor5 1
4.3.1 One-class classification cho SVM nghiệt 51 4.3.2 One-class classification cho Isolation ÍOr€Sf - ‹ -«+-s«2 54 4.3.3 One-class classification cho Minimum Covariance Determinant 55
4.3.4 One-class classification cho Local outlier faCtOr - 56
4.4 Thực nghiệm với mô hình CNN kết hợp SVM - - 2-2 se ee: 58
4.5 Mô hình LSTM kết hop CNN dé xuate c.cecceccccccccscesesseseesessessesessestesseaees 60
4.6 Thử nghiệm với các mô hình phô biên và so sánh kêt quả với mô hình đê xuat
63
4.6.1 Quadratic Discriminant AnaÌyS1S -s- 55s <++<s++sexsseeeesees 63
4.6.2 Gaussian Naive Baye©S ch nHnnHHnHnHHnHnH kg 66
4.6.3 Perceptron AlgorIthm - - «- c 11k ng 69 4.6.4 Passive Agressive CÏaSSIÍIGT - SG HH ng kg 71
4.6.5 Stochastic Gradient Descent CÏassIfIer - «+-s<<<<++s+2 74
4.7 So sánh kết quả thực nghiệm với các nghiên cứu khác - 76
Chương 5 | TONG KET VÀ HƯỚNG PHÁT TRIÉN 2-5 5z: 78
5.1 Tổng kết -c St TT 1121121121111 11 1101121121111 11111 111gr g 78
5.2 Hướng phat trin - + ++E+2EE+EESEEEEE2E12E17171121111 7121.211 crxe 79
TÀI LIEU THAM KHẢO - 5-56 SE SE‡EEEESEESEEEESEEEEEEEEEEEEEEEEEEEEkEEkrkrrkrkrrvee 80
Trang 14DANH MỤC HÌNH
Hình 2-1: Cơ chế hoạt động của Random TFOT€S - s5 S5 + ++vvseeereeeerseees 6Hình 2-2: Cơ chế hoạt động của K-Neighbor Classifier ¿5-5 s2 s+cs+£zzs2 7Hình 2-3: Cơ chế hoạt động của Decision “TT€€ - - - + tk tre 9Hình 2-4: Công thức phân phối Gaussian Naive Bayes - 2 2+ sccccsz 11
Hình 2-5: Bài toán Perceptron ce eeeescecssceessecescecesceeeeeesaeesseecseeeseeesaecesaeeeneeseaes 12
Hình 2-6: Cơ chế của thuật toán Passive Aggressive -:-©5c©ccccccccerecres 13
Hình 2-7: Cơ chế hoạt động của TPOTT ¿2-2 E+EE+EE+E£+E£E£Eerkerxerkersrree 14Hình 2-8: Cơ chế hoạt động của CNN - - c H HH HS HH HH ng krưưn 16Hình 3-1: Mô hình phát hiện tan công ¿- 2: +¿©2+++¿+Ex+2E++Ex+erxezrxrrreeree 19
Hình 3-2: Tinh Accuracy trên SKÏ€aT7Tn - - - G5 + 1111 1 1 ng ng 21
Hình 3-3: Confusion matrix c- 2 2c 0112308951901 910 191v vn nh nh rn 22
Hình 3-4: Luồng hoạt động của thư viện CANDataloader : s¿2=5+ 29
Hình 4-1: Quy trình xử lí các bộ dữ liệu - ¿+25 +2 +E+seerseeeeeerereers 38
Hình 4-2: Quy trình xử lí bộ dữ liệu Automotive CANBus Intrusion Dataset v2 39
Hình 4-3: Sơ đồ luồng hoạt động của Random Foresi : 2 s¿cszs+c++ 41Hình 4-4: So đồ luồng hoạt động của TPPOTT 2-2 2+ £+++£E+£E++Es+rxerxezez 42Hình 4-5: Sơ đồ luồng hoạt động của KNeighbors - 2-2 252 x+cxzs+zsz +2 43Hình 4-6: Sơ đồ luồng hoạt động của TabÌNet 2-5 2 22££+E+Ee£Eerxerxersree 45Hình 4-7: Sơ đồ luồng hoạt động của PyCaret - 2 z+cz+xecxerxerxerxersrree 47Hình 4-8: Sơ đồ luồng hoạt động của Decision Tree Classifier - 48Hình 4-9: Sơ đồ luồng hoạt động của Auto Sklearn -s:©s¿©csz+cs+cs+sc+z 50Hình 4-10: Sơ đồ mô hình CNN kết hợp SVM 2-©2¿©22 ++xvzEczrxerxerxcrex 58Hình 4-11: Sơ đồ mô hình LSTM kết hợp CNN ¿- 2: 22 ©5z+cx2zxvcxesree 60Hình 4-12: Sơ đồ hoạt động của Quadratic Discriminant Analysis 64Hinh 4-13: So dé hoat động của Gaussian Naive Bayes se 67Hình 4-14: Sơ đồ hoạt động của thuật toán Perceptron - -s sex 69Hình 4-15: Sơ đồ hoạt động của Passive Aggressive Classifier 71
Hình 4-16: So đồ hoạt động của Stochastic Gradient Descent - ‹ 74
Trang 15DANH MỤC BANG
Bảng 3-1: Các giai đoạn thực hiỆn óc 3c 1321139111 9111111 11 811 re 25
Bang 3-2: Các layer của mô hình dé xuất - 2 2 s2 +2 +2 E£+E+Ee£Eerxerxerszxee 27 Bảng 4-1: Tổng hợp số lượng tin nhắn trong bộ dữ liệu Survival Analysis Dataset
for Automobile [IDS - -.- - + s1 vn ng TH Hư 34
Bảng 4-2: Tổng hợp số lượng tin nhắn trong bộ Car hacking for Intrusion Detection
35
Bang 4-3: Kết quả thu được khi thử nghiệm SynCAN và Random Forest 42
Bang 4-4: Kết quả thu được khi thử nghiệm SynCAN và KNeighbors 44
Bảng 4-5: Kết quả thu được khi thử nghiệm SynCAN và TabNet 46
Bảng 4-6: Kết quả thu được khi thử nghiệm SynCAN va Decision Tree 49
Bảng 4-7: Kết quả thu được khi thử nghiệm SynCAN và AutoSklearn 51
Bang 4-8: Kết quả thu được khi thử nghiệm One-class SVM - 54
Bang 4-9: Kết quả thu được khi thử nghiệm One-class isolation forest - 55
Bang 4-10: Kết quả thu được khi thử nghiệm Minimum Covariance Determinant 56 Bảng 4-11: Kết quả thu được khi thử nghiệm Local Outlier Fator - 57
Bảng 4-12: Kết quả thu được khi thực hiện thử nghiệm với mô hình CNN — SVM60 Bảng 4-13: Kết quả thu được khi thực hiện thử nghiệm mô hình CNN — LSTM 63
Bảng 4-14: Kết quả thu được khi thực hiện thử nghiệm Quadratic Discriminant 1 5100 HH -: 66
Bang 4-15: Kết quả thu được khi thực hiện thử nghiệm Gaussian Naive Bayes 68
Bảng 4-16: Kết quả thu được khi thực hiện thử nghiệm thuật toán Perceptron 71
Bảng 4-17: Kết quả thu được khi thực hiện thử nghiệm Passive Aggressive Classifier 73
Bảng 4-18: Kết quả thu được khi thực hiện thử nghiệm Stochastic Gradient Descent Bang 4-19: Bảng so sánh các chỉ số trên bộ dit liệu Car Hacking 77
Trang 17DANH MỤC TU VIET TAT
TU NOI DUNG DIEN GIAI
Giao thức truyền thông nỗi tiếp hỗCAN Controller Area Network trợ những hệ thống điều khién thời
gian thực
AI Artificial Intelligence Trí tuệ nhân tạo
CNN Convolutional Neural Network Mang no ron tich chap
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
SVM Support Vector Machine May véc tơ hỗ trợ
QDA Quadratic Discriminant Analysis Phân tích phân biệt
Thuật toán Stochastic Gradient
SGD Stochastic Gradient Descent
Descent
Trang 18TÓM TẮT KHÓA LUẬN
Sự phát triển nhanh chóng của xe tự lái va xe thông minh trong thời gian qua khiếncho chúng trở thành mục tiêu mới cho các hacker trên mỗi hành trình Cốt lõi của xe tự lái,mạng CAN Bus, là một hệ thống liên kết các thiết bị điện tử trong ô tô, cho phép truyền
thông tin và điều khiển các thành phần khác nhau dé vận hành phương tiện Chính vì vậy,
việc bảo vệ hệ thông mạng CAN Bus khỏi các tan công từ bên ngoài trở nên cực kỳ quan
trọng Các tấn công như tấn công tu chối dịch vụ (DoS), chèn tin nhắn giả mạo, có thể
trực tiếp gây ảnh hưởng, thay đổi hành vi của phương tiện, gây nguy hiểm trực tiếp đếnngười dùng trong mỗi chuyến đi
Trong quá trình thực hiện, chúng tôi đã tiến hành thu thập, phân tích, xử lí và tổnghợp các bộ dữ liệu liên quan đến các cuộc tấn công vào mạng CAN Bus, đồng thời nghiên
cứu và áp dụng các thuật toán trí tuệ nhân tạo vào việc phân tích tin nhắn dé phát hiện các
tân công một cách có hiệu quả nhât.
Thông qua đề tài khóa luận này, chúng tôi mong muốn sẽ mang lại được một thưviện chuyên cung cấp dữ liệu về CAN Bus, và đề xuất được một mô hình trí tuệ nhân tạo
có hiệu suat tot, đóng góp vào các nghiên cứu vê hệ thông mạng CAN Bus về sau.
Trang 19Chương 1 MỞ DAU
1.1 Tên đề tài
XÂY DUNG HỆ THONG PHAT HIỆN TAN CONG CHO HE THONG
MANG CAN BUS
(Building an Intrusion Detection System for Controller Area Network (CAN)
Bus System)
1.2 Đặt van đề
Hệ thống mang CAN Bus đã trở thành một phan quan trọng trong lĩnh vực 6 tô
và điện tử Với khả năng truyền thông tin nhanh chóng và đáng tin cậy, CAN Bus cho
phép các thành phần điện tử trong một phương tiện giao tiếp với nhau một cách hiệu
quả Tuy nhiên, với sự gia tăng đáng ké về sự phức tạp và tính năng của các hệ thống
ô tô hiện đại, cùng với sự phát triển của các công nghệ kết nối thông minh và xe tự
lái, các vấn đề liên quan đến an ninh và an toàn của hệ thống mạng CAN Bus đã trởthành một mối quan tâm đáng kể
Một loại tan công phô biến trên hệ thống mang CAN Bus là tan công giả maotin nhăn Trong tan công này, kẻ tan công can thiệp vào giao tiếp trên mạng CAN Bus
và gửi các tin nhăn giả mạo đến các thành phần điện tử trong phương tiện Giả sử cómột hệ thong 6 tô được trang bi mạng CAN Bus, trong đó các thành phần điện tử nhưđộng cơ, hệ thông điều khiển phanh và hệ thống giảm xóc đều giao tiếp với nhau quamạng CAN Bus Kẻ tấn công đã tìm cách truy cập và can thiệp vào hệ thống này vàgửi một tin nhắn giả mạo cho hệ thống điều khiển phanh trên mạng CAN Bus, vớinội dung tốc độ của xe đã vượt quá giới hạn an toàn Hệ thống điều khiển phanh, nhận
được tin nhắn giả mạo này, sẽ tin răng tốc độ của xe quá cao và thực hiện các biện
pháp phanh khan cấp Điều này có thé dẫn đến việc xe bị phanh gấp đột ngột, gây hư
hại các bộ phận của phương tiện và nguy hiểm trực tiếp cho người lái và hành khách
Tóm lại, vấn đề cần giải quyết là xây dựng một Hệ thống Phát hiện xâm nhập(Intrusion Detection System - IDS) hiệu qua cho hệ thong CAN Bus Su thiéu hụt các
Trang 20cơ chế bảo mật vững chắc trong giao thức CAN tạo ra một thách thức lớn, vì nó cho
phép những kẻ tan công tiềm năng can thiệp hoặc làm gián đoạn các chức năng quan
trọng của phương tiện, gây ra nguy cơ về an toàn và riêng tư nghiêm trọng Do đó,
việc thiết kế một IDS được tùy chỉnh đặc biệt cho hệ thống bus CAN là rất quan trọng
dé phát hiện và giảm thiêu những xâm nhập đó, đảm bảo tính toàn vẹn và đáng tincậy của các hệ thống ô tô trước các mỗi đe doa bảo mật ngày càng phức tap
1.3 Mục tiêu của đề tài
e Tìm hiểu về trí tuệ nhân tao (AI — Artificial Intelligence) và khả năng ứng
dụng của AI vào các hệ thống phát hiện xâm nhập
e Tìm hiểu cách thức hoạt động của hệ thống mạng CAN Bus (Controller Area
Network) và ảnh hưởng của các loại tắn công khác nhau lên hệ thống mạng
e Tim hiểu, thử nghiệm và áp dụng vào xây dựng hệ thong phát hiện các cuộc
tan công đối với hệ thống mang CAN Bus
e Thu nghiệm va dé xuất được mô hình trí tuệ nhân tạo có khả năng phát hiện
tốt các tat công đối với hệ thống CAN Bus Mô hình đề xuất có độ chính xác
hơn 90% trên 2 bộ dữ liệu trở lên.
1.4 Đối tượng và phạm vi nghiên cứu
1.4.1 Đối tượng nghiên cứu
Các tan công khác nhau nhắm vào hệ thống mang CAN Bus và việc áp dụngtrí tuệ nhân tạo dé phát hiện một cách hiệu quả các tan công vào hệ thống này
1.4.2 Phạm vi nghiên cứu
Phạm vi nghiên cứu: Nghiên cứu sự ảnh hưởng của các cuộc tân công khác
nhau vào hệ thống mạng CAN Bus
Trang 21Chương 2 CƠ SỞ LÝ THUYET
2.1 Controller Area Network - CAN
2.1.1 Tổng quan về mạng CAN
Mạng CAN (Controller Area Network) là một giao thức truyền thông được
phát triển đặc biệt cho các ứng dụng trong lĩnh vực ô tô và các hệ thống điện tử côngnghiệp và đã trở thành một chuẩn công nghiệp phổ biến được sử dụng rộng rãi toàn
cầu Mạng CAN sử dụng kiến trúc bus, trong đó các thành phần điện tử được kết nối
với nhau thông qua một đường truyền chung Điều này cho phép các thành phần điện
tử truyền dit liệu và nhận dữ liệu một cách đồng thời Các thiết bị trên mạng CAN
được gọi là các nút (nodes), và môi nút có thê gửi và nhận các tin nhăn trên mạng.
Giao tiếp giữa các nút với nhau theo kiểu broadcast bằng các tin nhắn, trong
đó mỗi loại tin nhắn có một định danh ID duy nhất Định danh này giúp xác định cóbao nhiêu tín hiệu trong một tin nhăn Các ID khác nhau có thé chứa số lượng tín hiệu
khác nhau.
2.1.2 Các mối đe dọa về bảo mật
Mặc dù mạng CAN Bus đã trở thành một tiêu chuẩn truyền thông phổ biến
và đáng tin cậy trong lĩnh vực ô tô và điện tử công nghiệp, nhưng nó cũng đối diện
với một sô môi de dọa và rủi ro cân phải cân nhac, có thê kê đên:
e Tấn công từ chối dịch vu (DoS - Denial of Service): Đây là loại tan công
nhằm làm cho hệ thống mạng CAN Bus không hoạt động bình thường hoặckhông thé truyền thông tin Kẻ tan công có thé gửi một lượng lớn tin nhắngiả mạo hoặc gây xung đột tin nhăn dé làm quá tải mang CAN Bus và làmsuy yếu khả năng hoạt động của hệ thống Kết quả là các chức năng quantrọng của xe có thê bị gián đoạn hoặc không hoạt động đúng cách
e Tấn công giả mao tin nhắn (Message Spoofing): Trong tan công này, kẻ tan
công giả mạo hoặc thay đổi nội dung của các tin nhắn được gửi qua mạngCAN Bus Băng cách sử dụng các công cụ và kỹ thuật phần mềm phức tạp,
Trang 22kẻ tan công có thê đánh cắp thông tin quan trọng, gửi tin nhắn sai lệch hoặc
thực hiện các hoạt động gian lận Ví dụ, kẻ tan công có thể gửi tin nhắn giảmao dé làm cho hệ thống tin rang một chức năng nào đó đã xảy ra (ví dụ:
thông báo bộ phanh đã được kích hoạt) khi thực tế thì không có sự xảy ra đó
2.2 Các mô hình học máy
2.2.1 Các mô hình học máy truyền thống
2.2.1.1 Random Forest Classifier
Random Forest là một trong những thuật toán hoc máy phổ biến trong kỹ
thuật học có giám sát Nó không chỉ áp dụng cho bài toán phân loại mà còn cho bài
toán hồi quy trong học máy Ý tưởng cơ bản của Random Forest là học tập theo
nhóm, tức là kết hợp nhiều bộ phân loại dé giải quyết các van đề phức tạp và cải
thiện hiệu suất của mô hình Mô hình Random Forest được xây dựng bằng cách
chứa nhiều cây quyết định, mỗi cây dựa trên một tập con khác nhau của dữ liệu đã
cho Sau đó, các dự đoán từ mỗi cây được tổng hợp lại và đưa ra dự đoán cuối cùng.Điều đặc biệt là Random Forest không dựa vào một cây quyết định duy nhất mà lay
dự đoán từ mỗi cây, sau đó dựa vào đa số phiếu dự đoán dé đưa ra kết quả cuối
cùng Phương pháp này cho phép mô hình sử dụng đa dạng thông tin từ các cây
quyết định và giúp tăng tính ôn định và độ chính xác của dự đoán trên tập dữ liệu đã
cho.
Trang 23Ỷ Ỷ
Hình 2-1: Cơ chế hoạt động của Random Forest
( Nguồn: https://www.javatpoint.com/machine-learning-random-forest-algorithm)
2.2.1.2 K-Neighbor Classifier
K-nearest neighbor (KNN) là một trong những thuật toán học máy phô biến
dựa trên kỹ thuật học có giám sát Điều đặc biệt về KNN là nó không học gì từ dit
liệu huấn luyện trong quá trình huấn luyện (được coi là thuật toán "lười" - lazy
learning), mà chỉ thực hiện tính toán khi cần dự đoán kết quả cho dữ liệu mới KNN
có thé áp dụng cho cả hai loại bài toán học có giám sát, bao gồm phân loại và hồi
quy Thậm chi, nó còn được gọi là "Instance-based" hay "Memory-based learning".
Trong bài toán phân loại, KNN dự đoán nhãn của một điểm dữ liệu mới bang cachxem xét K điểm dữ liệu gần nhất trong tập dữ liệu huấn luyện Nhãn của dữ liệu
kiểm tra có thê được xác định bằng cách bầu chọn theo số phiếu từ các điểm gần
nhất, hoặc thông qua việc đánh trọng số khác nhau cho mỗi điểm gần nhất và kết
hợp chúng dé dự đoán nhãn cuối cùng Các phương pháp này sẽ được giải thích rõhơn trong phan tiếp theo Đối với bài toán hồi quy, KNN dự đoán giá trị đầu ra củamột điểm dữ liệu bang cach su dung gia tri đầu ra của K điểm gần nhất, ví dụ K=1thì giá trị đầu ra của diém gần nhất sẽ được chọn, hoặc thông qua trung bình có
Trang 24trọng sô của các giá trị đầu ra của những điêm gân nhât Hoặc trong một sô trường
hop, ta có thê tìm môi quan hệ dựa trên khoảng cách với các diém gân nhât đê dự
đoán giá trị dau ra.
Tóm lại, KNN là một thuật toán đơn giản và linh hoạt, sử dụng thông tin từ K
điểm gần nhất trong tập dữ liệu huấn luyện dé dự đoán kết quả cho dữ liệu mới, và
không quan tâm đến việc có một số điểm gần nhất là nhiễu hay không
TabNet được dé xuất bởi các nhà nghiên cứu tại Google Cloud vào năm 2019
Ý tưởng dang sau TabNet là áp dụng hiệu qua các deep neural networks trên dữ liệu
dang bang van bao gồm một phan lớn người dùng va dit liệu được xử lý trên nhiềuứng dụng khác nhau như chăm sóc sức khỏe, ngân hàng, bán lẻ tài chính, tiếp thị, v.v
Một động lực dé áp dụng deep learning cho tập dit liệu dạng bảng đến từ cácmiền khác như dữ liệu (hình ảnh, ngôn ngữ, giọng nói) khi được áp dụng trên đó đãcho thấy sự cải thiện hiệu suất đáng kể trên các tập dữ liệu lớn so với các kỹ thuật
Trang 25học máy khác Vì vậy, chúng ta có thé mong đợi nó hoạt động trên dữ liệu dang bang.
Một lý do khác có thé là các thuật toán dựa trên cây không giống như mạng lưới thầnkinh sâu không học cách hiệu quả để giảm lỗi bằng cách sử dụng các kỹ thuật như
Gradient Descent.
TabNet cung cấp kiến trúc học sâu dữ liệu dạng bảng có hiệu suất cao và dễ
hiểu Nó sử dụng một phương pháp được gọi là cơ chế chú ý tuần tự(sequentialattention mechanism) dé cho phép chọn tính năng nào dé tạo ra khả năng diễn giải
cao và đào tạo hiệu quả.
Kiên trúc TabNet vê cơ ban bao gôm nhiêu bước tuân tự, truyên đâu vào từ bước này sang bước khác Có nhiêu cách khác nhau đê quyêt định sô bước tùy thuộc
vào dung lượng.
2.2.1.4 Decision Tree Classifier
Cay quyét định là một mô hình học máy được sử dụng trong cả hai loại bàitoán có giám sát là phân loại và hồi quy Cấu trúc của cây bao gồm các nút nội đại
diện cho các biến và các nút lá đại diện cho giá trị dự đoán của biến mục tiêu Kỹ
thuật học máy sử dụng cây quyết định được gọi là "học bằng cây quyết định" hoặc
đơn giản là "cây quyết định"
Các ưu điểm của cây quyết định bao gồm:
e Đầu ra của cây quyết định là các quy tắc dé hiểu, giúp người doc dé dàng hiểu
các quyết định mà mô hình đã đưa ra
e Cây quyết định có khả năng xử lý dữ liệu có giá trị thiếu (missing data) ma
không cần tiền xử lý phức tạp
e_ Mô hình có thé làm việc với cả dit liệu số và dữ liệu phân loại
e Cây quyết định có thé được kiểm tra và xác thực bằng các phương pháp kiểm
tra thống kê
Tuy nhiên, cây quyết định cũng có một số nhược điểm:
e Mô hình dễ bị ảnh hưởng bởi dữ liệu huấn luyện, nghĩa là một số thay đổi nhỏ
trong dit liệu có thé làm thay đổi hoàn toàn cấu trúc cây quyết định
Trang 26e Cây quyết định có thé gặp van đề "overfitting", trong đó mô hình quá tập trung
vào dit liệu huấn luyện và không tổng quát hóa tốt cho dữ liệu mới
Tóm lại, cây quyết định là một mô hình học máy lĩnh hoạt và dễ hiểu, nhưng cần
cần trong trong việc kiêm soát overfitting và phụ thuộc vào tính tông quát của dữ
Play (Y) or Not (N) liệu huân luyện.
(Nguôn: https://machinelearningcoban.com/2018/01/14/id3/)
2.2.1.5 Quadratic discriminant analysis
Quadratic Discriminant Analysis (QDA) là một phương pháp phân loại trong
lĩnh vực học máy và thống kê Nó thuộc họ các phương pháp dựa trên mô hìnhGaussian QDA là một phương pháp phân loại được sử dung dé tìm ra mối quan hệ
giữa các biên dau vào và các nhãn lớp tương ứng.
Trong QDA, giả định rằng mỗi lớp dữ liệu được mô hình băng một phân phốiGaussian riêng biệt Mô hình QDA cũng giả định rằng các biến đầu vào độc lập vớinhau trong mỗi lớp Với các giả định này, QDA ước lượng các tham số của các phân
phôi Gaussian đê xác định lớp mà một mau mới có thê thuộc vê.
Quadratic Discriminant Analysis được sử dụng rộng rãi trong các bài toán phân
loại nơi dữ liệu có thê được mô hình băng các phân phôi Gaussian và các lớp dữ liệu
Trang 27có các hiệp phương sai khác nhau Tuy nhiên, nó có thê gặp khó khăn khi dtr liệu có
số chiều cao và kích thước mẫu nhỏ, do đó cần cân nhắc trong việc áp dụng QDA vào
các bài toán cụ thê
2.2.1.6 Gaussian Naive Bayes
Gaussian Naive Bayes là một phương pháp phân loại dựa trên giả định Gaussian
(phân phối chuẩn) cho các biến đầu vào Nó là một biến thé của mô hình Naive Bayes,
một thuật toán học máy đơn giản và hiệu quả dựa trên nguyên tắc Bayes Phương
pháp này thường được sử dụng trong bài toán phân loại, đặc biệt là trong việc xử lý
văn bản và phân tích ngôn ngữ tự nhiên.
Giả định Gaussian trong Gaussian Naive Bayes cho rằng các biến đầu vào được
mô hình hóa bằng phân phối chuẩn (Gaussian) Nghĩa là giá trị của biến đầu vào đượcxem như là một biến ngẫu nhiên tuân theo phân phối chuẩn Mô hình này giả định
rằng các biến đầu vào độc lập với nhau khi đã biết lớp (class) của dữ liệu
Quá trình huấn luyện của Gaussian Naive Bayes bao gồm việc tính toán các
tham số của phân phối Gaussian, bao gồm giá trị trung bình (mean) và độ lệch chuẩn
(standard deviation) cho mỗi lớp Khi đã có các tham số này, mô hình có thể sử dụng
công thức Bayes dé tính xác suất của mỗi lớp dựa trên các giá trị đầu vào Xác suất
cao nhất sẽ xác định lớp được dự đoán cho mẫu dữ liệu mới
Một ưu điểm của Gaussian Naive Bayes là tính đơn giản và tốc độ huấn luyện
nhanh Tuy nhiên, giả định về phân phối Gaussian và sự độc lập giữa các biến đầu
vào có thê làm giảm hiệu suât của mô hình trong một sô trường hợp.
10
Trang 28Naive Bayes Classifier
Thuật toán sử dụng một hàm kích hoạt (activation function) để xác định đầu ra dựa
trên tông trọng sô của các đâu vào.
11
Trang 29Perceptron được áp dụng trong các bài toán phân loại nhị phân và có thể mở
rộng dé xử lý các bài toán phân loại đa lớp thông qua các kỹ thuật như One-vs-All
hoặc One-vs-One Mặc dù đơn giản, Perceptron vẫn có thể mang lại hiệu quả trong
việc phân loại dữ liệu tuyên tính và là nên tảng cho các mô hình neural network phức tạp hơn.
2.2.1.8 Passive Aggressive Classifier
Passive Aggressive Classifier là một thuật toán hoc may được sử dụng trong
các bài toán phân loại nhị phân và tương đương với một Support Vector Machine.
Thuật toán Passive-Aggressive được thiết kế để xử lý các tác vụ phân loại dữliệu có tính chất thay đôi theo thời gian, nghĩa là dit liệu mới có thể được đưa vào và
mô hình sẽ cập nhật dé thích ứng với dit liệu mới này Điều này rat hữu ích trong cáctình huống mà môi trường hoặc phân phối của dữ liệu thay đổi theo thời gian
Thuật toán Passive-Aggressive có hai biến thé chính là Passive-Aggressive I(PA-I) và Passive-Aggressive II (PA-II), khác nhau trong cách cập nhật trọng số khi
dự đoán sai PA-I cập nhật trọng số một cách tuyến tính, trong khi PA-II áp dung mộtcông thức tính toán phức tap hơn dé điều chỉnh trong số Sự lựa chọn giữa PA-I va
PA-II phụ thuộc vào từng bài toán cụ thé và yêu cầu về hiệu suất và thời gian huấn
luyện.
12
Trang 30Thuật toán Passive-Aggressive có ưu điểm là đơn giản, dễ hiện thực và tiêu thụ
ít tài nguyên Nó thích hợp trong các tình huống cần áp dụng học máy trực tuyến và
thích ứng với dữ liệu thay đổi theo thời gian Tuy nhiên, nó có thé không hiệu quả
trong các bài toán phân loại đa lớp và dữ liệu có tính chất phức tạp
2.2.1.9 Stochastic Gradient Descent Classifier
Bộ phân loại Stochastic Gradient Descent (SGD) là một thuật toán hoc máy
phân loại được sử dụng phổ biến trong các bài toán lớn và có số lượng dữ liệu lớn
Thuật toán này dựa trên phương pháp tối ưu hoá Gradient Descent (GD) dé tìm ra các
trọng số tối ưu cho mô hình phân loại
Phương pháp tối ưu hoá SGD được gọi là "stochastic" vì nó sử dụng một mẫu
dữ liệu ngẫu nhiên dé tính gradient và cập nhật trọng số trong mỗi vòng lặp Điều này
giúp thuật toán hội tụ nhanh hơn và giảm độ phức tạp tính toán so với Gradient
Descent truyền thống
13
Trang 31SGD Classifier có khả năng phân loại cho cả bài toán nhị phân và đa lớp Nó
hỗ trợ nhiều hàm mat mát (loss function) phù hợp với từng bài toán cụ thé, bao gồm
hàm mat mát đa lớp softmax cho phân loại đa lớp và hàm mat mát logistic cho phân
dung dựa trên scikit-learn.
TPOT sẽ tự động hóa phần tẻ nhạt nhất của quá trình học máy bang cách khám
phá hàng nghìn quy trình khả thi một cách thông minh đề tìm ra quy trình tốt nhấtcho dữ liệu đầu vào
Sau khi TPOT tìm kiếm xong (hoặc dừng quá trình chạy), nó sẽ cung cấp filePython cho quy trình tốt nhất mà nó tìm thay dé có thé sửa lại quy trình từ đó
Feature
Construction
Hình 2-7: Cơ chế hoạt động của TPOT
(Nguồn: hftp:/epistasislab github.io/tpot/)
14
Trang 322.2.2.2 PyCaret
PyCaret là thư viện open-source machine learning trong python, Thư viện tích
hợp sẵn các mô hình cần thiết, giúp chúng ta train mô hình một lần trên nhiều thuật
toán máy học khác nhau.
PyCaret là một thư viện mã thấp thay thế có thê được sử dụng đề thay thế hàng
trăm dòng mã chỉ bằng vài dòng Điều này làm cho các thử nghiệm nhanh và hiệu
quả theo cấp số nhân
2.2.2.3 Auto Sklearn
Auto-sklearn là bộ công cụ học máy tự động và là một lựa chọn thay thế nhanh
gọn nhẹ thay cho các thuật toán của scikit-learning.
2.2.3 Các mô hình học sâu
2.2.3.1 Convolutional Neural Network — CNN
Mang Neural Tích Chap (Convolutional Neural Network - CNNs) là một
trong những mô hình tiên tiến của Deep Learning, cho phép xây dung các hệ thốngthông minh với độ chính xác cao Trong thời gian gần đây, CNNs đã được rat phố
biến và sử dụng rộng rãi trong các bài toán nhận dạng đối tượng trong ảnh Tuy
nhiên, chúng cũng có thê được áp dụng cho các bài toán phân loại với dữ liệu dạng
bảng.
Mạng CNN bao gồm nhiều lớp tích chập xếp chồng lên nhau và sử dụng cáchàm kích hoạt phi tuyên như ReLU và tanh đề kích hoạt các trọng số trong các nút.Mỗi lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơncho các lớp tiếp theo Trong quá trình truyền thăng của mạng, mỗi nút đầu vào sẽ
kết nôi với moi nút dau ra trong các lớp tiêp theo.
Mỗi lớp tiếp theo được tạo ra bằng cách sử dụng phép tích chập trên kết quả
của lớp trước đó, tạo ra các kết nối cục bộ Điều này có nghĩa là mỗi neuron trong
lớp kế tiếp được tạo ra từ kết quả của việc áp dụng bộ lọc lên một vùng ảnh cục bộ
trong lớp trước đó.
15
Trang 33Mạng CNN thường sử dụng nhiều bộ lọc khác nhau, thường có hàng trăm
hoặc hàng nghìn bộ lọc, và kết hợp kết quả của chúng Ngoài ra, mạng cũng sử
dụng các lớp pooling/subsampling dé lọc và giữ lại các thông tin hữu ích, loại bỏ
thông tin nhiễu.
Tom lại, Mang Neural Tích Chap là mô hình mạnh mẽ trong Deep Learning,
được sử dụng rộng rãi trong nhận dạng ảnh và các bài toán phân loại dữ liệu bảng.
Nó tạo ra các thông tin trừu tượng và sử dụng các bộ lọc và các lớp pooling đề xử lý
dữ liệu một cách hiệu quả.
Convolutions Subsampling Convolutions Subsampling Fully connected
Hình 2-8: Cơ chế hoạt động cua CNN
(Nguồn: convolutional-neural-network-from-scratch-kuzushiji-mnist-75f42c175b21)
https://towardsai.net/p/machine-learning/beginner-guides-to-2.2.4 Cac mô hình hoc máy kết hop (hybrid model)
2.2.4.1 CNN - Random Forest
CNN là một loại mang nơ-ron nhân tạo đặc biệt được thiết kế dé xử ly đữ liệu
có cau trúc như hình ảnh Nó sử dụng các lớp convolutional và pooling để trích xuất
các đặc trưng cục bộ từ dữ liệu đầu vào Sau đó, các lớp fully connected sẽ sử dụngcác đặc trưng này dé phân loại dữ liệu
Random Forest là một thuật toán học máy dựa trên cây quyết định Nó hoạt
động bằng cách xây dựng nhiều cây quyết định ngẫu nhiên và kết hợp kết quả củacác cây dé đưa ra dự đoán cuối cùng Mỗi cây trong Random Forest được xây dựng
16
Trang 34bang cách chọn ngẫu nhiên một tập con của dit liệu đào tạo và các đặc trưng tươngứng Quá trình này giúp tránh overfitting và tăng tính tổng quát của mô hình.
Khi kết hợp CNN và Random Forest, CNN được sử dụng để trích xuất các đặc
trưng can thiết từ dữ liệu đầu vào Các đặc trưng này sau đó được chuyên đến mô
hình Random Forest dé thực hiện quá trình phân loại Sự kết hợp này cho phép môhình tận dụng được khả năng trích xuất đặc trưng mạnh mẽ của CNN va khả năng
phân loại chính xác của Random Forest.
Mô hình kết hợp này có thé được áp dụng trong nhiều lĩnh vực, như xử lý hìnhảnh, nhận dạng văn bản, hoặc phân loại dữ liệu trực tuyến Việc sử dụng CNN détrích xuất đặc trưng giúp mô hình học được các biểu diễn tự động từ dir liệu, trongkhi Random Forest đảm bảo tính tổng quát và khả năng phân loại hiệu quả
2.2.4.2 CNN-SVM
SVM là một thuật toán hoc máy thuộc loại học có giám sát Nó tạo ra một siêu
phang (hyperplane) trong không gian đa chiều dé phân tách các điểm dữ liệu thuộcvào các lớp khác nhau SVM có khả năng tối ưu hóa độ rộng của siêu phẳng và tạo
ra một biên quyết định tốt giữa các lớp đữ liệu
Tương tự mô hình CNN — Random Forest, CNN được sử dụng dé trích xuất các
đặc trưng quan trọng từ đữ liệu đầu vào Các đặc trưng này sau đó được đưa vào SVM
để thực hiện quá trình phân loại SVM sẽ sử dụng các đặc trưng này để tìm ra siêuphăng tốt nhất dé phân tách các lớp dữ liệu Mô hình này cũng rất tiềm năng đối vớimột số bài toán phân loại nhất định
2.3 Phân loại một lớp cho dữ liệu không cân bang
Ngoại lệ (Outliers) hoặc bất thường (anomalies) là những ví dụ hiếm hoi không
phù hợp với phần còn lại của dữ liệu
Việc xác định các ngoại lệ trong dữ liệu được gọi là phát hiện ngoại lệ hoặc bất
thường và một lĩnh vực máy học tập trung vào vấn đề này được gọi là phân loại một
lớp - One-Class Classification (OCC) Đây là một kỹ thuật học máy được thiết kế để
17
Trang 35giải quyết vấn dé dữ liệu mắt cân bằng, trong đó một lớp dữ liệu bị thiếu hơn đáng ké
so với các lớp khác OCC tập trung vào việc xác định các trường hợp thuộc một lớp
mục tiêu cụ thé trong tập dữ liệu, ngay cả khi có thông tin hạn chế hoặc không có
thông tin về các lớp khác Kỹ thuật này đặc biệt hữu ích khi làm việc với dữ liệu chưa
được gán nhãn, trong đó chỉ có các trường hợp dương tích cực của lớp mục tiêu có
san dé huấn luyện.
Đề thực hiện OCC hiệu quả, việc trích xuất đặc trưng đóng vai trò quan trọngtrong việc biểu diễn dữ liệu Điều này có thể bao gồm các kỹ thuật khác nhau nhưđặc trưng được tao bang tay, feature engineering hoặc sử dụng các phương pháp học
sâu như autoencoders dé học các biéu diễn tiềm ân Sau khi các đặc trưng được trích
xuất, các thuật toán OCC như Support Vector Machines (SVMs), Isolation Forestshoặc Gaussian Mixture Models (GMMs) được sử dung dé học ranh giới quyết định
bao quanh lớp mục tiêu trong khi loại trừ các trường hợp không thuộc lớp mục tiêu.
One-Class Classification cho dữ liệu mất cân bằng được áp dụng trong nhiềulĩnh vực khác nhau, bao gom phát hiện gian lận, phát hiện xâm nhập và phát hiện cáctrường hợp ngoại lệ Băng cách xác định các trường hợp khác thường hoặc bấtthường, OCC cung cấp thông tin quý giá về hành vi không bình thường trong dữ liệu,
từ đó tạo điều kiện cho các biện pháp ứng phó dé giải quyết các trường hợp đó
Chương 3 PHƯƠNG PHÁP THỰC HIỆN
3.1 Tong quan về mô hình phát hiện tan công
Bản thân mạng CAN Bus là một giao thức, được sử dụng trong các phương tiện
thông minh và một số mục đích công nghiệp khác CAN Bus cho phép các đơn vịđiều khiển điện tử ECU khác nhau giao tiếp với nhau.
Nói một cách ngắn gọn nhất, các ECU giao tiếp với nhau bằng cách gửi các tin
nhắn CAN Mỗi tin nhắn bao gồm 2 phan: phần ID dùng để định danh tin nhắn, vàphan dữ liệu, chứa dữ liệu của tin nhắn được gửi Các ECU nhận được các tin nhắn
18
Trang 36này và từ đó xác định được các tác vụ cân phải thực hiện, ví dụ như tăng tôc, giảm
tốc, phanh, bật đèn xe
Tuy nhiên, bằng nhiều phương pháp khác nhau, kẻ tắn công có thê khai thác và
tan công vào hệ thống và các ECU này Một số ví dụ có thé ké đến như: tan công giadanh, trong đó kẻ tấn công sẽ giả danh một nút ECU thực sự của hệ thống bằng cách
tạo tin nhắn giả dạng với ID là ID của một nút ECU dé gửi các tin nhắn tan công đếncác nút ECU khác Nếu không nhận biết được đây là tin nhắn tan công, các ECU khác
sẽ nhận và thực thi tin nhắn tấn công một cách bình thường, dẫn đến các hậu quả cóthé xảy ra
ECU communication in Car
IDS
Data
Processing
Detect
Hình 3-1: Mô hình phát hiện tấn công
Vì vậy, ta cần một hệ thống phát hiện tấn công (IDS) dé có thé nhận diện vàngăn chặn các tan công Hệ thống IDS sẽ được cài đặt vào mang CAN Bus, quét cáctin nhắn được gửi đi giữa các ECU dé phát hiện các bat thường đang xảy ra Nếu phát
19
Trang 37hiện được dấu hiệu bất thường, nghĩa là đây có thẻ là tin nhắn của kẻ tấn công, từ đó
giúp đưa ra các phương án đối phó thích hợp, ví dụ như chặn tin nhắn bất thường, déngăn chặn kịp thời các hậu quả có thê xảy ra.
3.2 Phương thức thực hiện và đánh giá
3.2.1 Môi trường thực nghiệm
Mục tiêu chính của đề tài này, đó là xây dựng một hệ thống kết hợp thuật toán
ML với dữ liệu CAN bus thu thập từ các nguồn về dé phát hiện các luồng xâm nhậpbat hợp pháp Công việc này nhằm cung cấp một hệ thống phát hiện xâm nhập có thê
hữu ích cho các doanh nghiệp quan tâm đến vấn đề bảo mật cho hệ thống mạng của
xe bus nói chung và xe hơi nói riêng Tat cả các thí nghiệm đều được thực hiện triển
khai trên Google Colab, kết hợp với các thư viện Sklearn, Pandas, Keras
3.2.2 Đánh giá các metrics
Trong quá trình xây dựng mô hình Machine Learning, việc đánh giá mô hình
là một phần không thé thiếu dé đánh giá chất lượng của nó va chọn lựa mô hình phù
hợp cho bài toán cụ thê.
Dé đánh giá hiệu năng của một mô hình, chúng ta thường sử dung tap dit liệukiểm thử (test data) Khi có tập kiểm thử, ta tiến hành dự đoán đầu ra sử dụng mô
hình và so sánh kết quả dự đoán với các giá trị thực tế của dữ liệu Cu thê, kết quả
dự đoán được mô tả bởi vector y_pred, trong đó mỗi phần tử là class được dự đoán
của một điềm dữ liệu trong tập kiểm thử Chúng ta cần so sánh vector dự đoán
y_pred nay với vector y_true, đại diện cho các giá tri class thực sự của dữ liệu.
Có nhiều cách dé đánh giá hiệu suất của mô hình phân lớp, và từ đó chon ra
các chỉ số phù hợp như Accuracy, Precision, Recall và F1-score Những chi số này
được tính dựa trên các giá trị True Positive (TP), True Negative (TN), False
Positive (FP) va False Negative (FN) TP là số lượng điểm thuộc lớp positive đượcphân loại đúng là positive, TN là số lượng điểm thuộc lớp negative được phân loại
đúng là negative, FP là số lượng điểm thuộc lớp negative bị phân loại nhằm thành
20
Trang 38positive và FN là số lượng điểm thuộc lớp positive bị phân loại nhằm thành
negative.
Accuracy:
Mặc dù Accuracy giúp chúng ta biết được mức độ chính xác của dự đoán của
mô hình, nhưng nó không thê hiện được mô hình đang dự đoán sai như thế nào Đểđánh giá khía cạnh này, ta cần sử dụng một phương pháp khác, đó là Confusion
Matrix Confusion Matrix là một công cụ quan trọng đề đánh giá hiệu năng của các
mô hình phân loại.
Confusion Matrix là một ma trận được sử dụng để biểu thị số lượng điểm dữ
liệu được dự đoán vào từng lớp và số lượng điểm dữ liệu thực tế thuộc vào từng
lớp Bang cách này, ta có thé biết chính xác các điểm dữ liệu nào được phân loại
đúng và nhầm vào từng lớp
Qua Confusion Matrix, chúng ta có cái nhìn rõ ràng hơn về hiệu năng của môhình và có thé đánh giá các sai sót mà mô hình đang thực hiện trong quá trình phânloại Điều này giúp chúng ta cải thiện mô hình và điều chỉnh các thông số dé đạt
hiệu suất tốt hơn trong các bài toán phân lớp
TP+TN
E059 7 TP TN + FP + FN
Tính toán accuracy trên sklearn
[ |] from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred)
Hình 3-2: Tính Accuracy trên Sklearn
Trong đó y_true là nhãn của dữ liệu và y_pred là nhãn dự báo.
Confusion Matrix:
21
Trang 39Nhược điểm của Accuracy là chỉ cho ta biết độ chính xác khi dự báo của mô
hình, nhưng không thé hiện mô hình dang dự đoán sai như thé nào, vi vậy chúng ta
cần một phương pháp đánh giá khác — Confusion Matrix Confusion matrix là một
kỹ thuật đánh giá hiệu năng của mô hình cho các bài toán phân lớp Confusion
matrix là một ma trận thê hiện số lượng điểm dữ liệu thuộc vào một class và được
dự đoán thuộc vào class.
Precision được sử dụng dé đo lường khả năng của mô hình phân loại đúng
các điểm dữ liệu vào lớp Positive Nó trả lời câu hỏi: trong số các điểm dữ liệu được
mô hình phân loại vào lớp Positive, có bao nhiêu điểm thực tế thuộc về lớp Positive.Giá trị của Precision nằm trong khoảng từ 0 đến 1, và càng gần 1 thì mô hình càng
chính xác.
22
Trang 40Recall, một chỉ số khác, cho chúng ta biết có bao nhiêu điểm thực tế thuộc
lớp Positive được mô hình phân loại đúng trong tông số các điểm thực tế thuộc lớp
Positive Có thể hiểu rằng, Recall giúp chúng ta đánh giá khả năng mô hình không
bỏ sót các điểm dữ liệu thực sự thuộc lớp Positive Giá trị của Recall cũng nằm
trong khoảng từ 0 đến 1, và càng gần 1 thi mô hình càng đáng tin cậy
Nhìn chung, cả Precision và Recall đều cung cấp thông tin quan trọng vềhiệu suất của mô hình, và việc có cả hai chỉ số này càng cao sẽ cho thay mô hình
đang hoạt động chính xác và đáng tin cậy trong việc phân loại các điểm dữ liệu vào
giá tri cao cùng một lúc (giá tri của một thường tăng thì giá tri của thứ hai thường
giảm) Dé đánh giá mô hình dựa trên cả Precision và Recall đồng thời, ta sử dung
độ đo F-Score.
Độ đo F-Score được quyết định bởi tham số B, đây là yếu tố quyết định mức độ
coi trọng giữa Precision va Recall:
e KhiB> 1: Recall được đặt lên hang dau, tức là mô hình tập trung vào việc
giảm bỏ sót các điểm dữ liệu thuộc lớp cần quan tâm hơn là tránh phân loại
Sal.
e Khi <1: Precision được đặt lên hàng đầu, tức là mô hình tập trung vào việc
giảm sai số trong quá trình phân loại hơn là tối thiểu hóa số lượng điểm dữ
liệu bị bỏ sót.
23