Để đáp ứng việc chạy thử nghiệm thuật toán HDBSCAN trên hệ thống máy chủ phân tán cần sử dụng một cụm máy chủ có đủ hiệu năng. Cấu hình các máy chủ được cho trong bảng 4.1. Các máy chủ này được cài đặt sẵn nền tảng xử lý dữ liệu của Hortonwork (HDP) [14], đây là một nền tảng phổ biến được sử dụng ở nhiều doanh nghiệp lớn nhỏ, đưa ra một hệ sinh thái các dịch vụ phục vụ các nghiệp vụ quản lý, lưu trữ, xử lý và phân tích dữ liệu lớn. Thử nghiệm sẽ được chạy trên HDP phiên bản 2.7 và được cài đặt sẵn Apache Spark 2.3.0.
Bảng 4.1.Bảng cấu hình hệ phân tán
Kiến trúc 64-bit
Chip Intel Xeon series
Số lượng máy 10
Bộ nhớ 1536 GB
Số lượng core 288
Do yêu cầu bảo mật dữ liệu, tôi không thể truy cập vào khối lượng dữ liệu lớn đã lưu trữ của công ty, vì thế bộ dữ liệu chạy thử nghiệm cho thuật toán HDBSCAN sẽ được chạy thử nghiệm trên các bộ dữ liệu có sẵn hoặc được tạo ra bằng thuật toán. Có 2 loại dữ liệu khác nhau, một bộ 3 tập dữ liệu công khai và một bộ 3 tập dữ liệu được sinh theo phân phối Gauss được sinh bởi thư viện MixSim [15]. Bộ dữ liệu công khai được lấy tại đây [16], chi tiết đặc tính các bộ dữ liệu được cho ở bảng 4.2.
53
Bảng 4.2.Đặc tính của các bộ dữ liệu
Bộ dữ liệu Số chiều Số điểm dữ liệu Số cụm thực tế
HT Sensor 11 919.438 3 Poker 11 1.025.010 10 Skin 4 245.057 2 Rand500k 20 500.000 10 Rand1m1 30 1.100.000 20 Rand1m5 40 1.500.000 30 4.3.2. Kết quả
Trong phần này, tôi sẽ trình bày lại kết quả dựa trên [17]. Để đánh giá được khả năng xử lý trên hệ phân tán, tôi sẽ sử dụng hệ số gộp cụm K, cho bởi số cụm con được gộp cùng lúc tại một thời điểm để tạo lên các cụm to hơn hay còn gọi là các dendrogram lớn hơn. Bên cạnh đó, tôi còn sử dụng một độ đo khác là điểm số tăng tốc Speedup
𝑆𝑝𝑒𝑒𝑑𝑢𝑝 = 𝑝0𝑡𝑝0 𝑡𝑝
trong đó 𝑝0là số lượng core thấp nhất trong các bài thử nghiệm, 𝑡𝑝0là thời gian chạy cho 𝑝0core và𝑡𝑝là thời gian chạy trên p core.
Thông qua đó ta có thể đánh giá được các cấu hình khác nhau cũng như các đặc tính của bộ dữ liệu có thể ảnh hưởng tới kết quả chạy như thế nào. Nhìn vào hình 4.2, ta có thể thấy do số lượng dữ liệu của bộ dữ liệu Skin là thấp nhất nên thời gian chạy nhỏ nhất, bên cạnh đó số cụm thực tế trong 2 bộ Poker và HT Sensor là khác nhau nên tuy có số lượng điểm dữ liệu tương đương nhưng thời gian chạy khác nhau. Ở đây hệ số K cho thấy với số lượng cụm tự nhiên thấp thì nên lựa K thấp.
54
Hình 4.2.Tổng thời gian chạy trên các tập dữ liệu công khai
Sang đến hình 4.3, ta có thể thấy các hệ số gộp cao chạy với nhiều core hơn sẽ cho kết quả tốt hơn, chỉ trừ bộ dữ liệu có số cụm thực tế thấp, chạy với hệ số gộp cao sẽ cho kết quả kém. Ở các bộ dữ liệu theo phân phối chuẩn thì kết quả không có nhiều chênh lệch khi chạy với các hệ số gộp, tuy nhiên số lượng core càng nhiều thì thời gian chạy ngày càng rút ngắn. Điều đó chứng minh được hệ phân tán đóng vai trò giúp rút ngắn thời gian chạy cho thuật toán và là tiền đề để mở rộng xử lý trong tương lai.
55
KẾT LUẬN
Luận văn đã khảo sát, tổng hợp các hệ thống phát hiện thực thể bất thường trên thế giới và các kĩ thuật được sử dụng để phát hiện tấn công, đồng thời đề xuất kiến trúc hệ thống phát hiện dựa trên log giám sát. Hệ thống đã chứng minh khả năng và tính ứng dụng của nó qua việc chạy với các dữ liệu thật và các thành phần của hệ thống đã được tối ưu, cải tiến nhằm khắc phục nhược điểm trong quá trình nghiên cứu các kịch bản thực tế. Nó đưa ra những cảnh báo và trợ giúp quyết định cho chuyên gia và người dùng kiểm soát được hiện trạng an ninh của hệ thống. Dù vậy, hệ thống vẫn cần tối ưu kết quả đầu ra hơn nữa nhằm phục vụ cho số lượng kịch bản tăng lên nhiều hơn trong tương lai với số lượng nhân lực chuyên gia là hữu hạn.
Về thành phần phát hiện thực thể bất thường, hệ thống có khả năng mở rộng linh hoạt, đáp ứng phát triển liên tục, tăng dần về phiên bản và chào đón sự thay đổi liên tục. Với thiết kế hiện tại, hệ thống cũng có khả năng tự học, tự cập nhật dữ liệu thường xuyên, cùng với sự giám sát từ chuyên gia, vì thế càng chạy lâu hệ thống sẽ càng có nhiều tri thức và gia tăng độ chính xác cho các phép phân tích và quyết định.
Về thành phần phân tích nâng cao, với những thử nghiệm và nghiên cứu ban đầu đã cho ra những kết quả khả quan, đáp ứng nhu cầu tối ưu số lượng cảnh báo. Số lượng đã giảm được tương đối nhưng chưa chọn lọc ra được các hành vi có nhiều khả năng là tấn công, vì thế đây sẽ là thành phần cần ưu tiên cải thiện trong thời gian tới.
Hướng xử lý dữ liệu lớn với thuật toán phân cụm HDBSCAN đang trong quá trình nghiên cứu và tối ưu để đạt được kết quả phân cụm tốt nhất, qua đó sẽ dễ dàng cho thành phần tối ưu cảnh báo sau đó. Với những kết quả ban đầu, nó đã chứng minh tính khả thi cho việc ứng dụng trên dữ liệu lớn và sẽ được cải tiến hơn trong tương lai.
Với những nhược điểm đã nêu ở phần trên chính là những công việc cần được nghiên cứu để hoàn thiện hệ thống trong tương lai. Bao gồm việc nghiên cứu cách thể hiện cho dữ liệu, biến đổi dạng dữ liệu hay các đặc trưng dữ liệu nhằm phục vụ cho các thuật toán phân tích tốt hơn, đến việc nghiên cứu các ngưỡng xác định độ bất thường dựa trên phân tích dữ liệu lớn, cùng với đó là cập nhật thêm nhiều thuật toán phân tích và dự đoán hơn nữa, bổ sung hoặc thay thế cho các kịch bản đang đưa ra.
56
TÀI LIỆU THAM KHẢO
[1] D. E. Denning, "An Intrusion-Detection Model," in IEEE Transactions on Software Engineering, vol. SE-13, no. 2, pp. 222-232, Feb. 1987, doi:
10.1109/TSE.1987.232894.
[2] Max Landauer, Markus Wurzenberger, Florian Skopik, Giuseppe Settanni, Peter Filzmoser, Dynamic log file analysis: An unsupervised cluster evolution approach for anomaly detection, Computers & Security, Volume 79, 2018, Pages 94-116, ISSN 0167-4048
[3] Q. Fu, J. Lou, Y. Wang and J. Li, "Execution Anomaly Detection in Distributed Systems through Unstructured Log Analysis," 2009 Ninth IEEE International Conference on Data Mining, 2009, pp. 149-158, doi: 10.1109/ICDM.2009.60. [4] S. He, J. Zhu, P. He and M. R. Lyu, "Experience Report: System Log Analysis for Anomaly Detection," 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), 2016, pp. 207-218, doi: 10.1109/ISSRE.2016.21.
[5] Xu Zhang, Yong Xu, Qingwei Lin, Bo Qiao, Hongyu Zhang, Yingnong Dang, Chunyu Xie, Xinsheng Yang, Qian Cheng, Ze Li, Junjie Chen, Xiaoting He, Randolph Yao, Jian-Guang Lou, Murali Chintalapati, Furao Shen, and Dongmei Zhang. 2019. Robust log-based anomaly detection on unstable log data. In
Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). Association for Computing Machinery, New
York, NY, USA, 807–817. DOI:https://doi.org/10.1145/3338906.3338931
[6] Min Du, Feifei Li, Guineng Zheng, and Vivek Srikumar. 2017. DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. Association for Computing Machinery, New York, NY, USA, 1285–1298. DOI:https://doi.org/10.1145/3133956.3134015
[7] M. Shashanka, M. Shen and J. Wang, "User and entity behavior analytics for enterprise security," 2016 IEEE International Conference on Big Data (Big Data), 2016, pp. 1867-1874, doi: 10.1109/BigData.2016.7840805
[8] IBM QRadar Advisor with Watson: Revolutionizing the Way Security Analysts Work, 2017
57 [9] Tài liệu của Apache Spark. url: https://spark.apache.org/docs/latest/
[10] Wang, S., Dutta, H.: PARABLE: A PArallel Random-partition Based HierarchicaL ClustEring Algorithm for the MapReduce Framework. The Computer Journal 16, 30–34 (2011). DOI 10.1093/comjnl/16.1.30
[11] Hendrix, W., Ali Patwary, M., Agrawal, A., keng Liao, W.,Choudhary, A.: Parallel hierarchical clustering on shared memory platforms. In: High Performance Computing (HiPC), 2012 19th International Conference on, pp. 1–9 (2012). DOI 10.1109/HiPC.2012.6507511
[12] Comparing Python Clustering Algorithms. url:
https://hdbscan.readthedocs.io/en/latest/comparing_clustering_algorithms.html
[13] Campello, R.J.G.B., Moulavi, D., Sander, J.: Density-based clustering based on hierarchical density estimates. In: J. Pei, V.S. Tseng, L. Cao, H. Motoda, G. Xu (eds.) Advances in Knowledge Discovery and Data Mining, pp. 160–172. Springer Berlin Heidelberg, Berlin, Heidelberg (2013).
[14] Hortonworks Data Platform. An open-architecture platform to manage data in motion and at rest. url: https://www.ibm.com/downloads/cas/DKWR4KZB
[15] Melnykov, V., Chen, W.C., Maitra, R.: MixSim: An R package for simulating data to study performance of clustering algorithms. Journal of Statistical Software 51(12), 1–25 (2012). URL http://www.jstatsoft.org/v51/i12/
[16] Bache, K., Lichman, M.: UCI machine learning repository (2013). URL:
http://archive.ics.uci.edu/ml
[17] Tran Tat Huy, Cao Tuan Dung, Tran Thi Thu Huyen. (2021) HDBSCAN: Evaluating the Performance of Hierarchical Clustering for Big Data. In: Phuong N.H., Kreinovich V. (eds) Soft Computing: Biomedical and Related Applications. Studies in Computational Intelligence, vol 981. Springer, Cham.
https://doi.org/10.1007/978-3-030-76620-7_24
[18] ͳ. K. Julisch, “Clustering Intrusion Detection Alarms To Support Root Cause Analysis”, ACM Trans. Inf. Syst. Secur. 6, 2003
[19] G. Giacinto, R. Perdisci, F. Roli, Alarm Clustering For Intrusion Detection Systems In Computer Networks”, Machine Learning and data mining in Pattern Recognition, Springer, Berlin, 2005.
58 [20] Gabra, H.N., Bahaa-Eldin, A.M., Korashy H., Classification of ids alerts with data mining techniques. In: 2012 International Conference on Internet Study (NETs2012), Bangkok, Thailand, 2012.
[21] R. Vaarandi, “Real-Time Classification Of IDS Alerts With Data Mining Techniques”, in Proc. of MILCOM Conference, 2009
[22] Alshammari, Riyad and Sonamthiang, Sumalee and Teimouri, Mohsen and Riordan, Denis, "Using Neuro-Fuzzy Approach to Reduce False Positive Alerts,"
Fifth Annual Conference on Communication Networks and Services Research (CNSR '07), pp. 345-349, 2007.