Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)Ứng dụng Deep learning trong việc phát hiện bất thường trên mạng (Luận văn thạc sĩ)
Trang 1ỨNG DỤNG DEEP LEARNING TRONG VIỆC PHÁT
HIỆN BẤT THƯỜNG TRÊN MẠNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
HỒ CHÍ MINH - 2018
Trang 4LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu riêng của tôi
Các số liệu và kết quả trong luận văn đều là trung thực và chưa từng ai công bố trong các công trình nghiên cứu khác
TP.HCM, ngày 24 tháng 07 năm 2018
Học viên thực hiện luận văn
Trang 5LỜI CẢM ƠN
Để hoàn thành luận văn này, ngoài những nỗ lực nghiên cứu và cố gắng của bản thân thì không thể thiếu những định hướng và chỉ bảo quý báu của các Thầy/Cô hướng dẫn Em xin được gửi lời cảm ơn sâu sắc tới Thầy - PGS TS Phạm Trần Vũ, giáo viên trực tiếp hướng dẫn, người đã tận tình chỉ bảo và định hướng thêm cho em trong suốt quá trình nghiên cứu và thực hiện luận văn
Em củng xin gửi lời cảm ơn chân thành đến tất cả các Thầy Cô của trường Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở tại TP Hồ Chí Minh đã giảng dạy và dìu dắt chúng em trong suốt quá trình học tập tại Trường
Cuối cùng, em xin gửi lời cảm ơn đến gia đình, bạn bè và những người luôn đồng hành, cổ vũ tinh thần, giúp em vượt qua những giai đoạn khó khăn
và tạo điều kiện thuận lợi cho em học tập tốt và hoàn thành luận văn này
Em xin chân thành cảm ơn!
TP.HCM, ngày 24 tháng 07 năm 2018
Học viên thực hiện luận văn
Trang 6MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v
DANH SÁCH CÁC BẢNG vi
DANH SÁCH CÁC HÌNH VẼ, BIỂU ĐỒ vii
MỞ ĐẦU 1
CHƯƠNG 1 – TỔNG QUAN 3
1.1 Hệ thống phát hiện xâm nhập 3
1.2 Phát hiện bất thường 5
1.2.1 Phát hiện bất thường là gì 5
1.2.2 Phân loại kỹ thuật phát hiện bất thường 7
1.3 Tổng quan các kỹ thuật phát hiện bất thường 8
1.4 Kết luận chương 12
CHƯƠNG 2 - ỨNG DỤNG DEEP LEARNING TRONG VIỆC PHÁT HIỆN BẤT THƯỜNG TRÊN MẠNG 13
2.1 Mạng nơ-ron nhân tạo 13
2.2 Deep Learning 17
2.2.1 Autoencoder 18
2.3 Mô hình phát hiện bất thường sử dụng Autoencoder 20
2.4 Kết luận chương 25
CHƯƠNG 3 - THỰC NGHIỆM VÀ ĐÁNH GIÁ 26
3.1 Môi trường thực nghiệm 26
3.2 Bộ dữ liệu KDD99 26
3.3 Tiến hành thực nghiệm 28
3.4 Kết quả và đánh giá 32
Trang 73.5 Kết luận chương 39 KẾT LUẬN 40 DANH MỤC CÁC TÀI LIỆU THAM KHẢO 41
Trang 8DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
ANN Artificial Neural Network Mạng neural nhân tạo
BM Boltzman Machine Máy học Boltzman
CNN Convolutional Neural Network Mạng neural tích chập
DBN Deep Belief Network Mạng niềm tin sâu
DNN Deep Neural Network Mạng neural sâu
KNN K-Nearest Neighbors K láng giềng gần nhất
LMS Least Means Square Thuật toán bình phương tối thiểu MLP Multilayer-Perceptrons Perceptron đa lớp
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập RNN Recurrent Neural Network Mạng neural tái phát
OSVM One-Class Support Vector
Machine Máy vectơ hỗ trợ một lớp SVM Support Vector Machine Máy vectơ hỗ trợ
SOM Self-Organizing Map Thuật toán SOM
Trang 9DANH SÁCH CÁC BẢNG
Bảng 1.1: Ưu điểm và khuyết điểm của một số kỹ thuật phát hiện bất thường [14]…10
Bảng 3.1: Các thuộc tính trong tập dữ liệu KDD99………27
Bảng 3.2: Phân loại các kiểu tấn công………28
Bảng 3.3: Kết quả độ chính xác – Accuracy……… 36
Bảng 3.4: Kết quả của một số thuật toán khác [18]……….38
Trang 10DANH SÁCH CÁC HÌNH VẼ, BIỂU ĐỒ
Hình 1.1: Hệ thống phát hiện xâm nhập đơn giản (IDS)……… 3
Hình 1.2: Phân loại hệ thống phát hiện xâm nhập………4
Hình 1.3: Tập dữ liệu với bất thường……… 6
Hình 1.4: Ưu điểm Deep Learning……….12
Hình 2.1: Cấu trúc mạng nơ-ron nhân tạo……… 13
Hình 2.2: Kiến trúc mạng nơron nhân tạo……… 15
Hình 2.3: Mô hình Perceptron một lớp……… 15
Hình 2.4: Mô hình mạng Multi-Layer Perceptrons………16
Hình 2.5: Các lớp trong Autoencoder………19
Hình 2.6: Sơ đồ cấu trúc của Autoencoder……….20
Hình 2.7: Quy trình huấn luyện và phát hiện bất thường………23
Hình 2.8: Mô hình Autoencoder………23
Hình 2.9: Mô hình Autoencoder đề xuất……… 24
Hình 3.1: Kết quả xử lý cho 100 epoch……… 33
Hình 3.2: Biểu đồ lỗi cho từng epoch……….34
Hình 3.3: Biểu đồ Độ chính xác cho 100 epoch……… 35
Hình 3.4: Kết quả các phương pháp đánh giá mô hình……… 37
Trang 11từ các cuộc tấn công mạng trên môi trường internet Theo thống kê số liệu tấn công mạng từ Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) ghi nhận đã có gần 10000 cuộc tấn công mạng Việt Nam trong năm 2017 Các vụ tấn công mạng tăng cả số lượng, quy mô, còn hình thức ngày càng tinh vi Do vậy, các hệ thống khác nhau đã được thiết kế và xây dựng để ngăn cản các cuộc tấn công này, đặc biệt là các
hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) giúp các mạng chống lại các cuộc tấn công từ bên ngoài
Tuy nhiên, hệ thống phát hiện xâm nhập còn một số hạn chế như việc các gói tin xấu phát sinh từ lỗi phần mềm, dữ liệu DNS hỏng, và các gói tin này có thể tạo ra
tỷ lệ cảnh báo sai cao đáng kể Ngoài ra, chi phí triển khai và vận hành hệ thống tương đối lớn, khả năng phân tích lưu lượng bị mã hóa tương đối thấp Việc ứng dụng mạng nơ-ron, học sâu trong các hệ thống phát hiện xâm nhập là hướng tiếp cận đã khắc phục được các hạn chế trên và ngày càng thể hiện tính ưu việt của kỹ thuật học máy
(machine learning)
Deep Learning (học sâu) là một nhánh của ngành Machine Learning dựa trên tập hợp các thuật toán Nhiều nghiên cứu cho thấy Deep Learning hoàn toàn vượt trội hơn các phương pháp truyền thống trong hầu hết các lĩnh vực Phương pháp học sâu tăng khả năng phát hiện xâm nhập, đạt tỷ lệ phát hiện cao nhất và tỷ lệ cảnh báo sai thấp nhất
Trang 12Deep Learning là kỹ thuật dựa trên tập hợp các thuật toán cố gắng để mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến đổi phi tuyến và tính năng học với các lớp hình thành một hệ thống các tính năng phân cấp từ thấp đến cao cấp Có ba lý do quan trọng nổi bật đối với kỹ thuật Deep learning gần đây Đầu tiên, khả năng xử lý (ví dụ như đơn vị GPU) tăng mạnh Thứ hai, giá cả phần cứng máy tính vừa phải Và cuối cùng, sự đột phá gần đây của nghiên cứu học máy
Kỹ thuật Deep Learning được các nhà nghiên cứu dự đoán sẽ mang tính đột phá trong trí tuệ nhân tạo Một trong những ứng dụng nổi tiếng là phần mềm AlphaGo (dự án Google Deepmind) đánh bại kỳ thủ cờ vây nổi tiếng Lee Seldol thiết kế mô phỏng hoạt động não con người, có thể phân tích bài học từ những sai lầm để đưa ra phương án tốt hơn sau mỗi lần chơi Điều mà dự án này hướng tới là áp dụng trí tuệ nhân tạo vào cuộc sống hằng ngày Với nội dung là nghiên cứu về các kỹ thuật học máy để tăng cường khả năng phân tích và nhận diện bất thường trong môi trường mạng dựa trên cơ sở các thư viện mã nguồn mở Chính vì vậy tác giả chọn đề tài là
“Ứng dụng Deep Learning trong việc phát hiện bất thường trên mạng”
Luận văn sẽ đi sâu nghiên cứu các mô hình này, thực nghiệm và đánh giá trên các tập dữ liệu KDD99 có được liên quan tới phát hiện xâm nhập bất thường nhằm cho ra kết quả cụ thể Từ những kết quả này luận văn sẽ đề xuất hướng ứng dụng phù hợp
Trang 13CHƯƠNG 1 – TỔNG QUAN
1.1 Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS) [1] là một
hệ thống giám sát lưu lượng mạng nhằm phát hiện hiện tượng bất thường, các hoạt động xâm nhập trái phép vào hệ thống IDS có thể phân biệt được những tấn công từ bên trong (nội bộ) hay tấn công từ bên ngoài (từ các tin tặc)
IDS phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với baseline (thông số đo đạt chuẩn của hệ thống có thể chấp nhận được ngay tại thời điểm hiện tại) để tìm ra các dấu hiệu khác thường
Tính năng quan trọng nhất của hệ thống phát hiện xâm nhập – IDS là:
• Giám sát lưu lượng mạng và các hoạt động khả nghi
• Cảnh báo về tình trạng mạng cho hệ thống và nhà quản trị
• Đánh giá sự toàn vẹn các hệ thống và các file dữ liệu quan trọng
• Nhận rõ mẫu hành động phản ánh các cuộc tấn công đã biết
• Phân tích thống kê các mẫu hành động bất thường
• Kết hợp với các hệ thống giám sát, tường lửa, diệt virus tạo thành một hệ thống bảo mật hoàn chỉnh
Hình 1.1: Hệ thống phát hiện xâm nhập đơn giản (IDS)
Trang 14Hệ thống phát hiện xâm nhập (IDS) có hai loại chính [2]:
- Network-based (NIDS): hệ thống phát hiện xâm nhập dựa trên mạng Hệ thống thu thập thông tin từ chính mạng (lưu thông mạng) và phân tích để phát hiện các tấn công
- Host-based (HIDS): hệ thống phát hiện xâm nhập dựa trên host Theo nguyên tắc, hệ thống thu thập và phân tích thông tin từ CSDL kiểm toán của hệ thống cục bộ và các ứng dụng khác (máy chủ, hệ thống quản lý cơ sở dữ liệu…) Các IDS được chia thành hai loại: phát hiện dựa trên dấu hiệu (misuse-based)
và phát hiện dựa trên bất thường (anomaly-based)
Hình 1.2: Phân loại hệ thống phát hiện xâm nhập IDS dựa trên dấu hiệu: để phát hiện các cuộc tấn công bằng cách tìm kiếm
các mẫu cụ thể, chẳng hạn như chuỗi byte trong lưu lượng mạng hay chuỗi lệnh độc hại đã biết được các phần mềm malware sử dụng [3]
Các phương pháp phát hiện dấu hiệu có một số ưu điểm dưới đây: tỷ lệ cảnh báo sai thấp, thuật toán đơn giản, dễ dàng tạo cơ sở dữ liệu dấu hiệu tấn công, dễ dàng bổ sung và tiêu phí hiệu suất tài nguyên hệ thống tối thiểu
Một số nhược điểm:
- Khó khăn trong việc nâng cấp các kiểu tấn công mới
Trang 15- Chúng không thể kế thừa để phát hiện các tấn công mới và chưa biết Phải nâng cấp một cơ sở dữ liệu dấu hiệu tấn công tương quan với nó
- Sự quản lý và duy trì một IDS cần thiết phải kết hợp với việc phân tích và vá các lỗ hổng bảo mật, đó là một quá trình tốn kém thời gian
- Kiến thức về tấn công lại phụ thuộc vào môi trường hoạt động Do đó, IDS dựa trên dấu hiệu những hành vi xấu phải được cấu hình tuân thủ những nguyên tắc nghiêm ngặt của nó với hệ điều hành (phiên bản, nền tảng, các ứng dụng) được sử dụng
- Khó quản lý các tấn công bên trong Đặc biệt, sự lạm dụng quyền người dùng xác thực không thể phát hiện khi có hoạt động mã nguy hiểm (do thiếu thông tin về quyền người dùng và cấu trúc dấu hiệu tấn công)
IDS dựa trên bất thường [4]: phát hiện xâm nhập liên quan đến các sai lệnh
so với hệ thống thông thường hoặc trong hành vi người dùng Hệ thống phát hiện xâm phạm phải có khả năng phân biệt giữa các hoạt động thông thường của người dùng và hoạt động bất thường để tìm ra được các tấn công nguy hiểm kịp thời Phát hiện các hành vi xâm nhập mạng và máy tính, lạm dụng bằng cách giám sát hoạt động của hệ thống và phân loại hành vi này là bình thường hay bất thường
Ưu điểm của phương pháp phát hiện bất thường:
- Khả năng phát hiện các tấn công mới khi có sự xâm nhập
- Các vấn đề không bình thường được nhận ra không cần nguyên nhân bên trong của chúng
- Ít phụ thuộc vào IDS đối với môi trường hoạt động (khi so sánh với các hệ thống dựa vào dấu hiệu)
- Khả năng phát hiện sự lạm dụng quyền của người dùng
1.2 Phát hiện bất thường
1.2.1 Phát hiện bất thường là gì
Phát hiện bất thường (cũng là phát hiện ngoại lai) là việc xác định các mục, sự kiện hoặc quan sát khác biệt đáng kể so với dữ liệu còn lại Bất thường cũng được
Trang 16gọi là ngoại lai, sai lệch hoặc bất thường trong khai phá dữ liệu và lý thuyết thống kê Trong hầu hết các trường hợp, dữ liệu được tạo ra bởi một hoặc nhiều quá trình sinh
ra, có thể không chỉ đại diện cho hoạt động trong hệ thống mà còn có thể quan sát được các thực thể Khi quá trình sinh ra hoạt động bất thường, nó tạo ra các bất thường (anomalies) hoặc các ngoại lai (outliers) Do đó, một bất thường thường chứa thông tin giá trị về các đặc điểm bất thường của các hệ thống và các yếu tố tác động đến quá trình sinh ra [5]
Hình 1.3: Tập dữ liệu với bất thường
Trong hình 1.3, mô hình có thể thấy các điểm dữ liệu trong cụm là hành vi "bình thường" của một điểm dữ liệu và xác định điểm A là điểm "bất thường"
Phát hiện bất thường được áp dụng trong các lĩnh vực như phát hiện gian lận, phát hiện xâm nhập, phát hiện lỗi, hệ thống giám sát sức khỏe, các hệ thống phát hiện
sự kiện trong các mạng cảm biến và đặc biệt ứng dụng vào hệ thống phát hiện xâm nhập (IDS)
Phát hiện bất thường được đề xuất cho hệ thống phát hiện xâm nhập (IDS) của Dorothy Denning vào năm 1986 Phát hiện bất thường đối với IDS thông thường
Trang 17được thực hiện với các ngưỡng và thống kê, nhưng cũng có thể được thực hiện với tính toán mềm, và học tập quy nạp [6]
Hệ thống phát hiện xâm nhập bất thường là một hệ thống phát hiện xâm nhập
để phát hiện cả xâm nhập mạng, máy tính và lạm dụng bằng cách giám sát hoạt động của hệ thống và phân loại nó là bình thường hoặc bất thường [7]
Để xác định lưu lượng tấn công, hệ thống phải được huấn luyện để nhận ra hoạt động bình thường trên hệ thống Hai giai đoạn chính của hệ thống phát hiện bất thường bao gồm: giai đoạn huấn luyện (nơi mà một hồ sơ của các hành vi bình thường được xây dựng) và giai đoạn thử nghiệm (nơi lưu lượng truy cập hiện tại được so sánh với cấu hình được tạo trong giai đoạn đào tạo) Bất thường được phát hiện theo nhiều cách, thường xuyên nhất với các kỹ thuật về trí tuệ nhân tạo Các hệ thống sử dụng mạng nơron nhân tạo đã được sử dụng để có hiệu quả cao
1.2.2 Phân loại kỹ thuật phát hiện bất thường
Hầu hết các kỹ thuật phát hiện bất thường sử dụng các nhãn để xác định xem
cá thể đó là bình thường hay bất thường để đưa ra quyết định cuối cùng
Các kỹ thuật phát hiện bất thường có thể được chia thành 3 phương pháp dựa trên tính khả dụng cho các nhãn:
1.2.2.1 Phát hiện bất thường giám sát (Supervised Anomaly Detection)
Phương pháp phát hiện bất thường giám sát giả định rằng tập dữ liệu huấn luyện có dán nhãn chứa mẫu bình thường và bất thường để xác định mô hình dự đoán Tuy nhiên, phương pháp này có một số thách thức như sau:
- Sự thiếu hụt bộ dữ liệu huấn luyện bao gồm tất cả các lĩnh vực
- Thu được nhãn chính xác là một thách thức
- Tập dữ liệu huấn luyện thường chứa một số tạp nhiễu (noisy) dẫn đến tỷ lệ báo
động giả cao hơn
Các thuật toán được giám sát phổ biến nhất là Supervised Neural Network, Máy hỗ trợ vector (Support Vector Machine - SVM), k-Nearest Neighbors, Bayesian Networks và Decision Tree
Trang 181.2.2.2 Phát hiện bất thường bán giám sát (Semi-Supervised Anomaly Detection)
Khi dữ liệu bình thường chỉ có sẵn để huấn luyện và không có giả định về bất thường có thể được thực hiện, phát hiện bất thường bán giám sát là phương pháp được lựa chọn Các thuật toán phát hiện bất thường bán giám sát được gọi là ý tưởng phân loại dựa trên lớp Loại kỹ thuật này giả định rằng dữ liệu huấn luyện đã gắn nhãn các cá thể chỉ cho lớp bình thường Vì chúng không yêu cầu các nhãn cho sự bất thường, kỹ thuật này được áp dụng rộng rãi hơn các kỹ thuật được giám sát Ví dụ: sử dụng thuật toán bán giám sát cho outlier trong mạng xã hội trực tuyến Thuật toán one-class SVM hoặc phân cụm (clustering) có thể được sử dụng như thuật toán phát hiện bất thường bán giám sát Kịch bản ứng dụng rất nổi tiếng cho phát hiện bất thường bán giám sát là phát hiện xâm nhập mạng
1.2.2.3 Phát hiện bất thường không giám sát (Unsupervised Anomaly Detection)
Phương pháp này không cần tập dữ liệu huấn luyện và do đó được sử dụng rộng rãi nhất Phát hiện bất thường không giám sát là phương pháp linh hoạt nhất, đặc biệt là trong thực tế khi dữ liệu đã được thu thập và cần được phân tích mà không cần thêm bất kỳ kiến thức nào Mặt khác, phương pháp này rất nhạy cảm với dữ liệu đầu vào Việc xử lý thích hợp và việc tạo dữ liệu trước là cần thiết để thành công Các thuật toán phổ biến nhất là K-Means, bản đồ tự tổ chức (SOM), thuật toán siêu trường Expectation - Maximisation (EM), lý thuyết cộng hưởng thích ứng (Adaptive resonance theory - ART), Máy Vector hỗ trợ một lớp (One - Class Support Vector Machine)
1.3 Tổng quan các kỹ thuật phát hiện bất thường
Phát hiện bất thường là một vấn đề quan trọng trong hệ thống phát hiện xâm nhập Phát hiện bất thường đã thu hút và trở thành lĩnh vực nghiên cứu được các nhà khoa học trên thế giới quan tâm Tuy nhiên, phát hiện xâm nhập bất thường còn gặp nhiều thách thức, việc giảm thiểu số lượng lớn cảnh báo giả mạo và sự khó khăn trong
Trang 19quá trình phát hiện các mẫu tấn công không rõ là vấn đề phải được giải quyết trước khi áp dụng vào hệ thống phát hiện bất thường
Một số nhà khoa học đã áp dụng các kỹ thuật Machine Learning xây dựng mô hình dựa trên tập dữ liệu huấn luyện vào phát hiện xâm nhập Dưới đây, là một số công trình nghiên cứu về học máy:
❖ Ming.Y với nghiên cứu “Real Time Anomaly Detection Systems for Denial
of Service Attacks by Weighted k-Nearest Neighbor Classifiers” vào năm
2011 Thuật toán k-Nearest Neighbor dựa vào khoảng cách gần nhất giữa các đối tượng cần xếp lớp với các đối tượng trong tập dữ liệu Tác giả đề xuất thuật toán di truyền kết hợp với k-Nearest Neighbor để chọn thuộc tính và trọng số Kết quả thử nghiệm với nhiều cuộc tấn công Dos được áp dụng để đánh giá hệ thống phát hiện bất thường [8]
❖ Johansen và Lee trong công trình nghiên cứu “CS424 network security:
Bayesian Network Intrusion Detection (BINDS)” đã đề xuất xây dựng hệ
thống phát hiện xâm nhập dựa trên mô hình Mạng Bayesian để phân biệt các cuộc tấn công từ mạng hoạt động bình thường bằng cách so sánh các chỉ số của từng mẫu lưu lượng trên mạng [9]
❖ Nghiên cứu “Artificial Neural Networks Architecture For Intrusion
Detection Systems and Classification of Attacks” của Mohammed
Sammany, Marwa Sharawi, Mohammed El-Beltagy, Imane Saroit đưa mô hình mạng neural sử dụng Multi-layered Perceptron (MLP) để phát hiện xâm nhập Kết quả của nghiên cứu cho thấy mô hình MLP áp dụng vào hệ thống phát hiện xâm nhập để phát hiện các kết nối mạng bất thường và phân loại các cuộc tấn công với độ chính xác cao [10]
❖ Công trình nghiên cứu của các tác giả Paulo M Mafra, Vinicius Moll, Joni da
Silva Fraga “Octopus-IIDS: An Anomaly Based Intelligent Intrusion
Detection System” trình bày mô hình mạng neural nhân tạo và Máy học
Vector Hỗ trợ (Support Vector Machine - SVM) sử dụng phương pháp phân lớp để phát hiện bất thường áp dụng trong hệ thống phát hiện xâm nhập có tên
Trang 20gọi là Octopus-IIDS Kết quả thử nghiệm tác giả cho thấy tỷ lệ phát hiện cao, giảm tỷ lệ false positive Ngoài ra, các kỹ thuật này được dùng để phân tích lưu lượng mạng và phân loại các hình thức tấn công [11]
❖ “ On the Capability of an SOM based Intrusion Detection System” của
H.G Kayacik, A.N Zincir-Heywood và M.I Heywood sử dụng kỹ thuật SOM (Self-Organizing Feature Map) 3 lớp để biểu diễn dữ liệu nhiều chiều, vào không gian ít chiều hơn và đặc trưng của dữ liệu đầu vào được giữ lại bản đồ Tác giả đề xuất phương pháp SOM vào hệ thống phát hiện xâm nhập IDS [12]
❖ Rui Zhang, Shaoyan Zhang, Yang Lan, Jianmin Jiang trong nghiên cứu
“Network Anomaly Detection Using One Class Support Vector Machine”
đề xuất phương pháp phát hiện bất thường trên mạng dựa trên One-Class Support Vector Machine (OCSVM) Kỹ thuật này có hai bước: Đầu tiên, dữ liệu được xử lý trước để tạo ra các bộ vector theo thuật toán OCSVM Sau khi tiền xử lý, bộ vector của tập dữ liệu huấn luyện được sử dụng để tạo ra bộ dò OCSVM có khả năng học các hành vi của dữ liệu Cuối cùng, tác giả sử dụng
bộ dò được huấn luyện để phát hiện các bất thường trên mạng Kết quả thử nghiệm thể hiện được hiệu suất tốt của thuật toán [13]
Bảng 1.1: Ưu điểm và khuyết điểm của một số
kỹ thuật phát hiện bất thường [14]
Máy vectơ hỗ trợ
(Suppor Vecto Machine)
- Độ chính xác cao
- Có thể mô hình ranh giới quyết định phức tạp
và phi tuyến
- Ít bị over fitting hơn các phương pháp khác
- Độ phức tạp thuật toán cao và cần nhiều bộ nhớ
- Việc chọn kernel khó
- Tốc độ huấn luyện và kiểm tra thấp
K láng giềng gần nhất
(k-Nearest Neighbors)
- Dễ phân tích - Lưu trữ lớn
Trang 21- Thực hiện nhiệm vụ đơn giản
sở dữ liệu lớn
- Thời gian thi hành
nhanh
- Giả thiết về tính độc lập điều kiện của thuộc tính làm giảm độ chính
xác
- Thiếu số liệu xác suất
Mạng Neural - Mặc nhiên phát hiện các
mối quan hệ phi tuyến phức tạp giữa biến phụ
Kết quả thực nghiệm trong vài năm trở lại đây đã chỉ ra rằng Deep Learning là thuật toán mạnh mẽ và tốt nhất khi làm việc trên Big Data
Trang 22Hình 1.4: Ưu điểm Deep Learning
Trang 23CHƯƠNG 2 - ỨNG DỤNG DEEP LEARNING TRONG VIỆC
PHÁT HIỆN BẤT THƯỜNG TRÊN MẠNG
Deep Learning là một lĩnh vực của Machine Learning sử dụng mạng nơ-ron nhiều lớp Mạng nơ-ron hay còn được gọi là Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN)
2.1 Mạng nơ-ron nhân tạo
Mạng nơron nhân tạo là một tập hợp các tế bào dây thần kinh kết nối với nhau,
đầu ra của nơ-ron có thể là đầu vào của nơ-ron khác
Mạng nơ-ron nhân tạo ANN được tạo từ các node (nơ-ron) xếp chồng các lớp lên nhau giữa vector đặc trưng và vector đích
Mạng nơ-ron nhân tạo đơn giản nhất tạo từ một node được gọi là
“perceptron” Giống như các tế bào thần kinh sinh học có các nhánh và sợi trục,
mạng nơ-ron nhân tạo đơn là một cấu trúc cây đơn giản có các node đầu vào và node đầu ra, được kết nối với mỗi node đầu vào
Hình 2.1: Cấu trúc mạng nơ-ron nhân tạo
(Nguồn: Cấu trúc mạng nơ-ron – nhiethuyettre.net)
Trong đó:
- 𝐱𝟏, 𝐱𝟐,… 𝐱𝐧: các tín hiệu vào của neural, được biểu diễn dưới dạng vector
N chiều
Trang 24- 𝐰𝟏, 𝐰𝟐, …𝐰𝐧: các trọng số tương ứng với các tín hiệu vào Đây là thành phần quan trọng của một mạng neural, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin Quá trình học (learning processing) của mạng neural thực ra là quá trình điều chỉnh trọng
số (Weight) của các input data để có được kết quả mong muốn
- Hàm tổng (Summation Function): tính tổng trọng số của tất cả các input
được đưa vào mỗi nơron Hàm tổng của một nơron đối với n input được tính theo công thức sau:
y = ∑𝒏𝒊=𝟏𝒙𝒊𝒘𝒊
- b: độ lệch (bias) Tất cả các nơron đều cho sẵn một độ lệch (b) Độ lệch
(bias) là một tham số điều chỉnh vô hướng của nơron, nó không phải là một đầu vào, song hằng số 1 phải được xem như đầu vào và nó cân được coi như vậy khi xem xét độ phụ thuộc tuyến tính của các vector đầu vào
- f: hàm kích hoạt (activation function), được dùng để giới hạn phạm vi đầu
ra của mỗi nơron
- y: đầu ra của nơron
Trong một mạng nơron có ba kiểu đơn vị:
- Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài
- Các đơn vị đầu ra (Output units), gửi dữ liệu ra bên ngoài
- Các đơn vị ẩn (Hidden units), tín hiệu vào (input) và ra (output) của nó nằm trong
mạng
Mạng nơron nhân tạo (Artificial Neural Network – ANN) là một mô hình xử lý thông tin được xây dựng dựa trên hoạt động của bộ não Trong đó có một lượng lớn các nơron được liên kết với nhau Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer (hình 2.2) Cụ thể:
- Input Layer (Lớp dữ liệu đầu vào): Mỗi input tương ứng với một thuộc tính của dữ liệu
- Output Layer (Lớp kết quả đầu ra): Tầng này sẽ cung cấp các kết quả đầu
ra mà chúng ta mong muốn mô hình tính được
Trang 25- Hidden Layer (Lớp ẩn): gồm các nơron, nhận dữ liệu input từ các nơron
ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều Hidden Layer
Hình 2.2: Kiến trúc mạng nơron nhân tạo
(Nguồn: Neural Network - https://cs231n.github.io/)
Các loại mạng neural nhân tạo:
Perceptron một lớp: là mô hình đơn giản nhất của mạng nơron (chỉ có 1 tầng) Đây
là một nơron nhân tạo
Hình 2.3: Mô hình Perceptron một lớp
(Nguồn: Perceptron một lớp - https://www.slideshare.net/)
Trang 26Multi-Layer Perceptrons (MLP): là các perceptron nhiều lớp Đây là mô hình mạng
truyền thẳng nhiều lớp bao gồm lớp đầu vào, lớp đầu ra và các lớp ẩn, một nơ-ron trong một lớp được kết nối đầy đủ đến tất cả các neural của lớp tiếp theo
Hình 2.4: Mô hình mạng Multi-Layer Perceptrons
(Nguồn: https://computersciencewiki.org)
Điểm khác biệt giữa Perceptron một lớp và MLP là hàm kích hoạt MLP sử dụng hàm kích hoạt
Một số hàm kích hoạt hay được sử dụng là:
• Hàm sigmoid (Sigmoid function): f(x) = 𝟏
𝟏+ 𝒆−𝒙
Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán Lan truyền ngược (back-propagation), bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện Hàm này được ứng dụng cho các chương trình ứng dụng mà các đầu
ra mong muốn rơi vào khoảng [0,1]