Tải bản đầy đủ (.pdf) (13 trang)

Mộ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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (374.9 KB, 13 trang )

Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

MỘ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ê Q Đơ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 ln 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:

98


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

mộ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 hồn tồ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ã hố để 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
99


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

củ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.
Ngồi ra, q 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ì tồ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
100


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

tậ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]
STT

Thuộc tính

Mơ tả


01

Address

Địa chỉ của Slave của giao thức Modbus

02

Function

Mã hàm của giao thức Modbus

03

Length

Độ dài của gói Modbus

04

Setpoint

Điểm đặt áp suất khi hệ thống ở chế độ tự động

05

Gain

PID gain


06

Reset rate

PID reset rate

07

Deadband

PID dead band

101


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

STT

Thuộc tính

Mơ tả

08

Cycle time

PID cycle time


09

Rate

PID rate

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

15

CRC

Mã kiểm lỗi của gói Modbus

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]
Nhóm tấn cơng

Viết tắt

Normal/Mẫu bình thường

Normal(0)

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)

Denial of Service/Tấn công từ chối dịch vụ

DoS(6)

Reconnaissance/Tấn công trinh sát

Recon(7)

102


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

3. Xây dựng mơ hình phát hiện xâm nhập

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

Đặt gói tin
trong ngữ cảnh
Trích rút các thuộc tính
tạo vectơ chuẩn

IDS-SCADA

Bắt giữ gói tin
Thiết bị chủ
MTU/PLC

MODBUS

Thiết bị tớ
RTU/PLC

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
q 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
103


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

(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).
Lớp ra

Y1 … Yk ... Ym

Lớp ẩn

Lớp vào
X1 … Xi ... Xn
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ị
tồ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
tố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).
104


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

Hì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 tố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 tố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, q trình xây dựng lại tập dữ liệu như sau:
105


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

Gọ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 qt, 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
106


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

dữ 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%
Test MLP - Confusion Matrix

0

42774
77.9%

2498
4.5%

94.5%
5.5%

1

177

0.3%

9476
17.3%

98.2%
1.8%

99.6%
0.4%

79.1%
20.9%

95.1%
4.9%

0

1

Target Class

Hình 5. Kết quả kiểm tra với k=3

Output Class

Output Class

Test MLP - Confusion Matrix


0

42622
77.6%

315
0.6%

99.3%
0.7%

1

247
0.4%

11741
21.4%

97.9%
2.1%

99.4%
0.6%

97.4%
2.6%

99.0%

1.0%

0

1

Target Class

Hình 6. Kết quả kiểm tra với k=5

107


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

Output Class

Test MLP - Confusion Matrix

0

42647
77.6%

281
0.5%

99.3%
0.7%


1

240
0.4%

11756
21.4%

98.0%
2.0%

99.4%
0.6%

97.7%
2.3%

99.1%
0.9%

0

1

Target Class

Hình 7. Kết quả kiểm tra với k=7

Bảng 3. Tổng hợp kết quả phân loại tấn công trên bộ dữ liệu
Chỉ số đánh giá


k=3

k=5

k=7

Độ chính xác phát hiện

95,13%

99%

99,05%

Độ chính xác phát hiện tấn công

98,17%

97,94%

98%

Tỉ lệ phát hiện tấn công

79,14%

97,4%

97,7%


Cảnh báo nhầm (Dương tính giả)

1,83%

2,06%

2%

Bảng 4. Kết quả thử nghiệm các thuật tốn của Turnipseed trên bộ dữ liệu [10]
Thuật tốn

Nhóm thuật tốn

Độ chính xác phân loại

Nạve Bayesian Network

Bayes

80,39%

PART

Rule-based

94,14%

Multilayer Perceptron


Neural Network

85,22%

Nhận xét: Thử nghiệm trên cùng một bộ dữ liệu, so sánh kết quả phân loại trong
bảng 3 và 4 của Turnipseed [10], cho thấy kết quả nhận dạng của các tác giả cao hơn
nhiều so với kết quả của Turnipseed. Trong ba thuật tốn Turnipseed thử nghiệm thì
thuật tốn PART cho độ chính xác phân loại cao nhất 94,14%, trong các thử nghiệm của
các tác giả cho độ chính xác phát hiện thấp nhất 95,13% với k = 3, còn k = 5 hoặc k = 7
cho độ chính xác phân loại lên tới 99%. Lý do khi không sử dụng ngữ cảnh sẽ rất khó
phát hiện các tấn cơng chèn đáp ứng hoặc chèn lệnh tinh vi, ví dụ như gói tin 1 là bình
108


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

thường và gói tin 2 được tin tặc chèn vào mạng giống hệt gói tin 1 chỉ khác là ở hai thời
điểm khác nhau nếu chỉ xét độc lập từng gói tin thì rất khó có thể phát hiện ra gói tin nào
là tấn cơng, gói nào bình thường. Nhưng nếu xét thêm một số gói tin ngay trước gói tin 1
và cả gói tin 2 cũng làm vậy thì khi đó hai gói tin này tuy giống nhau nhưng ở hai ngữ
cảnh khác nhau nên có thể phát hiện ra gói tin 1 là bình thường, gói tin 2 là tấn cơng.
Có thể thấy việc đặt gói tin vào ngữ cảnh có vai trị quan trọng trong việc phân
loại gói tin là bình thường hay tấn công. Cùng sử dụng mạng nơron MLP thử nghiệm
trên cùng bộ dữ liệu nhưng Turnipseed [10] không sử dụng ngữ cảnh cho kết quả phân
loại chỉ đạt 85,22%, các thử nghiệm trong bài báo của chúng tôi đều cho kết quả phân
loại cao hơn Turnipseed rất nhiều đạt trên 95%. Khi tăng kích thước của ngữ cảnh lên 5,
7 cho kết quả phân loại đạt đến 99% cao hơn tất cả các thuật mà Turnipseed thử nghiệm
(xem thêm bảng 3, 4).
Với ngữ cảnh gồm 5 gói tin cho kết quả có độ chính xác phân loại (99%) cao hơn
khi xét ngữ cảnh chỉ gồm 3 gói tin (95,13%). Cịn với ngữ cảnh gồm 7 gói tin, kết quả

phân loại khơng cao hơn so với ngữ cảnh gồm 5 gói tin (xem thêm kết quả trong
bảng 3). Đặc biệt là tỉ lệ phát hiện tấn công với ngữ cảnh 5, 7 trên 97%, còn với ngữ
cảnh bằng 3 thấp hơn chỉ đạt 79,14%.

5. Kết luận
Trong bài báo, chúng tôi đã sử dụng mạng nơron truyền thẳng nhiều lớp MLP kết
hợp với những bất thường trong ngữ cảnh và thuật toán giải thuật di truyền được sử dụng
để tối ưu tham số mạng MLP. Mơ hình đề xuất cho kết quả phân loại có độ chính xác rất
cao và tỷ lệ dương tính giả thấp, khơng vượt q 2%. Kết quả phân tích cho thấy việc đặt
gói tin vào ngữ cảnh giúp nâng cao chất lượng phân loại gói tin, đồng thời tham số ngữ
cảnh được lựa chọn, cụ thể là kích thước ngữ cảnh (k = 3, 5 hay 7) cũng quyết định đến
khả năng phân loại gói tin. Lý do là vì khi ta đặt gói tin trong ngữ cảnh ta cung cấp thêm
thơng tin mang tính “động học” của các gói tin, và như vậy dễ nhận ra sự “bất thường”
trong gói tin hơn. Nhưng nếu để kích thước ngữ cảnh lớn q thì số lượng đặc tính của dữ
liệu đầu vào tăng lên, do đó việc luyện mạng nơron lại trở nên không hiệu quả. Qua thử
nghiệm, chúng tơi nhận thấy kích thước ngữ cảnh k = 5 cho kết quả tốt nhất.
Trong các nghiên cứu tiếp theo, dựa trên các kết quả nghiên cứu trong bài báo
này, chúng tôi dự kiến sử dụng một số phương pháp tiên tiến, hiện đại hơn như Deep
learning, máy học Boltzman... nhằm nâng cao chất lượng phát hiện cho mơ hình cũng
như khắc phục một số nhược điểm trong việc lựa chọn tham số cho mơ hình.
109


Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University

Tài liệu tham khảo
1. J. Slay and M. Miller (2008). Lessons learned from the Maroochy Water Breach. Critical
Infrastructure Protection, 253, pp. 73-82.
2. D. Ryu, H. Kim and K. Um (2009). Reducing security vulnerabilities for critical
infrastructure. Journal of Loss Prevention in the Process Industries, 22, pp. 1020-1024.

3. N. Falliere, L. O. Murchu and E. Chien (2010). W32.Stuxnet Dossier, Symantec Report version 1.3.
4. Chandola, V.; Banerjee, A.; Kumar, V. (2009). Anomaly detection: A survey. ACM
Computing Surveys, 41(3): 1-58. Doi 10.1145/1541880.1541882.
5. Leandros Maglaras (2018). Intrusion Detection in SCADA Systems using Machine Learning
Techniques. Doctoral thesis.
6. Hijazi, Ahmad; Flaus, Jean-Marie (2019). A Deep Learning Approach for Intrusion
Detection System in Industry Network. Conference: BDCS Intell' 2018, At Beirut, Lebanon.
7. UCI. Knowledge Discovery in Databases (KDD) Cup Datasets. Available at
.
8. T. Morris, W. Gao (2014). Industrial Control System Network Traffic Data Sets to Facilitate
Intrusion Detection System Research, in Critical Infrastructure Protection VIII, Springer
Berlin Heidelberg, 441, pp. 65-78.
9. Thornton, Z. (2015). A Virtualized SCADA Laboratory for Research and Teaching.
Department of Electrical and Computer Engineering, Mississippi State University.
10. Turnipseed, I. (2015). A new SCADA dataset for intrusion detection system research.
Department of Electrical and Computer Engineering, Mississippi State University.
11. S. Haykin (2008). Neural Networks and Learning Machines (3rd Edition) - Prentice Hall.
12. L. Davis (1991). Hand book of Genetic Algorithms, Van Nostrand Reinhold, New York.
13. D.E. Goldberg (1989). Genetic Algorithms in Search, Optimization, and Machine Learning,
Addison-Wesley Pub. Comp. Inc., Reading, MA.

DETECTING ATTACKS ON SCADA SYSTEMS BASED ON MLP
NEURAL NETWORK AND CONTEXT OF DATA
Abstract: In this paper, we propose an IDS-SCADA model, which is capable of detecting
attacks on SCADA systems with high accuracy. The proposed model is based on two hidden
layers MLP neural network, whose number of neurons in the hidden layers is optimally utilizing
a genetic algorithm. The distinction of the proposed method is that the context of the data is
incorporated into the MLP neural network to accurately identify the attacks. To create the
context, the original dataset is reorganized as context vectors containing some consecutive
packets before feeding into the input of the MLP. The experimental results show that the

proposed system outperforms the conventional in terms of accuracy.
Keywords: Intrusion detection system; MLP nerual network; IDS; SCADA system.
Ngày nhận bài: 16/8/2019; Ngày nhận bản sửa lần cuối: 22/4/2020; Ngày duyệt đăng: 23/6/2020


110



×