PHÁT HIỆN BẤT THƯỜNG CỦA...

13
ĐẠI HC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HC KHOA HC TNHIÊN ------------------- LÊ HỮU DŨNG PHÁT HIỆN BẤT THƯỜNG CA MNG THEO CÁCH TIẾP CN HỌC MÁY LUẬN VĂN THẠC SĨ KHOA HỌC Ni Năm 2014

Transcript of PHÁT HIỆN BẤT THƯỜNG CỦA...

ĐẠ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

1

MỤ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

2

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

3

Danh 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

4

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

5

LỜ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

6

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

7

LỜ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

8

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

9

đ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ư:

68

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.

69

10. Charles E. Spurgeon, Joann Zimmerman, Ethernet: The Definitive Guide,

Second Edition, 2014, O’Reilly.