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
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
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 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.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: 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
ơ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). Y1 Yk ... Ym Lớp ra 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ị 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). 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 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: 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 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 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 Test MLP - Confusion Matrix 42774 2498 94.5% 42622 315 99.3% 0 0 77.9% 4.5% 5.5% 77.6% 0.6% 0.7% 177 9476 98.2% 247 11741 97.9% 1 1 0.3% 17.3% 1.8% 0.4% 21.4% 2.1% Output Class Output Output Class Output 99.6% 79.1% 95.1% 99.4% 97.4% 99.0% 0.4% 20.9% 4.9% 0.6% 2.6% 1.0% 0 1 0 1 Target Class Target Class Hình 5. Kết quả kiểm tra với k=3 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 Test MLP - Confusion Matrix 42647 281 99.3% 0 77.6% 0.5% 0.7% 240 11756 98.0% 1 0.4% 21.4% 2.0% Class Output 99.4% 97.7% 99.1% 0.6% 2.3% 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 toán của Turnipseed trên bộ dữ liệu [10] Thuật toán Nhóm thuật toán Độ chính xác phân loại Naï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 toán Turnipseed thử nghiệm thì thuật toá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 quá 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 quá 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
File đính kèm:
- mot_phuong_an_to_chuc_ngu_canh_du_lieu_cho_bo_phat_hien_tan.pdf