Phát hiện gói tin bất thƣờng sử dụng mạng nơ-ron

Một phần của tài liệu (LUẬN văn THẠC sĩ) đánh giá hiệu quả một số thuật toán trong phát hiện xâm nhập mạng (Trang 44 - 63)

Hình 2 .2 Hình dạng hàm sigmoid

Hình 2.11 Phát hiện gói tin bất thƣờng sử dụng mạng nơ-ron

2.4. Rút gọn đặc trƣng

Một trong những vấn đề quan trọng nhất liên quan tới các bài toán phân loại là làm sao lựa chọn những đặc trƣng quan trọng nhất (những đặc trƣng ảnh hƣởng tới việc

Sensor bắt các gói tin

Bóc tách các thơng tin cần thiết

Phân loại các gói tin vào lớp bình thƣờng

hoặc tấn cơng

Phân loại Lớp tấn cơng

(attack)

Lớp bình thƣờng (normal)

phân lớp). Việc lựa chọn những đặc trƣng quan trọng và loại bỏ những đặc trƣng ít quan trọng khơng chỉ làm tăng tốc độ tính tốn trong các thuật tốn học máy mà còn cải thiện hiệu suất của thuật toán [13]. Và đây cũng là nhiệm vụ thứ hai mà luận văn sẽ tập trung giải quyết. Đối với bài tốn phát hiện xâm nhập mạng, ngồi ý nghĩa tăng tốc độ tính tốn trong các thuật tốn học máy đƣợc áp dụng thì việc rút gọn các đặc trƣng ít quan trong cịn giúp thời gian phát hiện xâm nhập trở nên nhanh hơn.

Trong một nghiên cứu của Sung và Mukkamala [13] đã dùng SVM để đánh giá độ quan trọng cho từng đặc trƣng trong tập KDD 99 (đây là bộ dữ liệu chuẩn cho IDS và việc mô tả bộ dữ liệu KDD sẽ đƣợc trình bày chi tiết trong chƣơng 3 của luận văn). Ý tƣởng chính trong bài báo nhƣ sau:

Ban đầu, nhóm tác giả sử dụng toàn bộ 41 đặc trƣng của bộ dữ liệu KDD 99 và sử dụng SVM để tiến hành huấn luyện và phân lớp dữ liệu. Một bộ dữ liệu kiểm tra đƣợc sử dụng để đánh giá tỷ lệ phát hiện chính xác các cuộc tấn cơng. Kết quả phát hiện đƣợc lƣu lại. Sau đó, nhóm nghiên cứu lần lƣợt bỏ đi từng đặc trƣng trong nhóm 41 đặc trƣng và sử dụng SVM để huấn luyện và phân lớp lại. Kết quả sau mỗi lần bớt đi một đặc trƣng đƣợc so sánh với kết quả khi dùng toàn bộ 41 đặc trƣng, rồi tiến hành phân vào ba nhóm Important (quan trọng), Secondary (thứ nhì), Unimportant (khơng

quan trọng). Nhƣ vậy, mỗi một đặc trƣng sẽ đƣợc xếp hạng theo thứ tự quan trọng ảnh hƣởng tới việc phân lớp trên cả bộ dữ liệu huấn luyện và bộ dữ liệu kiểm tra. Trong bài báo [13] cũng đƣa ra một tập gồm 10 luật quy định việc xếp hạng mỗi đặc trƣng vào một trong ba nhóm nhƣ sau:

1. Nếu độ chính xác giảm, thời gian huấn luyện và thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng (nhóm important).

2. Nếu độ chính xác và thời gian huấn luyện giảm xuống, thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng (nhóm important).

3. Nếu độ chính xác khơng thay đổi, thời gian huấn luyện và thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng (nhóm important).

4. Nếu độ chính xác khơng đổi, thời gian huấn luyện giảm và thời gian kiểm tra tăng, thì đó là đặc trƣng xếp vào nhóm secondary.

5. Nếu độ chính xác khơng đổi, thời gian huấn luyện tăng và thời gian kiểm tra giảm, thì đó là đặc trƣng xếp vào nhóm secondary.

6. Nếu độ chính xác khơng đổi, thời gian huấn luyện và thời gian kiểm tra giảm, thì đặc trƣng đó là khơng quan trọng (nhóm unimfortant).

7. Nếu độ chính xác và thời gian huấn luyện tăng lên, thời gian kiểm tra giảm xuống, thì đó là đặc trƣng quan trọng cấp 2 (nhóm secondary).

8. Nếu độ chính xác khơng đổi và thời gian huấn luyện và thời gian kiểm tra giảm thì đặc trƣng đó là khơng quan trọng (nhóm unimfortant).

9. Nếu độ chính xác tăng, thời gian huấn luyện giảm, thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng cấp 2 (nhóm secondary).

10. Nếu độ chính xác tăng, thời gian huấn luyện và thời gian kiểm tra giảm, thì đó là đặc trƣng khơng quan trọng (nhóm unimfortant).

Dựa theo những luật ở trên, nhóm tác giả đã lần lƣợt xếp hạng 41 đặc trƣng vào ba nhóm và các nhóm đƣợc ký hiệu nhƣ sau:

{Important}, <Secondary>, (Unimportant).

Cụ thể các đặc trƣng trong bộ KDD ảnh hƣởng tới mỗi lớp phân loại đƣợc nhóm nghiên cứu liệt kê dƣới đây:

Class 1 - Normal: {1, 2, 3, 4, 5, 6, 10, 12, 17, 23, 24, 27, 28, 29, 31, 32, 33, 34, 36, 39}, <11, 13, 14, 16, 19, 22, 25, 26, 30, 35, 37, 38, 40, 41>, (7, 8, 9, 15, 18, 20, 21) Class 2 - DoS: {1, 2, 3, 4, 5, 6, 23, 24, 29, 32, 33}, <10, 12, 22, 28, 34, 35, 36, 38, 39, 41 >, (7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 30, 31, 37, 40) Class 3 - Probe: {1, 5, 6, 23, 24, 25, 26, 32, 36, 38, 39}, <2, 3, 4, 10, 12, 29, 33, 34> , (7, 8, 9,

11, 13, 14, 15, 16, 17 18, 19, 20, 21, 22, 27, 28, 30, 31, 35, 36, 37, 40, 41) Class 4 - R2L: {1, 2, 3, 5, 6, 12, 23, 24, 32, 33}, <4, 10, 13, 14, 17, 22, 27, 29, 31, 34, 36, 37, 39>, (7, 8, 9, 11, 15, 16, 18, 19, 20, 21, 25, 26, 28, 30, 35, 38, 40, 41) Class 5 - U2R: {1, 3, 5, 6, 32, 33}, <2, 4, 10, 12, 22, 23, 24, 29, 31, 34, 36, 37, 38, 40 >, (7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 28, 30, 35, 39, 41)

Từ việc phân nhóm cho năm trạng thái mạng ở trên, các tác giả nhận thấy mỗi trạng thái sẽ có các đặc trƣng unimportant là khơng đồng nhất. Vì thế, việc loại bỏ các đặc trƣng không quan trọng phải đảm bảo không ảnh hƣởng tới việc phân loại hay dự đoán của các lớp khác nhau. Sau khi chọn lọc thì nhóm các đặc trƣng (7, 8, 9, 15, 18, 20, 21) đều xuất hiện trong nhóm unimportant của cả năm trạng thái mạng.

Dựa vào thực nghiệm và phân tích nhƣ trên, nhóm nghiên cứu đã tiến hành loại bỏ 7 đặc trƣng này mà khơng ảnh hƣớng đến độ chính xác phát hiện xâm nhập.

Tuy nhiên, nghiên cứu trong [13] mới chỉ là sử dụng SVM để thực nghiệm loại bỏ từng đặc trƣng và đánh giá lại mà chƣa thực sự đƣợc kiểm định độ chính xác qua các cơng thức tốn học cụ thể. Cho nên, luận văn sẽ sử dụng độ đo information gain

(IG) để mơ hình hóa tốn học độ lợi về thơng tin ảnh hƣởng tới quá trình phân loại và dự đoán cho mỗi một đặc trƣng. Đồng thời cũng so sánh phƣơng pháp IG với kết quả thực nghiệm [13] sử dụng SVM ở trên.

Dƣới đây trình bày việc thực hiện tính tốn độ đo IG cho một thuộc tính F. Cho S là một tập các mẫu huấn luyện với các nhãn tƣơng ứng. Giả sử, ta cần phân các mẫu dữ liệu vào m lớp. Tập huấn luyện chứa si mẫu của lớp i và s là tổng số các

mẫu trong tập huấn luyện. Khi đó:

s = ∑

Lƣợng thông tin thu đƣợc cần để phân loại một mẫu cho trƣớc đƣợc tính theo cơng thức sau [4]:

2 1 ( ) log m i i 1 2 m i s s H s ,s ,...,s s s           (2.24) Ta có {f1, f2, …, fv} là tập các giá trị của một đặc trƣng F.

Chia tập huấn luyện S thành v tập con {S1, S2, …, Sv} trong đó tập Sj là tập con của S mà F nhận giá trị fj . Hơn nữa, nếu Sj chứa sij mẫu của lớp i thì thơng tin của đặc trƣng F đƣợc tính nhƣ sau [4]: 1 2 1 ( ) = ( ) v j j mj 1j 2j mj i s s + ...+ s I F I s , s , ...,s s     (2.25)

Ta có cơng thức tính độ đo information gain của một đặc trƣng F:

IG (F) = H(s1, s2, .., sm) - I(F) (2.26) Từ công thức (2.6), ta thấy giá trị của IG(F) thể hiện rõ sự ảnh hƣởng thuộc tính F tới quá trình phân lớp. Nếu giá trị IG(F) càng lớn thì thuộc tính F có ảnh hƣởng quan trọng cho việc phân lớp cho các mẫu dữ liệu và ngƣợc lại.

Chƣơng 3: Đánh giá hiệu quả của một số thuật toán học máy trong việc phát hiện xâm nhập mạng trong việc phát hiện xâm nhập mạng

Các kết quả thực nghiệm trong chƣơng này đƣợc tiến hành trên Matlab R2014 chạy trên hệ điều hành server 2008 với cấu hình máy: Chip xeon(R), tốc độ 2.67GHz , RAM 16GB.

3.1. Bộ dữ liệu KDD CUP 99

Để thực nghiệm và đánh giá hiệu quả của các thuật toán phát hiện tấn công mạng, các nghiên cứu trên thế giới thƣờng sử dụng bộ dữ liệu KDD 99 (KDD cup 99). Bộ dữ liệu này có nguồn gốc từ MIT’s Lincoln Lab, đƣợc phát triển cho chƣơng trình đánh giá phát hiện tấn cơng mạng của Cơ quan Quản lý Nghiên cứu Dự án phòng thủ tiên tiến Bộ quốc phòng Mỹ (DARPA) năm 1998 [7]. Họ cài đặt một môi trƣờng giả lập các cuộc tấn công mạng và thu thập đƣợc khoảng 4 gigabytes dữ liệu tcp dump thơ trong bảy tuần. Sau đó, các dữ liệu thơ này đƣợc xủ lý và đƣa về định dạng chuẩn của một bản ghi kết nối TCP/IP gồm 42 trƣờng. Và bộ dữ liệu test đƣợc thu thập độc lập trong vòng hai tuần.

Bộ dữ liệu KDD đầy đủ chứa khoảng gần năm triệu bản ghi kết nối, trong đó mỗi kết nối đơn, mỗi véc-tơ gồm có 41 đặc trƣng và đặc trƣng cuối cùng là nhãn kết nối, nhãn đó có thể là bình thƣờng (nếu đó là kết nối bình thƣờng) hoặc tên một cuộc tấn công cụ thể. Dƣới đây là bảng mô tả các đặc trƣng của bộ dữ liệu KDD cup 99 [4]:

Bảng 3.1. Mô tả các đặc trƣng của bộ dữ liệu KDD cup 99

STT Tên đặc trƣng Mơ tả Tính chất

1. Duration Chiều dài (số giây) của kết nối. Liên tục 2. Protocol_type Loại giao thức, ví dụ tcp, udp,... Đứt đoạn

STT Tên đặc trƣng Mơ tả Tính chất

3. Service Dịch vụ mạng trên các điểm đến ví dụ

http, telnet, ... Đứt đoạn

4. Src_bytes Số lƣợng dữ liệu byte từ nguồn tới đích. Liên tục 5. Dst_bytes Số lƣợng dữ liệu byte từ đích tới nguồn. Liên tục 6. Flag Tình trạng bình thƣờng hoặc lỗi kết nối. Đứt đoạn 7. Land Bằng 1 nếu kết nối là từ/đến host tƣơng

tự/port; bằng 0 nếu ngƣợc lại. Đứt đoạn 8. Wrong_fragment Số lƣợng wrong fragments Liên tục 9. Urgent Số lƣợng gói tin khẩn cấp Liên tục

10. Hot Số lƣợng chỉ số nóng Liên tục

11. Num_failed_logins Số lần đăng nhập thất bại Liên tục 12. Logged_in Bằng 1 nếu đăng nhập thành công; 0 nếu

ngƣợc lại Đứt đoạn

13. Num_compromised Số lƣợng điều kiện thỏa hiệp Liên tục 14. Root_shell Bằng 1 nếu thu đƣợc root shell; 0 nếu

ngƣợc lại Đứt đoạn

15. Su_attempted Bằng 1 nếu cố gắng thực hiện lệnh ''su

root''; 0 nếu ngƣợc lại Đứt đoạn

16. Num_root Số lần truy cập quyền “root” Liên tục 17. Num_file_creations Số hoạt động tạo tập tin Liên tục 18. Num_shells Số lƣợng shell prompts Liên tục 19. Num_access_files Số hoạt động trên các tập tin kiểm soát

truy cập. Liên tục

20. Num_outbound_cmds Số lƣợng lệnh outbound trong 1 phiên

ftp Liên tục

21. Is_host_login Bằng 1 nếu đăng nhập thuộc về danh

STT Tên đặc trƣng Mơ tả Tính chất

22. Is_guest_login Bằng 1 nếu đăng nhập là một tài khoản

khách; 0 nếu ngƣợc lại. Đứt đoạn

23. Count

Số lƣợng kết nối đến các máy chủ tƣơng tự giống nhƣ các kết nối hiện hành trong 2 giây đã qua.

Liên tục 24. Serror_rate Số % kết nối có lỗi “SYN” Liên tục 25. Rerror_rate Số % kết nối có lỗi “REJ” Liên tục 26. Same_srv_rate Số % các kết nối đến những dịch vụ

tƣơng tự. Liên tục

27. Diff_srv_rate % kết nối với các dịch vụ khác nhau. Liên tục 28. Srv_count

Số lƣợng kết nối đến các dịch vụ tƣơng tự giống nhƣ các kết nối hiện hành trong 2 giây đã qua.

Liên tục 29. Srv_serror_rate % kết nối có lỗi “SYN” từ các dịch vụ. Liên tục 30. Srv_rerror_rate % kết nối có lỗi “REJ” từ các dịch vụ. Liên tục 31. Srv_diff_host_rate Tỉ lệ % kết nối đến máy chủ khác nhau

từ dịch vụ. Liên tục

32. Dst_host_count Đếm các kết nối có cùng một đích đến. Liên tục 33. Dst_host_srv_count Đếm các kết nối có cùng host đích và sử

dụng các dịch vụ tƣơng tự. Liên tục 34. Dst_host_same_srv_rat

e

% các kết nối có cùng host đích và sử

dụng các dịch vụ tƣơng tự. Liên tục 35. Dst_host_diff_srv_rate % các dịch vụ khác nhau trên các host

hiện hành. Liên tục

36. Dst_host_same_src_

port_rate

% các kết nối đến các host hiện thời có

cùng cổng src. Liên tục

STT Tên đặc trƣng Mơ tả Tính chất _rate đến từ các host khác nhau.

38. Dst_host_serror_rate % các kết nối đến các host hiện thời có

một lỗi S0. Liên tục

39. Dst_host_srv_serror_ra

te

% các kết nối đến các host hiện hành và

dịch vụ quy định rằng có một lỗi SO. Liên tục 40. Dst_host_rerror_rate % các kết nối đến các host hiện thời có

một lỗi RST. Liên tục

41. Dst_host_srv_rerror_ra

te

% các kết nối đến các máy chủ hiện hành và dịch vụ quy định rằng có một lỗi RST.

Liên tục

Ví dụ về một bản ghi kết nối trong bộ KDD 99:

0, icmp, ecr_i, SF, 1032, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 511, 0, 0, 0, 0, 1.00, 0, 0, 255, 255, 1, 0, 1, 0, 0, 0, 0,0, smurf.

Thông tin cuối cùng trong mỗi bản ghi chính là nhãn của kết nối. Trong ví dụ trên nhãn cuối cùng của bản ghi là “smurf” tƣơng ứng với kiểu tấn công smurf một

dạng tấn công từ chối dịch vụ Dos.

Dữ liệu tấn công trong KDD 99 đƣợc chia làm bốn loại [7]:

1. DoS (denial of service): dữ liệu cho loại tấn công từ chối dịch vụ. Một số loại tấn công kiểu DoS nhƣ: ping of death, teardrop, smurf, SYN food,…

2. Probe: dữ liệu thể hiện loại tấn công thăm dị. Ví dụ một số loại tấn công dạng này nhƣ là: port-scan, ping-sweep,…

3. R2L (Remote to Local): dữ liệu thể hiện loại tấn công từ xa, hacker cố gắng xâm nhập vào mạng hoặc một số máy tính trong mạng;

4. U2R (User to Root): dữ liệu thể hiện loại tấn công chiếm quyền Root (quyền cao nhất) bằng việc leo thang đặc quyền từ quyền ngƣời dùng bình thƣờng lên quyền Root.

Bộ dữ liệu KDD 99 gốc gồm có ba tập dữ liệu, trong đó có hai bộ dữ liệu thƣờng đƣợc dùng để huấn luyện là bộ bộ “Whole KDD” gồm gần năm triệu bản ghi, và bộ “10% KDD” khi trích rút 10% dữ liệu từ bộ “Whole KDD” (tất cả các bản ghi là kết nối bình thƣờng hay tấn công đều đƣợc lấy theo tỷ lệ tƣơng ứng với bộ dữ liệu “Whole KDD”. Tuy nhiên, do số lƣợng dữ liệu quá lớn và để giảm chi phí tính tốn ngƣời ta thƣờng sử dụng bộ dữ liệu “10% KDD”. Bộ dữ liệu “Corrected KDD” đƣợc dùng làm bộ dữ liệu kiểm tra và độc lập với các bộ dữ liệu huấn luyện.

Dƣới đây là một số thông tin về số lƣợng các bản ghi trong các tập dữ liệu cùng với số lƣợng nhãn tƣơng ứng của mỗi loại tấn công [7].

Một số nghiên cứu gần [1][8] đây sử dụng bộ NSL-KDD, đây là bộ dữ liệu đƣợc trích rút từ bộ “Whole KDD” sau khi đã loại bỏ đi các bản ghi trùng lặp.

Bảng 3.2. Bảng phân bố số lƣợng các kiểu trạng thái kết nối trong các bộ dữ liệu KDD các bộ dữ liệu KDD

Bộ dữ liệu

Trạng thái xâm nhập Trạng thái

bình thƣờng Tổng số gói tin DoS Probe U2R R2L Normal

“10% KDD” 391458 4107 52 1126 97277 494020 “Full NSL - KDD” 45927 11656 52 995 67343 125973 “Whole KDD” 3883370 41102 52 1126 972780 4898430 “Corrected KDD” 229853 4166 70 16347 60593 311029 3.2. Tiền xử lý dữ liệu

Quá trình huấn luyện dựa vào các mơ hình học máy chủ yếu thực hiện việc tính tốn trên các ma trận. Vì vậy, các gói tin sau khi đã trích chọn đƣợc 42 đặc trƣng (trong đó có đặc trƣng số 42 là nhãn phân loại) cần tiến hành tiền xử lý. Ví dụ nhƣ: những đặc trƣng ở dạng phi số phải chuyển sang dạng số, hay chuẩn hóa dữ liệu đầu vào, …[7][14]. Đây đƣợc coi là một trong những khâu quan trọng ảnh hƣởng tới việc hội tụ của thuật tốn. Trong phần này, luận văn sẽ trình bày việc tiền xử lý dữ liệu trên bộ dữ liệu “Whole KDD” vì các bộ dữ liệu huấn luyện khác đều đƣợc trích rút từ bộ dữ liệu này.

3.2.1. Chuyển các giá trị phi số sang số

Bộ dữ liệu KDD CUP 99 có bốn cột đặc trƣng ở dạng phi số: cột đặc trƣng số hai biểu diễn loại giao thức, cột đặc trung số ba biểu diễn loại dịch vụ, cột đặc trƣng

Một phần của tài liệu (LUẬN văn THẠC sĩ) đánh giá hiệu quả một số thuật toán trong phát hiện xâm nhập mạng (Trang 44 - 63)

Tải bản đầy đủ (PDF)

(71 trang)