DANH SÁCH CÁC TỪ VIẾT TẮT Thuật ngữ và viết tắt Mô tả McPAD - Multiple Classifier System for Accurate Payload-based Anomaly Detection Hệ thống phân lớp đa lớp cho phát hiện bất thường d
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
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
Trang 2LỜ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
Trang 3LỜ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
Trang 4MỤ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 N-GRAM VÀ BỘ PHÂN LỚP MỘT LỚP 12
2.1 Đặc trưng n-gram và phiên bản 2 v-gram 12
2.2 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 RÚT GỌN ĐẶC TRƯNG TRONG PHÁT HIỆN TẤN CÔNG WEB 21
3.1 Tổng quan 21
3.2 Loại bỏ đặc trưng không xuất hiện 22
3.3 Rút gọn đặc trưng bằng phương pháp phân cụm 25
3.4 Rút gọn đặc trưng sử dụng lý thuyết tập thô mờ 25
CHƯƠNG 4 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
Trang 5KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 50
Trang 6DANH 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
Trang 7DANH 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
Trang 8DANH SÁCH CÁC TỪ VIẾT TẮT
Thuật ngữ và viết tắt Mô tả
McPAD - Multiple Classifier
System for Accurate
Payload-based Anomaly Detection
Hệ thống phân lớp đa lớp cho phát hiện bất thường dựa trên payload
FPR – false positive rate Tỷ lệ dương tính giả
PAYL- payload-based anomaly
detector
Hệ thống phát hiện bất thường dựa trên payload
OcPAD - One class Naive Bayes
classifier for payload-based
anomaly detection
Bộ phân lớp một lớp Bayes cho Phát hiện bất thường dựa trên payload
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
theory feature selection
Lựa chọn đặc trưng sử dụng lý thuyết tập thô mờ
Trang 9MỞ ĐẦ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 n v-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
Trang 10CHƯƠ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
Trang 11đị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 signature-based 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á
Trang 12trị 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
Trang 13củ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
n-gram 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ộ 2 v-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
Trang 14đượ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
Trang 15CHƯƠNG 2 PHÁT HIỆN TẤN CÔNG WEB SỬ DỤNG ĐẶC TRƯNG
N-GRAM VÀ BỘ PHÂN LỚP MỘT LỚP
2.1 Đặc trưng n-gram và phiên bản 2 v-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:
Trang 16Hì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
Trang 17cử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) b 1 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
b 2 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 b 1 và b 2 Một payload có
chứa quá nhiều n-gram không nằm trong bộ lọc b 1 hoặc nằm trong bộ lọc b 2 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à 2 v-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)
Trang 18dữ 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 2 v-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 2 v -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
Trang 19Tầ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
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) 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
n-gram 𝛽 (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
Trang 20𝑝({𝛽1, 𝛽𝑣+2}/𝐵) = ∑ 𝑝([
𝛽2,…,𝛽𝑣+1
𝛽1, 𝛽2, … , 𝛽𝑣+1, 𝛽𝑣+2 ] | 𝐵) (2)
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ì 2 v-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 2 v-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à 2 v-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
Trang 21ngoài mặt phẳng quyết định được tạo ra Điều này tính đến việc là có thể có khả năng xuất hiện nhiễu (các đối tượng ngoại lai chưa được gán nhãn) trong tập huấn luyện, giúp cho chúng ta thu được một mô tả chính xác hơn về lớp đích Trong trường hợp lớp đích chỉ bao gồm toàn bộ các mẫu của lớp đích, tỷ lệ từ chối có thể được coi như là một tỷ lệ dương tính giả chấp nhận được
Trong thực tế, đối với bất kỳ hệ thống mạng nào, số lượng lưu lượng bình thường và lưu lượng độc hại thường rất chênh lệch nhau Lượng lưu lượng độc hại thường rất ít so với các lưu lượng bình thường và chỉ chiếm một phần rất nhỏ trong toàn bộ lưu lượng của hệ thống Hơn nữa, rất khó để có thể thu thập được một tập dữ liệu các tấn công mà có thể bao phủ toàn bộ các trường hợp tấn công có thể xảy ra đối với ứng dụng đó Điều đó khiến cho việc áp dụng phương pháp phân lớp một lớp trong trường hợp này là rất phù hợp
Có nhiều loại thuật toán phân lớp một lớp khác nhau đã từng được đề xuất, [7] sử dụng thuật toán phân lớp một lớp SVM được đề xuất bởi Schőlkopf
và các cộng sự trong [2] Bộ phân lớp một lớp SVM được sử dụng bởi vì SVM
đạt được một hiệu năng tốt trong lĩnh vực phân loại văn bản và mỗi đặc trưng
n-gram được xử lý tương tự như một chuỗi trong văn bản Mục đích của phân lớp một lớp SVM là tìm một siêu phẳng giúp phân chia phần mong muốn của mẫu huấn luyện với không gian đặc trưng ban đầu
2.2.2 Kết hợp nhiều bộ phân lớp một lớp
McPAD [7] đã đề xuất một mô hình kết hợp nhiều bộ phân lớp một lớp trong phát hiện bất thường dựa vào payload McPAD cho một kết quả phát hiện rất tốt cùng với tỷ lệ dương tính giả ở mức thấp Kiến trúc tổng quan về mô hình
mà McPAD đề xuất được thể hiện trong hình 2.2
Payload
Trích xuất đặc trưng (Bằng 2-v gram)
Giảm kích thước đặc trưng (Bằng phân cụm)
.
McPAD
Hình 2.4.Sơ đồ tổng quan về McPAD
Trang 22McPAD gồm có 3 giai đoạn chính
- Từ payload của các gói tin, thực hiện trích xuất “m” vector đặc trưng 2 v
-gram, với giá trị “v” thay đổi để thu được nhiều cấu trúc thông tin khác
nhau Như đã mô tả ở phần trên, kích thước của các vector đặc trưng 2vgram là 2562
Các vector đặc trưng 2v-gram thu được sẽ qua bước giảm kích thước đặc trưng từ 2562 về “k” đặc trưng bằng thuật toán phân cụm
- Vector đặc trưng sau rút gọn số chiều sẽ dùng để huấn luyện mô hình cho các bộ phân lớp một lớp SVM và tính toán ngưỡng ứng với giá trị dương tính giả mong muốn đạt được của mô hình Kết quả của bước này ta sẽ
thu được “m” mô hình SVM tương ứng với các vector 2 v-gram
- Các mô hình và ngưỡng ở bước trên sẽ được dùng để kiểm thử các gói tin
bằng các bộ phân lớp một lớp “m” kết quả phân lớp của “m” bộ phân lớp
được tổng hợp theo một luật kết hợp và cho ra kết quả nhãn dự đoán cuối cùng là độc hại hay không
Phương pháp phân lớp payload của McPAD
Bằng cách thay đổi tham số “v” và sử dụng thuật toán giảm kích cỡ số
chiều, chúng ta có thể thu được các thể hiện rút gọn hơn khác nhau của payload
trong các không gian đặc trưng khác nhau Đối với mỗi một 2 v -gram, ta tạo ra
một mô hình của lưu lượng bình thường bằng cách huấn luyện một bộ phân lớp SVM một lớp
Ta có một bộ các giá trị “khoảng cách v” {𝑣𝑖} 𝑖=1 𝑚, và một tập dữ liệu 𝐷 = {𝑝𝑘} 𝑘=1 𝑁 chứa phần lớn các dữ liệu bình thường
- Từ tập dữ liệu huấn luyện D, với mỗi giá trị v, thực hiện quá trình trích xuất đặc trưng và rút gọn đặc trưng ta thu được m tập dữ liệu 𝐷𝑣(𝑖)
- Sau đó, ta huấn luyện một bộ phân lớp một lớp SVM cho mỗi tập dữ liệu
𝐷𝑣(𝑖)., ta sẽ thu được m mô hình M 1 , M 2 , , M m dữ liệu bình thường
Trong quá trình hoạt động, khi thực hiện kiểm tra một payload p, chúng ta tính m thể hiện khác nhau của p, gọi là p v1 , p v2, …, p vm sử dụng quá trình trích xuất đặc trưng và rút gọn đặc trưng được mô tả ở phần trên của luận văn Sau
đó, chúng ta phân lớp mỗi thể hiện p vi sử dụng mô hình Mi Cuối cùng, ta kết hợp
kết quả phân lớp thu được từ mỗi mô hình để kết luận ra quyết định cuối cùng
Kết luận cuối cùng dựa trên một ngưỡng (threshold) θ được tính toán từ
trước bằng một tập dữ liệu huấn luyện chứa các dữ liệu không độc hại và một tỷ
lệ dương tính giả mong muốn (FPR desired) Trong trường hợp luật kết hợp bỏ
Trang 23phiếu đa số, kết quả đầu ra của bộ kết hợp chính bằng với số lượng các bộ phân
lớp cho nhãn p là tấn công Nếu ∑𝑙𝑎𝑏𝑒𝑙𝑝𝑣𝑖> 𝜃 quyết định cuối cùng p sẽ được
phân loại là tấn công, ngược lại nó sẽ được phân loại là bình thường Ngưỡng có thể được chọn để điều chỉnh sự đánh đổi giữa tỷ lệ dương tính giả và tỷ lệ phát hiện
Trang 24CHƯƠNG 3 RÚT GỌN ĐẶC TRƯNG TRONG PHÁT HIỆN TẤN CÔNG
WEB
3.1 Tổng quan
Trong bài toán phân lớp, kích thước đặc trưng thường rất lớn, nhưng không
phải tất cả các đặc trưng đều có giá trị thông tin tốt, có ý nghĩa cho quá trình
phân lớp dữ liệu Những đặc trưng không có giá trị thông tin cao, không thể hiện
rõ nhất cấu trúc của tập dữ liệu là những đặc trưng dư thừa Điều này dẫn tới hai
hệ quả xấu đó là làm giảm hiệu năng của các bộ phân lớp, làm cho tỷ lệ phát
hiện chính xác thấp đi, tỷ lệ dương tính giả cao hơn, mất nhiều thời gian để tính
toán hơndo các đặc tính dư thừa nhiều
Rút gọn đặc trưng là một bài toán quan trọng trong bước tiền xử lý dữ liệu
của quá trình khai phá dữ liệu Mục tiêu của rút gọn đặc trưng là giảm số chiều
(số đặc trưng) bằng cách loại bỏ các dữ liệu dư thừa để giúp nâng cao hiệu quả
của quá trình học máy và khai phá dữ liệu Các kỹ thuật rút gọn thuộc tính được
phân thành hai loại: lựa chọn thuộc tính (attribute selection) và biến đổi thuộc
tính (attribute transformation)
- Lựa chọn thuộc tính là chọn một tập con tốt nhất từ tập dữ liệu ban đầu
- Biến đổi thuộc tính thực hiện việc biến đổi các thuộc tính ban đầu thành
một tập các thuộc tính vẫn bảo đượ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 thuộc tính 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 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ả
Commented [t7]: Không phải tập gồm A đặc trưng mà A là tập
đặc trưng
Trang 25Tạo lập tập con Đánh giá
Tập đặc trưng
Tập con
Tập con phù hợp
Hình 3.1 Các bước của quá trình lựa chọn đặc trưng
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 Các hướng tiếp cận lọc và đóng
gói được biểu diễn như hình sau:
Lọc
Đóng gói
Các tập con
Đánh giá
Hình 3.2.Lựa chọn đặc trưng theo Hướng tiếp cận lọc và đóng gói
3.2 Loại bỏ đặc trưng không xuất hiện
Trong quá trình trích xuất các đặc trưng 2v-gram từ tập dữ liệu, ta có thể
dễ dàng nhận thấy rằng trong số 2562 đặc trưng có rất nhiều đặc trưng có tần
xuất xuất hiện trong tập dữ liệu bằng 0 Việc không xuất hiện trong không gian
đặc trưng của tập dữ liệu thì đặc trưng đó cũng có thể không có ý nghĩa trong
Commented [t8]: Toàn bộ tập dữ liệu bao gồm cả training và
testing dataset
Trang 26quá trình để tìm ra mô hình hay khuôn mẫu của dữ liệu Nếu như loại bỏ được các đặc trưng này thì sẽ giúp giảm đáng kể sự phức tạp trong tính toán cũng như thời gian thực thi của quá trình rút gọn đặc trưng Đã có một số nghiên cứu cũng nhận thấy điều này và thử loại bỏ những đặc trưng này trong quá trình huấn luyện mô hình và kiểm tra độ chính xác của mô hình sau huấn luyện
Theo [6], sử dụng phương pháp trích xuất đặc trưng dựa trên phương pháp
1-gram để phát hiện bất thường Đối với mỗi HTTP request p, một vector đặc
trưng x(p) = (x 1 , x 2 , …, x 256 ) chứa số lần xuất hiện x i của 1-gram thứ i Sau khi trích xuất 1-gram từ tập huấn luyện, họ thấy rằng trong 256 đặc trưng có có khả
năng xuất hiện (trong tổng số các ký tự ASCII), thì chỉ có 89 (34,77%) đặc trưng xuất hiện trong tập huấn luyện Vì vậy, mỗi vector đặc trưng gồm có 89 phần tử [6] đã tiến hành thực nghiệm với 4 thuật toán phân lớp khác nhau: C4.5, cây quyết định CART, SVM và multilayer perceptron (MLP- tri thức đa lớp) Bảng
số 3.1 thể hiện độ chính xác khi chạy 4 thuật toán phân lớp trên với không gian đặc trưng đã loại bỏ những đặc trưng không xuất hiện
Bảng 3.1 Kết quả phân lớp 4 thuật toán [6]
Theo bài báo [5], chỉ một phần trong tổng số các n-gram thực sự xuất hiện trong tập dữ liệu Kết quả thống kê về số lượng các n-gram khác nhau có xuất
hiện trong tập dữ liệu huấn luyện cho các giá trị N khác nhau được thể hiện trong bảng 3.2
Trang 27Bả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]
Giá trị của N Số lượng n-gram
Chúng ta có thể thấy rằng, khi giá trị N càng tăng thì tỷ lệ số lượng
n-gram khác nhau giảm đi một cách đáng kể OcPAD [5] tạo ra cây xác suất chứa
tần số xuất hiện của một n-gram khác nhau trên tổng số các n-gram của 1 gói tin
Kết quả thử nghiệm cho thấy độ chính xác hay khả năng phát hiện độc hại của
của OcPAD so với ANAGRAM là cao hơn
Hình 3.3: So sánh kết quả phát hiện của OcPAD so với ANAGRAM [5]
Các n-gram thực sự xuất hiện trong các tập dữ liệu huấn luyện chiếm một
tỷ lệ rất thấp trên tổng số các n-gram có khả năng xuất hiện, vì vậy khi thực hiện
loại bỏ các n-gram không xuất hiện sẽ giúp làm giảm đáng kể không gian đặc
trưng phải tính toán Đây là một bước lọc thô trước khi tiến hành quá giảm kích
thước đặc trưng bằng các phương pháp khác
Commented [t9]: Data của bảng thì khôn cần in đậm
chỉ in đâm các ô tiêu đề (heading) của bảng