CHƯƠNG 1 — TONG QUAN ĐÈ TÀI Đã có rat nhiều các bai nghiên cứu của các học gia nỗi tiếng sử dung các thuật toán machine learning như Decision Tree, SVM, K-means. dé phát hiện các lưu lượng bất thường đem lại kết quả rất tích cực nhưng tỉ lệ dự đoán chính xác vẫn cần phải được cải thiện [AK]. Các thuật toán deep learning, được triển khai bằng cách bắt chước hành vi phân biệt, cách tư duy não bộ của con người thông qua các tế bào thần kinh, đã được áp dụng thành công trong các lĩnh vực như nhận dạng hình ảnh, phân tích chuyển động, xử lý ngôn ngữ tự nhiên. cũng đã được sử dung trong việc phat hiện xâm nhập trái phép.
Tuy nhiên, những thuật toán như Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM) thường tiêu tốn quá nhiều thời gian trong việc huấn luyện mô hình. Với sự phát triển chóng mặt của công nghệ thông tin, lượng dữ liệu được trao đồi trở nên không lồ hơn bao giờ hết. Các mô hình One-stage IDS phải đối mặt với lượng dit liệu lớn ngày càng trở nên ít hiệu quả, làm ảnh hưởng đến sự an toàn thông tin của toàn bộ hệ thong mạng. Do đó, mô hình One-stage IDS không thé đáp ứng được các yêu cầu trong ngữ cảnh dữ liệu lớn như hiện nay.
Đề giải quyết van dé này, chúng em đề xuất một hệ thống Two-stage IDS dé cải thiện hiệu năng phân loại của IDS nhằm phân loại các cuộc tấn công một cách nhanh chóng và chính xác hơn. Cụ thê ở bài nghiên cứu này, chúng em sẽ kết hợp thuật toán Decision Tree và Convolutional Neural Network (CNN) đề xây dựng hệ thống Two- stage IDS nhăm giải quyết những van đề mà One-stage IDS phải đối mặt. Hệ thống Two-stage IDS được dé xuất bao gồm hai giai đoạn phân loại. Giai đoạn thứ nhất đảm nhận vai trò nhận dạng các lưu lượng mạng bất thường và giai đoạn thứ hai sẽ phân loại tan công từ những lưu lượng bat thường được phân loại từ giai đoạn thứ nhất.
Giai đoạn thứ nhất được xây dựng dựa trên thuật toán machine learning, thuật toán machine learning có ưu điểm là tốc độ xử lý nhanh và có độ tin cậy cao trong việc phân loại nhị phân, phù hợp trong việc sàng lọc lưu lượng mạng bất thường. Thuật toán deep learning được áp dụng cho giai đoạn hai nhằm tận dụng ưu điểm là khả năng tự học theo thời gian cùng với khả năng đưa ra các dự đoán có tỉ lệ (+) | CHƯƠNG 1 — TONG QUAN ĐÈ TÀI chính xác cao dé tiến hành phân loại đa lớp nhằm phát hiện cụ thể loại tan công.4 Mục tiêu của dé tài e Xây dựng và triển khai hệ thống phát hiện xâm nhập hai tang áp dụng ML và DL dé ngăn ngừa các cuộc tan công mạng. e Triển khai tích hợp hệ thống phát hiện mẫu đối kháng vào mô hình đề xuất dé cải thiện hiệu năng, ngăn chặn sự đánh lừa IDS từ các mẫu đối kháng.5 Đối tượng và phạm vi nghiên cứu 1.1 Đối tượng nghiên cứu e Ngôn ngữ Python được sử dụng trong việc xây dựng và hoàn thiện mô hình. e Thu viện TensorFlow2 dé xây dựng mô hình hệ thống.
e Kỹ thuật tấn công Carlini & Wagner dé tạo mẫu đối kháng. e Tỉnh chỉnh và trién khai tích hợp hệ thống ML-LOO vào Two-stage IDS.2 Phạm vi nghiên cứu e Các thuật toán học máy, học sâu. e Các kỹ thuật sàng lọc và xử lí dữ liệu lưu lượng mạng. e_ Giải pháp tích hợp thuật toán học máy và học sâu dé xây dựng mô hình đề xuất.
e Các kỹ thuật sinh mẫu đối kháng. e Các giải pháp hiện có dé phát hiện các mẫu đối kháng.6 Cấu trúc khóa luận: Khóa luận được trình bay với cấu trúc như sau: e Chương 1. Tổng quan đề tài. Chương l sẽ giới thiệu tông quan về dé tài nghiên cứu, mục tiêu nghiên cứu, đối tượng nghiên cứu và phạm vi nghiên cứu.
(5} | CHƯƠNG 1 — TONG QUAN ĐÈ TÀI e Chương 2. Co sở lý thuyết. Chương2 sẽ trình bay các kiến thức tổng quan về hệ thống phát hiện xâm nhập, giới thiệu về ngôn ngữ lập trình được sử dụng và các thư viện hỗ trợ có liên quan, giới thiệu về học máy và học sâu, các thuật toán học máy và mô hình học sâu và các tập di liệu lưu lượng mạng, giới thiệu về mang sinh đối kháng, các kiểu tan công phố biến và hệ thống phát hiện mẫu đối kháng. Mô hình hệ thống Two-stage IDS.
Chương 3 mô tả chỉ tiết về hệ thống Two-stage IDS, các giai đoạn riêng biệt và quá trình tích hợp hệ thống phát hiện mẫu đối kháng. Thực nghiệm và đánh giá. Chương 4 trình bày quá trình thực nghiệm hệ thống, đưa ra các thông số chỉ tiết thé hiện độ chính xác, hiệu năng của mô hình đề xuất và đánh giá kết quả. Chương 5 tông kết toàn bộ quá trình nghiên cứu, xây dựng hệ thống và đề xuất các mục tiêu phát triển trong tương lai.
e Phụ lục Phụ lục trình bày cách sử dụng môi trường Google Colab trong việc xử lí và huấn luyện mô hình, các lỗi gặp phải trong quá trình nghiên cứu và phương pháp giải quyết. e Tài liệu tham khảo Toàn bộ các công trình nghiên cứu, các bài viết chia sẻ kiến thức và hình ảnh được sử dụng trong báo cáo sẽ được trích dẫn ở phần này. (>} CHƯƠNG2 CƠ SỞ LÝ THUYET 2.1 Tổng quan về hệ thống phát hiện xâm nhập (IDS) 2.1 Khái niệm hệ thống phát hiện xâm nhập IDS (Intrusion Detection System hay “Hệ thống phát hiện xâm nhập”) được cấu thành từ hai từ “xâm nhập” và “hệ thống phát hiện”. Xâm nhập đề cập đến việc truy cập trái phép vào thông tin hoặc hệ thống mang làm ảnh hưởng đến ba yếu tố gồm: bao mật (Confidentiality), toàn ven (Integrity) và khả dụng (Availability).
Hệ thong phát hiện là cơ chế bảo mật phát hiện các xâm nhập bat hợp pháp. Vì vậy IDS là một hệ thông hoạt động thường trực với nhiệm vụ là giảm sát hệ thong mang va kiém tra lưu lượng mạng, kiểm tra sự tồn tại của các hoạt động đáng nghi ngờ có khả năng làm ảnh hưởng đến ba yếu tố C-I-A đã nêu trên. Hình 2-1 thê hiện một hệ thống mạng cơ bản có lắp đặt các IDS. AI-IDS là áp dụng trí tuệ nhân tạo vào IDS giúp IDS có khả năng phát hiện tốt hơn, học hỏi được các loại tan công mới trong lưu lượng mạng và tự động phát hiện được lưu lượng bắt thường nhằm tăng khả năng phát hiện xâm nhập tốt hơn.
MIDS NIDS management Read-only The Internet Firewall Trusted network Hình 2-1 Mô hình mạng cơ bản có lắp đặt IDS [1] 2.2 Phan loại hệ thống phát hiện xâm nhập IDS có thể được phân loại theo phạm vi giám sat và theo kĩ thuật thực hiện.1 IDS dựa trên phạm vi giám sát Dựa vào phạm vi giảm sát thì IDS được chia thành hai loại: dựa trên Host (HIDS) va dựa trên Network (NIDS). HIDS được triển khai trên host với nhiệm vụ giám sát hoạt động của host được triển khai đề phát hiện những hành vi vi phạm tới chính sách và những hành vi bất thường. NIDS được triển khai trên hệ thống mạng với mục đích bảo vệ hệ thống mạng khỏi sự xâm nhập trái phép. NIDS giám sát liên tục lưu lượng mạng và xem xét các packet trong mạng để phát hiện xâm nhập trái phép.2 IDS dựa trên kỹ thuật thực hiện IDS dựa trên kỹ thuật thực hiện được chia làm hai loại: dựa trên dấu hiệu nhận biết (Signature-based IDS) và dựa trên sự bất thường (Anomoly-based IDS).
Signature-based IDS hay còn gọi là phát hiện xâm nhập dựa trên những dấu hiệu, ý tưởng đã biết dé xác định dấu hiệu nhận biết cho các loại tan công. Các dấu hiệu nhận biết này được lưu trữ trong cơ sở dữ liệu các dấu hiệu nhận biết và các mẫu dữ liệu được khớp với các dâu hiệu được lưu trữ này đê phát hiện các cuộc tân công. (+} | CHƯƠNG 2- CƠ SỞ LÝ THUYET Ưu điểm của Signature-based IDS là cực kì hiệu quả khi phát hiện các cuộc tấn công đã biết từ trước. Mặt khác, phương pháp này thiếu khả năng phát hiện các cuộc tấn công biến thé và mới do không có các mẫu dấu hiệu có sẵn trong cơ sở dữ liệu.
Việc dé phát hiện được nhiều dau hiệu mới đòi hỏi cơ sở dit liệu phải lưu trữ rất nhiều dấu hiệu và khi một cuộc tấn công có ý định xâm nhập vao hệ thống thì việc kiểm tra các mau dé xác định kiểu tan công cũng sẽ làm tiêu tốn tài nguyên. Anomoly-based IDS hay còn gọi là hệ thống phát hiện xâm nhập dựa trên sự bat thường dựa trên ý tưởng xác định ngưỡng hoạt động nao là bình thường, ngưỡng nao là bat thường. Bat kì sai lệch nào so với ngưỡng bình thường sẽ được coi là hành vi bất thường. Ưu điểm của Anomoly-based IDS là khả năng phát hiện các cuộc tấn công mới chưa biết và khả năng điều chỉnh các ngưỡng bình thường cho các mạng và ứng dụng khác nhau.
Tuy nhiên, nhược điểm chính là tỉ lệ báo động giả cao vì khó tìm ra ranh giới giữa ngưỡng bình thường và bất thường đề phát hiện xâm nhập. Ngôn ngữ lập trình và các thư viện hỗ trợ Di cùng với sự phát triển của lĩnh vực trí tuệ nhân tạo là sự trợ giúp của các công cụ, thư viện, framework đặc thù, được xây dựng dé hỗ trợ trong việc nghiên cứu và phát triển mô hình/ứng dụng một các thuận tiện.1 Ngôn ngữ lập trình Python Python là một ngôn ngữ lập trình rất phổ biến hiện nay, nó được tạo ra bởi Guido van Rossum vào năm 1991. Với khả năng mạnh mẽ của minh, Python được dùng dé lập trình ra các ứng dụng web, xử lý các tính toán khoa học, tao ra các sản pham phân mềm chất lượng. Python hỗ trợ nhiều nền tảng khác nhau như Windows, Mac, Linux.
Ngôn ngữ này có cú pháp đơn giản, dễ hiểu và dễ tiếp cận. Python sử dụng trình thông dịch đề thực thi nên có thê thực thì ngay mà không cần biến dịch toàn bộ chương trình. Với khả năng xử lý các phép toán phức tạp cùng việc có nhiều thư viện hỗ trợ tốt như scipy, numpy, sklearn, tensorflow, pytorch, pandas. nên Pythen được sử dụng rât nhiêu trong lĩnh vực học máy, học sâu nói riêng và nghiên cứu trí tuệ (>} | CHƯƠNG 2- CƠ SỞ LÝ THUYET nhân tạo nói chung.2 Thu viện TensorFlow Tensorflow là một thư viện miễn phí và mã nguồn mở phục vụ cho machine learning (học máy) được phát triển bởi đội ngũ Google Brain vào năm 2015.