Bài viết giới thiệu một mô hình IDS cho hệ SCADA có khả năng phát hiện tấn công trong hệ SCADA với độ chính xác cao. Mô hình này được xây dựng dựa trên mạng nơron MLP với hai lớp ẩn và sử dụng giải thuật di truyền để xác định số lượng nơron tối ưu trong các lớp ẩn.
Trang 1MỘT PHƯƠNG ÁN TỔ CHỨC NGỮ CẢNH DỮ LIỆU
CHO BỘ PHÁT HIỆN TẤN CÔNG MẠNG SCADA
SỬ DỤNG MẠNG NƠRON MLP Nguyễn Văn Xuân * , Phạm Văn Nguyên, Nguyễn Tăng Cường
Đại học Kỹ thuật Lê Quý Đôn
Tóm tắt
Bài báo giới thiệu một mô hình IDS cho hệ SCADA có khả năng phát hiện tấn công trong
hệ SCADA với độ chính xác cao Mô hình này được xây dựng dựa trên mạng nơron MLP với hai lớp ẩn và sử dụng giải thuật di truyền để xác định số lượng nơron tối ưu trong các lớp ẩn Điểm đặc biệt của mô hình được đề xuất nằm ở khả năng xem xét các mẫu dữ liệu trong ngữ cảnh để mạng nơron MLP nhận dạng tấn công chính xác hơn Để tạo ngữ cảnh, tập dữ liệu ban đầu được xây dựng lại thành các vectơ ngữ cảnh gồm nhiều gói tin liên tiếp nhau trước khi đưa vào mạng nơron MLP Các kết quả thử nghiệm cho thấy mô hình đề xuất có độ chính xác vượt trội
Từ khóa: Phát hiện tấn công; mạng nơron MLP; IDS; hệ thống SCADA
1 Giới thiệu
Hệ thống SCADA (Supervisory Control and Data Acquisition) quan trọng tầm quốc gia hoặc của các doanh nghiệp lớn luôn có nguy cơ bị tấn công từ các mã độc hại, tin tặc, từ các nhà thầu cạnh tranh nhau, từ khủng bố, Ví dụ: Năm 2000, các trạm bơm dịch vụ nước Maroochy ở Úc bị tấn công làm dừng hệ thống [1] Năm 2003, một sâu máy tính vượt qua tường lửa xâm nhập vào hệ thống SCADA tại nhà máy hạt nhân Davis Besse ở Ohio [2] Năm 2010, Stuxnet [3] tấn công vào nhà máy hạt nhân Iran, sâu Stuxnet đã cảnh báo cho cả thế giới mức độ nghiêm trọng của các lỗ hổng đe dọa đến hệ thống SCADA
Tấn công (hay xâm nhập) nói chung được hiểu là một nỗ lực để phá vỡ hoặc lạm dụng vào một hệ thống [4] Thông thường các cuộc tấn công đều dựa trên việc khai thác các lỗ hổng của hệ thống, có nghĩa là nếu một hệ thống bị tấn công, nó còn tồn tại các lỗ hổng Do đó, nhiệm vụ của các nhà quản trị mạng là phải phát hiện ra các cuộc tấn công càng sớm càng tốt để có các biện pháp bảo mật phù hợp nhằm giảm thiểu rủi ro cho hệ thống và tránh thiệt hại cho doanh nghiệp Khái niệm IDS (Intrusion detection system) dùng để chỉ các hệ thống an ninh nhằm phát hiện ra các xâm nhập như vậy [4, 5, 6] IDS
là thành phần quan trọng trong cơ sở hạ tầng an ninh mạng Các hệ thống IDS thực hiện việc kiểm tra, giám sát hệ thống dựa trên các hoạt động của mạng để tìm và phát hiện
* Email: xuannv8171@gmail.com
Trang 2một cách sớm nhất có thể các cuộc xâm nhập, tấn công sau đó kích hoạt cảnh báo tấn công để các nhà quản trị mạng có biện pháp xử lý kịp thời trong trường hợp bị tấn công Các hệ thống IDS được phân loại theo 2 dạng chính: IDS dựa trên dấu hiệu tấn công và IDS dựa trên bất thường Các IDS dựa trên dấu hiệu tấn công sử dụng kỹ thuật phân tích, so sánh, tìm kiếm nhằm phát hiện ra các dấu hiệu tấn công điển hình (mà hệ thống
đã biết) để đưa ra cảnh báo về các cuộc tấn công Còn các IDS dựa trên bất thường phát hiện ra các tấn công dựa vào các kỹ thuật phát hiện các dữ liệu bất thường trong hệ thống Có nghĩa là hệ thống IDS này cần phải biết các đặc điểm của dữ liệu bình thường
và nếu nó phát hiện các dữ liệu không bình thường thì đưa ra cảnh báo về các cuộc tấn công Để phát hiện tấn công trong các hệ thống IDS kể trên, có thể sử dụng các kỹ thuật của máy học [4] như: Support Vector Machine (SVM), mạng nơron RBF (Radial Basis Function), cây quyết định, mạng nơron nhân tạo… Ngoài ra, các IDS được áp dụng cho các hệ thống IT (Information Technology) đơn thuần có thể không hoàn toàn phù hợp với hệ thống SCADA, do bản chất của hệ thống IT và hệ thống SCADA công nghiệp là khác nhau Chính vì vậy, trong những năm gần đây, có nhiều nghiên cứu về an ninh cho
hệ thống SCADA công nghiệp và nhiều mô hình IDS cho hệ SCADA công nghiệp được
đề xuất
Trong [5], tác giả đề xuất 2 phương pháp phát hiện xâm nhập dựa trên kỹ thuật SVM: Phương pháp K-OCSVM kết hợp K-means clustering với One-class SVM và phương pháp IT-OCSVM sử dụng thông tin phân tích mạng xã hội (SNA - Social Network Analysis) nhằm gắn thêm trọng số cho các gói tin từ các nguồn khác nhau rồi kết hợp với K-means clustering và OCSVM để phân loại các gói tin là bình thường hay tấn công Theo tác giả thì 2 phương pháp này thích hợp sử dụng cho các hệ SCADA lớn, SCADA phân tán Phương pháp thứ nhất có ưu điểm là khả năng phát hiện tốt nhưng đôi khi lại làm giảm hiệu năng của hệ thống Phương pháp thứ hai cải thiện khả năng phát hiện cũng như giảm tải cho hệ thống và thích hợp cho các ứng dụng thời gian thực Kết quả phát hiện của phương pháp trên tập kiểm tra đạt 99,05% và trên các tập
dữ liệu từ các nguồn khác là 97,07% Trong [6], các tác giả sử dụng mạng nơron nhân tạo cùng tác thuật toán học sâu (Deep learning) nhằm phân loại các gói tin bình thường
và gói tin tấn công trong hệ SCADA Các gói tin trong mô hình thử nghiệm được các tác giả bắt bằng công cụ Wireshark, sau đó sử dụng một số công cụ lọc, mã hoá để có được tập dữ liệu Tập dữ liệu này được chia thành hai tập con 70% cho huấn luyện và 30% cho kiểm tra Kết quả phân loại trên tập kiểm tra khá cao 99,89%
Phương pháp được sử dụng trong [5] chưa thực sự tốt khi thử nghiệm trên các tập
dữ liệu độc lập và quá trình xử lý thông tin khá phức tạp Còn trong [6], thử nghiệm cho kết quả rất tốt đối với tập dữ liệu kiểm tra được tách ra từ chính tập dữ liệu thực nghiệm
Trang 3của tác giả, tuy nhiên phương pháp cũng chưa được thử nghiệm trên tập dữ liệu độc lập Ngoài ra, quá trình tạo ra tập dữ liệu dùng làm đầu vào cho mạng nơron cũng khá phức tạp khi phải qua nhiều bước và sử dụng công cụ bên thứ 3 như Wireshark
Trong bài báo này, chúng tôi nghiên cứu đề xuất mô hình IDS cho hệ SCADA trên cơ sở mạng nơron truyền thẳng nhiều lớp MLP (Multi Layer Perceptron), cho phép phát hiện dữ liệu bất thường và kết hợp ngữ cảnh của dữ liệu để nâng cao tỉ lệ phát hiện xâm nhập và giảm thiểu cảnh báo giả
Có ba dạng dữ liệu bất thường [4]: điểm bất thường, bất thường tập thể và bất thường trong ngữ cảnh Khi một trường hợp dữ liệu cụ thể không tuân theo phần dữ liệu chung của nó có thể gọi là điểm dữ liệu bất thường Khi một tập hợp dữ liệu tương tự nhau đang hoạt động bất thường thì toàn bộ tập hợp dữ liệu đó gọi là bất thường tập thể Dạng thứ 3, bất thường trong ngữ cảnh xảy ra khi một trường hợp dữ liệu được xem xét
là bất thường hay bình thường cần đặt nó trong một mối quan hệ cụ thể Ví dụ, chi tiêu hàng tháng là 500$, nếu một tháng nào đó chi tiêu 2000$ nhưng tháng đó là dịp lễ tết, lễ hội thì chi tiêu đó là bình thường, còn tháng đó không phải dịp đặc biệt thì dữ liệu chi tiêu đó là bất thường
Ngữ cảnh xét trong bài báo này là không xét độc lập từng gói tin mà cần xét một nhóm gói tin liên tiếp nhau để tìm mối quan hệ giữa chúng, từ đó mới kết luận chính xác được một gói tin là tấn công hay bình thường Khi đưa độc lập từng gói tin vào luyện mạng MLP thì mạng này chỉ học được mối quan hệ giữa các trường dữ liệu trong một gói tin, trong bài báo không sử dụng độc lập từng gói tin mà sử dụng một nhóm gói tin liên tiếp nhau gồm gói tin cần kiểm tra cùng 3, 5 hoặc 7 gói tin phía trước nó để luyện mạng MLP Cách luyện mạng như vậy sẽ giúp mạng MLP không chỉ học được mối quan hệ giữa các trường dữ liệu trong một gói tin mà còn học được mối quan hệ giữa các gói tin với nhau từ đó có thể nhận dạng chính xác hơn một gói tin là tấn công hay bình thường
2 Bộ dữ liệu sử dụng để huấn luyện, kiểm tra mô hình
Đối với hệ thống IT, có bộ dữ liệu KDD [7] cho các nhà nghiên cứu thử nghiệm mức độ hiệu quả của IDS mà họ nghiên cứu Bộ dữ liệu là một phần quan trọng trong việc thúc đẩy hơn nữa nghiên cứu để đánh giá IDS cho mạng máy tính và cung cấp một điểm chuẩn cho các nhà nghiên cứu khác để so sánh và xác nhận kết quả và được sử dụng rộng rãi cho các nghiên cứu IDS đến hiện nay
Đối với hệ thống SCADA, một khó khăn với các nghiên cứu trong lĩnh vực an ninh cho hệ SCADA là thiếu một bộ dữ liệu thử nghiệm công khai có sẵn để so sánh hiệu suất và độ chính xác cho giải pháp được đề xuất Với mong muốn xây dựng một
Trang 4tập dữ liệu sử dụng chung, rộng rãi cho các nhà nghiên cứu IDS cho các hệ SCADA, Wei Gao [8] đã nghiên cứu và công bố bộ dữ liệu như vậy, phiên bản đầu tiên của bộ dữ liệu dựa trên hệ thống SCADA cho đường ống dẫn gas Sau đó, Thornton [9] đã chỉ ra còn một số nhược điểm của bộ dữ liệu này Tiếp theo, Turnipseed [10] đã kế thừa hệ thống của Wei Gao và công bố bộ dữ liệu phiên bản thứ hai với các mẫu tấn công đảm bảo ngẫu nhiên hơn, phù hợp cho thử nghiệm các thuật toán khác nhau trong IDS cho hệ SCADA Bộ dữ liệu đó được mô tả ở phần dưới đây, hình 1 là kiến trúc hệ thống tạo ra tập dữ liệu của Turnipseed
Trong hình 1: HMI thực hiện chức năng điều khiển giám sát và hiển thị các thông tin của đường ống ga (Pipeline) PLC là bộ điều khiển điều khiển trực tiếp đường ống
ga Logger: Bộ ghi dữ liệu trung gian để thu lại các gói tin sau đó gán nhãn tạo tập dữ liệu Resp Inj, Recon, DOS, Cmd Inj lần lượt là các khối tạo các tấn công chèn đáp ứng, tấn công trinh sát, tấn công từ chối dịch vụ, tấn công chèn lệnh
Hình 1 Kiến trúc hệ thống tạo ra tập dữ liệu của Turnipseed [10]
Mỗi mẫu dữ liệu tấn công hay mẫu bình thường đều chứa 17 thuộc tính và 3 thuộc tính đầu ra được mô tả như bảng 1 dưới đây:
Bảng 1 Các thuộc tính của mỗi mẫu trong tập dữ liệu [10]
01 Address Địa chỉ của Slave của giao thức Modbus
02 Function Mã hàm của giao thức Modbus
04 Setpoint Điểm đặt áp suất khi hệ thống ở chế độ tự động
06 Reset rate PID reset rate
Trang 5STT Thuộc tính Mơ tả
08 Cycle time PID cycle time
10 System mode Chế độ của hệ thống, 2: auto, 1: manual, 0: off
11 Control scheme 0: điều khiển máy bơn, 1: điều khiển van từ
12 Pump Điều khiển máy bơm, 1: on, 0: off
13 Solenoid Điều khiển van từ, 1: opened, 0: closed
14 Pressure measurement Giá trị áp suất đo được trong đường ống
16 Command/response 1: lệnh, 0: đáp ứng
17 Time Dấu thời gian cho mỗi gĩi Modbus
18 Binary result Phân nhĩm nhị phân, 0: normal, 1: attack
19 Attack Categorized Phân nhĩm tấn cơng (0->7)
20 Specific result Kết quả chi tiết các tấn cơng (0->35)
Bộ dữ liệu kiểm tra IDS cho hệ SCADA của Turnipseed được xây dựng cho hệ thống đường ống gas sử dụng giao thức Modbus (chi tiết hơn về bộ dữ liệu này bạn đọc
cĩ thể tham khảo tại [10]) gồm cĩ 274.628 mẫu trong đĩ cĩ 214.580 mẫu bình thường (chiếm 78,1%) và 60.048 mẫu tấn cơng (chiếm 21,9%) Trong bộ dữ liệu cĩ chứa 7 nhĩm tấn cơng được mơ tả trong bảng 2
Bảng 2 Bảy nhĩm tấn cơng khác nhau của tập dữ liệu [10]
Nạve Malicious Response Injection/Tấn cơng chèn đáp ứng đơn giản NMRI(1) Complex Malicious Response Injection/Tấn cơng chèn đáp ứng tinh vi CMRI(2) Malicious State Command Injection/Tấn cơng thay đổi trạng thái MSCI(3) Malicious Parameter Command Injection/Tấn cơng thay đổi tham số MPCI(4) Malicious Function Code Injection/Tấn cơng giả mạo mã hàm MFCI(5)
Trang 63 Xây dựng mô hình phát hiện xâm nhập
Hình 2 Mô hình phát hiện tấn công dựa trên mạng nơron và ngữ cảnh
Hình 2 là mô hình phát hiện tấn công vào hệ thống SCADA được đề xuất gồm
5 khâu Khâu đầu tiên cần thu thập, bắt giữ lại gói tin trên hệ thống mạng SCADA, sau
đó chuyển gói tin bắt được cho khâu bên trên trích rút các thuộc tính như bảng 1 tạo ra vectơ chuẩn, rồi tiếp tục chuyển lên khâu bên trên là khâu đặt gói tin trong ngữ cảnh Khâu đặt gói tin trong ngữ cảnh cần lưu giữ lại các gói tin trong quá khứ, mỗi khi nhận được một gói tin mới nó làm nhiệm vụ ghép gói tin mới này với 3, 5 hoặc 7 gói tin trong quá khứ ngay phía trước nó để tạo ra ngữ cảnh rồi mới chuyển cho tầng trên là mạng nơron MLP nhận dạng Nếu mạng nơron MLP phát hiện ra bất thường tức là có tấn công sẽ chuyển thông tin đến khâu cảnh báo tấn công để thông báo, cảnh báo tấn công
3.1 Mạng nơron MLP
Hình 3 mô tả một mô hình mạng nơron truyền thẳng nhiều lớp MLP với vectơ đầu
vào X có n chiều, vectơ đầu ra Y có m chiều
Trong bài báo sử dụng mạng nơron truyền thẳng nhiều lớp MLP và thuật toán lan truyền ngược (back propagation) [11] và sử dụng bộ công cụ Neural Network Toolbox của Matlab để cài đặt huấn luyện, kiểm tra mạng nơron Bộ công cụ này cho chúng ta lựa chọn các thuật toán khác nhau phục vụ cho quá trình luyện mạng như: Trainscg
MODBUS
Thiết bị chủ
MTU/PLC
Thiết bị tớ RTU/PLC
IDS-SCADA
Đặt gói tin trong ngữ cảnh
Bắt giữ gói tin
Trích rút các thuộc tính tạo vectơ chuẩn
Phát hiện bất thường dùng mạng MLP Cảnh báo tấn công
Gói bình thường + tấn công
Trang 7(Scaled conjugate gradient backpropagation), Traingd (Basic gradient descent), Traingdm (Gradient descent with momentum), Traingdx (Adaptive learning rate), Trainbfg (BFGS quasi - Newton) Trong bài báo này, chúng tôi sử dụng thuật toán huấn luyện Traingdx (Adaptive learning rate)
Hình 3 Mạng nơron truyền thẳng nhiều lớp MLP
3.2 Xây dựng cấu trúc mạng MLP
Nhược điểm khi dùng mạng nơron là chưa có phương pháp luận chung để thiết kế cấu trúc mạng cho các bài toán nhận dạng và điều khiển Vấn đề khó khăn khi sử dụng mạng MLP là việc xác định số lượng các nơron lớp ẩn một cách hợp lý nhất Để khắc phục vấn đề này, trong bài báo sử dụng giải thuật di truyền nhằm xác định số lượng nơron tối ưu cho các lớp ẩn
Giải thuật di truyền (Genetic Algorithms - GA) được biết đến như một giải thuật tìm kiếm dựa trên học thuyết về chọn lọc tự nhiên và nó cho phép đạt được tới cực trị toàn cục Thực ra, GA thuộc lớp các thuật toán xác suất, nhưng lại rất khác những thuật toán ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫu nhiên Khác biệt quan trọng giữa phương pháp tìm kiếm của GA và các phương pháp tìm kiếm khác
là GA duy trì và xử lý một tập các lời giải (quần thể) - đa số các phương pháp khác chỉ
xử lý một điểm trong không gian tìm kiếm Chính vì thế, GA mạnh hơn các phương pháp tìm kiếm hiện có rất nhiều [12, 13]
Trong bài báo sử dụng mạng MLP 4 lớp, lớp đầu ra có một nơron sử dụng hàm kích hoạt là hàm tuyến tính, đầu ra của lớp này có giá trị bằng 0 ứng với gói tin bình thường, bằng 1 ứng với gói tin là tấn công Các tác giả thử nghiệm ba trường hợp: Ngữ cảnh k = 3 tức có 3 gói tin bình thường đặt cùng một gói tin khác cần kết luận là tấn công hay bình thường, tương tự xét ngữ cảnh k = 5, 7 Lớp đầu vào được chọn bằng kích thước của vectơ vào bằng 68 điểm vào ứng với k = 3 và bằng 102, 136 điểm vào tương ứng với k = 5, 7 (Hình 4a, 4b, 4c)
X1 … Xi Xn
Y1 … Yk Ym Lớp ra
Lớp ẩn
Lớp vào
Trang 8Hình 4a Cấu trúc mạng nơron ứng với ngữ cảnh k = 3
Hình 4b Cấu trúc mạng nơron ứng với ngữ cảnh k = 5
Hình 4c Cấu trúc mạng nơron ứng với ngữ cảnh k = 7
Hai lớp ẩn, số nơron hai lớp ẩn tối ưu được chọn trên cơ sở thuật toán tìm kiếm
GA như sau: Lớp ẩn 1 có 20 nơron, lớp ẩn 2 có 15 nơron ứng với ngữ cảnh k = 3, tương
tự hai lớp ẩn ứng với k = 5 tương ứng là 23 và 26 nơron, 37 và 34 ứng với k = 7 (Hình 4a, 4b, 4c) Hai lớp ẩn đều sử dụng hàm kích hoạt là hàm Sigmoid
Thuật toán GA tìm kiếm số nơron tối ưu cho hai lớp ẩn trong khoảng từ 5 đến
50 nơron Thuật toán GA được chạy trên máy tính để bàn Core i3 3.3GHz, RAM 12G mất thời gian tìm kiếm khoảng 72 giờ (3 ngày) mới cho kết quả, kích thước quần thể ban đầu là 30 được khởi tạo ngẫu nhiên, khi cho kết quả chạy được khoảng 60 thế hệ
3.3 Xây dựng lại tập dữ liệu để tạo ngữ cảnh
Do tập dữ liệu ban đầu chỉ là tập hợp các gói tin độc lập, mỗi gói tin là một bản ghi, các gói tin chưa được đặt trong ngữ cảnh để huấn luyện, kiểm tra mạng MLP Do
đó, để đặt các gói tin trong ngữ cảnh thì cần cấu trúc lại tập dữ liệu ban đầu mà mỗi bản ghi mới trong tập dữ liệu mới gồm (k+1) gói tin liên tiếp nhau, trong (k+1) gói tin liên tiếp đó thì k gói tin đầu là gói bình thường, gói tin cuối thứ (k+1) cần xem xét là gói bình thường hay tấn công, quá trình xây dựng lại tập dữ liệu như sau:
Trang 9Gọi Wi (i = 1,2,…N) là bản ghi (gói tin) trong tập dữ liệu ban đầu, N - số bản ghi trong tập dữ liệu ban đầu
Ti: Đầu ra phân loại của gói tin Wi, Ti = 0 nghĩa là gói Wi bình thường, Ti = 1 nghĩa là gói Wi là tấn công (gói tin xâm nhập trái phép)
W: Ngữ cảnh gồm k bản ghi bình thường, có thể chọn k = 3, 5, 7
Pi: Bản ghi mới gồm k gói tin bình thường của W, gói tin Wi+k và đầu ra Ti+k của gói tin Wi+k; Pi = [W, Wi+k, Ti+k]
P: Tập dữ liệu mới gồm (N-k) bản ghi, mỗi bản ghi có (k+1) gói tin cũ
Bước 1: Khởi tạo: i = 1, P = [] - tập rỗng và ngữ cảnh W gồm k gói tin bình
thường đầu tiên trong tập dữ liệu ban đầu, không mất tính tổng quát, giả sử k gói tin đầu tiên liên tiếp của tập dữ liệu đầu là các gói tin bình thường thì ta có W như sau:
W = [Wi, Wi+1, Wi+2,….,Wi+k-1]
Bước 2: Pi gói tin mới được gán gồm k gói tin bình thường trong W, cùng gói tin
Wi+k, đầu ra Ti+k của Wi+k; Pi = [W, Wi+k, Ti]
Bước 3: Cập nhật lại ngữ cảnh W
Nếu Ti+k = 0 tức gói Wi+k là bình thường, cập nhật gói tin Wi+k vào W và gỡ bỏ gói tin cũ bên trái cùng trong W ra, W được cập nhật lại là: W = [Wi+1, Wi+2,…,Wi+k] Nếu Ti+k = 1 tức Wi+k là gói tấn công không cập nhật Wi+k vào W, ngữ cảnh W không thay đổi
Bước 4: Cập nhật Pi vào tập dữ liệu mới, P = [P; Pi]
i = i+1, Nếu i <= N tiếp tục thực hiện bước 2, ngược lại kết thúc thuật toán Với thuật toán trên tạo ra tập dữ liệu mới P gồm (N-k) bản ghi, mỗi bản ghi gồm (k+1) gói tin cũ, trong đó k gói tin cũ ở đầu là bình thường và một gói tin (k+1) cùng trường đầu ra của nó, gói (k+1) này có thể là bình thường hoặc tấn công, với đầu ra bằng 1 là tấn công, đầu ra bằng 0 là bình thường
4 Thử nghiệm và kết quả phân loại
Từ thuật toán mục 3.3, tập dữ liệu ban đầu sẽ tạo ra ba tập dữ liệu tương ứng với các ngữ cảnh k = 3, 5 hoặc 7, trong mỗi tập dữ liệu này chọn ngẫu nhiên 80% dữ liệu (gồm 219.698 bản ghi) được dùng để huấn luyện mạng, phần còn lại 20% của mỗi tập
Trang 10dữ liệu (gồm 54.925 bản ghi) được sử dụng để kiểm tra lại hiệu suất phát hiện của mạng nơron MLP Kết quả kiểm tra mạng ứng với các ngữ cảnh k = 3, 5 hoặc 7 như sau:
Trường hợp k = 3 cho kết quả như hình 5:
Độ chính xác phát hiện: (42774 + 9476)/54925 = 95,13%
Độ chính xác phát hiện tấn công: 9476/(9476 + 177) = 98,17%
Tỉ lệ phát hiện tấn công (Recall): 9476/(9476 + 2498) = 79,14%
Cảnh báo nhầm (Dương tính giả): 117/(9476 + 177) = 1,83%
Trường hợp k = 5 cho kết quả như hình 6:
Độ chính xác phát hiện: (42622 + 11741)/54925 = 99%
Độ chính xác phát hiện tấn công: 11741/(11741 + 247) = 97,94%
Tỉ lệ phát hiện tấn công (Recall): 11741/(11741 + 315) = 97,4%
Cảnh báo nhầm (Dương tính giả): 247/(11741 + 247) = 2,06%
Trường hợp với k = 7 cho kết quả như hình 7:
Độ chính xác phát hiện: (42647 + 11756)/54924 = 99,05%
Độ chính xác phát hiện tấn công: 11756/(11756 + 240) = 98%
Tỉ lệ phát hiện tấn công (Recall): 11756/(11756 + 281) = 97,7%
Cảnh báo nhầm (Dương tính giả): 240/(11756 + 240) = 2%
0
1
42774
77.9%
177
0.3%
99.6%
0.4%
2498 4.5%
9476 17.3%
79.1%
20.9%
94.5%
5.5%
98.2%
1.8%
95.1%
4.9%
Target Class
Test MLP - Confusion Matrix
0
1
42622 77.6%
247 0.4%
99.4%
0.6%
315 0.6%
11741 21.4%
97.4%
2.6%
99.3% 0.7%
97.9% 2.1%
99.0% 1.0%
Target Class
Test MLP - Confusion Matrix