Giải pháp tích hợp mô hình phát hiện tấn công Dos dựa trên học máy vào hệ thống ZABBIX
GIỚI THIỆU
Những năm gần đây, trong bài toán phân lớp học máy được sử dụng rộng rãi. Ưu điểm của các mô hình học máy là sử dụng các thuật toán để có thể giúp máy tính toán từ đó đưa ra kết quả. Mặc dù tốc độ xử lý của máy tính ngày càng cao nhưng một số mô hình học máy cũ không còn thích hợp để xử lý các bài toán có dữ liệu lớn và phức tạp ngày nay như mô hình DT, Random Forest, SVM,... Do đó, những năm gần đây đã nổi lên một số mô hình, điển hình là các mô hình học sâu như DNN, CNN, LSTM,...
Tất cả các mô hình học máy và học sâu đều cần có dữ liệu đầu vào tốt gọi là các đặc trưng đầu vào. Nếu các đặc trưng được đưa vào tốt thì quá trình phát hiện và phân lớp theo mô hình sẽ đạt kết quả cao. Một trong các mô hình học sâu là CNN, cho phép huấn luyện tốt với các đặc trưng thô do bản thân bên trong mô hình CNN sử dụng các lớp tích chập chính là các lớp giúp cho tinh chỉnh các đặc trưng đầu vào. Vì vậy sử dụng CNN nói riêng và các mô hình học sâu nói chung cho kết quả phân lớp chính xác cao hơn các mô hình học máy bình thường.
Mô hình CNN ban đầu được đề xuất cho bài toán phân lớp ảnh. Do dung lượng ảnh đầu vào ngày càng nặng (gồm nhiều pixel ảnh HD, Full HD, 4K, 8K,…), nên việc trích chọn các đặc trưng tốt trong ảnh một cách thủ công là rất khó khăn. Như đã nói, bản thân CNN đã có các lớp tích chập giúp cho việc chắt lọc thông tin từ các đặc trưng thô ban đầu nên mô hình CNN rất hiệu quả với các bài toán có dữ liệu đầu vào lớn (Big Data). Hiện nay, ngoài phân lớp ảnh thì mô hình CNN đã được sử dụng rộng rãi trong các bài toán phân lớp khác như chữ viết, âm thanh, mã độc, gợi ý mua hàng, tấn công DoS,...
Trong những năm gần đây, các nghiên cứu áp dụng học máy, học sâu trong an toàn thông tin ngày càng được nhiều nhóm quan tâm. Điển hình như các nghiên cứu về phát hiện các cuộc tấn công mạng, đặc biệt là cuộc tấn công vào các hệ thống IoT như phát hiện dấu hiệu bất thường, phát hiện tấn công Botnet, phát hiện phần mềm độc hại [3], phát hiện xâm nhập. Phân lớp và phát hiện mã độc trên di động [5] và PC [6].
Việc thu thập dữ liệu đầu vào rất quan trọng, đặc biệt là trong việc theo dõi các thông tin trên Internet. Trên Internet có rất nhiều thông tin yêu cầu tới server, cụm server vì vậy rất khó để phân định được yêu cầu với những tham số nào là an toàn. Do đó, ý tưởng được đưa ra là ta sẽ thu thập tất cả các dữ liệu thu được (có thể xử lý trước hoặc không), sau đó đưa vào mô hình học máy học sâu để phân loại các cuộc tấn công.
Một số hệ thống thu thập dữ liệu hiệu quả như: Solarwinds Network, PRTG Network, Dynatrace, Pandora FMS, ConnectWise, Nagios XI, WhatsUp Gold, Zenoss core, Zabbix,... Trong nội dung nghiên cứu này, nhóm tác giả sử dụng hệ thống Zabbix để thu thập dữ liệu và đưa ra cảnh báo. Các phần tiếp theo nhóm tác giả sẽ trình bày cụ thể về giải pháp cũng như việc đưa ra cách thức tích hợp mô hình CNN vào hệ thống Zabbix.
GIẢI PHÁP ĐỀ XUẤT
Mô hình hệ thống phát hiện tấn công mạng dựa trên học máy/học sâu
Hiện nay, các kỹ thuật tấn công mạng ngày càng đa dạng. Các phương pháp phát hiện tấn công mạng trước đây đã cho thấy không còn phù hợp và hiệu quả. Ví dụ như: Phát hiện dựa vào mẫu, dựa vào dấu hiệu, dựa trên bất thường,… Để cải thiện độ chính xác của hệ thống tấn công mạng, nhóm tác giả đề xuất một phương pháp phát hiện tấn công dựa trên học máy/học sâu với mô hình tổng thể được thể hiện trên Hình 1.
Hình 1. Mô hình tổng thể phát hiện tấn công DoS dựa trên học máy/học sâu
Phương pháp phát hiện tấn công DoS sử dụng mô hình học máy/học sâu bao gồm hai giai đoạn:
Giai đoạn 1: Huấn luyện mô hình cho việc học và phân loại đặc trưng. Việc huấn luyện mô hình học các đặc trưng được thực hiện bằng phương pháp có giám sát hoặc không giám sát. Mô hình học các đặc trưng được huấn luyện phù hợp có thể được áp dụng trực tiếp để tìm hiểu đặc trưng của dữ liệu mới. Xử lý trước dữ liệu trong giai đoạn này mục đích để chuẩn hóa dữ liệu đầu vào, cũng như kiểu dữ liệu chuyển đổi.
Giai đoạn 2: Phát hiện các tấn công DoS. Đầu tiên xử lý trước dữ liệu đầu vào, và sau đó mô hình học các đặc tính được huấn luyện trong giai đoạn đầu tiên được sử dụng để tìm hiểu các đặc trưng của dữ liệu. Cuối cùng, các đặc trưng này được nhập vào trình phân loại để phân loại phương pháp tấn DoS theo các nhãn cho trước.
Quá trình huấn luyện sử dụng mô hình học máy/học sâu:
Thứ nhất, mạng lưới huấn luyện bằng phương pháp huấn luyện không giám sát/có giám sát.
Thứ hai, sắp xếp các lớp đã được khởi tạo để tạo thành một mạng lưới nhiều lớp. Cuối cùng, tinh chỉnh mạng lưới được huấn luyện này để có được mô hình học đặc trưng tốt nhất.
Mô hình phát hiện tấn công dựa trên học sâu dùng CNN
CNN là các phương pháp học sâu có giám sát mạnh mẽ với hiệu suất cạnh tranh cao. Với CNN, khả năng mở rộng của mạng được tăng lên và độ phức tạp về thời gian huấn luyện của chúng được cải thiện so với mô hình ANN truyền thống. CNN có ứng dụng tiềm năng trong bảo mật IoT, phát hiện tấn công mạng,... vì có thể tự động học các đặc trưng từ dữ liệu bảo mật thô.
Phát hiện tấn công dựa trên mô hình mạng CNN được thể hiện như Hình 2. Trong Hình 2 cho ta cái nhìn tổng quan về kiến trúc CNN và quá trình huấn luyện trong mô hình CNN.
Hình 2. Tổng quan về kiến trúc CNN
TÍCH HỢP MÔ HÌNH VÀO ZABBIX
Các thành phần của Zabbix
Hệ thống Zabbix gồm các thành phần cơ bản sau (Hình 3):
Zabbix server: Đây là thành phần trung tâm của phần mềm Zabbix. Server có thể kiểm tra các dịch vụ mạng từ xa (web server và mail server). Agent sẽ báo cáo toàn bộ thông tin và số lượng thống kê cho server. Server sẽ lưu trữ tất cả cấu hình và dữ liệu thống kê.
Zabbix proxy: Proxy là phần tuỳ chọn của Zabbix. Proxy sẽ thu nhận dữ liệu, lưu trong bộ nhớ đệm và được chuyển đến Zabbix server. Zabbix Proxy là một giải pháp lý tưởng cho một giám sát tập trung của địa điểm từ xa, chi nhánh, mạng lưới không có các quản trị viên địa phương. Zabbix proxy cũng có thể được sử dụng để phân phối tải của một đơn Zabbix Server.
Hình 3. Tổng quan mô hình giám sát Zabbix
Zabbix agent: Để giám chủ động giám sát các thiết bị cục bộ và các ứng dụng (ổ cứng, bộ nhớ, bộ xử lý số liệu thống kê,…) trên hệ thống mạng, các hệ thống phải chạy Zabbix Agent. Agent sẽ thu thập thông tin hoạt động từ hệ thống mà nó đang chạy và báo cáo dữ liệu này đến Zabbix server để xử lý tiếp. Trong trường hợp lỗi (ổ cứng đầy hoặc dịch vụ của một quá trình chết), các Zabbix server báo cho quản trị viên sự cố này.
Web interface: Để dễ dàng truy cập dữ liệu theo dõi và sau đó cấu hình Zabbix từ bất cứ giao diện web cung cấp. Giao diện là một phần của Zabbix server và thường chạy trên các máy vật lý giống như đang chạy một trong các Zabbix server.
Cơ chế hoạt động và tính năng của Zabbix:
Zabbix giám sát các thiết bị qua Zabbix agent hoặc qua các giao thức SNMP,... Cơ chế hoạt động của Zabbix được mô tả như trong Hình 4.
Các Agent (thiết bị mạng hay server được cài đặt SNMP hay Zabbix agent) sẽ gửi các event liên quan tới thiết bị mạng, máy chủ Zabbix server. Zabbix server làm nhiệm vụ phân tích số liệu thu thập được và dựa vào các trigger do người quản trị hệ thống thiết lập mà quyết định đưa ra các cảnh báo theo mức độ khác nhau (Critical, warning, information,...). Có thể sử dụng nhiều hình thức cảnh báo khác nhau như gửi SMS, email,...
Cách thức hoạt động của Zabbix rất linh hoạt, hệ thống có thể được cấu hình để theo dõi, giám sát thiết bị mạng, máy chủ theo cách ta muốn. Nó cũng có một cơ chế để tự động phản ứng với các vấn đề và là một hệ thống cảnh báo mạnh. Các tính năng này đều được dựa trên một hệ thống định nghĩa các đối tượng rõ ràng.
Phương pháp phát hiện bất thường hiện tại trong Zabbix
Hiện tại, Zabbix sử dụng các module và các luật sẵn có trong hệ thống để phát hiện bất thường. Bản thân Zabbix được phát triển theo các module, việc kiểm soát hệ thống theo module được biểu diễn như Hình 4.
Hình 4. Thiết kế dạng mô-đun trong Zabbix
Trong đó, để có thể phát hiện tấn công, Zabbix sử dụng Module Metric Collection để thu thập số liệu từ bất kỳ thiết bị, hệ thống, ứng dụng với các phương pháp thu thu thập số liệu gồm Multi-platform Zabbix agent, SNMP và IPMI agent, giám sát dịch vụ người dùng và cho phép tuỳ chỉnh, tính toán và tổng hợp, giám sát website của người dùng cuối.
Module Problem Detection dùng để phát hiện trạng thái sự cố trong luồng chỉ số đầu vào tự động và Module Notification and Remediaiton để thông báo cho người dùng chịu trách nhiệm về các sự kiện đã xảy ra bằng nhiều kênh và tuỳ chọn khác nhau.
Như vậy, bản thân hệ thống Zabbix đã có cơ chế phát hiện bất thường và đưa ra cảnh báo cho người dùng. Tuy nhiên, Zabbix chỉ mạnh trong vấn đề thu thập dữ liệu còn phân loại các sự cố hay các cuộc tấn công vào hệ thống thì chỉ dựa vào một số tập luật có sẵn trong Zabbix để đưa ra cảnh báo là không đủ. Xu hướng hiện nay là kết hợp hệ thống thu thập thông tin vào trong học máy, học sâu để đưa ra kết quả phát hiện tấn công hiệu quả.
Tích hợp môi hình phát hiện tấn công dựa trên học sâu (CNN) vào Zabbix
Mô hình CNN trong bài toán phát hiện tấn công DoS ứng dụng vào Zabbix với mô hình tổng thể như Hình 5:
Trong đó, các bước thực hiện được thể hiện như sau:
(1) Trích xuất đặc trưng: Từ tập dữ liệu của Zabbix system log thực hiện trích xuất, chọn lọc đặc trưng để thu được bộ dữ liệu với tập đặc trưng gốc.
(2) Phát triển tập đặc trưng: Có thể kết hợp các đặc trưng; suy diễn đặc trưng mới để thu được tập đặc trưng cải tiến nhằm nâng cao hiệu quả cho bài toán phát hiện tấn công.
(3) Lựa chọn, cải tiến cấu trúc mô hình CNN nhằm nâng cao hiệu quả trong bài toán phát hiện tấn công DoS.
(4) Sử dụng bộ tham số (weight set) thu được sau pha huấn luyện để thực hiện phân loại tấn công DoS cho từng mẫu dữ liệu thu thập được từ system log.
Hình 5. Mô hình tổng thể sử dụng CNN cho Zabbix
KẾT LUẬN
Bài báo trình bày giải pháp và ý tưởng xây dựng mô hình mạng nơ-ron sâu với CNN để tự động tìm hiểu các đặc tính của dữ liệu trước khi phát hiện tấn công. Các đặc trưng được học từ mạng lưới này có thể làm tăng khả năng phân biệt các loại tấn công DoS khác nhau. Mô hình mạng nơ-ron thực chất là học không giám sát, học cách biểu diễn cho một tập các dữ liệu thông thường với mục đích giảm chiều dữ liệu, giúp dự đoán đầu ra từ một đầu vào ban đầu, với lớp ẩn học số node nhỏ hơn node đầu vào.
Bằng cách xây dựng mạng nơ-ron “sâu” với lớp đầu vào, lớp đầu ra và lớp tích chập, các đặc trưng của dữ liệu gốc được trích xuất tự động từ lớp dưới lên đến lớp trên cùng. Sau đó, các thuộc tính này được sử dụng như là đầu vào của bất kỳ thuật toán phát hiện tấn công nào hiện tại.
TÀI LIỆU THAM KHẢO 1. DDoS Attack on Dyn (2016). 2. Morteza Safaei Pour and et al, Data-driven Curation, Learning and Analysis for Inferring Evolving IoT Botnets in the Wild, Conference Paper, August 2019. 3. L.Đ. Thuan, P.V. Huong, L.T.H. Van, HQ. Cuong, H.V. Hiep, N.K. Khanh, Android Malware Detection Based on Deep Learning Using Convolutional Neural Network, tạp chí nghiên cứu khoa học và công nghệ quân sự, 8/2019, ISSN 1859 – 1043. 4. Pham Van Huong, Le Duc Thuan, Le Thi Hong Van, Dang Viet Hung, Intrusion Detection in IoT Systems Based on Deep Learning Using Convolutional Neural Network, 6th NAFOSTED Conference on Information and Computer Science (NICS), 12/2019. 5. D. Alazab and et al, Imcfn: Image–based malware classification using fine–tuned convolutional neural network architecture. Computer Networks 171 (2020). 6. Shiva Darshan and et al, Windows malware detector using convolutional neural network based on visualization images. IEEE in Computing 9(2), 1057–1069 (2021). |
ThS. Lê Đức Thuận, ThS. Võ Văn Hoàng, Nguyễn Xuân Hưởng