So sánh kết quả của việc sử dụng các mạng nơ ron: The Cerebellar Model Articulation Controller (CMAC), Multilayer perceptron (MLP), Support Vector Machine (SVM) để phát hiện các cuộc tấn công DoS trên tập dữ liệu UNSW-NB15. Kết quả thử nghiệm cho thấy các mạng nơ ron là công cụ hiệu quả để phát hiện các cuộc tấn công DoS tuy nhiên mạng nơ ron CMAC hoạt động nổi trội hơn so với hai mạng còn lại với xác suất phát hiện các cuộc tấn công cao hơn và xác suất báo động sai thấp hơn. Đề xuất phương pháp mới để giảm số thuộc tính đặc trưng dựa trên việc kết hợp phương pháp Random forest và mạng MLP.
Trang 1PHƯƠNG PHÁP GIẢM SỐ THUỘC TÍNH ĐẶC TRƯNG VÀ ĐÁNH GIÁ HIỆU QUẢ CỦA CÁC MẠNG CMAC, MLP, SVM TRONG PHÁT HIỆN TẤN CÔNG TRÊN
TẬP DỮ LIỆU UNSW-NB15
Lê Thị Trang Linh
Đại học Điện lực
tranglinh2011@gmail.com
TÓM TẮT: So sánh kết quả của việc sử dụng các mạng nơ ron: The Cerebellar Model Articulation Controller (CMAC), Multilayer perceptron (MLP), Support Vector Machine (SVM) để phát hiện các cuộc tấn công DoS trên tập dữ liệu UNSW-NB15 Kết quả thử nghiệm cho thấy các mạng nơ ron là công cụ hiệu quả để phát hiện các cuộc tấn công DoS tuy nhiên mạng nơ ron CMAC hoạt động nổi trội hơn so với hai mạng còn lại với xác suất phát hiện các cuộc tấn công cao hơn và xác suất báo động sai thấp hơn Đề xuất phương pháp mới để giảm số thuộc tính đặc trưng dựa trên việc kết hợp phương pháp Random forest và mạng MLP
Từ khóa: IDS, Máy học, Dataset UNSW-NB15
I GIỚI THIỆU
Tầm quan trọng của việc bảo mật thông tin trong các công ty gần đây là rất lớn Không một tổ chức hay công ty nào muốn bất kỳ thông tin nào của mình bị lọt ra ngoài, đặc biệt là đối thủ cạnh tranh Để đảm bảo an toàn thông tin họ sẵn sàng chi hàng triệu đô la và áp dụng các biện pháp hữu hiệu, điều này cho thấy mức độ quan trọng của vấn đề Một trong những giải pháp để bảo mật thông tin là sử dụng hệ thống phát hiện xâm nhập (Intrusion Detection System) Nói một cách đơn giản, IDS có thể ở dạng chương trình hoặc thiết bị, giống như tường lửa, sẽ phát hiện các hoạt động độc hại hoặc đáng ngờ trong mạng IDS lần đầu tiên được giới thiệu vào năm 1980 [1] bởi Anderson và sau đó được cải tiến bởi Denning [2] vào năm 1987 Một trong những phương pháp được sử dụng để xây dựng hệ thống phát hiện hệ thống tấn công là sử dụng mạng nơron Công trình đầu tiên về việc sử dụng mạng nơron để phát hiện các cuộc tấn công
là công trình của K Fox và cộng sự [3], trong đó bản đồ tổ chức Kohonen được sử dụng như một bộ phân loại các loại tấn công Khoảng một phần tư thế kỷ đã trôi qua kể từ khi bắt đầu sử dụng các công nghệ mạng nơron để giải quyết các vấn đề về phát hiện các cuộc tấn công vào tài nguyên thông tin Phạm vi áp dụng của các công nghệ mạng nơron được
sử dụng để phát hiện các cuộc tấn công rất rộng, không thể liệt kê hết các công trình sử dụng các công nghệ mạng nơron do số lượng lớn
Khi áp dụng mạng nơron trong bài toán nhận dạng các loại tấn công, hai bài toán chính cần phải giải quyết: bài toán thứ nhất là lựa chọn các thuộc tính đặc trưng của kiểu tấn công, bài toán thứ hai là lựa chọn mạng nơron để nhận dạng các kiểu tấn công
Trong bài báo này tôi sử dụng 3 mạng nơron CMAC, MLP và SVM để nhận dạng kiểu tấn công DoS, đối với mạng nơron CMAC do đặc thù của mạng giới hạn số chiều của vectơ đầu vào, để áp dụng CMAC cần giải quyết bài toán giảm số thuộc tính đặc trưng của tấn công DoS Tập dữ liệu UNSW-NB 15 được sử dụng để tiến hành thử nghiệm Bài báo gồm có những phần sau: 1 Giới thiệu, 2 Mạng nơron trong bài toán phát hiện tấn công DoS, 3 Tập
dữ liệu UNSW-NB15, 4 Thử nghiệm, 5 Kết luận
II MẠNG NƠRON TRONG BÀI TOÁN PHÁT HIỆN TẤN CÔNG DOS
Khi áp dụng mạng nơron để phát hiện tấn công bắt buộc phải trải qua quá trình huấn luyện Quá trình này được thực hiện bằng cách đưa vào thuộc tính đầu vào về các liên kết mạng và thông tin về các kiểu tấn công tương ứng với từng loại tấn công Trong quá trình huấn luyện bắt buộc phải có tấn công DoS Kết thúc quá trình huấn luyện, mạng nơron có khả năng nhận dạng được các tấn công DoS Xác suất phát hiện tấn công DoS và tỷ lệ phát hiện sai phụ thuộc vào rất nhiều yếu tố như: loại mạng và thông số của mạng nơron, cấu trúc mạng trong quá trình học, số chiều của vectơ thuộc tính và nhiều đặc trưng khác
1 Các đặc trưng của mạng nơron CMAC
Cấu trúc mạng nơron CMAC và việc áp dụng nó trong bài toán phát hiện tấn công DoS đã được trình bày ở các bài báo [4] Ở đây chỉ nêu ra những khác biệt nhất của mạng nơron CMAC so với các loại mạng nơron khác:
- Các đối số của hàm nhớ và hàm tái tạo (vectơ đầu vào của mạng nơron, hay vectơ đặc trưng) chỉ nhận các giá trị số nguyên
- Trong mạng nơron CMAC, vectơ đầu vào x (vectơ thuộc tính) kích hoạt p các ô nhớ MCMAC- của vectơ nhớ w[n], sao cho tổng giá trị của các ô nhớ bằng giá trị của hàm nhớ Thông số p đóng vai trò rất quan trọng, giá trị của nó xác định khả năng hoạt động và dung lượng bộ nhớ cần thiết MCMAC- của mạng nơron CMAC Thuật toán xác định số
ô nhớ hoạt động được nêu trong [5], được xây dựng để các vectơ đầu vào càng phân bố gần nhau thì chúng càng có nhiều ô nhớ chung hơn - điều này mang lại tính hội tụ cho mạng nơron CMAC Mạng nơron CMAC chỉ có 1 đầu ra
Trang 2Nếu vectơ đầu của hàm nhớ có chứa những đối số không nguyên thì chúng cần phải chuyển về dạng số nguyên Biến số z sẽ được quy ước trước giá trị nhỏ nhất, giá trị lớn nhất Zmin, Zmax số mức lượng tử hóa xmax, bước lượng tử hóa được tính toán theo công thức = (Zmax - Zmin)/ xmax và mỗi phần tử lượng tử hóa được gán các số nguyên x(i) = 1, 2,…, x theo công thức:
X(i) = Round ((Z - Zmin)/ + 0.5 (1) trong đó Round hàm làm tròn đến số nguyên gần nhất
2 Mạng nơron Multilayer Perceptron (MLP)
Mạng nơron đa lớp MLP là loại mạng nơron phổ biến nhất Việc đào tạo MLP thường được thực hiện bằng cách
sử dụng thuật toán lan truyền ngược và các biến thể của nó Tín hiệu đầu vào trong các mạng này được truyền thẳng từ lớp này sang lớp khác Về cơ bản, MLP gồm những thành phần sau:
- Tập hợp các nút đầu vào tạo thành lớp đầu vào
- Một hoặc nhiều lớp ẩn chứa các nơron tính toán
- Một lớp đầu ra
Trong mạng MLP, đầu ra của nơron lớp này được dùng làm đầu vào của lớp nơron tiếp theo Mô tả chi tiết về cấu trúc và thuật toán đào tạo MLP được trình bày ở [6]
3 Support Vector Machine (SVM)
Máy vectơ hỗ trợ [7] là một trong những thuật toán phân loại phổ biến và hiệu quả và được áp dụng cho các lớp phân tách tuyến tính Phương pháp này thuộc các phương pháp phân loại tuyến tính Nhiệm vụ chính của phương pháp này là tìm siêu phẳng tối ưu phân tách các lớp
Nếu trong một bài toán cụ thể không tìm được mặt phẳng phân chia, nhưng có thể phân tách 2 lớp bởi một siêu phẳng phi tuyến phức tạp nào đó, thì kernel support vector machine [8] - máy vectơ hỗ trợ với siêu phẳng phân chia phi tuyến được sử dụng để giải quyết
III TẬP DỮ LIỆU UNSW-NB 15
Tập dữ liệu tấn công phổ biến nhất đối với nhiều nhà nghiên cứu cho đến nay là KDDCUP99 [9] và phiên bản cải tiến NSLKDD [10] Thật đáng tiếc, các tập dữ liệu này hiện đã lỗi thời, chúng không phản ánh đầy đủ các đặc điểm của lưu lượng truy cập trong các mạng mà trong đó có các mối đe dọa và các kiểu tấn công tinh vi hiện đại (low foot print attacks) Năm 2015 tại phòng thí nghiệm ACCS (Australian Centre for Cyber Security), N Moustafa và J Sly [11], đã tạo ra một tập dữ liệu tấn công mới UNSW-NB15, đã khắc phục những thiếu sót của các tập dữ liệu tấn công
đã tạo trước đó Truy cập vào tập dữ liệu UNSW-NB15 tại [12]
Tập dữ liệu này được phát triển bằng cách sử dụng IXIA PerfectStorm để tạo ra sự kết hợp giữa các cuộc tấn công tiêu chuẩn hiện đại vào lưu lượng mạng Công cụ tcpdump đã được sử dụng để thu thập 100 GB lưu lượng mạng thô Mỗi tệp pcap chứa 1000 MB để phân tích gói tin dễ dàng hơn Argus, Bro-IDS và 12 thủ tục được thực hiện song song để tạo ra 44 thuộc tính cho mỗi kiểu tấn công Tập dữ liệu này chứa 2.540.044 bản ghi được lưu trữ trong bốn tệp CSV Sau khi loại bỏ các bản ghi trùng, số bản ghi còn lại là 2059419, tất cả các bản ghi được tách thành 4 tệp chỉ chứa
dữ liệu về thông tin thông thường và các kiểu tấn công tương ứng Tỷ lệ số lượng các loại tấn công được thể hiện trong cột thứ hai của Bảng 1
Bảng 1 Thành phần các kiểu tấn công của tập dữ liệu UNSW-NB15
Các cuộc tấn công của tập dữ liệu UNSW-NB 15 được chia thành 9 loại: Normal, Fuzzers, Analysis, Backdoors, DoS, Exploits, Generic, Reconnaissance, Shellcode, Worm
Trong tập dữ liệu UNSW-NB15, mỗi bản ghi bao gồm 44 thuộc tính về lưu lượng mạng thuộc năm loại giá trị: định danh, số nguyên, số thực, thời gian, nhị phân, trong đó 2 thuộc tính cuối cùng chứa thông tin về loại tấn công của mỗi bản ghi
Trang 3IV KẾT QUẢ THỰC NGHIỆM
1 Quá trình lựa chọn các thuộc tính đặc trưng của tấn công DoS để áp dụng mạng nơron CMAC
Để sử dụng được mạng nơron CMAC thì trước tiên cần giải quyết bài toán giảm số chiều của véc tơ đầu vào Có thể sử dụng phương pháp trích chọn đặc trưng (feature extraction) hoặc lựa chọn đặc trưng (feature selection)
Lựa chọn đặc trưng của mỗi thuộc tính bằng cách sử dụng thuật toán random forest để xác định chỉ số Gini impurity [13], thuộc tính nào có chỉ số Gini impurity cao nhất sẽ là thuộc tính quan trọng nhất Kết quả sau khi áp dụng phương pháp trên, thu được 9 thuộc tính có chỉ số Gini impurity cao nhất là: Proto, Service, Sttl, Dttl, Synack, Smeansz, Ct_srv_src, Ct_state_ttl, Ct_srv_dst
Các bản ghi từ tập dữ liệu UNSW-NB 15 với 9 thuộc tính được lựa chọn ở trên được đưa vào mạng MLP để so sánh kết quả với mạng MLP khi sử dụng 42 thuộc tính Nếu như kết quả khi sử dụng 9 thuộc tính cao hơn hoặc bằng kết quả khi sử dụng 42 thuộc tính thì sẽ tiến hành giảm bớt đi 1 thuộc tính Quá trình giảm thuộc tính sẽ kết thúc khi kết quả áp dụng số thuộc tính giảm thấp hơn so với kết quả khi sử dụng 42 thuộc tính
Quá trình huấn luyện của mạng MLP được thực hiện trên 4412 bản ghi tấn công DoS và 126485 bản ghi không phải tấn công DoS (80 % số lượng bản ghi của tập dữ liệu UNSW-NB15) Đầu vào của MLP sẽ sử dụng 42 thuộc tính của tất cả các kiểu tấn công, các thuật toán được sử dụng là: trainlm, traingdx, trainscg, trainbfg Trong quá trình học
và kiểm tra sử dụng 3 lớp (15-10-1, 30-20-1, 50-30-1, 100-50-1, 100-100-1, 150-100-1, 200-100-1, 200-150-1) và 4 lớp (30-20-10-1) Ngưỡng để phân loại sẽ chạy từ 0,1 đến 0,9 với bước nhảy là 0,01 Quá trình kiểm tra được thực hiện trên 1103 bản ghi tấn công DoS và 31616 bản ghi không phải tấn công DoS (20 % số lượng bản ghi từ tập dữ liệu UNSW-NB 15) Sau khi thử nghiệm tất cả các trường hợp, độ chính xác phân lớp cao nhất đối với tấn công DoS và không phải tấn công DoS tương ứng 85,31 % và 85,71 % Quá trình lựa chọn các thuộc tính được mô phỏng ở Hình 1 Trong đó:
F = {Fij}, I = 1 9, j = 1 Ci9 - Tập thuộc tính; trong đó - số lượng thuộc tính trong tập, j- số thứ tự tập từ i thuộc tính
A42- Kết quả thử nghiệm khi sử dụng 42 thuộc tính trong mạng MLP
Bij, i = 1 9, j = 1 Ci9 - kết quả thử nghiệm khi sử dụng tập thuộc tính Fijtrong mạng MLP
Hình 1 Quá trình lựa chọn các thuộc tính
Từ các kết quả trên cho thấy, khi sử dụng véc tơ đầu vào với 6 thuộc tính kết quả không kém hơn khi sử dụng
42 thuộc tính Vì vậy 6 thuộc tính: Service, Sttl, Dttl, Smeansz, Ct_state_ttl, Ct_srv_dst được lựa chọn để đưa vào mạng nơron CMAC dùng để nhận dạng tấn công DoS trên tập dữ liệu UNSW NB 15
Trang 42 Quá trình sử dụng mạng nơron CMAC để nhận dạng tấn công DoS trên tập dữ liệu UNSW-NB 15
Như đã đề cập, vectơ đầu vào của mạng nơron CMAC chỉ nhận các giá trị nguyên vì vậy trước tiên chúng phải được lượng tử hoá Để lượng tử hoá cần xác định giá trị lớn nhất và nhỏ nhất của mỗi thuộc tính Các giá trị này được
mô tả trong Bảng 2
Bảng 2 Giá trị nhỏ nhất và lớn nhất của từng thuộc tính
Giá trị lớn nhất để lượng tử hoá ứng với mỗi thuộc tính áp dụng vào mạng nơron CMAC là: 17, 257, 257, 1025,
9, 65 Tập các giá trị của 6 thuộc tính véc tơ đầu vào là:
X = {x(1) = ; x(2) = ; x(3) = ; x(4) = ; x(5) = ; x(6) = } Các giá trị của 6 thuộc tính vectơ đầu vào được lượng tử hoá theo công thức (1)
Quá trình học của mạng nơron CMAC phụ thuộc vào giá trị của tham số tổng quát p, chỉ nhận các giá trị p = 2,
4, 6, 8, 16, 32 Ngoài ra độ chính xác còn phụ thuộc vào ngưỡng Số bước huấn luyện là 10 000 000 Quá trình huấn luyện được thực hiện khi đưa vào vectơ đầu vào sau khi đã được lượng tử hoá, số bản ghi tấn công DoS là 4412, không phải tấn công DoS là 126485 (80 % của số bản ghi tấn công DoS và không phải tấn công DoS của tập dữ liệu
UNSW-NB 15) Sau khi kết thúc quá trình huấn luyện, quá trình kiểm nghiệm được tiến hành Dữ liệu cho quá trình kiểm nghiệm cũng được lượng tử hoá giống quá trình huấn luyện Số bản ghi tấn công DoS và không phải tấn công DoS để kiểm nghiệm là 1103 và 31616 (chiếm 20 % số bản ghi tấn công DoS và không phải tấn công DoS của tập dữ liệu UNSW-NB 15) Đối với từng bản ghi, sẽ được gán nhãn: 1 - khi bản ghi đó là tấn công DoS, 0 - khi bản ghi không là tấn công DoS
Quá trình kiểm nghiệm mạng nơron CMAC được thực hiện với các giá trị ngưỡng khác nhau từ 0,1 đến 0,9 với bước nhảy là 0,01, so sánh các kết quả thu được thì kết quả nhận dạng được tấn công DoS và không phải tấn công DoS cao nhất thu được khi giá trị ngưỡng bằng 0,57, tỷ lệ nhận dạng tấn công DoS và không phải tấn công DoS là 86,13 %
và 85,13 %
3 So sánh các kết quả thu được của 3 mạng nơron CMAC, MLP, SVM
Quá trình huấn luyện của mạng MLP và SVM được thực hiện trên môi trường MATLAB, sử dụng các gói chương trình ứng dụng Neural Network Toolbox Quá trình học của mạng nơron CMAC được thực hiện trên Visual Studio 2013, ngôn ngữ lập trình là C++ Mạng SVM khi huấn luyện sử dụng 2 hàm: Gaussian Radial Basis Function (RBF) и polynomial để lựa chọn được kết quả tốt nhất Kết quả thực nghiệm được liệt kê ở Bảng 3
Bảng 3 Kết quả kiểm nghiệm Loại
mạng
nơron
Thông số Phương pháp
học
Số lớp và số nơron trong mỗi lớp
tấn công DoS, %
Tỉ lệ nhận dang không phải tấn công DoS, %
V KẾT LUẬN
Phương pháp giảm số thuộc tính đặc trưng dựa trên việc kết hợp phương pháp Random Forest và mạng MLP được xây dựng đã giảm số thuộc tính đặc trưng từ 42 xuống 6, kết quả kiểm nghiệm với dữ liệu sử dụng 6 thuộc tính này cho kết quả cao hơn khi sử dụng 42 thuộc tính
Kết quả huấn luyện và kiểm nghiệm của ba hệ thống phát hiện tấn công DoS dựa trên mạng nơron CMAC, MLP
và SVM cho thấy hai mạng nơron CMAC và MLP đều là công cụ hiệu quả để phát hiện tấn công DoS với sự vượt trội không đáng kể của CMAC so với MLP, còn SVM cho kết quả thấp nhất Điều này cho thấy, các mạng nơron có bản chất khác nhau có thể trở thành một thành phần của hệ đa chuyên gia để xây dựng hệ thống phát hiện tấn công Một hệ
đa chuyên gia như vậy sẽ có xác suất phát hiện các cuộc tấn công cao hơn và xác suất báo động sai thấp hơn
TÀI LIỆU THAM KHẢO
[1] J P Anderson (1980), “Computer security threat moniroring and surveillance”, Technical report, February 26,1980
Trang 5[2] D Denning, “An Intrusion Detection Model”, IEEE Transaction on sofware engineering, 13(2):222-232, 1987 [3] Fox K L., Henning R R., Reed J H., Simonian R P “A Neural Network Approach Towards Intrusion Detection”, Proceedings of the 13th National Computer Security Conference Washington.1 -4 October pp
125-134, 1990
[4] Avedyan E D., Le T T L “Two-level system for detecting DoS attacks and their components based on neural networks SMAS”, Information technologies Vol 29, No 9, pp 711-718, 2016
[5] Avedyan E D “Associative neural network CMAC Part I Structure, memory capacity, training and basic functions”, Information technologies No 5 pp 6-14, 1997
[6] Avedyan E D “Algorithms for configuring multilayer neural networks”, Automation and telemechanics №4 pp 106-118, 1995
[7] Cortes C, Vapnik V “Support vector machine”, Machine learning Sep.-20(3): pp 273-97, 1995
[8] Hofmann M “Support vector machines-Kernels and the kernel trick”, Notes V 26, 2006
[9] KDD Cup 1999 Data: http://kdd.ics.uci.edu/databases/kddcup99/ kddcup99.html
[10] https://github.com/defcom17/NSL_KDD
[11] Moustafa N; Slay J “The evaluation of Network Anomaly Detection Systems: Statistical analysis of the UNSW-NB15 data set and the comparison with the KDD99 data set”, Information Security Journal: a Global Perspective
pp 1-14, 2016
[12] http://www.accs.unsw.adfa.edu.au/
[13] Breiman L “Random forests”, Machine learning V 45 No 1 pp 5-32, 2001
METHOD OF REDUCING FEATURES AND EVALUATE THE EFFECTIVENESS
OF NETWORKS CMAC, MLP, SVM FOR DETECTING ATTACK ON DATASET
UNSW-NB 15
Le Thi Trang Linh
ABSTRACT: Compare the results of using neural networks: The Cerebellar Model Articulation Controller (CMAC),
Multilayer perceptron (MLP), Support Vector Machine (SVM) to detect DoS attacks on the dataset UNSW-NB15 The test results show that all neural networks are an effective tool for detecting DoS attacks However, CMAC neural network performed better than the other two networks with higher probability of detecting attacks and less probability of false alarms Since then, proposal of
a new model to reduce the number of features based on the combination of Random forest model and MLP network