ĐẠ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
Trang 1ĐẠ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
Trang 2ĐẠ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
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
Trang 3MỤC LỤC
Danh mục hình vẽ 3
Danh mục bảng biểu 4
LỜI CẢM ƠN 5
LỜI CAM ĐOAN 6
LỜI NÓI ĐẦU 7
CHƯƠNG 1: TỔNG QUAN 8
1 Sự phát triển của mạng máy tính 8
2 Nguy cơ bị tấn công của mạng 9
3 Các phương pháp phát hiện xâm nhập mạng hiện có 12
3.1 Nhận diện dấu hiệu 12
3.2 Phát hiện bất thường 13
3.2.1 Bằng số liệu thống kê 13
3.2.2 Theo cách tiếp cận học máy 13
CHƯƠNG 2: THUẬT TOÁN HỌC MÁY SUPPORT VECTOR MACHINE (SVM) 15
2.1 Giới thiệu 15
2.2 Ý tưởng của SVM 15
2.3 Nội dung của SVM 16
2.3.1 Cơ sở lý thuyết 16
2.3.2 Bài toán phân 2 lớp với SVM 18
2.3.3 Phân nhiều lớp với SVM 22
2.3.4 Các bước chính của thuật toán SVM 23
2.3.5 Thuật toán SVM trong trường hợp dữ liệu được phân tách tuyến tính 24
2.3.6 Thuật toán SVM trong trường hợp dữ liệu không phân tách tuyến tính trong không gian đặc trưng 36
2.3.6.1 Nhận xét 36
2.3.6.2 Dạng 1 của thuật toán SVM, bài toán C – SVC 36
2.3.6.3 Dạng 2 của thuật toán SVM, bài toán v-SVC 41
2.3.7 SVM nhiều lớp 42
Trang 42
2.3.8 Lựa chọn hàm nhân cho các ứng dụng 43
2.3.9 Lựa chọn các 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 dữ liệu theo thuật toán SVM 44
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 46
3.1 Thu thập dữ liệu 47
3.2 Bóc tách Header các gói tin 50
3.3 Tạo dữ liệu đầu vào cho quá trình huấn luyện 59
3.4 Dựng mô hình phân lớp 59
3.5 Kiểm tra chéo và điều chỉnh tham số 59
3.6 Ghi nhận mô hình 59
CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT QUẢ 60
4.1 Định dạng dữ liệu đầu vào 61
4.2 Huấn luyện, tạo mô hình 63
4.3 Kiểm tra mô hình và điều chỉnh tham số 65
CHƯƠNG 5: KẾT LUẬN 67
5.1. Kết quả đạt được 67
5.2 Hướng nghiên cứu tương lai 67
TÀI LIỆU THAM KHẢO 68
Trang 5Danh mục hình vẽ
Hình 2.1 Siêu phẳng f phân chia dữ liệu học thành 2 lớp + và – với khoảng cách biên lớn nhất Các điểm gần f nhất (điểm được khoanh tròn) là các Support Vector
16
Hình 2.2 Minh họa cho bài toán phân hai lớp 18
Hình 2.3 Minh họa bài toán phân hai lớp với Thuật toán SVM 21
Hình 2.4 Bài toán SVM trong trường hợp dữ liệu mẫu không phân tách tuyến tính 21
Hình 2.5 Minh họa về sự phân tách dữ liệu trong không gian đặc trưng 24
Hình 2.7 Dữ liệu phân tách tuyến tính trong không gian đặc trưng qua phép ánh xạ 27
Hình 3.1 Cấu trúc tổng thể mô hình phát hiện bất thường trong giai đoạn huấn luyện 46
Hình 3.2 Phát hiện gói tin bất thường trong thời gian thực 47
Hình 3.3: Cấu trúc gói tin [8] 52
Hình 3.4: Quá trình thêm header cho dữ liệu truyền qua các tầng của mạng 53
Hình 3.5: Thuật toán bóc tách header từ một gói tin 58
Hình 3.6: Một phần tệp dữ liệu theo khuôn dạng đầu vào LibSVM 59
Hình 4.1: Giao diện chương trình thực nghiệm 60
Hình 4.2: Một phần nội dung tệp header của dữ liệu ngày thứ 2, tuần thứ 1 (xem ở dạng Hexa) 61
Hình 4.3: Tệp dữ liệu phục vụ huấn luyện 61
Hình 4.4: Giao diện chương trình khi tiến hành huấn luyện 63
Hình 4.5: Giao diện chương trình khi đang chạy bước dự đoán (prediction) với dữ liệu kiểm tra 65
Trang 64
Danh mục bảng biểu
Bảng 3.1: Các bộ dữ liệu năm 1999 của dự án DARPA intrusion detection
evaluation 48
Bảng 3.2: Bảng mô tả các kiểu tấn công đã được triển khai trong tuần 2 của bộ dữ liệu năm 1999 trong dự án DARPA intrusion detection evaluation 48
Bảng 3.3: Ý nghĩa các thành phần trong một gói tin 52
Bảng 3.4: IP Header 53
Bảng 3.5: TCP Header 55
Bảng 3.6: Các đặc trưng dùng để phân lớp các gói tin 56
Bảng 4.1: Kết quả dự đoán trên tệp dữ liệu kiểm tra 66
Trang 7LỜI CẢM ƠN
Trước tiên, em xin được gửi lời cảm ơn chân thành nhất của mì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 hiện luận văn này!
Em cũng xin chân thành cảm ơn các thầy cô trong 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 và cả sự say mê khoa học tới nhiều lứa học viên cao học – trong đó có em!
Với sự tận tình chỉ bảo của các thầy, các cô, em đã rất cố gắng để hoàn thành luận văn này Tuy nhiên, do em còn nhiều điểm hạn chế nên chắc hẳn luận văn này vẫn còn tồn tại các thiếu sót Em kính mong tiếp tục nhận được những ý kiến góp ý, chỉ bảo của các thầy, các cô cũng như các bạn học viên để em tiếp tục hoàn thiện chuyên môn của bản thân
Em xin trân trọng cảm ơn!
Học viên
Lê Hữu Dũng
Trang 86
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của bản thân Các số liệu, kết quả được trình bày trong luận văn này là trung thực và chưa từng được công bố trong bất kỳ luận văn nào trước đây
Học viên
Lê Hữu Dũng
Trang 9LỜI NÓI ĐẦU
Các hoạt động kinh tế, xã hội của con người ngày càng sử dụng nhiều đến máy tính và các 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 cũng ngày càng tăng cao Bên cạnh đó, vấn đề đảm bảo cho sự an toàn của thông tin cũng như của mạng máy tính ngày càng trở nên bức thiết Để đảm bảo an toàn cho thông tin và hoạt động của mạng máy tính thì cần triển khai nhiều giải pháp đồng bộ Trong đó, phát hiện sớm các bất thường của mạng được coi là một khâu quan trọng giúp đảm bảo an toàn cho một mạng máy tính Có nhiều cách hiện đang được nghiên cứu, triển để phát hiện bất thường trong mạng như sử dụng phương pháp nhận diện dấu hiệu, phương pháp thống kê và phương pháp sử dụng các thuật toán học máy Trong đó, các phương pháp học máy cho phép đưa ra những kết quả phát hiện bất thường có độ chính xác cao và đặc biệt là luôn có thể cải tiến để cho kết quả cao hơn
Luận văn này với tên gọi “Phát hiện bất thường của mạng theo cách tiếp
cận học máy” tập trung tìm hiểu việc phát hiện các gói tin trong mạng là bình
thường hay bất thường bằng cách áp dụng thuật toán học máy để phân lớp các gói tin
Luận văn bao gồm 5 chương với nội dung như 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 hiện bất thường trong mạng sử dụng thuật toán học máy SVM
Chương 4: Thực nghiệm và kết quả
Chương 5: Kết luận
Trang 108
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 mại điện tử: email đã gần như thay thế hoàn toàn thư truyền thống; Các dịch vụ viễn thông truyền thống cũng đang bị cạnh tranh mạnh mẽ bởi các dịch vụ Over-The-Top (OTT) trên nền Internet; Báo điện tử đang
là đối thủ cạnh tranh trực tiếp, gây nên rất nhiều “sự ra đi” của báo giấy; Các cửa hàng trực tuyến đang ngày càng phát triển, mang đến những lợi ích to lớn cho cả người mua và người bán
Trong lĩnh vực chính phủ điện tử: Hạ tầng mạng máy tính, công nghệ thông tin – truyền thông phát triển cùng với khả năng tiếp cận các sản phẩm công nghệ của người dân đã tạo ra những điều kiện thuận lợi để nhiều nước triển khai chính phủ điện tử và thành công Ngay ở nước ta, nhiều dịch vụ hành chính công đã được triển khai trực tuyến, mang lại nhiều lợi ích cho người dân như: tờ khai Hải quan điện tử, khai thuế trực tuyến, đăng ký cấp Hộ chiếu trực tuyến tại Công an TP Hà Nội, … Các dịch vụ trên nền “Đám mây”: Trong vài năm qua, Công nghệ thông tin (IT) đã bắt đầu một mẫu hình mới - điện toán đám mây Mặc dù điện toán đám mây chỉ là một cách khác để cung cấp các tài nguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi một cuộc cách mạng trong cách cung cấp thông tin và dịch vụ của các tổ chức Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ thông tin như một dịch vụ Nó là một giải pháp điện toán dựa trên Internet ở đó cung cấp tài nguyên chia sẻ giống như dòng điện được phân phối trên lưới điện Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng
Trang 11đang chạy trên một hệ thống duy nhất Những lợi ích mà điện toán đám mây mang lại gồm:
- Chi phí giảm: Điện toán đám mây có thể làm giảm cả chi phí vốn lẫn chi phí vận hành vì các tài nguyên chỉ được mua khi cần và chỉ phải trả tiền khi sử dụng
- Cách sử dụng nhân viên được tinh giản: Việc sử dụng điện toán đám mây giải phóng đội ngũ nhân viên quý giá cho phép họ tập trung vào việc cung cấp giá trị hơn là duy trì phần cứng và phần mềm
- Khả năng mở rộng vững mạnh: Điện toán đám mây cho phép khả năng điều chỉnh quy mô ngay lập tức hoặc tăng lên hoặc giảm xuống, bất cứ lúc nào mà không cần giao kết dài hạn
Chỉ đơn cử một tiện ích đối với người dùng cuối là có thể thực hiện công việc với
dữ liệu của mình mọi lúc, mọi nơi, mọi thiết bị, mọi nền tảng (mà chỉ cần có kết nối mạng) là ta có thể hình dung ra những lợi ích to lớn khác đối với mức độ tổ chức hoặc lớn hơn
Xử lý nghiệp vụ theo hướng cộng tác: Với kết nối mạng và những thiết lập chia sẻ thích hợp, 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
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 tấn công đến thông tin trong máy tính hay mạng máy tính của người dùng
Tấn công (attack), hay đột nhập (intrusion) lên một hệ thống là sự vi phạm chính sách an toàn bảo mật của hệ thống đó Mặc dù các vụ tấn công, đột nhập ngày càng trở nên phức tạp, tinh vi nhưng chúng ta cũng có thể chia chúng thành một số dạng tấn công và đột nhập thường gặp như:
Trang 1268
TÀI LIỆU THAM KHẢO
Tiếng Việt
1 Phạm Văn Lương (2014), Giải pháp phát hiện xâm nhập dựa trên 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 chính
Viễn thông
2 Thái Sơn (2006), Kỹ thuật Support Vector Machines và ứ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
3 Chih-Wei Hsu, Chih-Chung Chang, Chih-Jen Lin (2010), A Practical Guide to Support Vector Classication, Department of Computer Science National Taiwan
University <http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf >
4 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 >
5 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
6 Lincoln Laboratory, DARPA intrusion dectection evaluation, MIT
<http://www.ll.mit.edu./IST/ideval/index.html>
7 Stephen Northcutt, Judy Novak, 2002, Network Intrusion Detection 3rd Ed,
New Riders Publishing
8 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
9 Taeshik Shon *, Jongsub Moon, 2007, “A hybrid machine learning approach to
network anomaly detection”, Information Sciences, 177, pp.3799-3821
Trang 1310 Charles E Spurgeon, Joann Zimmerman, Ethernet: The Definitive Guide,
Second Edition, 2014, O’Reilly