Input
BaseLearn - Thuật tốn học máy cơ sở
T - Tập huấn luyện m mẫu < (x1, y1), ..., (xm, ym) > với nhãn yj Y Csize - Kích thước tập hợp mong đợi
Imax - Số vịng lặp cực đại để xây dựng tập hợp Rsize - Hệ số xác định số mẫu nhân tạo cần tạo
Output
L - Tập hợp các tập gồm M thuộc tính thỏa tiêu chí khơng ổn định
Begin 1: Initialize: 2: i = 1 3: trials = 1 4: Ci = BaseLearn(T) 5: Khởi động tập hợp C*= {Ci} 6: Tính tốn sai số kết hợp, 𝜖 =∑𝑥𝑗𝑇,𝐶∗(𝑥𝑗)≠𝑦𝑗1 𝑚 7: While (i < Csize và trials < Imax)
8: Tạo Rsize × |T| mẫu huấn luyện R, dựa trên phân phối dữ liệu huấn luyện 9: Gán nhãn các mẫu R với xác suất của nhãn tỷ lệ nghịch với dự báo của C*
10: T = T R
11: C’ = BaseLearn(T)
12: C* = C* {C’}
13: T = T − R, loại bỏ dữ liệu nhân tạo
14: Tính sai số kết hợp ’ của C* như trong bước 6 15: If (’ ≤ ) then 16: i = i + 1 17: = ’ 18: Else 19: C* = C* − {C’} 20: End if 21: trials = trials + 1 22: End while End
2.1.3.2 Kỹ thuật học sâu
Học sâu (deep learning) là một nhánh con của học máy, cĩ khả năng khác biệt ở một số khía cạnh so với học máy truyền thống, cho phép máy tính giải quyết một loạt các vấn đề phức tạp khơng thể giải quyết được.
Học sâu dựa trên mạng lưới nơ-ron lấy cảm hứng từ bộ não con người, khác với mạng nơ-ron học nơng, mạng nơ-ron học sâu bao gồm nhiều lớp ẩn trong một mạng lưới nơ-ron và thuộc lớp sau cùng. Việc đi qua nhiều số lượng lớp và mạng phức tạp được cho là độ sâu, địi hỏi rất nhiều dữ liệu đầu vào và sức mạnh tính tốn.
Cĩ nhiều loại mạng nơ-ron sâu, với các cấu trúc phù hợp với các loại nhiệm vụ khác nhau. Ví dụ: Mạng nơ-ron tích chập (Convolutional Neural Network: CNN) thường được sử dụng cho các tác vụ thị giác máy tính, trong khi Mạng nơ-ron tái phát (Recurrent Neural Network: RNN) thường được sử dụng để xử lý ngơn ngữ. Mỗi lớp cĩ các chuyên mơn riêng, trong CNN, các lớp ban đầu được chuyên biệt để trích xuất các thuộc tính riêng biệt từ hình ảnh, sau đĩ được đưa vào mạng thần kinh thơng thường hơn để cho phép hình ảnh được phân lớp. Trong khi đĩ, RNN khác với mạng nơ-ron chuyển tiếp thuận truyền thống ở chỗ chúng khơng chỉ cung cấp dữ liệu từ lớp thần kinh này sang lớp thần kinh tiếp theo mà cịn cĩ các vịng phản hồi tích hợp, trong đĩ đầu ra dữ liệu từ một lớp được đưa trở lại lớp trước nĩ - cho mạng một dạng bộ nhớ.
Cĩ một dạng RNN chuyên biệt hơn bao gồm cái được gọi là ơ nhớ và được điều chỉnh để xử lý dữ liệu cĩ độ trễ giữa các đầu vào, đĩ là mạng LSTM (Long Short-Term Memory). Về cơ bản mơ hình của LSTM khơng khác mơ hình truyền thống của RNN, nhưng chúng sử dụng hàm tính tốn khác ở các lớp ẩn. Bộ nhớ của LSTM được gọi là tế bào và chúng như là các hộp đen nhận đầu vào là trạng thái phía trước và đầu vào hiện tại. Bên trong hộp đen sẽ
tự quyết định cái gì cần phải nhớ và cái gì sẽ xĩa đi. Sau đĩ, chúng sẽ kết hợp với trạng thái phía trước, nhớ hiện tại và đầu vào hiện tại. Vì vậy mà chúng cĩ thể truy xuất được quan hệ của các từ phụ thuộc xa nhau rất hiệu quả.
2.1.4 Tập dữ liệu sử dụng cho các IDS
Tập dữ liệu là thành phần chính trong việc huấn luyện các bộ phân lớp để phát hiện tấn cơng. Việc lựa chọn tập dữ liệu đúng là rất quan trọng để đảm bảo xây dựng mơ hình phù hợp. Ngồi ra, cấu trúc dữ liệu cĩ thể ảnh hưởng đến hiệu quả của thuật tốn ML. Lựa chọn thuật tốn ML trong các IDS phụ thuộc vào cấu trúc của tập dữ liệu được chọn. Theo thống kê như thể hiện ở Hình 2.8, các tập dữ liệu được sử dụng nhiều nhất trong các nghiên cứu từ năm 2015 đến 2018 là: KDDCup99, NSL-KDD, ISCX2012 và UNSW-NB15 [22]. Phân tích từ nghiên cứu của A. Ưzgür và H. Erdem [23] cho thấy nhiều nhà nghiên cứu vẫn đang dựa vào tập dữ liệu KDDCup99 và NSL-KDD (một biến thể của tập dữ liệu KDDCup99), các tập dữ liệu này được cho là lỗi thời và khơng liên quan trong cơ sở hạ tầng mạng hiện tại. Sự phát triển nhanh chĩng và những thay đổi trong lĩnh vực cơng nghệ thơng tin như: điện tốn đám mây, phương tiện truyền thơng xã hội và internet vạn vật đang thay đổi cục diện của cơ sở hạ tầng mạng. Những thay đổi này cĩ động lực trong việc thay đổi mối đe dọa tấn cơng chính nĩ. Do đĩ, nhiều kết quả nghiên cứu chứng minh độ chính xác cao đang được xem là quá cường điệu, bởi vì tập dữ liệu đang được sử dụng khơng đại diện cho mối đe dọa hoặc cơ sở hạ tầng hiện tại.
Tập dữ liệu KDDCup99 là một tập dữ liệu phổ biến và đã được sử dụng cho cuộc thi cơng cụ khai thác dữ liệu và khám phá tri thức quốc tế lần thứ ba. Mỗi bản ghi kết nối được mơ tả bởi 41 thuộc tính (38 thuộc tính số liên tục hoặc rời rạc và 3 thuộc tính tượng trưng). Mỗi bản ghi được dán nhãn là bình thường hoặc một loại tấn cơng cụ thể. Các cuộc tấn cơng này thuộc một trong bốn loại: Probe, DoS, U2R và R2L [24], như được mơ tả dưới đây.
Probe: Loại tấn cơng này thu thập thơng tin của hệ thống mục tiêu trước khi bắt đầu một cuộc tấn cơng thực tế.
Từ chối dịch vụ (DoS): Loại tấn cơng này dẫn đến việc khơng cĩ tài nguyên mạng cho các yêu cầu hợp pháp bằng cách làm cạn kiệt băng thơng hoặc làm quá tải tài nguyên tính tốn.
User to Root (U2R): Trong trường hợp này, tội phạm mạng bắt đầu với quyền truy cập vào tài khoản người dùng bình thường trên hệ thống và cĩ thể khai thác các lỗ hổng của hệ thống để cĩ quyền truy cập root vào hệ thống.
Remote to Local (R2L): Trong trường hợp này, tội phạm mạng khơng cĩ tài khoản trên máy từ xa sẽ gửi một gĩi đến máy đĩ qua mạng và khai thác một số lỗ hổng để cĩ quyền truy cập cục bộ như một người dùng của máy đĩ.
Tập dữ liệu NSL-KDD được phát triển vào năm 2009, nhưng nĩ thực sự là phiên bản cải tiến của tập dữ liệu KDDCup99. NSL-KDD cố gắng cải thiện tập dữ liệu KDDCup99 bằng cách xĩa các bản ghi dư thừa, bao gồm số lượng bản ghi mất cân bằng và sự đa dạng của các kiểu tấn cơng [25]. Tuy nhiên, nĩ vẫn kế thừa giới hạn cơ bản của tập dữ liệu KDDCup99.
Hình 2.8. Tập dữ liệu đang được sử dụng trong nghiên cứu IDS
KDDCup99 cĩ nhiều nhược điểm. Đầu tiên, tập dữ liệu này được phát triển vào năm 1999 bằng cách sử dụng hệ điều hành dựa trên Solaris để thu thập một loạt dữ liệu do triển khai dễ dàng. Tuy nhiên, trong thời đại của Ubuntu, Windows và MAC, Solaris gần như khơng cĩ thị phần.
Thứ hai, trình thu thập lưu lượng được sử dụng trong tập dữ liệu KDDCup99, TCPdump, rất cĩ khả năng bị quá tải và làm rơi các gĩi từ tải lưu lượng lớn. Quan trọng hơn, cĩ một số nhầm lẫn về phân phối tấn cơng của các tập dữ liệu này. Theo phân tích tấn cơng, Probe khơng phải là một cuộc tấn cơng trừ khi số lần lặp vượt quá một ngưỡng cụ thể, trong khi sự khơng nhất quán nhãn đã được báo cáo [26].
Thứ ba, sự xuất hiện của các cơng nghệ mới như điện tốn đám mây, phương tiện truyền thơng xã hội và internet vạn vật đã thay đổi mạnh mẽ cơ sở hạ tầng mạng. Những thay đổi này cũng sẽ dẫn đến các loại mối đe dọa mới.
Hai tập dữ liệu phổ biến khác là ISCX 2012 và UNSW-NB15. ISCX 2012 là tập dữ liệu được tạo bởi Trung tâm bảo mật thơng tin xuất sắc (ISCX) tại Đại học New Brunswick vào năm 2012. Tập dữ liệu này bao gồm bảy ngày dữ liệu với nhãn lớp bình thường (một) hoặc tấn cơng (hai). Tập dữ liệu khơng cĩ phân lớp các loại tấn cơng, do đĩ nĩ sẽ chỉ cung cấp phân lớp nhị phân. Tuy nhiên, tập dữ liệu này khơng cịn cĩ sẵn. Điều này là do Trung tâm đã tạo ra một tập dữ liệu mới, được gọi là CICIDS2017 [27]. Trung tâm cũng đã đổi tên thành Viện An ninh mạng của Canada (CIC). Hiện nay, khơng cĩ cơng trình nào được tìm thấy bằng cách sử dụng tập dữ liệu mới này tại thời điểm nghiên cứu.
Về tập dữ liệu UNSW-NB15, tập dữ liệu được sử dụng xuyên suốt trong các thử nghiệm của luận án này, được tạo bởi Trung tâm An ninh mạng của Úc (ACCS) bằng cách sử dụng cơng cụ IXIA PerfectStorm để tạo ra như mơ tả ở Hình 2.9, gồm các cuộc tấn cơng được phân thành chín loại như sau [28]:
23%
38% 6%
12%
21%
Hình 2.9. Mơ hình trích xuất dữ liệu UNSW-NB15 sử dụng cơng cụ IXIA
(1) Fuzzers: là một cuộc tấn cơng trong đĩ tội phạm mạng cố gắng phát hiện ra các lỗ hổng bảo mật trong một ứng dụng, hệ điều hành hoặc mạng bằng cách cung cấp cho nĩ một lượng lớn dữ liệu ngẫu nhiên để làm cho nĩ bị sập.
(2) Analysis: là một loại xâm nhập khác xâm nhập vào các ứng dụng web thơng qua các cổng (ví dụ: quét cổng), email (ví dụ: spam) và tập lệnh web (ví dụ: các tập tin HTML).
(3) Backdoor: là một kỹ thuật lén lút bỏ qua việc xác thực thơng thường, đảm bảo truy cập từ xa trái phép vào thiết bị, xĩa vết để duy trì việc truy cập ở lần sau.
(4) DoS: là một sự xâm nhập làm gián đoạn các tài nguyên máy tính thơng qua bộ nhớ để gây ra lỗi từ chối dịch vụ, ngăn các yêu cầu được ủy quyền truy cập vào một thiết bị.
(5) Exploit: là một chuỗi các hướng dẫn lợi dụng việc trục trặc, lỗi hoặc lỗ hổng, gây ra hành vi vơ ý hoặc khơng được chú ý trên máy chủ hoặc mạng.
(6) Generic: là một kỹ thuật thiết lập để chống lại mọi mật mã khối sử dụng hàm băm để gây ra xung đột mà khơng liên quan đến cấu hình của mật mã khối.
(7) Reconnaissence (sau đây viết tắt là Recce): là một cuộc tấn cơng thu thập thơng tin về mạng máy tính để trốn tránh các kiểm sốt bảo mật của nĩ.
(8) Shellcode: là phần mềm độc hại trong đĩ tội phạm mạng xâm nhập một đoạn mã nhỏ bắt đầu từ một shell để kiểm sốt máy bị xâm nhập.
(9) Worm: là một cuộc tấn cơng trong đĩ tội phạm mạng tự sao chép để lây lan trên các máy tính khác. Thơng thường, nĩ sử dụng một mạng máy tính để tự phát tán, tùy thuộc vào các lỗi bảo mật của máy tính mục tiêu được sử dụng để truy cập nĩ.
Các thuộc tính của tập dữ liệu UNSW-NB15 được phân thành sáu nhĩm như đề cập
Bợ tạo lưu lượng mạng IXIA
Máy chủ 1 Máy chủ 2
(Malware)
Máy chủ 3
Máy trạm Máy trạm
Tường lửa
trong Bảng 2.1:
(1) Các thuộc tính Flow: nhĩm này bao gồm các thuộc tính nhận dạng giữa các máy chủ, chẳng hạn như máy khách để phục vụ hoặc máy chủ đến máy khách.
(2) Các thuộc tính cơ bản: danh mục này liên quan đến các thuộc tính thể hiện các kết nối giao thức.
(3) Các thuộc tính nội dung: nhĩm này đĩng gĩi các thuộc tính của TCP/IP; ngồi ra chúng cĩ chứa một số thuộc tính của dịch vụ http.
(4) Các thuộc tính thời gian: danh mục này chứa các thuộc tính thời gian, ví dụ: thời gian đến giữa các gĩi, thời gian gĩi bắt đầu / kết thúc và thời gian khứ hồi của giao thức TCP. (5) Các thuộc tính được tạo bổ sung: loại này cĩ thể được chia thành hai nhĩm: a) Các thuộc tính mục đích chung (từ số 36 - 40) mà mỗi thuộc tính cĩ mục đích riêng, để bảo vệ dịch vụ của các giao thức; b) Các thuộc tính kết nối (từ số 41- 47) được xây dựng từ số 100 kết nối bản ghi dựa trên thứ tự tuần tự của thuộc tính lần trước.
(6) Các thuộc tính được gắn nhãn: nhĩm này đại diện cho nhãn của từng bản ghi. Bảng 2.1. Các thuợc tính của tập dữ liệu UNSW-NB15
1. Các thuợc tính Flow
1 srcip Địa chỉ IP máy tính nguồn N
2 sport Số cổng (port number) máy tính nguồn I
3 dstip Địa chỉ IP máy tính đích N
4 dsport Số cổng (port number) máy tính đích I
5 proto Loại giao thức như TCP, UDP N
2. Các thuợc tính cơ bản
6 state Trạng thái và giao thức phụ thuộc của nĩ, ví dụ như CON N
7 dur Tổng thời lượng dịng F
8 sbytes Số byte từ máy tính nguồn đến máy tính đích I 9 dbytes Số byte từ máy tính đích đến máy tính nguồn I 10 sttl Thời gian sống từ máy tính nguồn đến máy tính đích I 11 dttl Thời gian sống từ máy tính đích đến máy tính nguồn I 12 sloss Các gĩi máy tính nguồn được truyền lại hoặc bị hủy I 13 dloss Các gĩi máy tính đích được truyền lại hoặc bị hủy I
14 service Như http, ftp, smtp, ssh, dns và ftp-data N
15 sload Số bít/giây máy tính nguồn F
16 dload Số bít/giây máy tính đích F
17 spkts Số gĩi từ máy tính nguồn đến máy tính đích I
18 dpkts Số gĩi từ máy tính đích đến máy tính nguồn I
3. Các thuợc tính nợi dung
19 swin Giá trị quảng bá cửa sổ TCP máy tính nguồn I
20 dwin Giá trị quảng bá cửa sổ TCP máy tính đích I
22 dtcpb Số thứ tự (sequence number) cơ sở TCP máy tính đích I 23 smeansz Giá trị trung bình của kích thước gĩi được truyền bởi máy
tính nguồn
I 24 dmeansz Giá trị trung bình của kích thước gĩi được truyền bởi máy
tính đích
I 25 trans_depth Kết nối của giao dịch yêu cầu / phản hồi http I 26 response_body_len Kích thước nội dung của dữ liệu được truyền từ http I
4. Các thuợc tính thời gian
27 sjit Sự khác biệt về độ trễ giữa hai gĩi liên tiếp máy tính nguồn
F 28 djit Sự khác biệt về độ trễ giữa hai gĩi liên tiếp máy tính đích F
29 stime Thời gian bắt đầu ghi T
30 ltime Thời gian kết thúc ghi T
31 sintpkt Thời gian đến giữa các gĩi của máy tính nguồn F 32 dintpkt Thời gian đến giữa các gĩi của máy tính đích F 33 tcprtt Thiết lập thời gian khứ hồi, tổng của ’synack’ và ’ackdat’ F
34 synack Thời gian giữa các gĩi SYN và SYN_ACK F
35 ackdat Thời gian giữa các gĩi SYN_ACK và ACK F
5. Các thuợc tính được tạo bổ sung
36 is_sm_ips_ports Bằng 1 nếu srcip (1) = dstip (3) và sport (2) = dsport (4), ngược lại bằng 0
B 37 ct_state_ttl Số của mỗi state (6) theo các giá trị sttl (10) và dttl (11) I 38 ct_flw_http_mthd Số phương thức như Get và Post trong dịch vụ http I 39 is_ftp_login Bằng 1 nếu phiên ftp được truy xuất bởi người dùng và
mật khẩu, bằng 0 nếu ngược lại
B
40 ct_ftp_cmd Số flows cĩ lệnh trong phiên ftp I
41 ct_srv_src Số dịng cùng service (14) và srcip (1) trong 100 dịng I 42 ct_srv_dst Số dịng cùng service (14) và dstip (3) trong 100 dịng I
43 ct_dst_ltm Số dịng cùng dstip (3) trong 100 dịng I
44 ct_src_ ltm Số dịng cùng srcip (1) trong 100 dịng I 45 ct_src_dport_ltm Số dịng cùng srcip (1) và dsport (4) trong 100 dịng I 46 ct_dst_sport_ltm Số dịng cùng dstip (3) và sport (2) trong 100 dịng I 47 ct_dst_src_ltm Số dịng cùng srcip (1) và dstip (3) trong 100 dịng I
6. Các thuợc tính được gắn nhãn
48 attack_cat Tên của từng loại tấn cơng N
49 label 0 biểu thị bình thường và 1 biểu thị cho một cuộc tấn cơng B Kiểu của từng thuộc tính trong Bảng 2.1 được ký hiệu như sau: N là kiểu định danh (Nominal), I là kiểu số nguyên (Integer), B là kiểu nhị phân (Binary), F là kiểu số thực (Float) và T là kiểu thời gian (Timestamp). Trong 49 thuộc tính của tập dữ liệu UNSW-NB15, cĩ 6 thuộc tính kiểu định danh, 28 thuộc tính kiểu số nguyên, 3 thuộc tính kiểu nhị phân, 10 thuộc tính kiểu số thực và 2 thuộc tính kiểu thời gian [29].
Tập dữ liệu UNSW-NB15 chứa 2.540.044 bản ghi. Một phần của tập dữ liệu này được chia thành các tập dữ liệu huấn luyện và kiểm tra, được dùng nhiều trong các thử nghiệm của các nhà nghiên cứu, thơng tin chi tiết về các tập dữ liệu được trình bày ở Bảng 2.2.
Bảng 2.2. Thơng tin tập dữ liệu UNSW-NB15