Chương 1 giới thiệu chung về động lực nghiên cứu, các đóng góp chính mục tiêu và các nội dung chính của luận văn. Ngoài ra, các nghiên cứu liên quan cũng như các đóng góp chính của luận văn cũng được trình bày trong chương này. • Chương 2 có nhiệm vụ trình bày tổng quan về hệ thống phát hiện xâm nhập mạng. Trong chương này, em xin trình bày về lý thuyết liên quan đến hệ thống phát hiện xâm nhập mạng, các phương pháp nhận dạng xâm nhập.
• Chương 3 của luận văn có nhiệm vụ trình bày về ứng dụng trong bài toán phát hiện xâm nhập mạng. Trong chương này, em xin trình bày về bài toán, mô hình học sâu trong việc phát hiện xâm nhập mạng. • Chương 4 của luận văn sẽ trình bày về kết quả thực nghiệm. Trong chương này em xin trình bày về môi trường cài đặt, tập dữ liệu và kết quả thu được.
• Chương 5 tóm lược lại các đóng góp chính của luận văn và một số hướng phát triển trong tương lai. 4 Chương 2 LÝ THUYẾT LIÊN QUAN 2.1 Tổng quan về hệ thống phát hiện xâm nhập mạng 2.1 Giới thiệu về hệ thống phát hiện xâm nhập mạng Hệ thống phát hiện xâm nhập mạng (NIDS) là hệ thống phát hiện xâm nhập (IDS) dựa trên mạng. Các hành vi mạng được thu thập bởi các thiết bị mạng thông qua phản chiếu bởi các thiết bị mạng chẳng hạn như: thiết bị chuyển mạch, bộ định tuyến và vòi mạng và được phân tích để xác định các cuộc tấn công, các mối đe dọa có thể được che dấu trong lưu lượng mạng.1: Ví dụ về kiến trúc NIDS 5 CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN Hệ thống phát hiện xâm nhập mạng đem lại những hiệu quả như sau: • Quản lý lưu lượng vào/ra của mạng và đưa ra cảnh báo nếu một luồng bị phát hiện xâm nhập mạng.
• Đưa ra phân tích và thống kê được các luồng hoạt động bất thường. • Kết hợp với tường lửa để trở thành hệ thống an toàn thông tin bảo mật. Có 2 loại NIDS khác nhau dựa trên phương pháp thực hiện được sử dụng: • Phương pháp phát hiện xâm nhập mạng dựa trên chữ ký (SNIDS). • Phương pháp phát hiện xâm nhập mạng dựa trên phát hiện những bất thường (ANIDS).2 Kỹ thuật phát hiện xâm nhập mạng dựa trên dấu hiệu (SNIDS) SNIDS là kỹ thuật dễ sử dụng nhất.
Kỹ thuật này tìm kiếm các mẫu trong lưu lượng mạng và so sánh với các mẫu tấn công đã biết đã được cài đặt sẵn được gọi là tập luật. SNIDS rất tốt trong việc phát hiện những tấn công đã biết trước, nhưng phương pháp này lại không hiệu quả trong việc phát hiện những tấn công mới hoặc tấn công trước đó không nhận dạng được [14].2: Ảnh kiến trúc sử dụng phương pháp SNIDS [12]. LÝ THUYẾT LIÊN QUAN Ưu điểm: • Với những hoạt động xâm nhập đã biết, phương pháp nhanh chóng phát hiện được hoạt động xâm nhập và đưa ra cảnh báo [14]. • Hệ thống phát hiện xâm nhập mạng bắt đầu bảo vệ mạng sau khi cài đặt ngay tức thời [13].
• Khi cảnh báo xảy ra, người dùng có thể liên kết ngay đến hoạt động xảy ra trên mạng [13]. Nhược điểm: [13] • Một trong những vấn đề lớn nhất của phương pháp này là việc so sánh các gói tin với mọi mẫu trong tập dữ liệu vì vậy xử lý toàn bộ lưu lượng truy cập rất tốn thời gian dẫn tới làm chậm thông lượng của hệ thống. • Phải luôn luôn cập nhật cơ sở dữ liệu dấu hiệu thường xuyên. • Đưa ra cảnh báo về cuộc tấn công bất kể kết quả như thế nào.
Việc này dẫn đến việc gửi rất nhiều cảnh báo về các cuộc tấn công không thành công và rất khó quản lý. • Người tạo ra tập luật hoặc biết về tập luật có thể tạo ra các cuộc tấn công mà hệ thống không phát hiện ra được. • Những hiểu biết về các cuộc tấn công phụ thuộc vào hệ điều hành, phiên bản và ứng dụng do đó nó gắn liền với môi trường cụ thể.3 Kỹ thuật phát hiện xâm nhập mạng dựa trên phát hiện bất thường (ANIDS) ANIDS là phương pháp phát hiện xâm nhập mạng dựa trên những hoạt động bất thường. Phương pháp dựa trên các mô hình học máy thống kê khác nhau để tự động học các mẫu và tạo các quy tắc phân biệt lưu lượng truy cập bình thường với các cuộc tấn công độc hại.
Kiến trúc cơ bản của ANIDS bao gồm các thành phần sau: • Tham số hóa: trong giai đoạn này, các thể hiện quan sát được của hệ thống đích được biểu diễn dưới dạng thiết lập trước. • Giai đoạn huấn luyện: Hành vi bình thường hoặc bất thường của hệ thống được đặc trưng hóa và một mô hình tương ứng được xây dựng. Điều này có thể được thực hiện theo các cách khách nhau, tùy thuộc vào loại ANIDS. LÝ THUYẾT LIÊN QUAN • Giai đoạn phát hiện: Sau khi mô hình cho hệ thống có sẵn, nó được so sánh với lưu lượng quan sát (đã được tham số hóa).
Nếu độ lệch tìm thấy vượt quá ngưỡng nhất định, một cảnh báo sẽ được kích hoạt.3: Ảnh kiến trúc của ANIDS [4]. Dựa trên loại xử lý liên quan tới hành vi, ANIDS được phân thành 3 loại chính đó là: • Dựa trên thống kê - hành vi của hệ thống được thể hiện từ một cách nhìn ngẫu nhiên. Sự bất thường xác định bằng cách đo điểm mức độ sai lệch từ một hành vi cụ thể sử dụng độ lệch chuẩn, trung bình, ngưỡng, xác suất. Các phương pháp tiếp cận sớm nhất sử dụng các mô hình đơn biến.
Phương pháp tiếp cận sau đó sử dụng mô hình đa biến mà mô hình theo chuỗi thời gian. Trong kỹ thuật này, hoạt động lưu lượng mạng được ghi lại và một hồ sơ đại diện cho hồ sơ ngẫu nhiên của nó được tạo ra. Hồ sơ này dựa trên số liệu như tốc độ lưu lượng, số lượng gói cho mỗi giao thức, tốc độ kết nối, số lượng địa chỉ IP khác nhau. Hai tập dữ liệu được xem xét trong quá trình phát hiện bất thường: một tương ứng với hồ sơ được quan sát theo thời gian, hồ sơ còn lại dành cho hồ sơ đã được thống kê trước đó.
Khi một sự kiện mạng xảy ra, hồ sơ hiện tại được xác định và ước tính điểm bất thường bằng cách so sánh hành vi. Hệ thống xâm nhập mạng sẽ gắn cờ điểm bất thường nếu điểm số vượt qua ngưỡng nhất định. • Dựa trên tri thức - cố gắng nắm bắt được các hành vi dựa trên dữ liệu trước đó về các thông số hoạt động bình thường hoặc bất thường như: thông số kỹ thuật giao thức, lưu lượng mạng. Phương pháp này phân loại dữ liệu theo bộ quy tắc bao gồm 3 bước.
LÝ THUYẾT LIÊN QUAN Đầu tiên các thuộc tính và các lớp khác nhau được xác định từ dữ liệu huấn luyện. Thứ hai, một tập các quy tắc phân lớp, tham số, thủ tục được suy ra. thứ ba, dữ liệu kiểm tra được phân loại phù hợp. • Dựa trên học máy - thiết lập một mô hình rõ ràng hoặc ngầm định để phân loại các mẫu được phân tích.
Phương pháp này sử dụng dữ liệu gán nhãn để huấn luyện ra các mô hình. Phương pháp dựa trên thống kê xây dựng mô hình, cải thiện hiệu suất dựa trên kết quả trước đó. Phương pháp sử dụng học máy có khả năng thay đổi chiến lược thực thi khi nó học được dữ liệu mới. Nhược điểm của phương pháp này là tốn kém tài nguyên.
Kỹ thuật cơ bản Ưu điểm Nhược điểm Các loại phụ Dựa trên thống Không cần có Dễ được huấn Mô hình đơn biến kê: hành vi ngẫu tri thức về luồng luyện bởi những (biến ngẫu nhiên nhiên bình thường, kẻ tấn công, khó Gaussian độc lập), mô thông báo chính thiết lập cấc hình đa biến (tương xác về luồng độc thông số và chỉ quan giữa một số chỉ hại số, giả định quy số), chuỗi thời gian trình bán tĩnh không thực tế. Dựa trên tri Mạnh mẽ, linh Tốn thời gian Máy trạng thái hữu thức: dữ liệu có hoạt và khả và khó có được hạn (trạng thái và quá trước năng mở rộng dữ liệu có chất trình chuyển đổi), mô lượng cao tả ngôn ngữ (N-gram, UML,.), hệ thống chuyên gia (phân loại dựa trên quy tắc). Dựa trên máy Tính linh hoạt Phụ thuộc cao Mô hình Markov, học: phân loại và khả năng vào giả định về mạng lưới thần kinh, các mẫu thích ứng. Nắm hành vi được logic mờ, thuật toán bắt sự phụ thuộc chấp nhận đối di truyền, phân cụm lẫn nhau với hệ thống.
và phát hiện ngoại lệ. Tiêu tốn nhiều tài nguyên.1: Các nguyên tắc cơ bản của ANIDS [4]. LÝ THUYẾT LIÊN QUAN 2.2 Lý thuyết học sâu Trí tuệ nhân tạo đang len lỏi vào cuộc sống và ảnh hưởng sâu rộng tới mỗi chúng ta. Các cụm từ như: trí tuệ nhân tạo, học máy, học sâu được nhắc đến nhiều trong những năm gần đây.
Học sâu là một trong những nhánh nghiên cứu chuyên sâu của trí tuệ nhân tạo đang dành được sự quan tâm rất lớn trong cộng đồng [15].1 Khái niệm học sâu Trí tuệ nhân tạo là những chương trình dùng để giải quyết một vấn đề dễ dàng với con người nhưng khó khăn với máy tính. Ví dụ: việc phân biệt ảnh của cá và chim. Máy học là những giải thuật giải quyết bài toán mà không ghi cụ thể giải thuật đó là gì, thay vào đó tạo ra giải thuật bằng phương pháp thống kê. Học sâu: chỉ một nhóm thuật toán nhỏ của học máy lấy ý tưởng dựa trên mạng nơ-ron của con người.
Học sâu thường yêu cầu lượng dữ liệu lớn và nguồn tài nguyên nhiều hơn so với các phương pháp thông thường, tuy vậy cho được độ chính xác cao hơn.2 Lược sử của học sâu Hình 2.4: Ảnh lịch sử học sâu (nguồn: Deep learning - history and background) Perceptron (60s): một trong những nền móng đầu tiên của mạng nơ-ron và học sâu là Perceptron. Perceptron là thuật toán học có giám sát, giúp giải quyết các bài toán phân lớp nhị phân, được khởi nguồn bởi Frank Rosenblatt năm 1957 trong một nguyên cứu được tài trợ bởi Văn phòng nguyên cứu hải quân Hoa Kỳ. Thuật toán Perceptron được chứng minh là hội tụ nếu hai lớp dữ liệu phân lớp tuyến tính. Đến năm 1958, trong một hội thảo nó được 10 CHƯƠNG 2.
LÝ THUYẾT LIÊN QUAN Frank Rosenblatt công bố. Nhưng sau đó, nó nhanh chóng được chứng minh không thể giải quyết các bài toán cơ bản. Vào năm 1969, Marvin Minsky và Seymour Papert trong một cuốn sách nổi tiếng Perceptrons đã chứng minh rằng không thể học hàm XOR khi sử dụng Perceptron.