Mở đầu Mô tả khái quát vấn đề, đề xuất cách tiếp cận để giải quyết vấn đề, mục tiêu đề tài cần đạt được và phương pháp nghiên cứu đề tài. Cơ sở lý thuyết Mô tả lý thuyết về xâm nhập mạng, các loại hệ thống phát hiện tấn công xâm nhập mạng, các khái niệm bảo mật an ninh mạng, giới thiệu mạng nơ-ron nhân tạo, mạng nơ-ron đa lớp, khái niệm học sâu. Bên cạnh đó, đề cập đến một số nghiên cứu liên quan làm tiền đề cho luận văn này. Phương pháp nghiên cứu Trình bày xây dựng mô hình học sâu để phát hiện xâm nhập mạng, phương pháp tiền xử lý dữ liệu, huấn luyện mô hình, kiểm thử mô hình, đánh giá mô hình và triển khai mô hình vào thực tế.
Thực nghiệm và đánh giá Mô tả môi trường thực nghiệm, trình bày các quy trình huấn luyện, các bước huấn luyện và kiểm thử mô hình, kết quả mô hình và các phương pháp đánh giá hiệu quả mô hình. Áp dụng hệ thống phát hiện xâm nhập mạng sử dụng phương pháp học sâu vào thực tế Mô tả môi trường thực nghiệm trên máy ảo, trình bày quy trình và kết quả của hệ thống phát hiện xâm nhập mạng trên thực tế, so sánh với một công cụ khác để đánh giá hiệu quả của hệ thống. Kết luận và hướng phát triển Trình bày những kết quả thu được từ quá trình nghiên cứu, những thuận lợi, khó khăn, hướng phát triển nhằm phát huy điểm mạnh và cải thiện điểm yếu của hệ thống.1 Tổng quan về xâm nhập mạng 2.1 Khái niệm xâm nhập mạng Xâm nhập mạng, tấn công mạng là các tác động hoặc là trình tự liên kết giữa các tác động với nhau để hiện thực hóa các nguy cơ gây hại bằng cách lợi dụng lỗ hổng của các hệ thống thông tin. Theo một cách khác xâm nhập mạng có thể được định nghĩa là hành động cố gắng phá hủy sự toàn vẹn, bí mật của một tài nguyên hoặc đi ngược lại mục tiêu bảo mật của một tài nguyên nào đó.2 Các kiểu tấn công xâm nhập mạng phổ biến hiện nay Cài đặt Spyware, Keylogger, Backdoor: Hay còn gọi là tấn công thành lập “cửa sau”, là cách tấn công cài đặt các ứng dụng cho phép truy cập từ xa vào máy tính nạn nhân.
Trong loại vi phạm này, hacker sử dụng các loại phần mềm gián điệp được thiết kế, lập trình tinh vi, hoạt động ở chế độ ẩn có các chức năng như: điều khiển từ xa, ghi thông tin gõ bàn phím, duyệt và lấy cắp dữ liệu, chụp ảnh màn hình, mở micro ghi tín hiệu thoại,… mã hóa dữ liệu và gửi vào email được lưu trên một máy chủ trung gian để giấu nguồn gốc của hacker. Tấn công từ chối dịch vụ DoS- Botnet: Một cuộc tấn công từ chối dịch vụ (DoS) ngăn cản người dùng hợp pháp truy cập vào các dịch vụ hoặc thông tin. Nó thành công khi một kẻ tấn công làm quá tải một máy chủ với yêu cầu nhiều hơn các máy chủ có thể xử lý. DoS là chỉ một kẻ nào đó tấn công kiểm soát máy tính và sử dụng chúng để làm tràn một email đặc biệt với các tin nhắn hoặc một trang web có khối dữ liệu khổng lồ.
Các tấn công DoS bao gồm TCP-SYN Flood, ICMP/UDP Flood, Smurf, Ping of Death, Teardrop, Mailbomb, Apache2… Tấn công thăm dò (Reconnassance): Là hình thức tấn công nhằm thu thập các thông tin về hệ thống mục tiêu, từ đó phát hiện ra các điểm yếu. Tấn công do thám thường để làm bàn đạp cho cuộc tấn công truy cập hoặc tấn công từ chối dịch vụ về sau. Để tấn công thăm dò, hacker thường dùng các công cụ: Truy vấn thông tin Internet, Ping sweep, Port Scan, Packet sniffer… Tấn công khai thác mối quan hệ tin cậy: Khi hệ thống A và hệ thống B có mối quan hệ tin cậy nhau, các điểm yếu của hệ thống B có thể bị hacker lợi dụng, để tấn công vào hệ thống A, vì các truy cập từ hệ thống B vào hệ thống A được xem là hợp lệ. Để ngăn chặn tấn công lợi dụng mối quan hệ tin cậy, người quản trị hệ thống phải hạn chế các mối quan hệ tin cậy từ hệ thống mạng bên trong với hệ thống mạng bên ngoài.2 Tổng quan về hệ thống phát hiện xâm nhập mạng IDS Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là một hệ thống giám sát lưu lượng mạng nhằm phát hiện các hiện tượng bất thường, các hoạt động xâm nhập trái phép vào hệ thống được giới thiệu lần đầu năm 1997 [2].
Các tính năng quan trọng nhất của một hệ thống IDS bao gồm: Giám sát lưu lượng mạng và các hoạt động khả nghi. Cảnh báo về tình trạng mạng cho hệ thống và nhà quản trị. Đánh giá sự toàn vẹn các hệ thống IDS và các file dữ liệu quan trọng. Nhận rõ mẫu hành động phản ánh các cuộc tấn công đã biết.
Phân tích thống kê các mẫu hành động bất thường. Các tính năng của một hệ thống IDS Hệ thống IDS kết hợp với các hệ thống giám sát, tường lửa, chương trình diệt virus… tạo thành một hệ thống bảo mật hoàn chỉnh. Hệ thống IDS có hai loại chính: Network Intrusion Detection System (NIDS): Là một hệ thống độc lập được thiết lập tại một điểm quy hoạch trong hệ thống để kiểm tra lưu lượng từ tất cả các thiết bị trên mạng. Nó quan sát theo dõi lưu lượng truyền trên toàn bộ mạng con và so sánh với tập hợp các cuộc tấn công đã biết.
Khi xác định được một cuộc tấn công hoặc nhận thấy thấy hành vi bất thường, nó sẽ gửi cảnh báo đến quản trị viên (Hình 2. Hệ thống NIDS Host Intrusion Detection System (HIDS): Hệ thống phát hiện xâm nhập máy chủ được cài đặt cục bộ trên các máy chủ, máy trạm, máy tính xách tay hoặc các thiết bị độc lập trên mạng làm cho nó trở thành một hệ thống linh hoạt hơn so với NIDS. HIDS giám sát lưu lượng đến và đi từ thiết bị và sẽ cảnh báo cho quản trị viên nếu phát hiện hoạt động đáng ngờ hoặc độc hại (Hình 2. Hệ thống HIDS Cũng có thể phân loại IDS theo hai cách khác là dựa theo kỹ thuật để phát hiện xâm nhập: IDS phát hiện dựa trên dấu hiệu (Signature-based IDS) và phát hiện dựa trên bất thường (Anomaly-based IDS) Signature-based IDS: Phát hiện xâm nhập dựa trên dấu hiệu của hành vi xâm nhập, thông qua phân tích lưu lượng mạng và nhật ký hệ thống.
Kỹ thuật này đòi hỏi phải duy trì một cơ sở dữ liệu về các dấu hiệu xâm nhập (signature database), và cơ sở dữ liệu này phải được cập nhật thường xuyên mỗi khi có một hình thức hoặc kỹ thuật xâm nhập mới. Anomaly-based IDS: Phát hiện xâm nhập bằng cách so sánh (mang tính thống kê) các hành vi hiện tại với hoạt động bình thường của hệ thống để phát hiện các bất thường (anomaly) có thể là dấu hiệu của xâm nhập.3 Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) Mạng nơ-ron nhân tạo [15] mô phỏng một tập hợp các tế bào thần kinh kết nối với nhau, đầu ra của nơ-ron này có thể là đầu vào của nơ-ron khác. Mạng nơ-ron nhân tạo ANN được tạo từ các node (nơ-ron) xếp chồng các lớp lên nhau giữa vector đặc trưng và vector đích. Mạng nơ-ron nhân tạo đơn giản nhất tạo từ một node được gọi là “perceptron”.
Giống như các tế bào thần kinh sinh học có các nhánh và sợi trục, mạng nơ-ron nhân tạo đơn là một cấu trúc cây đơn giản có các node đầu vào và node đầu ra, được kết nối với mỗi node đầu vào. Bias b Weights x1 w1 Activation Function Ʃ Output Inputs x2. xn wn Hình 2. Cấu trúc mạng nơ-ron nhân tạo Trong đó: - x1, x2,… xn: Là các tín hiệu vào của neural, được biểu diễn dưới dạng vector N chiều.
- w1, w2,… wn: Là các trọng số tương ứng với các tín hiệu vào. Đây là thành phần quan trọng của một mạng neural, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin. Quá trình học (learning processing) của mạng neural thực ra là quá trình điều chỉnh trọng số (weight) của các input data để có được kết quả mong muốn. - Hàm tổng (Summation Function): Tính tổng trọng số của tất cả các input được đưa vào mỗi nơ-ron.
Hàm tổng của một nơ-ron đối với n input được tính theo công thức sau: (2. Tất cả các nơ-ron đều cho sẵn một độ lệch (b). Độ lệch (bias) là một tham số điều chỉnh vô hướng của nơ-ron, nó không phải là một đầu vào, song hằng số phải được xem như đầu vào và nó cần được coi như vậy khi xem xét độ phụ thuộc tuyến tính của các vector đầu vào. - y: Đầu ra của nơ-ron.
7 - f: Hàm kích hoạt (activation function). Được dùng để giới hạn phạm vi đầu ra của mỗi nơ-ron. Một số hàm kích hoạt thường được sử dụng là: Hàm sigmoid (Sigmoid function) (2. Hàm sigmoid Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán Lan truyền ngược (back-propagation), bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện.
Hàm này được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1]. Hàm tanh Hàm tanh (x) là một phiên bản thay đổi kích thước của hàm sigmoid, và phạm vi đầu ra của nó là [-1, 1] thay vì [0, 1]. Hàm ReLU Hàm ReLU (Rectified Linear Unit) được sử dụng rộng rãi gần đây vì tính đơn giản của nó. Ưu điểm chính của hàm này là giúp cho việc training các Deep Networks nhanh hơn rất nhiều.
Sự tăng tốc này được cho là vì ReLU được tính toán gần như tức thời và gradient của nó cũng được tính cực nhanh với gradient bằng 1 nếu đầu vào lớn hơn 0, bằng 0 nếu đầu vào nhỏ hơn 0. Kiến trúc chung của mạng nơ-ron nhân tạo bao gồm 3 thành phần: Lớp đầu vào (Input Layer), Lớp ẩn (Hidden Layer) và Lớp đầu ra (Output Layer). Cụ thể: - Input Layer: Mỗi input tương ứng với một thuộc tính của dữ liệu đầu vào. - Output Layer: Lớp này sẽ cung cấp các kết quả đầu ra mà chúng ta mong muốn mô hình tính được.
- Hidden Layer: Gồm các nơ-ron nhận dữ liệu input từ các nơ-ron ở lớp trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo. Trong một ANN có thể có nhiều Hidden Layer. Kiến trúc mạng nơ-ron nhân tạo 9 2.