ĐẠ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.
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
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
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
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
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
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
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
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
8
351
1
3
5
1
3
6
8
513
1
3
5
1
3
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à
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ó để
1
3
5
1
3
6
8
31
1
3
5
1
3
6
8
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
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
18
ngoà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 ngram đượ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.
Kết
luận
Nhãn
19
McPAD 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 2vgram, 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 2v-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 2v-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 𝐷𝑣 (𝑖).
𝑐𝑖 (𝑥𝑘 ) > 𝐿/2
21
CHƯƠ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à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
Tập đặc trưng
Lựa chọn tập đặc
trưng con
Đóng gói
Thuật toán
học máy
Các tập con
Tập đặc trưng
Thuật toán
học máy
Tạo lập 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