Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
1,93 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - LÊ HỮU DŨNG PHÁT HIỆN BẤT THƯỜNG CỦA MẠNG THEO CÁCH TIẾP CẬN HỌC MÁY LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội – Năm 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - LÊ HỮU DŨNG PHÁT HIỆN BẤT THƯỜNG CỦA MẠNG THEO CÁCH TIẾP CẬN HỌC MÁY Chuyên ngành: Cơ sở Toán học cho Tin học Mã số: 60460110 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Lê Trọng Vĩnh Hà Nội – Năm 2014 MỤC LỤC Danh mục hình vẽ Danh mục bảng biểu LỜI CẢM ƠN LỜI CAM ĐOAN LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN Sự phát triển mạng máy tính Nguy bị công mạng 11 Các phương pháp phát xâm nhập mạng có 13 3.1 Nhận diện dấu hiệu 14 3.2 Phát bất thường 14 3.2.1 Bằng số liệu thống kê 14 3.2.2 Theo cách tiếp cận học máy 15 CHƯƠNG 2: THUẬT TOÁN HỌC MÁY SUPPORT VECTOR MACHINE (SVM) 16 2.1 Giới thiệu 16 2.2 Ý tưởng SVM 16 2.3 Nội dung SVM 17 2.3.1 Cơ sở lý thuyết 17 2.3.2 Bài toán phân lớp với SVM 19 2.3.3 Phân nhiều lớp với SVM 23 2.3.4 Các bước thuật toán SVM 24 2.3.5 Thuật toán SVM trường hợp liệu phân tách tuyến tính 25 2.3.6 Thuật toán SVM trường hợp liệu không phân tách tuyến tính không gian đặc trưng 36 2.3.6.1 Nhận xét 36 2.3.6.2 Dạng thuật toán SVM, toán C – SVC 36 2.3.6.3 Dạng thuật toán SVM, toán v-SVC 41 2.3.7 SVM nhiều lớp 43 2.3.8 Lựa chọn hàm nhân cho ứng dụng 43 2.3.9 Lựa chọn tham số cho hàm nhân RBF 44 2.4 Các thư viện, phần mềm hỗ trợ phân lớp liệu theo thuật toán SVM 45 CHƯƠNG 3: MÔ HÌNH PHÁT HIỆN BẤT THƯỜNG MẠNG SỬ DỤNG THUẬT TOÁN HỌC MÁY SVM 47 3.1 Thu thập liệu 48 3.2 Bóc tách Header gói tin 52 3.3 Tạo liệu đầu vào cho trình huấn luyện 61 3.4 Dựng mô hình phân lớp 61 3.5 Kiểm tra chéo điều chỉnh tham số 61 3.6 Ghi nhận mô hình 62 CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT QUẢ 63 4.1 Định dạng liệu đầu vào 64 4.2 Huấn luyện, tạo mô hình 66 4.3 Kiểm tra mô hình điều chỉnh tham số 69 CHƯƠNG 5: KẾT LUẬN 71 5.1 Kết đạt 71 5.2 Hướng nghiên cứu tương lai 71 TÀI LIỆU THAM KHẢO 73 Danh mục hình vẽ Hình 2.1 Siêu phẳng f phân chia liệu học thành lớp + – với khoảng cách biên lớn Các điểm gần f (điểm khoanh tròn) Support Vector 17 Hình 2.2 Minh họa cho toán phân hai lớp 19 Hình 2.3 Minh họa toán phân hai lớp với Thuật toán SVM 22 Hình 2.4 Bài toán SVM trường hợp liệu mẫu không phân tách tuyến tính 22 Hình 2.5 Minh họa phân tách liệu không gian đặc trưng 25 Hình 2.7 Dữ liệu phân tách tuyến tính không gian đặc trưng qua phép ánh xạ 28 Hình 3.1 Cấu trúc tổng thể mô hình phát bất thường giai đoạn huấn luyện 47 Hình 3.2 Phát gói tin bất thường thời gian thực 48 Hình 3.3: Cấu trúc gói tin [8] 53 Hình 3.4: Quá trình thêm header cho liệu truyền qua tầng mạng 54 Hình 3.5: Thuật toán bóc tách header từ gói tin 60 Hình 3.6: Một phần tệp liệu theo khuôn dạng đầu vào LibSVM 61 Hình 4.1: Giao diện chương trình thực nghiệm 63 Hình 4.2: Một phần nội dung tệp header liệu ngày thứ 2, tuần thứ (xem dạng Hexa) 64 Hình 4.3: Tệp liệu phục vụ huấn luyện 64 Hình 4.4: Giao diện chương trình tiến hành huấn luyện 66 Hình 4.5: Giao diện chương trình chạy bước dự đoán (prediction) với liệu kiểm tra 69 Danh mục bảng biểu Bảng 3.1: Các liệu năm 1999 dự án DARPA intrusion detection evaluation 49 Bảng 3.2: Bảng mô tả kiểu công triển khai tuần liệu năm 1999 dự án DARPA intrusion detection evaluation 49 Bảng 3.3: Ý nghĩa thành phần gói tin 53 Bảng 3.4: IP Header 54 Bảng 3.5: TCP Header 56 Bảng 3.6: Các đặc trưng dùng để phân lớp gói tin 58 Bảng 4.1: Kết dự đoán tệp liệu kiểm tra 70 LỜI CẢM ƠN Trước tiên, em xin gửi lời cảm ơn chân thành tới PGS TS Lê Trọng Vĩnh - giảng viên khoa Toán - Cơ - Tin học, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội dành nhiều công sức hướng dẫn em thực luận văn này! Em xin chân thành cảm ơn thầy cô khoa Toán – Cơ – Tin học, trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội nhiệt tình truyền đạt kiến thức, kinh nghiệm, phương pháp nghiên cứu say mê khoa học tới nhiều lứa học viên cao học – có em! Với tận tình bảo thầy, cô, em cố gắng để hoàn thành luận văn Tuy nhiên, em nhiều điểm hạn chế nên hẳn luận văn tồn thiếu sót Em kính mong tiếp tục nhận ý kiến góp ý, bảo thầy, cô bạn học viên để em tiếp tục hoàn thiện chuyên môn thân Em xin trân trọng cảm ơn! Học viên Lê Hữu Dũng LỜI CAM ĐOAN Tôi xin cam đoan luận văn công trình nghiên cứu thân Các số liệu, kết trình bày luận văn trung thực chưa công bố luận văn trước Học viên Lê Hữu Dũng LỜI NÓI ĐẦU Các hoạt động kinh tế, xã hội người ngày sử dụng nhiều đến máy tính thiết bị công nghệ Cùng với điều này, nhu cầu sử dụng mạng máy tính để trao đổi thông tin, chia sẻ tài nguyên ngày tăng cao Bên cạnh đó, vấn đề đảm bảo cho an toàn thông tin mạng máy tính ngày trở nên thiết Để đảm bảo an toàn cho thông tin hoạt động mạng máy tính cần triển khai nhiều giải pháp đồng Trong đó, phát sớm bất thường mạng coi khâu quan trọng giúp đảm bảo an toàn cho mạng máy tính Có nhiều cách nghiên cứu, triển để phát bất thường mạng sử dụng phương pháp nhận diện dấu hiệu, phương pháp thống kê phương pháp sử dụng thuật toán học máy Trong đó, phương pháp học máy cho phép đưa kết phát bất thường có độ xác cao đặc biệt cải tiến kết cao Luận văn với tên gọi “Phát bất thường mạng theo cách tiếp cận học máy” tập trung tìm hiểu việc phát gói tin mạng bình thường hay bất thường cách áp dụng thuật toán học máy để phân lớp gói tin Luận văn bao gồm chương với nội dung sau: Chương 1: Tổng quan Chương 2: Thuật toán học máy Support Vector Machines (SVM) Chương 3: Mô hình phát bất thường mạng sử dụng thuật toán học máy SVM Chương 4: Thực nghiệm kết Chương 5: Kết luận Những đặc trưng nàynằm phần header gói tin, ta cần tiến hành bóc tách thông tin từ gói tin thô qua bước hình sau: Hình 3.5: Thuật toán bóc tách header từ gói tin 60 3.3 Tạo liệu đầu vào cho trình huấn luyện Bước này, ta tiến hành tạo tệp chứa liệu đầu vào phù hợp với định dạng liệu đầu vào thư viện LibSVM (mục 2.4 Chương 2) cách nhân giá trị trường header gói tin với trọng số Bảng 3.6 đồng thời gán nhãn cho liệu Kết bước cho tệp liệu với khuôn dạng hình minh hoạ sau đây: Hình 3.6: Một phần tệp liệu theo khuôn dạng đầu vào LibSVM Sau tạo tệp liệu đầu vào trên, ta chia liệu thành phần: - Dữ liệu huấn luyện: gồm liệu từ thứ đến thứ tuần (chiếm xấp xỉ 80%) - Dữ liệu kiểm tra: gồm liệu ngày thứ tuần (chiếm xấp xỉ 20%) 3.4 Dựng mô hình phân lớp Với liệu đầu vào tạo trên, ta tiến hành dựng mô hình phân lớp thư viện LibSVM với hàm nhân RBF Kết thúc trình huấn luyện này, ta thu tệp mô hình (*.model) 3.5 Kiểm tra chéo điều chỉnh tham số Sau có tệp mô hình từ bước 3.4, ta tiến hành kiểm tra kết phân lớp cách sử dụng phần liệu kiểm tra chia từ bước 3.3 Từng bước 61 thực nghiệm điều chỉnh tham số mô hình, thực nghiệm ghi nhận kết 3.6 Ghi nhận mô hình Mô hình với tham số cho kết kiểm tra tốt ghi nhận lại sử dụng để phát bất thường mạng thời gian chạy 62 CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT QUẢ Theo nội dung trình bày chương trên, chương trình xây dựng để tiến hành thực nghiệm ghi nhận kết Giao diện chương trình sau: Hình 4.1: Giao diện chương trình thực nghiệm 63 4.1 Định dạng liệu đầu vào Sau bóc tách header, ta tiến hành định dạng liệu đầu vào theo khuôn dạng LibSVM Hình 4.2 sau phần nội dung tệp header Hình 4.2: Một phần nội dung tệp header liệu ngày thứ 2, tuần thứ (xem dạng Hexa) Từ tệp liệu cung cấp MIT Lincoln Lab, vào tính chất gói tin Không bị công Bị công, ta gán nhãn liệu tương ứng 1: Không bị công, -1: Bị công tiến hành tính toán theo trọng số mô tả bảng 3.5 Kết bước ta thu tệp liệu đầu vào phù hợp khuôn dạng LibSVM hình 4.3 sau Hình 4.3: Tệp liệu phục vụ huấn luyện 64 Mẫu bị công (-1): Theo thông tin cho bảng 3.3, liệu tuần có 2285 mẫu bị công thuộc 33 kiểu công Số mẫu chia làm phần: 1142 mẫu đầu dành cho việc huấn luyện 1143 mẫu sau dành cho việc kiểm tra Mẫu không bị công: chọn ngẫu nhiên 1250 mẫu dành cho việc huấn luyện 1250 mẫu dành cho việc kiểm tra Các tham số C γ cần thiết cho trình huấn luyện sử dụng mặc định theo thiết lập hàm tính toán hỗ trợ LibSVM Sau đó, tệp liệu huấn luyện tham số đưa vào trình huấn luyện 65 4.2 Huấn luyện, tạo mô hình Hình 4.4: Giao diện chương trình tiến hành huấn luyện Qua thực nghiệm, kết huấn luyện cho ta tệp văn chứa tham số mô hình, theo sau véc tơ hỗ trợ giữ lại hình 4.5 sau: 66 Hình 4.5: Tệp mô hình lần chạy thử Ý nghĩa thông số tệp mô sau: svm_type: thuật toán SVM sử dụng kernel_type: hàm nhân sử dụng gamma: thông số γ nr_class: số lớp total_sv: tổng số support vector rho: giá trị biến bù label: nhãn liệu nr_sv: số support vector lớp SV: dòng support vector dược giữ lại 67 68 4.3 Kiểm tra mô hình điều chỉnh tham số Ở bước này, ta dùng liệu phần để kiểm tra khả phân lớp mô hình tạo bước 4.3: Hình 4.5: Giao diện chương trình chạy bước dự đoán (prediction) với liệu kiểm tra Mô hình cho hình 4.4 mô hình tạo sau lần chạy thử C=1 (mặc định LibSVM không thiết lập), γ=0.0416666666666667 (do LibSVM tự động tính toán không thiết lập) Kết chạy với liệu kiểm tra ghi nhận bảng 4.3 sau 69 Tệp kiểm tra Số mẫu Dự đoán Dự đoán sai số mẫu (tỉ lệ) số mẫu (tỉ lệ) Mẫu dương 1250 766 (~61,28%) 484 (~38,72%) Mẫu âm 1143 717(~62,73%) 426 (~37,27%) Tỉ lệ dự đoán 61,97 % Bảng 4.1: Kết dự đoán tệp liệu kiểm tra 70 CHƯƠNG 5: KẾT LUẬN 5.1 Kết đạt Luận văn trình bày đầy đủ phương pháp phát bất thường mạng theo cách tiếp cận học máy mà cụ thể sử dụng Máy học véc tơ hỗ trợ (Support Vector Machines) Nội dung mà luận văn đạt được: Luận văn trình bày tổng quan vấn đề phát bất thường mạng: Các nguy an toàn mạng máy tính mức độ thiệt hại có cố xảy ra; Các phương pháp phát xâm nhập mạng có phương pháp phát xâm nhập dựa việc phát bất thường theo cách tiếp cận học máy Luận văn tìm hiểu Thuật toán học máy Support Vector Machine (SVM) – thuật toán sử dụng rộng rãi hiệu phân lớp liệu Luận văn tìm hiểu mô hình phát bất thường mạng sử dụng thuật toán học máy SVM xây dựng chương trình thực nghiệm cho mô hình Qua đây, ta thấy rõ tính khả thi việc triển khai Hệ thống phát bất thường mạng theo cách tiếp cận học máy 5.2 Hướng nghiên cứu tương lai Với kết làm luận văn nghiên cứu phát triển theo hướng sau: - Tiếp tục thử nghiệm với SVM với hàm nhân khác RBF để đánh giá, lựa chọn mô hình phù hợp 71 - Xây dựng thêm module chương trình bắt gói tin cảnh báo để đưa chương trình thực nghiệm vào hoạt động thời gian thực việc phát bất thường mạng - Kết hợp hướng nghiên cứu khác để phân loại, nhận diện bất thường mạng theo kiểu công mạng phổ biến 72 TÀI LIỆU THAM KHẢO Tiếng Việt Phạm Văn Lương (2014), Giải pháp phát xâm nhập dựa học máy Vector hỗ trợ SVM, Luận văn Thạc sĩ kĩ thuật, Học viện Công nghệ Bưu Viễn thông Thái Sơn (2006), Kỹ thuật Support Vector Machines ứng dụng, Luận văn Thạc sĩ khoa học, Trường Đại học Bách khoa Hà Nội Tiếng Anh Chih-Wei Hsu, Chih-Chung Chang, Chih-Jen Lin (2010), A Practical Guide to Support Vector Classication, Department of Computer Science National Taiwan University Chih-Chung Chang, Chih-Jen Lin (2013), LIBSVM:A Library for Support Vector Machines, Department of Computer Science National Taiwan University < http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf > Kristopher Kendall (1999), A Database of Computer Attacks for the Evaluation of Intrusion Detection Systems, In Partial Fulfillment of the Requirements for the Degree of Bachelor of Science in Computer Science and Engineering and Master of Engineering in Electrical Engineering and Computer Science, Massachusetts Institute of Technology Lincoln Laboratory, DARPA intrusion dectection evaluation, MIT Stephen Northcutt, Judy Novak, 2002, Network Intrusion Detection 3rd Ed, New Riders Publishing 73 Lydia Parziale, David T.Britt, Chuck Davis, Jason Forrester, Wei Liu, Carolyn Matthews, Nicolas Rosselot, 2006, TCP/IP Tutorial and Technical Overview, IBM International Technical Support Organization Taeshik Shon *, Jongsub Moon, 2007, “A hybrid machine learning approach to network anomaly detection”, Information Sciences, 177, pp.3799-3821 10.Charles E Spurgeon, Joann Zimmerman, Ethernet: The Definitive Guide, Second Edition, 2014, O’Reilly 74 [...]... bình thường và bất thường Sau đó, ta định kì tính toán ngưỡng bất thường, nếu vượt ngưỡng thì đưa ra cảnh báo 14 Ưu điểm của phương pháp này là không cần dấu hiệu biết trước của một dạng tấn công mới mà có thể chỉ cần dựa trên số lượng dữ liệu bất thường thu thập được vượt quá một ngưỡng nào đó để đưa ra cảnh báo Tuy vậy, ngưỡng bình thường /bất thường là khó xác định 3.2.2 Theo cách tiếp cận học máy. .. cả phạm vi rộng lớn An ninh mạng trở thành một vấn đề quan trọng và đặc biệt trong đó, người ta cần phát triển các cơ chế bảo vệ chống lại sự xâm nhập 3 Các phương pháp phát hiện xâm nhập mạng hiện có Một hệ thống phát hiện xâm nhập sẽ thu thập thông tin từ một máy tính hoặc mạng máy tính và cố gắng phát hiện kẻ xâm nhập hay lạm dụng hệ thống Thông thường, một hệ thống phát hiện xâm nhập sẽ cảnh báo... cải thiện mô hình phân lớp ban đầu Bên cạnh đó, phương pháp này cũng còn một số nhược điểm như • Chất lượng của mô hình phân lớp phụ thuộc tập dữ liệu huấn luyện, dữ liệu kiểm tra và các đặc trưng được lựa chọn • Tỉ lệ báo động giả (sai số) cao với phương pháp học máy phi giám sát Luận văn này lựa chọn nội dung Phát hiện bất thường trong mạng theo cách tiếp cận học máy làm đề tài nghiên cứu Chương tiếp. .. tấn công theo kiểu dò cổng (Scan port) Kĩ thuật phát hiện bất thường dựa trên dấu hiệu khá hiệu quả với những kiểu tấn công đã biết hay với những chính sách kiểm soát truy cập đã biết nhưng một hạn chế rõ ràng của kỹ thuật này là không thể phát hiện các cuộc tấn công mới với những dấu hiệu chưa được biết 3.2 Phát hiện bất thường 3.2.1 Bằng số liệu thống kê Tư tưởng của phương pháp này là thực hiện thu... không thực hiện gì thêm nhưng một số hệ thống mới như Real Secure 2.5 hay Mc Afee Virus Scan Enterprise Edition có thể chủ động ngăn chặn kẻ xâm nhập ngay khi phát hiện ra Các phương pháp xâm nhập hiện có được xếp vào hai loại chính: nhận diện dấu hiệu và phát hiện bất thường 13 3.1 Nhận diện dấu hiệu Trong kĩ thuật phát hiện bất thường dựa trên nhận diện dấu hiệu, những đặc điểm bình thường của hệ thống... điểm của những kiểu tấn công phổ biến cũng được ghi nhận để phục vụ mục đích so sánh, phát hiện bất thường sau này Sự bất thường có thể do một hoạt động đã được định nghĩa là bình thường nhưng lại diễn ra ở thời điểm không bình thường ví dụ như sự truy cập của một người dùng vào hệ thống mạng của một tổ chức vào 3 giờ sáng – giờ mà ở tổ chức đó không có ai làm việc thì có thể coi là một dấu hiệu bất thường. ..CHƯƠNG 1: TỔNG QUAN 1 Sự phát triển của mạng máy tính Với sự phát triển như vũ bão của các mạng máy tính trong kỉ nguyên thông tin truyền thông, khoảng cách vật lý đã dần trở nên vô nghĩa Chúng ta đang được chứng kiến rất nhiều lợi ích mà mạng máy tính mang lại cho sự phát triển của đời sống, công nghệ, kinh tế và xã hội Trong lĩnh vực thông tin, thương... những người dùng ở bất kì đâu, bất kì lúc nào có thể cùng cộng tác để tạo ra những sản phẩm mà trước đây thường phải gặp trực tiếp hoặc tiến hành tuần tự, mất rất nhiều thời gian Đó chính là xử lý nghiệp vụ theo hướng cộng tác 10 2 Nguy cơ bị tấn công của mạng Song song với những lợi ích mà mạng máy tính mang lại thì mạng máy tính cũng là môi trường lí tưởng để kẻ xấu lợi dụng thực hiện những hành vi... Bằng cách đánh giá các thông tin trong header của các gói tin truyền trong mạng, ta có thể phát hiện được rất nhiều kiểu tấn công mạng mà K Kendall đã nêu trong nghiên cứu của mình Vấn đề là cần phải thực hiện bằng một phương pháp đủ hiệu quả để có thể triển khai trong thời gian thực Mỗi hệ thống mạng như vậy phải đương đầu với rất nhiều nguy cơ Chỉ một sự xâm nhập của kẻ tấn công từ một vị trí trong mạng. .. phép truy cập bằng cách giả mạo một hệ thống khác Một ví dụ là về việc gửi 1 gói tin TCP có 1 địa chỉ nguồn được cài đặt làm như gói tin đó xuất hiện đến từ nguồn đáng tin cậy Những dạng tấn công gây ra sự bất thường cho mạng (như làm tê liệt, khai thác lỗ hổng, sử dụng vượt quyền hạn, ….) về cơ bản đều dựa trên những cơ chế bình thường của mạng nhưng lại phục vụ cho mục đích bất thường Ví dụ như kiểu