« Home « Kết quả tìm kiếm

Tạo luật cho các bức tường lửa sử dụng các kỹ thuật kết hợp dựa trên cây quyết định


Tóm tắt Xem thử

- Những bức tường lửa này tìm ra sự xâm nhập mạng bằng cách kiểm tra các đặc tính của dữ liệu cần phân tích với các luật đã biết và ngăn chặn nếu phát hiện tấn cơng.
- Bài báo đề cập đến việc sử dụng các kỹ thuật kết hợp nhiều mơ hình máy học như: Boosting, Bagging, Stacking, Random Forest và Decorate (Diverse Ensemble Creation by Oppositional Relabeling of Artificial Training Examples) để xây dựng các bộ phân lớp kết hợp cĩ chất lượng cao trong việc phát hiện các dấu hiệu tấn cơng, từ đĩ tạo ra các luật mới giúp các bức tường lửa ngăn chặn các tấn cơng chưa từng biết.
- Máy học đề cập đến các thuật tốn máy tính cĩ khả năng học hỏi từ các mẫu dữ liệu trong quá khứ để tự động phát hiện các mẫu tấn cơng mới.
- Bên cạnh việc phát triển các mơ hình máy học là các bộ phân lớp đơn sử dụng các thuật tốn máy học như: cây quyết định, mạng nơron, mạng Nạve Bayes, k láng giềng gần nhất, máy vectơ hỗ trợ, hồi quy luận lý,… Từ những năm 1990, cộng đồng máy học đã nghiên cứu cách để kết hợp nhiều mơ hình phân lớp thành tập hợp các mơ hình phân lớp để cho tính chính xác cao hơn so với chỉ một mơ hình phân lớp.
- Nội dung bài báo này đề cập đến việc sử dụng các kỹ thuật kết hợp nhiều mơ hình phân lớp như: Boosting, Bagging, Stacking, Random Forest và Decorate để xây dựng các bộ phân lớp kết hợp cĩ chất lượng cao trong phát hiện các dấu hiệu tấn cơng mới, từ đĩ tạo ra các luật mới giúp các bức tường lửa ngăn chặn các cuộc tấn cơng mạng ngày càng phong phú, đa dạng và khơng ngừng thay đổi như hiện nay..
- TẬP DỮ LIỆU.
- Trước khi các bộ phân lớp được đưa vào sử dụng để phát hiện xâm nhập mạng, các bộ phân lớp phải trải qua quá trình huấn luyện và kiểm tra, việc huấn luyện và kiểm tra được thực hiện trên tập dữ liệu đã được gán nhãn trước..
- Dưới đây là thơng tin chi tiết về 2 tập dữ liệu được dùng trong các thí nghiệm..
- Tập dữ liệu NSL-KDD.
- KDD99 được tạo ra bằng cách xử lý phần dữ liệu TCPDUMP lấy được trong 7 tuần từ hệ thống phát hiện xâm nhập DARPA 1998.
- KDD99 gồm các tập dữ liệu huấn luyện và kiểm tra..
- Tập dữ liệu huấn luyện cĩ 4.898.431 bản ghi, mỗi bản ghi cĩ 41 thuộc tính (loại giao thức, dịch vụ và cờ) và được dán nhãn là bình thường hoặc một cuộc tấn cơng một cách chính xác với một kiểu tấn cơng cụ thể [12]..
- Tập dữ liệu huấn luyện chứa 22 kiểu tấn cơng và thêm 17 kiểu trong tập dữ liệu kiểm tra, được phân thành 4 nhĩm:.
- Các tác giả tìm thấy một số lượng lớn các bản ghi dư thừa, 78% trong tập dữ liệu huấn luyện và 75% trong tập dữ liệu kiểm tra.
- Các tác giả cũng lưu ý rằng các bản ghi trùng lặp trong tập dữ liệu KDD99 cũng sẽ làm cho kết quả đánh giá bị sai lệch, bởi các thuật tốn sẽ phát hiện tốt hơn với các bản ghi xuất hiện thường xuyên..
- Tập dữ liệu huấn luyện của NSL-KDD gồm 125.973 bản ghi và tập dữ liệu kiểm tra gồm 22.544 bản ghi, ít hơn nhiều so với tập dữ liệu KDD99.
- Các tác giả cho rằng kích thước của tập dữ liệu NSL-KDD là hợp lý, cĩ thể được sử dụng như tập dữ liệu hồn chỉnh mà khơng cần phải lấy mẫu ngẫu nhiên..
- Thơng tin chi tiết về mỗi kiểu tấn cơng trong tập dữ liệu NSL-KDD được mơ tả ở Bảng 1..
- Thơng tin tập dữ liệu huấn luyện và kiểm tra NSL-KDD..
- Phân lớp Tên tấn cơng Số bản ghi Tỷ lệ.
- Tập dữ liệu UNSW-NB.
- Tập dữ liệu UNSW-NB được phát triển bằng cách sử dụng cơng cụ IXIA để trích xuất các hành vi bình thường và tấn cơng hiện đại do Trung tâm An ninh mạng (ACCS) Úc thực hiện năm 2015.
- Bộ dữ liệu này bao gồm 9 loại tấn cơng và 49 thuộc tính [13]..
- Tập dữ liệu UNSW-NB chứa 2.540.044 bản ghi.
- Một phần của tập dữ liệu này được chia thành các tập dữ liệu huấn luyện và kiểm tra, được dùng nhiều trong các thí nghiệm của các học giả, thơng tin chi tiết về các tập dữ liệu được trình bày ở Bảng 2.
- Các tập dữ liệu huấn luyện và kiểm tra này chứa tổng cộng 9 loại tấn cơng: Analysis, Backdoor, DoS, Exploits, Fuzzers, Generic, Reconnaissance, Shellcode và Worms..
- Thơng tin tập dữ liệu UNSW-NB..
- Bộ dữ liệu UNSW-NB cĩ một số lợi thế khi so sánh với bộ dữ liệu NSL-KDD.
- Cuối cùng, sự phức tạp của việc đánh giá UNSW-NB đối với các hệ thống phân lớp hiện tại cho thấy bộ dữ liệu này cĩ các mẫu phức tạp.
- Điều này cĩ nghĩa là bộ dữ liệu cĩ thể được sử dụng để đánh giá các phương pháp phân lớp hiện tại và mới một cách hiệu quả và đáng tin cậy..
- Tuy nhiên, do bộ dữ liệu UNSW-NB cịn khá mới, nên chưa được nhiều học giả sử dụng trong các nghiên cứu của mình.
- Với những ưu điểm của mình, cây quyết định được đánh giá là một cơng cụ mạnh, phổ biến và đặc biệt thích hợp cho khai thác dữ liệu nĩi chung và phân lớp dữ liệu nĩi riêng [14].
- Cuối cùng, việc phân lớp dựa trên cây quyết định trong các NIDS đạt được sự tương tự, đơi khi là chính xác hơn so với các phương pháp phân lớp khác [15, 16]..
- Một mẫu gồm B tập dữ liệu, mỗi tập dữ liệu gồm n phần tử được chọn lựa ngẫu nhiên từ D với sự thay thế (giống như bootstrap).
- Khác với phương pháp Bagging, xây dựng bộ phân lớp kết hợp với các ví dụ huấn luyện cĩ trọng số bằng nhau, phương pháp Boosting xây dựng bộ phân lớp kết hợp với các ví dụ huấn luyện cĩ trọng số khác nhau.
- Cĩ nghĩa là nĩ chuyển một thuật tốn máy học giải quyết một bài tốn phân lớp nhị phân tốt hơn cách giải chọn ngẫu nhiên thành một thuật tốn giải quyết rất tốt bài tốn đĩ.
- Adaboost là một thuật tốn kết hợp một tập các bộ phân lớp được làm đa dạng bằng việc chạy thuật tốn máy học với phân bố khác nhau trên tập huấn luyện..
- Stacking là một cách để kết hợp nhiều mơ hình, giới thiệu khái niệm bộ phân lớp meta.
- Huấn luyện các bộ phân lớp cơ sở ở phần đầu..
- Kiểm tra bộ phân lớp cơ sở ở phần thứ hai..
- Sử dụng kết quả dự đốn ở (3) như là đầu vào và kết quả phân lớp đúng như là kết quả đầu ra để huấn luyện một bộ phân lớp meta..
- Trong Stacking, cơ chế kết hợp là đầu ra của các bộ phân lớp (các bộ phân lớp cấp 0) sẽ được sử dụng làm dữ liệu huấn luyện cho một bộ phân lớp khác (bộ phân lớp cấp 1) để cho ra kết quả dự báo đúng nhất.
- Về cơ bản, chúng ta cho phép bộ phân lớp cấp 1 (bộ phân lớp meta) tự tìm ra cơ chế kết hợp tốt nhất các bộ phân lớp cấp 0..
- Random Forest (rừng ngẫu nhiên) là phương phân lớp được phát triển bởi Leo Breiman tại đại học California, Berkeley..
- Tĩm tắt của giải thuật Random Forest cho phân lớp được diễn giải như sau:.
- Đối với mỗi mẫu bootstrap xây dựng một cây phân lớp khơng được tỉa (unpruned tree) như sau: Tại mỗi nút thay vì chọn một phân chia tốt nhất trong tất cả các biến dự đốn, ta chọn ngẫu nhiên một mẫu m của các biến dự đốn sau đĩ chọn một phân chia tốt nhất trong các biến này..
- Thuật tốn giải quyết tốt các bài tốn cĩ nhiều dữ liệu nhiễu;.
- Qua những tìm hiểu trên về giải thuật Random Forest ta cĩ nhận xét rằng Random Forest là một phương pháp phân lớp tốt do: (1) Trong Random Forest, phương sai (variance) được giảm thiểu do kết quả của Random Forest được tổng hợp thơng qua nhiều người học (learner).
- Boosting và Bagging cung cấp sự đa dạng bằng cách xây dựng tập hợp các bộ phân lớp, mà ở đĩ mỗi bộ phân lớp được huấn luyện với một tập dữ liệu huấn luyện con khác nhau được trích ngẫu nhiên từ tập dữ liệu huấn luyện..
- Vì vậy, về mặt lý thuyết nĩ sẽ cho độ chính xác phân lớp cao hơn khi tập huấn luyện nhỏ..
- Trong Decorate, một kết hợp được tạo lặp lại, trước tiên hãy huấn luyện một bộ phân lớp và sau đĩ thêm nĩ vào kết hợp hiện tại.
- Chúng ta khởi tạo kết hợp để chứa bộ phân lớp được huấn luyện với dữ liệu huấn luyện đã cho.
- Các bộ phân lớp trong mỗi lần lặp liên tiếp được huấn luyện về dữ liệu huấn luyện ban đầu kết hợp với một số dữ liệu nhân tạo.
- Trong mỗi lần lặp lại, các ví dụ huấn luyện nhân tạo được tạo ra từ việc phân phối dữ liệu.
- Nhằm tăng cường tính đa dạng, nhưng vẫn duy trì độ chính xác huấn luyện, bộ phân lớp mới sẽ bị từ chối thêm vào tập hợp hiện cĩ nếu nĩ làm giảm độ chính xác phân lớp của tập hợp.
- Nếu FP là số mẫu bị phân lớp sai là dương tính.
- TP là số mẫu được phân lớp đúng là dương tính.
- FN là số mẫu bị phân lớp sai là âm tính.
- TN là số mẫu được phân lớp đúng là âm tính.
- Việc đánh giá hiệu năng của các bộ phân lớp được thực hiện qua việc đo và so sánh các chỉ số [18]:.
- Việc sử dụng Accuracy để đánh giá chất lượng phân lớp đã được nhiều học giả sử dụng.
- Tuy nhiên, sự phân bố lớp trong hầu hết các bài tốn phân lớp phi tuyến rất mất cân bằng.
- Vì vậy việc sử dụng Accuracy để đánh giá chất lượng phân lớp của một mơ hình khơng thực sự hiệu quả.
- một tập con được chỉ định là tập dữ liệu kiểm tra và các tập con cịn lại được xử lý như tập dữ liệu huấn luyện.
- Sau đĩ, quá trình đánh giá chéo lặp lại k lần, cũng như độ chính xác phân lớp cĩ thể được kiểm tra thơng qua các độ chính xác phân lớp trung bình từ k lần đánh giá.
- Đánh giá chéo K-fold đặc biệt phù hợp với nguồn dữ liệu huấn luyện lớn, trái với đánh giá Leave-one-out, tốn nhiều thời gian để thực hiện..
- Về kỹ thuật máy học, chúng tơi sử dụng cây quyết định dựa trên thuật tốn J48 (mã nguồn mở của C4.5) và các kỹ thuật kết hợp được thực hiện như sau: Bagging, Boosting và Decorate sử dụng bộ phân lớp cơ sở là cây ngẫu nhiên (Random Tree).
- Stacking sử dụng các bộ phân lớp cơ sở là cây ngẫu nhiên và k láng giềng gần nhất, bộ phân lớp meta là k láng giềng gần nhất.
- Đây là những kết quả tốt nhất cĩ được với nhiều bộ phân lớp cơ sở, bộ phân lớp meta được chọn để chạy và so sánh kết quả dựa trên các thuật tốn máy học như: cây quyết định, mạng nơron, mạng Nạve Bayes, k láng giềng gần nhất, máy vectơ hỗ trợ, hồi quy luận lý,….
- Kết quả thực hiện trên các tập dữ liệu NSL-KDD và UNSW-NB được thể hiện cụ thể như sau:.
- Với tập dữ liệu NSL-KDD.
- Chất lượng phân lớp (Qualtity) ứng với mỗi kiểu phân lớp cũng như kỹ thuật kết hợp được trình bày ở Bảng 3..
- Theo đĩ, Decorate cho chất lượng phân lớp tốt nhất ở các kiểu phân lớp Normal, DoS, U2R và R2L.
- Stacking cho chất lượng phân lớp tốt nhất ở các kiểu phân lớp Probe..
- Chất lượng phân lớp (Quality) của các thuật tốn với tập dữ liệu NSL-KDD.
- Kiểu phân lớp Cây quyết định Random Forest Boosting Bagging Stacking Decorate.
- Bảng 4 là thời gian huấn luyện ứng với mỗi kiểu phân lớp cũng như kỹ thuật kết hợp.
- Thời gian thực thi của các thuật tốn kết hợp với tập dữ liệu NSL-KDD.
- Kiểu phân lớp Cây quyết định Random Forest Boosting Bagging Stacking Decorate Normal 48.190 ms 213.042 ms 90.998 ms 56.691 ms 4.263.784 ms 264.192 ms DoS 29.759 ms 193.541 ms 76.278 ms 51.471 ms 4.447.236 ms 214.927 ms Probe 38.923 ms 204.573 ms 73.780 ms 58.484 ms 4.486.024 ms 251.195 ms U2R 26.392 ms 122.016 ms 47.691 ms 36.876 ms 5.004.588 ms 244.853 ms R2L 44.768 ms 143.053 ms 59.843 ms 40.096 ms 4.417.959 ms 256.266 ms 5.2.
- Với tập dữ liệu UNSW-NB.
- Chất lượng phân lớp ứng với mỗi kiểu phân lớp cũng như kỹ thuật kết hợp được trình bày ở Bảng 5.
- Theo đĩ, Random Forest cho chất lượng phân lớp tốt nhất ở kiểu phân lớp Normal.
- Cây quyết định cho chất lượng phân lớp tốt nhất ở các kiểu phân lớp Analysis, Reconnaissance, Shellcode và Worms.
- Stacking cho chất lượng phân lớp tốt nhất ở các kiểu phân lớp Backdoor, DoS và Exploits.
- và cuối cùng Decorate cho chất lượng phân lớp tốt nhất ở các kiểu phân lớp Generic và Fuzzers..
- Chất lượng phân lớp (Quality) của các thuật tốn với tập dữ liệu UNSW-NB.
- Bảng 6 là thời gian huấn luyện ứng với mỗi kiểu phân lớp cũng như kỹ thuật kết hợp.
- Cũng tương tự như với tập dữ liệu NSL-KDD, cây quyết định cĩ thời gian huấn luyện ít nhất và ít hơn nhiều so với các kỹ thuật kết hợp cịn lại, trong khi Stacking vẫn cĩ thời gian huấn luyện dài nhất và dài hơn nhiều lần so với các kỹ thuật kết hợp khác..
- Thời gian thực thi của các thuật tốn kết hợp với tập dữ liệu UNSW-NB.
- Kiểu phân lớp Cây quyết định Random Forest Boosting Bagging Stacking Decorate Normal 25.249 ms 118.131 ms 57.374 ms 34.344 ms 2.102.826 ms 122.094 ms Analysis 12.407 ms 71.675 ms 29.733 ms 21.795 ms 2.100.604 ms 139.194 ms Backdoor 20.523 ms 89.346 ms 39.977 ms 25.626 ms 2.109.406 ms 135.558 ms DoS 26.376 ms 115.865 ms 49.634 ms 34.737 ms 2.586.286 ms 146.773 ms Exploits 28.392 ms 125.116 ms 53.632 ms 35.595 ms 2.587.949 ms 130.523 ms.
- Kiểu phân lớp Cây quyết định Random Forest Boosting Bagging Stacking Decorate Generic 21.330 ms 105.349 ms 58.931 ms 29.095 ms 2.549.906 ms 123.340 ms Fuzzers 18.610 ms 111.766 ms 47.785 ms 31.893 ms 2.544.552 ms 137.794 ms Reconnaissance 18.360 ms 96.021 ms 43.348 ms 27.502 ms 2.557.509 ms 130.864 ms Shellcode 9.281 ms 64.863 ms 29.406 ms 19.766 ms 2.535.442 ms 141.709 ms Worms 9.626 ms 58.753 ms 28.287 ms 17.329 ms 2.546.612 ms 140.113 ms.
- Từ kết quả thí nghiệm với cả hai tập dữ liệu NSL-KDD và UNSW-NB nêu trên, ta nhận thấy:.
- Tùy tính chất đặc thù dữ liệu của mỗi kiểu tấn cơng, các bộ phân lớp kết hợp cho chất lượng phân lớp tốt hơn các bộ phân lớp đơn trong phần lớn các trường hợp..
- Sự phân bố lớp trong bài tốn phát hiện xâm nhập mạng rất mất cân bằng, vì vậy việc sử dụng độ chính xác (accuracy) để đánh giá chất lượng phân lớp của một mơ hình khơng thực sự hiệu quả.
- Thời gian huấn luyện của các bộ phân lớp kết hợp lớn, đặc biệt là khi so với các bộ phân lớp đơn..
- Việc sử dụng các bộ phân lớp yếu (weak learner) trong kết hợp cho kết quả tốt hơn việc sử dụng các bộ phân lớp mạnh trong kết hợp..
- Kết quả đánh giá của tập dữ liệu UNSW-NB đối với các bộ phân lớp đơn và kết hợp cho thấy: bộ dữ liệu này cĩ nhiều mẫu phức tạp..
- Việc nghiên cứu sử dụng các thuật tốn học yếu khác khi xây dựng các bộ phân lớp kết hợp cĩ thể sẽ đem lại hiệu năng cao hơn trong các hệ thống phát hiện xâm nhập..
- Cần nghiên cứu tìm giải pháp giảm thiểu thời gian huấn luyện của các bộ phân lớp kết hợp..
- Một tiếp cận máy học để phân lớp các kiểu tấn cơng trong hệ thống phát hiện xâm nhập mạng

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt