Bối cảnh và vấn đề nghiên cứu

Trong xu hướng phát triển của ngành công nghiệp ô tô hiện đại, các dòng xe thông minh và phương tiện tự hành ngày càng được trang bị nhiều đơn vị điều khiển điện tử (Electronic Control Unit - ECU) kết nối thông qua mạng nội bộ CAN (Controller Area Network) Bus. Mạng CAN Bus đóng vai trò là xương sống truyền dẫn thông tin và lệnh điều khiển giữa các thành phần cơ bản như động cơ, hệ thống phanh, giảm xóc và đèn xe. Tuy nhiên, giao thức CAN Bus truyền thống được thiết kế theo cơ chế phát quảng bá (broadcast) và thiếu các cơ chế bảo mật cốt lõi như mã hóa dữ liệu hay xác thực nguồn gốc tin nhắn. Kẻ tấn công có thể can thiệp vào đường truyền vật lý hoặc thông qua cổng chẩn đoán trên xe (OBD-II) để thực hiện các cuộc tấn công như từ chối dịch vụ (DoS), giả mạo tin nhắn (message spoofing), chèn dữ liệu ngẫu nhiên (fuzzy) hoặc làm sai lệch tín hiệu điều khiển (malfunction). Những hành vi xâm nhập này có thể trực tiếp làm gián đoạn chức năng vận hành, kích hoạt phanh khẩn cấp đột ngột hoặc vô hiệu hóa các tính năng an toàn, gây nguy hiểm cho người lái và phương tiện.

Xuất phát từ thực trạng đó, khóa luận tốt nghiệp kỹ sư ngành An toàn Thông tin của sinh viên Lê Tiến Phong và Trần Như Phát, dưới sự hướng dẫn của TS. Lê Kim Hùng tại Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh (thực hiện từ ngày 01/03/2023 đến ngày 15/06/2023), đặt ra 4 mục tiêu nghiên cứu cụ thể:

  1. Tìm hiểu về trí tuệ nhân tạo (AI) và khả năng ứng dụng AI vào các hệ thống phát hiện xâm nhập (IDS).
  2. Tìm hiểu cách thức hoạt động của hệ thống mạng CAN Bus và ảnh hưởng của các loại tấn công khác nhau lên hệ thống.
  3. Tìm hiểu, thử nghiệm và áp dụng các kỹ thuật học máy, học sâu vào xây dựng hệ thống phát hiện tấn công mạng CAN Bus.
  4. Thử nghiệm và đề xuất mô hình trí tuệ nhân tạo có khả năng phát hiện hiệu quả các cuộc tấn công mạng CAN Bus, đạt mục tiêu độ chính xác (Accuracy) trên 90% trên tối thiểu 2 bộ dữ liệu thực nghiệm.

Đối tượng nghiên cứu của đề tài là các hình thức tấn công vào mạng CAN Bus và các thuật toán trí tuệ nhân tạo dùng để phát hiện bất thường trên luồng dữ liệu CAN. Phạm vi nghiên cứu tập trung vào việc phân tích định dạng gói tin, đánh giá sự biến đổi của tín hiệu/ID trong mạng CAN khi bị tấn công, đồng thời thử nghiệm mô hình trên 6 bộ dữ liệu lưu lượng CAN thu thập từ các môi trường mô phỏng và phương tiện thực tế.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng nền tảng lý thuyết dựa trên cấu trúc giao thức truyền thông CAN Bus (bao gồm trường CAN ID định danh tin nhắn, mã độ dài dữ liệu DLC từ 0 đến 8 bytes, và các byte dữ liệu DATA[0] - DATA[7]) cùng cơ chế broadcast không có xác thực nguồn gốc. Về phương pháp phát hiện xâm nhập, tác giả phân tích và áp dụng các nhóm thuật toán sau:

Nhóm phương pháp Thuật toán / Công cụ sử dụng Đặc điểm tiếp cận trong đề tài
Học máy truyền thống Random Forest, Decision Tree, K-Nearest Neighbors (KNN), Quadratic Discriminant Analysis (QDA), Gaussian Naive Bayes, Perceptron, Passive Aggressive Classifier (PA-I, PA-II), Stochastic Gradient Descent (SGD), TabNet. Phân loại có giám sát dựa trên các đặc trưng không gian và giá trị tín hiệu của gói tin CAN.
Học máy tự động (AutoML) TPOT (lập trình di truyền tối ưu hóa pipeline), PyCaret (mã thấp), Auto-Sklearn. Tự động hóa quá trình tiền xử lý, trích chọn đặc trưng và tìm kiếm siêu tham số tối ưu cho mô hình.
Học sâu & Mô hình kết hợp Convolutional Neural Network (CNN), CNN kết hợp Support Vector Machine (CNN-SVM), CNN kết hợp Random Forest, CNN kết hợp Long Short-Term Memory (CNN-LSTM). Tận dụng CNN để trích xuất đặc trưng không gian cục bộ và LSTM để học các mối tương quan phụ thuộc thời gian chuỗi dài.
Phân loại một lớp (One-Class) One-Class SVM, Isolation Forest, Minimum Covariance Determinant (MCD / Elliptic Envelope), Local Outlier Factor (LOF). Xử lý dữ liệu mất cân bằng nghiêm trọng; chỉ huấn luyện trên dữ liệu bình thường (nhãn 0) để phát hiện ngoại lệ/tấn công.

Phương pháp thực nghiệm của đề tài được triển khai trên môi trường Google Colaboratory kết hợp Jupyter Lab, sử dụng ngôn ngữ lập trình Python và các thư viện chuyên dụng gồm Scikit-Learn, Pandas, Keras. Hiệu năng của các mô hình được đo lường thông qua các chỉ số thống kê gồm Accuracy, Ma trận nhầm lẫn (Confusion Matrix), Precision, Recall và điểm F-score ($F_\beta$ với $\beta = 1$).

Nguồn dữ liệu nghiên cứu bao gồm 6 bộ dữ liệu chuyên khảo về tấn công mạng CAN Bus: SynCAN (Synthetic CAN Bus data), OTIDS (CAN Dataset for Intrusion Detection thu từ xe KIA SOUL qua cổng OBD-II), Survival Analysis Dataset for Automobile IDS, Car-Hacking Dataset for Intrusion Detection, Automotive CAN Bus Intrusion Dataset v2, và Real ORNL Automotive Dynamometer (ROAD) CAN Intrusion Dataset.

Thiết kế và triển khai

Hệ thống phát hiện xâm nhập trong khóa luận được thiết kế thông qua hai cấu phần kỹ thuật chính: kiến trúc mô hình học sâu kết hợp CNN-LSTM và gói thư viện quản lý dữ liệu CANDataloader.

Mô hình CNN-LSTM được thiết kế tuần tự (Sequential) nhằm kết hợp ưu điểm của mạng tích chập 1 chiều (Conv1D) trong việc lọc đặc trưng cấu trúc gói tin và mạng hồi quy cổng nhớ dài ngắn (LSTM) trong việc nắm bắt quan hệ chuỗi thời gian của luồng tin nhắn CAN:

Thứ tự lớp Tên lớp (Layer Type) Kích thước đầu ra (Output Shape) Số lượng tham số (Param #) Chức năng kỹ thuật
1 Reshape (None, 10, 1) 0 Định hình lại vector đầu vào thành chuỗi 10 bước thời gian, 1 đặc trưng
2 Conv1D (None, 8, 32) 128 Áp dụng 32 bộ lọc tích chập 1 chiều để trích xuất đặc trưng không gian
3 MaxPooling1D (None, 4, 32) 0 Lấy mẫu tối đa, giảm chiều không gian và giảm tải tính toán
4 Dropout (None, 4, 32) 0 Tắt ngẫu nhiên một tỷ lệ kết nối để chống hiện tượng quá khớp (overfitting)
5 LSTM (None, 64) 24,832 64 đơn vị ẩn học mối quan hệ phụ thuộc thời gian giữa các gói tin liên tiếp
6 Dropout (None, 64) 0 Tăng cường tính tổng quát hóa sau tầng tái quy
7 Dense (None, 1) 65 Tầng kết nối đầy đủ tạo đầu ra phân loại nhị phân (bình thường/tấn công)

Mô hình có tổng cộng 25,025 tham số (toàn bộ 25,025 tham số đều là tham số có thể huấn luyện - trainable params, 0 non-trainable params).

Song song với việc xây dựng mô hình, nhóm nghiên cứu thiết kế và phát hành gói thư viện mã nguồn mở Candataloader (phiên bản 1.7) trên nền tảng Python để tự động hóa quy trình tiền xử lý và cung cấp quyền truy cập thống nhất vào các bộ dữ liệu CAN Bus. Cấu trúc thư viện gồm các hàm chức năng:

  • list_datasets(): Trả về danh mục các bộ dữ liệu có sẵn được thư viện hỗ trợ lưu trữ.
  • download_dataset(dataset_name): Tự động gửi yêu cầu HTTP GET bằng thư viện requests để tải xuống gói dữ liệu đã được làm sạch, mã hóa và lưu trữ cục bộ.
  • get_dataset_path(dataset_name): Trích xuất đường dẫn tệp dữ liệu cục bộ phục vụ trực tiếp cho quá trình huấn luyện và kiểm thử.

Nội dung chính theo từng chương

Chương 1: Giới thiệu đề tài, mục tiêu và phạm vi nghiên cứu

Chương 1 làm rõ tính cấp thiết của an ninh mạng ô tô trong bối cảnh xe thông minh phát triển nhanh chóng. Tác giả trình bày chi tiết 4 mục tiêu nghiên cứu, xác định đối tượng nghiên cứu là các hình thức tấn công CAN Bus và phương pháp AI phát hiện bất thường, đồng thời xác lập kế hoạch triển khai 4 giai đoạn cụ thể từ phân tích dữ liệu, áp dụng One-class classification, thử nghiệm học sâu đến xây dựng thư viện dữ liệu.

Chương 2: Tổng quan về mạng CAN Bus và các mô hình học máy

Chương này cung cấp hệ thống lý thuyết về cấu trúc mạng CAN Bus, cơ chế truyền thông broadcast, định danh CAN ID và các hình thức tấn công điển hình (DoS, Spoofing). Tiếp đó, chương trình bày cơ chế toán học và nguyên lý hoạt động của các mô hình học máy phân loại: Random Forest, KNN, TabNet, Decision Tree, QDA, Gaussian Naive Bayes, Perceptron, Passive Aggressive, SGD; các công cụ học máy tự động (TPOT, PyCaret, Auto-Sklearn); mô hình mạng tích chập CNN; các mô hình kết hợp (CNN-Random Forest, CNN-SVM); và các thuật toán phát hiện bất thường một lớp (One-Class Classification: One-Class SVM, Isolation Forest, MCD, LOF) dành cho tập dữ liệu mất cân bằng.

Chương 3: Phương pháp thực hiện

Chương 3 mô tả quy trình xây dựng hệ thống IDS cho xe hơi, từ khâu quét gói tin giữa các ECU đến phân tích xử lý dữ liệu. Nội dung chương định nghĩa chi tiết các thang đo đánh giá gồm Accuracy, Confusion Matrix, Precision, Recall và công thức F-Score với tham số trọng số $\beta$. Chương cũng trình bày 4 giai đoạn thực hiện đề tài, chi tiết hóa cấu trúc 7 lớp của mô hình CNN-LSTM (25,025 tham số) và sơ đồ luồng hoạt động, cú pháp cài đặt (pip install Candataloader==1.7), mã nguồn gọi hàm của thư viện Candataloader.

Chương 4: Thực nghiệm và đánh giá

Chương 4 tập trung vào việc mô tả chi tiết 6 bộ dữ liệu (SynCAN, OTIDS, Survival Analysis, Car-Hacking, Automotive CAN v2, ROAD) và quy trình tiền xử lý dữ liệu, trích xuất đặc trưng (Feature Extraction). Tác giả tiến hành các loạt thực nghiệm theo nhóm:

  • Đánh giá bộ dữ liệu SynCAN trên các mô hình truyền thống và công cụ AutoML (Random Forest, TPOT, KNeighbors, TabNet, PyCaret, Decision Tree, AutoSklearn).
  • Thực nghiệm phương pháp One-Class Classification trên 4 thuật toán (SVM, Isolation Forest, Minimum Covariance Determinant, Local Outlier Factor) để xử lý dữ liệu mất cân bằng chỉ huấn luyện trên nhãn bình thường.
  • Đánh giá các mô hình học sâu kết hợp (CNN-SVM và CNN-LSTM đề xuất).
  • Kiểm thử các mô hình phổ biến (QDA, Gaussian Naive Bayes, Perceptron, Passive Aggressive, SGD) và đối sánh toàn diện các chỉ số đánh giá trên bộ dữ liệu Car Hacking.

Chương 5: Tổng kết và hướng phát triển

Chương cuối cùng tổng kết các kết quả đạt được về mặt mô hình lý thuyết, kết quả thử nghiệm thực tế và việc đóng gói thư viện dữ liệu, đồng thời chỉ ra các định hướng mở rộng nghiên cứu đối với các hệ thống nhúng trên ô tô trong tương lai.

Kết quả và đóng góp

Khóa luận đã hoàn thành các nội dung kỹ thuật và đạt được các kết quả cụ thể sau:

  • Xây dựng thành công mô hình đề xuất CNN-LSTM: Mô hình kết hợp lớp tích chập Conv1D và tầng hồi quy LSTM với 25,025 tham số, cho phép xử lý đồng thời đặc trưng cấu trúc gói tin và tính chất phụ thuộc thời gian của các luồng dữ liệu CAN.
  • Phát triển và phát hành thư viện CANDataloader (v1.7): Đóng gói thành công công cụ hỗ trợ cộng đồng nghiên cứu tự động hóa việc tải, trích xuất và chuẩn hóa 6 bộ dữ liệu tấn công mạng CAN Bus tiêu chuẩn (SynCAN, OTIDS, Survival Analysis, Car Hacking, Automotive CAN v2, ROAD).
  • Khảo sát và thực nghiệm đa diện: Thực hiện đánh giá so sánh trên hàng loạt thuật toán thuộc các nhóm khác nhau: 9 mô hình phân loại truyền thống, 3 công cụ AutoML, 4 thuật toán One-Class Classification cho dữ liệu mất cân bằng và 2 kiến trúc kết hợp học sâu.
  • Đóng góp học thuật: Làm rõ ưu và nhược điểm của việc ứng dụng kỹ thuật học có giám sát so với học phát hiện bất thường một lớp (One-class classification) trên dữ liệu mạng CAN Bus thực tế; chứng minh tính hiệu quả của việc trích xuất đặc trưng tuần tự thời gian đối với các dạng tấn công lặp tín hiệu và làm tràn bus (Flooding, DoS, Fuzzy).

Hạn chế và hướng nghiên cứu tiếp

Dựa trên nội dung khóa luận, các hạn chế và hướng phát triển được xác định như sau:

  • Hạn chế: Quá trình huấn luyện và kiểm thử các mô hình học sâu (như CNN, LSTM) và các công cụ AutoML (TPOT, Auto-Sklearn) đòi hỏi thời gian xử lý lớn và tài nguyên tính toán cao trên môi trường đám mây; hiệu năng phát hiện có thể suy giảm đối với một số kịch bản tấn công tinh vi can thiệp sâu vào nội dung tín hiệu mà không làm thay đổi tần suất xuất hiện của CAN ID.
  • Hướng nghiên cứu tiếp: Tối ưu hóa kích thước mô hình để giảm độ trễ dự đoán (predict latency), phục vụ việc tích hợp trực tiếp lên các phần cứng nhúng hoặc các vi điều khiển ECU thực tế trên ô tô; nghiên cứu mở rộng khả năng phòng thủ cho các giao thức mạng ô tô thế hệ mới như CAN-FD và Automotive Ethernet.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo chuyên môn phù hợp cho sinh viên, học viên cao học và các kỹ sư thuộc chuyên ngành An toàn Thông tin, Kỹ thuật Mạng máy tính và Kỹ thuật Ô tô/Hệ thống nhúng:

  • Phần kiến trúc mạng CAN Bus và các dạng tấn công: Cung cấp kiến thức cơ sở chi tiết về cơ chế hoạt động của giao thức CAN và các kịch bản khai thác lỗ hổng vật lý/logic (DoS, Fuzzy, Impersonation, Flooding, Malfunction).
  • Phần tiền xử lý và thư viện CANDataloader: Cung cấp giải pháp kỹ thuật cụ thể về cách chuẩn hóa, phân tách đặc trưng và xử lý dữ liệu mạng ô tô từ nhiều nguồn chuẩn quốc tế.
  • Phần thiết kế mô hình CNN-LSTM: Cung cấp cấu trúc phân tầng chi tiết, thông số layer và cơ chế kết hợp mạng tích chập với mạng hồi quy phục vụ bài toán phân loại chuỗi thời gian trên dữ liệu mạng nội bộ.

Câu hỏi thường gặp

1. Khóa luận sử dụng các bộ dữ liệu nào để đánh giá hệ thống phát hiện xâm nhập? Tác giả đã thu thập và tổng hợp 6 bộ dữ liệu gồm: SynCAN dataset (dữ liệu tổng hợp), CAN Dataset for Intrusion Detection (OTIDS - ghi từ xe KIA SOUL qua OBD-II), Survival Analysis Dataset for Automobile IDS, Car-Hacking Dataset for Intrusion Detection, Automotive CAN Bus Intrusion Dataset v2, và Real ORNL Automotive Dynamometer (ROAD) CAN Intrusion Dataset.

2. Cấu trúc của mô hình CNN-LSTM do nhóm tác giả đề xuất gồm những lớp nào? Mô hình tuần tự gồm 7 lớp theo thứ tự: Reshape (kích thước (None, 10, 1)), Conv1D (kích thước (None, 8, 32) với 32 bộ lọc), MaxPooling1D (kích thước (None, 4, 32)), Dropout, LSTM (kích thước (None, 64) với 64 đơn vị ẩn), Dropout, và Dense (kích thước (None, 1)). Tổng số tham số của mô hình là 25,025 tham số có thể huấn luyện.

3. Thư viện CANDataloader được phát triển nhằm mục đích gì và có các hàm chính nào? Thư viện Candataloader (phiên bản 1.7 trên Python) được phát triển nhằm tự động hóa quy trình tải xuống, xử lý thô, chuẩn hóa và lưu trữ cục bộ các tập dữ liệu tấn công mạng CAN Bus. Thư viện cung cấp ba hàm chức năng chính gồm: list_datasets(), download_dataset(dataset_name), và get_dataset_path(dataset_name).

4. Vì sao nhóm tác giả áp dụng phương pháp Phân loại một lớp (One-Class Classification)? Phương pháp One-Class Classification (với các thuật toán One-Class SVM, Isolation Forest, MCD, LOF) được áp dụng để giải quyết bài toán dữ liệu mất cân bằng nghiêm trọng trong mạng CAN, khi lưu lượng bình thường chiếm đa số tuyệt đối và dữ liệu tấn công rất hiếm hoặc chưa từng được gán nhãn trong thực tế.

Kết luận

Khóa luận tốt nghiệp của sinh viên Lê Tiến Phong và Trần Như Phát đã nghiên cứu toàn diện bài toán an ninh mạng CAN Bus trên phương tiện thông minh bằng các kỹ thuật trí tuệ nhân tạo. Đề tài đã đề xuất thành công kiến trúc mô hình học sâu kết hợp CNN-LSTM gồm 25,025 tham số, chứng minh hiệu quả trong việc nắm bắt đặc trưng không gian và chuỗi thời gian của luồng tin nhắn CAN. Đồng thời, việc công bố thư viện mã nguồn mở CANDataloader đã đóng góp một công cụ hữu ích cho việc chuẩn hóa và xử lý các bộ dữ liệu phục vụ nghiên cứu phát hiện xâm nhập trên mạng ô tô.