Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Giảm kích thước đặc trưng trong phát hiện tấn công web dựa vào bất thường...

Tài liệu Giảm kích thước đặc trưng trong phát hiện tấn công web dựa vào bất thường

.PDF
54
152
77

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ THANH BÌNH GIẢM KÍCH CỠ ĐẶC TRƯNG TRONG PHÁT HIỆN TẤN CÔNG WEB DỰA VÀO BẤT THƯỜNG Ngành: Công nghệ thông tin Chuyên ngành: An toàn thông tin Mã Số: 8480102.01 LUẬN VĂN THẠC SĨ AN TOÀN THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. LÊ ĐÌNH THANH Hà Nội – 2019 i LỜI CẢM ƠN Trước tiên tôi xin dành lời cảm ơn chân thành và sâu sắc đến thầy giáo, TS. Lê Đình Thanh – người đã hướng dẫn, khuyến khích, chỉ bảo và tạo cho tôi những điều kiện tốt nhất từ khi bắt đầu cho tới khi hoàn thành công việc của mình. Tôi xin dành lời cảm ơn chân thành tới các thầy cô giáo Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, ĐHQGHN đã tận tình đào tạo, cung cấp cho tôi những kiến thức vô cùng quý giá và đã tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập, nghiên cứu tại trường. Đồng thời, tôi xin cảm ơn tất cả những người thân yêu trong gia đình tôi cùng toàn thể bạn bè những người đã luôn giúp đỡ, động viên tôi những khi vấp phải những khó khăn, bế tắc. Mặc dù đã rất cố gắng, nỗ lực nhưng luận văn chắc chắn không tránh khỏi những thiếu sót, tôi rất mong nhận được những ý kiến đánh giá và phê bình từ phía các Thầy Cô để luận văn được hoàn thiện hơn. Tôi xin chân thành cảm ơn! Hà Nội, tháng 10 năm 2019 Học viên Lê Thanh Bình ii LỜI CAM ĐOAN Tôi xin cam đoan rằng luận văn thạc sĩ công nghệ thông tin “Giảm kích cỡ đặc trưng trong phát hiện tấn công Web dựa vào bất thường” là công trình nghiên cứu của riêng tôi, không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn, những điều đã được trình bày hoặc là của chính cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo đều có xuất xứ rõ ràng và hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan này. Hà Nội, ngày 10 tháng 10 năm 2019 Lê Thanh Bình 1 MỤC LỤC LỜI CẢM ƠN ....................................................................................................... i LỜI CAM ĐOAN.................................................................................................. ii DANH MỤC HÌNH VẼ ........................................................................................ 3 DANH SÁCH BẢNG BIỂU ................................................................................. 4 DANH SÁCH CÁC TỪ VIẾT TẮT ..................................................................... 5 MỞ ĐẦU ...................................................................................................... 6 CHƯƠNG 1 . GIỚI THIỆU .............................................................................. 7 CHƯƠNG 2 . PHÁT HIỆN TẤN CÔNG WEB SỬ DỤNG ĐẶC TRƯNG NGRAM VÀ BỘ PHÂN LỚP MỘT LỚP ............................................................ 12 2.1 2.2 Đặc trưng n-gram và phiên bản 2v-gram ........................................ 12 Sử dụng kết hợp nhiều bộ phân lớp một lớp .................................. 17 2.2.1 Bộ phân lớp một lớp ............................................................ 17 2.2.2 Kết hợp nhiều bộ phân lớp một lớp ..................................... 18 CHƯƠNG 3 WEB 3.1 3.2 3.3 3.4 CHƯƠNG 4 . RÚT GỌN ĐẶC TRƯNG TRONG PHÁT HIỆN TẤN CÔNG .................................................................................................... 21 Tổng quan ....................................................................................... 21 Loại bỏ đặc trưng không xuất hiện ................................................. 22 Rút gọn đặc trưng bằng phương pháp phân cụm............................ 25 Rút gọn đặc trưng sử dụng lý thuyết tập thô mờ ............................ 25 . MÔ HÌNH ĐƯỢC ĐỀ XUẤT ................................................. 33 4.1 Kết hợp nhiều bộ phân lớp một lớp với đặc trưng được rút gọn bằng tập thô mờ ................................................................................................. 33 4.1.1. Huấn luyện........................................................................... 34 4.1.2. Tính toán ngưỡng phân lớp ................................................. 35 4.1.3. Kiểm thử mô hình ................................................................ 36 4.2 Thực nghiệm ................................................................................... 38 4.2.1 Cài đặt thực nghiệm............................................................. 38 4.2.2 Các tập dữ liệu được sử dụng .............................................. 41 4.2.3 Các bước tiến hành cụ thể ................................................... 42 4.2.4 Kết quả và so sánh ............................................................... 46 2 KẾT LUẬN .................................................................................................... 49 TÀI LIỆU THAM KHẢO ................................................................................... 50 3 DANH MỤC HÌNH VẼ Hình 2.1. Payload của một tấn công tràn bộ đệm ............................................... 12 Hình 2.2. 3-gram sinh ra từ một chuỗi ................................................................ 13 Hình 2.3.Các đặc trưng 21-gram.......................................................................... 16 Hình 2.4.Sơ đồ tổng quan về McPAD ................................................................ 18 Hình 3.1. Các bước của quá trình lựa chọn đặc trưng ........................................ 22 Hình 3.2.Lựa chọn đặc trưng theo Hướng tiếp cận lọc và đóng gói ................... 22 Hình 3.3: So sánh kết quả phát hiện của OcPAD so với ANAGRAM [5] ......... 24 Hình 4.1. Sơ đồ tiến trình thực hiện giai đoạn huấn luyện được đề xuất ........... 35 Hình 4.2. Sơ đồ giai đoạn tính threshold............................................................. 36 Hình 4.3. Tiến trình thực hiện giai đoạn test....................................................... 37 Hình 4.4.Chương trình giai đoạn giai đoạn huấn luyện ...................................... 39 Hình 4.5. Chương trình giai đoạn kiểm thử ........................................................ 39 Hình 4.6.Cấu trúc dữ liệu file ARFF cho Tool Weka ......................................... 40 Hình 4.7.Chạy rút gọn đặc trưng với công cụ Weka .......................................... 40 Hình 4.8: Kết quả chạy chương trình khi kiểm thử file allGeneric .................... 47 Hình 4.9. Kết quả chạy chương trình khi kiểm thử file test_normal .................. 47 4 DANH SÁCH BẢNG BIỂU Bảng 1.1: Thống kê top 10 quốc gia có số lượng cuộc tấn công ứng dụng web trong quý IV năm 2017 [18] .................................................................................. 7 Bảng 3.1. Kết quả phân lớp 4 thuật toán [6] ....................................................... 23 Bảng 3.2: Kết quả thống kê số lượng n-gram khác nhau trên tổng số n-gram tương ứng với giá trị N [5]. ................................................................................. 24 Bảng 3.3: Kích thước tập rút gọn của rút gọn thuộc tính thô mờ không giám sát [3] ........................................................................................................................ 31 Bảng 3.4:độ chính xác phân lớp với thuật toán Jrip (%) [3] ............................... 31 Bảng 3.5: Độ chính xác phân lớp với thuật toán J48(%) [3] .............................. 32 Bảng 4.1: Thông tin về chương trình thực nghiệm ............................................. 38 Bảng 4.2: Kết quả số đặc trưng còn lại sau loại bỏ đặc trưng không xuất hiện.. 43 Bảng 4.3: Kết quả rút gọn đặc trưng sử dụng tập thô mờ không giám sát ......... 43 Bảng 4.4.Thời gian chạy để rút gọn đặc trưng với tập thô mờ không giám sát.. 44 Bảng 4.5: Ma trận nhầm lẫn ................................................................................ 46 Bảng 4.6: So sánh độ chính xác của McPAD và McPAD-UFRS....................... 48 Bảng 4.7. So sánh thời gian chạy của McPAD và McPAD-UFRS .................... 48 5 DANH SÁCH CÁC TỪ VIẾT TẮT Thuật ngữ và viết tắt Mô tả Anomaly Bất thường Misuse Lạm dụng McPAD - Multiple Classifier Hệ thống phân lớp đa lớp cho phát hiện System for Accurate Payload- bất thường dựa trên payload based Anomaly Detection hacker Kẻ tấn công FPR – false positive rate Tỷ lệ dương tính giả Payload Phần nội dung chính của một gói tin PAYL- payload-based anomaly Hệ thống phát hiện bất thường dựa trên detector payload OcPAD - One class Naive Bayes Bộ phân lớp một lớp Bayes cho Phát classifier for payload-based hiện bất thường dựa trên payload anomaly detection RST – Rough set theory Lý thuyết tập thô FS – Feature selection Lựa chọn đặc trưng FRST- Fuzzy rough set theory Lý thuyết tập thô mờ FRST FS – Fuzzy rough set Lựa chọn đặc trưng sử dụng lý thuyết theory feature selection tập thô mờ SVM support vector machine 6 MỞ ĐẦU Phát hiện tấn công là một việc làm có ý nghĩa lớn trong việc bảo vệ các ứng dụng Web khỏi những cuộc tấn công có chủ đích. Phát hiện tấn công dựa vào bất thường có khả năng phát hiện những tấn công chưa từng được phát hiện trước đây (zero-day) mà các hệ thống phát hiện thâm nhập dựa vào chữ ký (signature-based), còn gọi là misuse (phát hiện lạm dụng) không thể phát hiện được. Trong phương pháp phát hiện tấn công web dựa vào bất thường, n-gram là đặc trưng quan trọng được sử dụng để mô hình hóa các HTTP request thông thường, từ đó phát hiện các request bất thường hay các request tấn công. Với số lượng đặc trưng n-gram lớn, trích chọn đặc trưng (feature selection) hay giảm kích thước/số chiều của vector đặc trưng (dimension reduction) là một bước quan trọng trong giai đoạn tiền xử lý dữ liệu. Nó giúp loại bỏ các đặc trưng dư thừa, giữ lại các đặc trưng giàu thông tin (information-rich), giúp tăng hiệu quả của quá trình phát hiện tấn công, đồng thời giảm thời gian tính toán cần thiết. Với nhiệm vụ bảo vệ thời gian thực, số lượng truy cập (HTTP request) cần phải xử lý lớn, việc rút gọn đặc trưng càng có vai trò quan trọng. Do đó, việc nghiên cứu phương pháp giảm kích thước đặc trưng cho bài toán phát hiện tấn công Web dựa vào bất thường là cần thiết. Luận văn đã nghiên cứu một phương pháp giảm kích thước đặc trưng trong phát hiện tấn công Web dựa vào bất thường. Phương pháp này áp dụng vào mô hình phát hiện tấn công dựa vào bất thường sử dụng nhiều bộ phân lớp một lớp cho kết quả thực nghiệm tốt hơn so với mô hình được nghiên cứu trước đó cả về độ chính xác và thời gian thực thi. Lý thuyết tập thô mờ cho thấy sự hiệu quả khi xử lý dạng dữ liệu liên tục như số thực. Các phương pháp rút gọn đặc trưng sử dụng tập thô mờ dựa trên sự phụ thuộc của tập đặc trưng của tập dữ liệu vào một tập đặc trưng nào đó. Nếu một đặc trưng sau khi loại bỏ khỏi tập đặc trưng mà độ phụ thuộc của dữ liệu không đổi thì đó là một đặc trưng dư thừa có thể loại bỏ. Mô hình của luận văn đề xuất sử dụng lý thuyết tập thô mờ để giảm kích vector đặc trưng được trích chọn bằng kỹ thuật nv-gram. Nó cho thấy hiệu quả rất tốt trong việc giảm kích thước không gian đặc trưng mà vẫn cho kết quả phân lớp chính xác cao. 7 CHƯƠNG 1 . GIỚI THIỆU Các ứng dụng trên nền web ngày càng đa dạng và phổ biến, hầu hết mọi ứng dụng đều triển khai trên nền web, vì vậy các ứng dụng web trở thành mục tiêu tấn công hàng đầu của các hacker. Các tấn công không được phát hiện và ngăn chặn kịp thời có thể gây sự tổn thất lớn cho các tổ chức, doanh nghiệp. Theo báo cáo tình trạng an ninh mạng Quý IV năm 2017 của Công ty Akamai Technologies [18] đã có hơn 300 triệu cuộc tấn công ứng dụng web xảy ra. Mỹ là quốc gia xảy ra nhiều cuộc tấn công ứng dụng web nhất với hơn 200 triệu cuộc tấn công. Bảng 1.1: Thống kê top 10 quốc gia có số lượng cuộc tấn công ứng dụng web trong quý IV năm 2017 [18] Quốc gia Số lượng cuộc tấn công United States 238,643,360 Brazil 21,900,411 United Kingdom 19,385,710 Canada 17,459,934 Germany 13,432,389 China 11,906,342 India 11,546,530 Japan 10,510,981 Australia 9,758,428 Hong Kong 5,733,649 An ninh ứng dụng Web luôn là một chủ đề nhận được nhiều sự quan tâm của cộng đồng nghiên cứu. Hai cách tiếp cận chính thường được dùng trong phát hiện tấn công web đó là phát hiện tấn công lạm dụng (Misuse detection) và phát hiện tấn công dựa vào bất thường (Anomaly detection). Phát hiện tấn công misuse dựa trên mô tả của một tập các tấn công được biết từ trước. Mô tả của các request tấn công biết trước thường được mô hình thành các chữ ký hay dấu hiệu tấn công (attack signatures). Các request có sự tương đồng lớn với attack signature được phân loại là các hành vi có mục đích độc hại (malicious activities). Ngược lại, phát hiện tấn công dựa trên bất thường dựa vào mô tả của các request bình thường hay vô hại. Các request được cho là độc hại khi nó có một khoảng cách đánh giá so với các request bình thường lớn hơn một ngưỡng 8 định trước, cho phép ta xác định đó là một tấn công hay một hành vi độc hại. Trong thực tế, các hệ thống phát hiện tấn công web thường ở dạng signaturebased. Chúng có thể phát hiện các tấn công đã biết một cách hiệu quả với tỉ lệ dương tính giả thấp. Tuy nhiên, các hệ thống phát hiện tấn công dựa vào bất thường lại có khả năng phát hiện các tấn công chưa từng được phát hiện trước đây (zero-day) trong khi các hệ thống signature-based không thể. Sự phát triển của lĩnh vực khai phá dữ liệu tạo nên một tiền đề rất tốt để phát triển các hệ thống phát hiện tấn công dựa vào bất thường. Khi các mô hình khai phá dữ liệu được huấn luyện với lượng dữ liệu càng lớn thì, mô hình được tạo ra càng chính xác. Tuy vậy, khối lượng dữ liệu lớn thì quá trình xử lý dữ liệu càng khó khăn. Không gian đặc trưng rất lớn trở thành một vấn đề trong quá trình học máy hay khai phá tri thức từ dữ liệu. Do đó, các phương pháp nhằm trích chọn được các thông tin quan trọng, loại bỏ các thông tin dư thừa từ dữ liệu là một vấn đề được các cộng đồng nghiên cứu quan tâm. Trích chọn đặc trưng hay giảm kích cỡ đặc trưng là một quá trình nhằm lựa chọn được những đặc trưng giàu thông tin (information-rich), loại bỏ các đặc trưng dư thừa (redundant). Các đặc trưng còn lại sau quá trình trích chọn vẫn bảo toàn tối đa được ý nghĩa của không gian đặc trưng. Việc giảm kích cỡ đặc trưng giúp cho tri thức thu được từ dữ liệu chính xác hơn, cũng như giảm được đáng kể thời gian tính toán cần thiết khi loại bỏ được các đặc trưng dư thừa trong dữ liệu. HTTP request được chứa trong gói TCP và gọi là tải (payload) của gói TCP. Có nhiều nghiên cứu gần đây tập trung vào vấn đề phát hiện tấn công dựa vào bất thường chứa trong payload sử dụng đặc trưng n-gram (n byte liên tiếp nhau) như [5], [6], [7], [8], [9], [10], [15]. Quá trình trích xuất n-gram từ payload cũng tương tự như quá trình khai phá dữ liệu văn bản (text-mining). Khi giá trị n-gram càng lớn thì ta càng có thể thu được nhiều thông tin từ dữ liệu, tuy nhiên khi đó không gian đặc trưng của dữ liệu sẽ ngày càng lớn, tăng theo cấp số nhân, gây khó khăn cho quá trình tính toán, xử lý dữ liệu. Việc tính toán xử lý dữ liệu sẽ trở nên phức tạp hơn và mất nhiều thời gian hơn. Trong những đặc trưng n-gram trích xuất từ dữ liệu, không phải tất cả đặc trưng đều quan trọng, chứa nhiều thông tin giúp cho quá trình mô hình hóa, phân lớp, phân loại chính xác hơn. Những đặc trưng này được gọi là các đặc trưng dư thừa, không liên quan. Chúng khiến cho thông tin trích xuất từ dữ liệu giảm ý nghĩa, cũng như lãng phí thời gian tính toán không cần thiết. Bởi vậy, quá trình rút gọn đặc trưng nhằm loại bỏ các n-gram dư thừa, giữ lại những n-gram có giá 9 trị thông tin là một bước rất cần thiết trong quá trình khai phá dữ liệu sử dụng đặc trưng n-gram. Bài toán giảm kích thước đặc trưng luôn là một bài toán quan trọng của quá trình khai phá tri thức. Đặc biệt là trong bối cảnh khối lượng thông tin thu được, cần phải xử lý ngày càng lớn. Các kỹ thuật giảm kích cỡ đặc trưng được phân thành hai loại: lựa chọn đặc trưng (feature selection) và biến đổi đặc trưng (feature transformation). Lựa chọn đặc trưng là chọn một tập con tốt nhất từ tập dữ liệu ban đầu. Biến đổi đặc trưng thực hiện việc biến đổi các đặc trưng ban đầu thành một tập các đặc trưng vẫn bảo toàn được thông tin nhiều nhất với số lượng ít hơn. Các công trình nghiên cứu về rút gọn thuộc tính thường tập trung vào nghiên cứu các kỹ thuật lựa chọn đặc trưng. Lựa chọn đặc trưng là quá trình lựa chọn một tập con P từ tập đặc trưng A (P  A) sao cho không gian đặc trưng được thu gọn lại một cách tối ưu theo một tiêu chuẩn cụ thể nào đó. Một thuật toán lựa chọn đặc trưng thường gồm bốn bước cơ bản: - Bước 1. Tạo lập tập con Bước 2. Đánh giá tập con Bước 3. Kiểm tra điều kiện dừng Bước 4. Kiểm chứng kết quả Bài toán lựa chọn đặc trưng có hai cách tiếp cận chính: Lọc (filter) và đóng gói (wrapper). Cách tiếp cận kiểu lọc thực hiện việc lựa chọn các đặc trưng độc lập với các thuật toán khai phá dữ liệu sau này. Các đặc trưng được lựa chọn chỉ dựa trên độ quan trọng của chúng trong mô tả tập dữ liệu huấn luyện. Ngược lại, cách tiếp cận kiểu đóng gói lựa chọn đặc trưng bằng cách áp dụng ngay kỹ thuật khai phá cụ thể với tập rút gọn thu được, độ chính xác của kết quả được lấy làm tiêu chuẩn để lựa chọn các tập đặc trưng con. Trong thời gian gần đây, phương pháp giảm kích cỡ đặc trưng dựa vào lý thuyết tập thô, đặc biệt lý thuyết tập thô mờ cho thấy sự hiệu quả và nhận được sự quan tâm của cộng đồng nghiên cứu. Reddy và các cộng sự [16] đã áp dụng lý thuyết tập thô trong việc giảm kích cỡ đặc trưng của tập dữ liệu HTTP CSIC 2010 [17] (một cơ sở dữ liệu dùng cho việc đánh giá các mô hình phát hiện tấn công web). Khi áp dụng lựa chọn đặc trưng với lý thuyết tập thô, từ tập dữ liệu gồm 17 đặc trưng điều kiện được giảm xuống còn 8 đặc trưng. Theo [16], kết quả phân lớp sau khi rút gọn đặc trưng cho kết quả chính xác hơn và thời gian thực hiện phân lớp chỉ còn 68% so với trước đó. Lý thuyết tập thô cho thấy sự mạnh mẽ trong việc rút gọn đặc trưng nhưng nó lại phụ thuộc vào tính định danh Commented [t1]: In nghiêng tất cả cácký hiệu toán học Commented [t2]: Không phải tập gồm A đặc trưng mà A là tập đặc trưng 10 của dữ liệu. Để có thể xử lý được dữ liệu số thực, cần phải có một bước rời rạc hóa dữ liệu đối với lý thuyết tập thô, nhưng quá trình rời rạc hóa có thể gây mất mát thông tin. Lý thuyết tập thô mờ (fuzzy-rough set theory) có khả năng xử lý dữ liệu số thực, giúp làm giảm lượng thông tin có thể mất mát. Phương pháp lựa chọn đặc trưng sử dụng lý thuyết tập thô mờ là một phương pháp rất hiệu quả để lựa chọn được các đặc trưng giàu thông tin trong khi vẫn duy trì được tối đa ý nghĩa nguyên bản của dữ liệu ban đầu. Trong thực tế, để có thể có được một tập dữ liệu có gán nhãn thể hiện cả request bình thường và bất thường là rất khó và rất tốn kém. Do đó, các mô hình học không giám sát (unsupervised) hay không nhãn (unlabeled) trong phát hiện tấn công dựa vào bất thường được sử dụng nhiều hơn. Các phương pháp tiếp cận này thực hiện trên các dataset trích xuất từ thực tế mà không cần quá trình gán nhãn. Phát hiện tấn công dựa vào bất thường không giám sát dựa trên lý do là tỷ lệ của các hành vi độc hại hay bất thường trong thực tế thường rất ít so với tỷ lệ các hành vi bình thường. Hơn thế nữa, ta có thể sử dụng các hệ thống phát hiện tấn công misuse trước để lọc được các hành vi độc hại đã biết trước nhằm giảm tỷ lệ các dữ liệu của hành vi tấn công trong tập dữ liệu. Quá trình thực hiện phát hiện tấn công dựa trên bất thường không giám sát trong học máy (machine learning) được gọi là phân lớp một lớp (one-class classification) hay phát hiện ngoại lai (outlier dectection). Roberto Perdisci và các cộng sự [7] đã đề xuất một phương pháp sử dụng 2v-gram (các giá trị byte cách nhau v vị trí) khác so với phương pháp sử dụng ngram thông thường. Kỹ thuật này giúp cho trích xuất được nhiều thông tin từ dữ liệu hơn trong khi kích cỡ không gian đặc trưng không đổi là 2562 đặc trưng. Các tác giả [7] chỉ ra rằng thông tin trích xuất từ 11 bộ 2v-gram tương đương với thông tin thu được khi trích xuất n-gram với n = 12. Vì vậy, khi sử dụng nhiều bộ 2v-gram đã giúp thể hiện được cấu trúc dữ liệu của tập dữ liệu huấn luyện. Mô hình phát hiện tấn công dựa vào bất thường của [7] McPAD sử dụng nhiều bộ phân lớp một lớp SVM cho kết quả chính xác vượt trội so với những phương pháp trước đó. Tuy nhiên, [7] đã sử dụng phương pháp giảm kích thước đặc trưng bằng kỹ thuật phân cụm (clustering) để áp dụng trong mô hình phân lớp sử dụng nhiều bộ phân lớp một lớp của mình. Kỹ thuật giảm kích cỡ đặc trưng bằng phân cụm cho thấy hiệu quả trong việc giảm được đáng kể không gian đặc trưng từ 2562 về còn k cụm và vẫn cho kết quả phân loại chính xác cao với tỷ lệ dương tính giả thấp. Song, phương pháp giảm kích cỡ đặc trưng sử dụng phân cụm là một giải thuật heuristic, bất kể không gian đặc trưng thế nào cũng đều 11 được rút gọn về còn k cụm. Vì vậy, việc áp dụng một lý thuyết khác có nền tảng toán học tốt hơn được kỳ vọng sẽ giúp cho nâng cao được hiệu quả của quá trình phát hiện tấn công dựa vào bất hường hơn so với [7]. Trên cơ sở mô hình mà [7] sử dụng, luận văn đã đề xuất một mô hình sử dụng nhiều bộ phân lớp một lớp SVM. Trong đó, luận văn đã thực hiện hai điểm khác biệt. Thứ nhất, luận văn thực hiện một bước lọc thô trước khi sử dụng rút gọn đặc trưng, đó là loại bỏ các đặc trưng không xuất hiện trong không gian đặc trưng của tập dữ liệu thu thập được. Việc loại bỏ các đặc trưng không xuất hiện trong tập dữ liệu giúp giảm đáng kể khối lượng tính toán cần thiết mà không ảnh hưởng tới độ chính xác của bộ phân lớp. Các tác giả của [5], [6] đều thực hiện tính toán và phân lớp trên cơ sở các đặc trưng có xuất hiện trong tập dữ liệu và đều cho kết quả phân loại chính xác cao. Thứ hai và là điểm khác biệt chính, luận văn đã thực hiện áp dụng lý thuyết tập thô mờ không giám sát cho quá trình rút gọn đặc trưng thay cho thuật toán phân cụm mà McPAD sử dụng. Qua quá trình thực nghiệm, mô hình sử dụng lý thuyết tập thô mờ không giám sát của luận văn cho kết quả tốt hơn so với McPAD, tỷ lệ phát hiện đúng cao hơn trong khi tỷ lệ dương tính giả thấp hơn. Bên cạnh đó, thời gian thực thi trong giai đoạn phát hiện, thuật toán của luận văn chỉ mất khoảng 40% thời gian so với McPAD nguyên bản. Ở giai đoạn huấn luyện, thuật toán của luận văn yêu cầu nhiều thời gian hơn McPAD. Tuy nhiên, giai đoạn huấn luyện được thực hiện offline từ trước nên việc nhanh hơn hay chậm hơn một chút không quá quan trọng. Phần còn lại của luận văn được cấu trúc như sau: Chương 2 của luận văn trình bày về phát hiện tấn công web dựa vào đặc trưng n-gram và bộ phân lớp một lớp. Chương 3 trình bày về vấn đề rút gọn đặc trưng trong phát hiện tấn công web dựa vào bất thường. Chương 4 trình bày mô hình đề xuất của luận văn, các bước tiến hành thực nghiệm mô hình và kết quả đạt được. Phần cuối cùng trình bày kết luận và hướng phát triển tiếp theo. Commented [t3]: cả dữ liệu huấn luyện (normal) và dữ liệu test (có tấn công) Commented [t4]: cả hai đều thâos 12 CHƯƠNG 2 . PHÁT HIỆN TẤN CÔNG WEB SỬ DỤNG ĐẶC TRƯNG NGRAM VÀ BỘ PHÂN LỚP MỘT LỚP 2.1 Đặc trưng n-gram và phiên bản 2v-gram Phát hiện tấn công web dựa vào bất thường trên payload là một phương pháp quan trọng, có khả năng phát hiện được những tấn công chưa từng được phát hiện trước đây. Đây là một vấn đề nhận được nhiều sự quan tâm của cộng đồng nghiên cứu trong thời gian gần đây. Kỹ thuật n-gram (chuỗi n byte liên tiếp) cho thấy là một kỹ thuật hiệu quả trong việc phát hiện bất thường trên payload. Hình 2.1 minh họa một payload của một tấn công tràn bộ đệm (buffer overflow), payload này nhằm làm tràn bộ đệm của đối tượng bị tấn công và thực hiện hành vi độc hại của mình. Ta có thể dễ dàng nhận thấy trong payload trên có chứa rất nhiều ký tự “A” một cách bất thường. Trường hợp này sẽ dễ dàng được phát hiện bởi phương pháp phát hiện sử dụng n-gram. Hình 2.1. Payload của một tấn công tràn bộ đệm Khái niệm n-gram n-gram là một chuỗi con có độ dài ‘n’ được sinh ra từ một chuỗi bất kỳ. Trong trường hợp chuỗi này là payload của một gói tin thì những chuỗi con có độ dài ‘n’ được sinh ra chính là các đặc trưng của payload đó. Ví dụ: cho một payload của một gói tin có chuỗi các phần tử là ‘1, 3, 5, 1, 3, 6, 8’ Các n-gram của payload sẽ gồm các chuỗi như sau: 13 • 1-gram: 1, 3, 5, 1, 3, 6, 8 • 2-gram: 1 3, 3 5, 5 1, 1 3, 3 6, 6 8 • 3-gram: 1 3 5, 3 5 1, 5 1 3, 1 3 6, 3 6 8 Payload 3-gram 1 3 5 1 3 6 8 135 1 3 5 1 3 6 8 351 1 3 5 1 3 6 8 513 1 3 5 1 3 6 8 136 1 3 5 1 3 6 8 368 Hình 2.2. 3-gram sinh ra từ một chuỗi Hình số 2.2 thể hiện kết quả khi sinh ra 3-gram cho một chuỗi. Ở đây một cửa sổ trượt được sử dụng để sinh ra các 3-gram. Một cách tổng quát từ một payload của một gói tin có độ dài là 𝑙 với 𝑙 > 𝑁, sẽ có thể sinh ra (𝑙 − 𝑁 + 1) n-gram từ payload đó. Một số nghiên cứu gần đây về phát hiện tấn công dựa vào bất thường sử dụng kỹ thuật n-gram được mô tả trong phần sau đây: PAYL [8] đề xuất việc trích xuất 256 đặc trưng từ payload tương ứng với đặc trưng 1-gram. Mỗi đặc trưng thể hiện tần xuất xuất hiện trong payload của một trong 256 giá trị ASCII (0-255) có khả năng xuất hiện trong payload của một gói tin bình thường. Trung bình của tất cả các vector đặc trưng được gọi là độ trung tâm (centroid) và nó sẽ thể hiện đặc điểm của một dữ liệu bình thường. Để xác định một gói tin là độc hại hay không, một phiên bản độ đo khoảng cách Mahalanobis đơn giản hóa được sử đụng để tìm ra khoảng cách giữa vector đặc trưng của gói tin cần kiểm tra so với trung tâm của mô hình dữ liệu bình thường. Bất kỳ gói tin nào có khoảng cách so với trung tâm của mô hình là lớn hơn một ngưỡng nhất định sẽ được gán nhãn là độc hại. Dù dựa trên một phương pháp thống kê đơn giản trên payload nhưng PAYL cho thấy nó tương đối hiệu quả. Tuy nhiên, PAYL vẫn cho một tỷ lệ dương tính giả tương đối cao. Wang và các công sự [8] đã đề xuất một phiên bản PAYL sử dụng n-gram khái quát hơn. Một 14 cửa sổ trượt có độ dài n được dùng để trích xuất tần suất xuất hiện trong payload của tất cả các giá trị n-gram có thể có. Khi đó, payload được thể hiện bởi một vector mẫu (pattern vector) có 256n đặc trưng. n-gram trích xuất thông tin của một chuỗi byte giúp cho việc xây dựng mô hình của hành vi bình thường chính xác hơn so với mô hình tính tần xuất byte đơn giản trước đó. Việc trích xuất số liệu thống kê n-gram từ payload có thể được thực hiện một cách hiệu quả. Tuy nhiên, không gian đặc trưng của payload sẽ bị tăng theo cấp số nhân khi giá trị n càng lớn. Giá trị n càng lớn càng khó để có thể xây dựng một mô hình chính xác do sự tác động của số chiều và sự phức tạp trong tính toán. Wang và các cộng sự cũng đã đề xuất mô hình ANAGRAM [10], một hệ thống phát hiện tấn công dựa vào bất thường dựa trên phân tích n-gram. ANAGRAM sử dụng một cách tiếp cận khác cho việc mô hình hóa lưu lượng bình thường so với PAYL. ANAGRAM lưu giữ các n-gram khác nhau trích xuất từ payload của gói tin bình thường trong một bộ lọc Bloom (Bloom filter) b1 và n-gram trích xuất từ các hành vi độc hại đã biết trước trong một bộ lọc Bloom b2. Trong giai đoạn kiểm tra, mỗi payload của một HTTP request sẽ trích xuất tất cả n-gram khác nhau (distinct) và so sánh với bộ lọc b1 và b2. Một payload có chứa quá nhiều n-gram không nằm trong bộ lọc b1 hoặc nằm trong bộ lọc b2 thì được phân loại là bất thường. Roberto Perdisci và các cộng sự đã đề xuất McPAD [7] một mô hình phát hiện dựa vào bất thường sử dụng nhiều bộ phân lớp một lớp Support Vector Machine (SVM) để phát hiện các gói tin bất thường bằng phương pháp sử dụng bỏ phiếu theo số đông (majority voting). Với ý tưởng từ ANAGRAM, sử dụng các chuỗi ngắn có độ dài ngẫu nhiên để phân tích, McPAD sử dụng một biến thể của 2-gram, gọi là 2v-gram trong quá trình huấn luyện. 2v-gram là cặp byte mà byte đầu và byte cuối cách nhau một độ dài là “v” (cách nhau v ký tự trong chuỗi gốc). Bằng cách thay đổi tham số “v”, mỗi một payload sẽ được thể hiện trên nhiều không gian đặc trưng khác nhau. Với mỗi một giá trị “v”, không gian đặc trưng tương ứng được sử dụng để huấn luyện cho một bộ phân lớp một lớp SVM khác nhau. OcPAD [5] xây dựng một hệ thống phát hiện bất thường sử dụng bộ phân lớp một lớp Multinomial Naive Bayes để phát hiện các tấn công HTTP. OcPAD sử dụng khả năng xuất hiện của các chuỗi ngắn (n-gram) trong payload của các gói tin không độc hại được biết trước như là một độ đo để xác định độ độc hại của một gói tin. Trong giai đoạn huấn luyện, OcPAD tạo ra các khoảng xác suất khả năng xuất hiện của mỗi chuỗi trên mỗi gói tin. OcPAD sử dụng một cấu trúc Commented [t5]: Lưu ý: 2v-gram, v> 0, không phải là chuỗi con (substring). 15 dữ liệu được gọi là cây xác suất (probability Tree) để lưu khoảng xác suất khả năng xuất hiện của mỗi chuỗi. Trong giai đoạn kiểm thử, OcPAD xác định một chuỗi là độc hại nếu như nó không nằm trong cơ sở dữ liệu hay khả năng xuất hiện của nó trong gói tin đó không nằm trong khoảng được tìm thấy trong giai đoạn huấn luyện. Dựa trên khả năng độc hại của mỗi chuỗi, OcPAD sẽ xác định nhãn cho gói tin đó. OcPAD đã thực hiện thí nghiệm trên một cơ sở dữ liệu tương đối lớn và có một tỷ lệ phát hiện rất cao (tới 100%) so với các phương pháp trước đấy và một tỷ lệ dương tính giả chấp nhận được (ít hơn 0.6%). Phiên bản 2v-gram Mô hình phát hiện được sử dụng bởi PAYL [8] dựa trên sự phân bố tần suất của n-gram trong payload. Tần xuất xuất hiện của n-gram được đo bằng cách sử dụng một cửa sổ trượt có độ dài là n. Cửa sổ này trượt trên toàn bộ payload với bước nhảy bằng 1 byte và đếm số tần suất xuất hiện trong payload của 256n n-gram có khả năng xảy ra. Vì vậy, trong trường hợp này, payload được thể hiện bởi 1 vector mẫu trong không gian đặc trưng 256n chiều. Ta có thể dễ dàng nhận thấy rằng, n càng lớn thì số lượng cấu trúc thông tin trích xuất từ payload càng nhiều. Khi n = 2, chúng ta đã thu được 65.536 đặc trưng. Giá trị n càng lớn thì không gian đặc trưng được tăng theo cấp số nhân, điều này khiến cho việc xử lý dữ liệu với n lớn trở nên khó khăn hơn do số chiều không gian đặc trưng rất lớn. Để giải quyết vấn đề trên, McPAD đề xuất một phương pháp lấy mẫu mới. Đó là tính tần suất xuất hiện của các cặp byte mà cách nhau “v” byte trong payload. Cách tính này giúp cho chúng ta có thể trích xuất thông tin liên quan tới n-gram một cách hiệu quả với các n > 2. McPAD gọi mỗi cặp byte như vậy là một 2v-gram. Bất kể giá trị nào của v, phương pháp trích xuất 2v-gram đều chỉ trích xuất 2562 đặc trưng. Các tác giả [7] cũng đã chỉ ra rằng với v ≤ 10, thì chỉ số RMI (relative mutual information) của các giá trị byte trong payload cách nhau “v” vị trí luôn cao hơn 0.5. Kỹ thuật 2v-gram với giá trị v ≤ 10 đã thực sự trích xuất được thông tin có cấu trúc từ payload, điều này có ý nghĩa trong việc xây dựng các bộ phân lớp có độ chính xác cao. Quá trình thử nghiệm của McPAD cũng cho thấy rằng khi kết hợp các 2v-gram với v từ 0-10 thì cho sự phân bố xác suất xấp xỉ với sự phân bố của 12-gram. Các kẻ tấn công rất khó để có thể bắt chước thông tin được tạo ra từ cách trích xuất này. Cụ thể, McPAD thực hiện quá trình trích xuất các 2v-gram đặc trưng như sau: Commented [t6]: In nghiêng tất cả các ký hiệu toán học 16 Tần xuất xuất hiện của 2v-gram được tính bằng cách sử dụng một cửa sổ trượt (v+2) với khoảng cách giữa byte đầu và byte cuối bằng (v + 2) byte. Payload 21-gram 1 3 5 1 3 6 8 15 1 3 5 1 3 6 8 31 1 3 5 1 3 6 8 53 1 3 5 1 3 6 8 16 1 3 5 1 3 6 8 38 Hình 2.3.Các đặc trưng 21-gram Hình 2.3 là các đặc trưng 21-gram được trích xuất từ một gói tin có payload là một chuỗi 7 phần tử “1,3,5,1,3,6,8”. Khi đó, ta thu được 5 giá trị đặc trưng 21-gram là: 1 5, 3 1, 5 3, 1 6, 3 8. Phương pháp xác định đặc trưng 2v-gram cụ thể như sau: Một payload 𝐵 = [𝑏1 , 𝑏2 , … , 𝑏𝑙 ], với 𝑏𝑖 là giá trị byte tại vị trí i. Payload B có l giá trị byte Tần suất xuất hiện trong payload B của một n-gram 𝛽 = [𝛽1 , 𝛽2 , … , 𝛽𝑛 ], với n < l được tính như sau: 𝑓(𝛽/𝐵) = 𝑆ố 𝑙ầ𝑛 𝑥𝑢ấ𝑡 ℎ𝑖ệ𝑛 𝑐ủ𝑎 𝛽 𝑡𝑟𝑜𝑛𝑔 𝐵 (1) 𝑙−𝑛+1 Trong đó: Số lần xuất hiện của 𝛽 trong B được tính bằng cách sử dụng kỹ thuật cửa sổ trượt, - (𝑙 − 𝑛 + 1) là tổng số lần cửa sổ có thể trượt trên B. - 𝑓(𝛽/𝐵) có thể được hiểu là ước tính xác suất 𝑝(𝛽/𝐵) của việc tìm ra ngram 𝛽 (một chuỗi liên tiếp các bytes [𝛽1 , 𝛽2 , … , 𝛽𝑛 ] trong B. - Theo đó, xác suất để tìm thấy một 2v-gram {𝛽1 , 𝛽𝑣+2 } có thể được viết như sau 17 𝑝({𝛽1 , 𝛽𝑣+2 }/𝐵) = ∑ 𝑝([ 𝛽1 , 𝛽2 , … , 𝛽𝑣+1 , 𝛽𝑣+2 ] | 𝐵) (2) 𝛽2 ,…,𝛽𝑣+1 Hay bằng tổng của tất cả các sự kết hợp có thể của 𝛽2 , … , 𝛽𝑣+1 . Khi v = 0 thì 2v-gram chính là 2-gram thông thường. Khi v > 0, tần xuất xuất hiện trong payload của 2v-gram {𝛽1 , 𝛽𝑣+2 } có thể được xem như là xác suất cận biên (marginal probability) được tính trên sự phân bố của (v+2)-gram bắt đầu bằng 𝛽1 và kết thúc với 𝛽𝑣+2 . Từ tần xuất xuất hiện của n-gram, ta có thể tính được sự phân bố của (n-1) -gram, (n-2)-gram, .v.v. Nhưng trái lại, khi thực hiện tính toán tần xuất xuất hiện của 2v-gram không cho phép chúng ta tự động xác định được tần xuất của 2(v-1)gram, 2(v-2)-gram, .v.v.. Sự phân bố của các 2v-gram với các giá trị v khác nhau cho ta những cấu trúc thông tin khác nhau của payload. Việc kết hợp các cấu trúc thông tin trích xuất từ các giá trị v khác nhau, với v = 0, ..., N, có thể phần nào thể hiện được cấu trúc thông tin được thể hiện bởi sự phân bố của n-gram với n = (N+2). Kết luận: Phương pháp trích xuất đặc trưng sử dụng n-gram và 2v-gram đã cho thấy sự hiệu quả trong việc trích xuất thông tin từ cơ sở dữ liệu huấn luyện. Việc tìm được một không gian đặc trưng nhỏ nhất mà thể hiện tốt nhất cấu trúc thông tin của cơ sở dữ liệu có ý nghĩa quan trọng trong việc xây dựng một bộ phân lớp có hiệu năng tốt, độ chính xác cao, thời gian tính toán nhanh chóng. 2.2 Sử dụng kết hợp nhiều bộ phân lớp một lớp 2.2.1 Bộ phân lớp một lớp Kỹ thuật phân lớp một lớp đặc biệt hữu ích trong trường hợp học máy hai lớp. Trong đó, một lớp được gọi là lớp đích (target class) có số lượng mẫu nhiều. Trong khi một lớp khác được gọi là lớp ngoại lai (outlier class), có số lượng mẫu rất ít, không đầy đủ. Số lượng mẫu của lớp ngoại lai rất ít do rất khó hoặc tốn kém để có thể có được một số lượng mẫu đáng kể để huấn luyện lớp này. Mục đích của phân lớp một lớp là tạo ra được một mặt phẳng quyết định xung quanh các mẫu từ lớp đích để phân biệt giữa các đối tượng đích và tất cả những đối tượng còn lại, tức là lớp ngoại lai. Khi sử dụng một tập huấn luyện chưa được gán nhãn có chứa hầu hết là các đối tượng thuộc lớp đích, một tỷ lệ từ chối (rejection rate) thường được chọn trong quá trình huấn luyện thể hiện cho phép có một phần mẫu huấn luyện nằm
- Xem thêm -

Tài liệu liên quan