Phương pháp phát hiện xâm nhập sử dụng văn phạm nối cây trong lập trình gen

Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
PHƯƠNG PHÁP PHÁT HIỆN XÂM NHẬP  
SỬ DỤNG VĂN PHẠM NỐI CÂY  
TRONG LẬP TRÌNH GEN  
Vũ Văn Cảnh1, Hoàng Tuấn Hảo2, Nguyễn Văn Quân1  
Tóm tắt  
Những năm gần đây vấn đề an ninh mạng đã trở nên cấp thiết và tác động lớn tới hiệu  
quả hoạt động của các mạng máy tính hiện đại. Phát hiện và ngăn chặn tấn công mạng máy  
tính đã và đang là chủ điểm nghiên cứu của nhiều nhà nghiên cứu trên thế giới. Một trong  
những biện pháp bảo đảm an toàn cho các hệ thống mạng là Hệ thống phát hiện xâm nhập  
trái phép. Tuy nhiên, các hệ thống phát hiện trái phép tỏ ra kém hiệu quả đối với các dạng  
tấn công, xâm nhập mới, hoặc các biến thể của các dạng tấn công đã biết. Hướng tiếp cận  
học máy ứng dụng trong phát hiện xâm nhập đã khắc phục được các hạn chế trên và ngày  
càng thể hiện tính ưu việt trong phát hiện các mẫu tấn công mới với nhiều phương pháp khác  
nhau. Trong bài báo này, chúng tôi sử dụng kỹ thuật lập trình gen (GP-Genetic Programming)  
để cải thiện chất lượng phát hiện tấn công mạng. Trong thí nghiệm, chúng tôi sử dụng GP  
chuẩn và kỹ thuật văn phạm nối cây (TAG3P), tiến hành trên bộ dữ liệu nhân tạo do nhóm  
tác giả [25] đã đề xuất. Trên cơ sở các kết quả thí nghiệm và so sánh với một số kỹ thuật  
đã được đề xuất trước, chúng tôi nhận thấy ứng dụng GP và TAG3P trong phát hiện tấn công  
đạt hiệu quả tốt hơn các phương pháp trước đó.  
In recent years, network security issues have become urgent and significant impact on the  
performance of modern computer networks. Network intrusion detection/prevention system  
has been the topic of many studies researchers worldwide to improve the security of a  
network. However, the intrusion detection systems are not high effective for new attacks,  
or variants of known attacks. Machine learning approaches applied in intrusion detection have  
overcome restrictions on and increasingly shown the superiority in detecting new attacks with  
many different methods. In this paper, we use genetic programming technique (GP) and Tree  
Adjoining Grammar Guided Genetic Programming (TAG3P) on artificial datasets from [25].  
Based on experimental results and comparisons, we found that GP and TAG3P are more  
effective in detecting attacks than previous measures.  
Từ khóa  
GP, genetic programming, Classification, IDS, Attack detection, TAG3P, phát hiện tấn  
công  
1
Học viện Kỹ thuật quân sự  
26  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
1. Giới thiệu  
Ngày nay mạng máy tính đã trở thành một phần của cuộc sống hiện đại và ngày càng  
đóng vai trò quan trọng trong hầu hết các lĩnh vực của cuộc sống từ kinh tế, chính trị,  
quân sự, các lĩnh vực giải trí đến giáo dục và đào tạo... Cùng với sự phát triển của  
mạng máy tính, nguy cơ mất an toàn, an ninh đối với các thông tin ngày càng cao. Ngày  
càng có nhiều tấn công vào không gian mạng để truy cập trái pháp vào thông tin và hệ  
thống hoặc lạm dụng các tài nguyên mạng. Việc lạm dụng có thể dẫn tới hậu quả khiến  
cho tài nguyên mạng trở lên không đáng tin cậy hoặc không sử dụng được; một số cuộc  
tấn công có thể dẫn đến phá hủy hệ thống, hoặc đánh cắp thông tin hay làm ngừng hoạt  
động của hệ thống. Nhìn chung, các tấn công thường gây lên tổn thương đến các thuộc  
tính bảo mật thông tin và hệ thống. Vì vậy, vấn đề đảm bảo an ninh, an toàn thông tin  
khi sử dụng môi trường mạng cần phải được đặc biệt quan tâm. Phát hiện tấn công,  
xâm nhập mạng là một vấn đề lớn đã và đang được nhiều nhà nghiên cứu quan tâm.  
Trong thực tế, có khá nhiều nguy cơ xuất phát từ các cuộc tấn công mạng, do đó các  
hệ thống khác nhau đã được thiết kế và xây dựng để ngăn cản các cuộc tấn công này,  
đặc biệt là các hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) giúp  
các mạng chống lại các cuộc tấn công từ bên ngoài. Mục tiêu của IDS là cung cấp một  
bức tường bảo vệ, giúp các hệ thống mạng có khả năng chống lại các cuộc tấn công từ  
bên ngoài. Việc phát hiện tấn công dựa trên giả thiết là hành vi của kẻ tấn công khác  
với người sử dụng hợp lệ [11]. Năm 1985 Denning đề xuất phương pháp phát hiện xâm  
nhập để đếm các vụ tấn công và lạm dụng mạng máy tính. Phát hiện xâm nhập được  
triển khai bởi một hệ thống phát hiện xâm nhập và ngày nay đã có nhiều hệ thống phát  
hiện xâm nhập thương mại hiệu quả. Hình 1 mô tả các vị trí điển hình của IDS trong  
một hệ thống mạng.  
Hình 1. Vị trí của các IDS trong giám sát mạng  
Hệ thống phát hiện tấn công là một công cụ giám sát các sự kiện diễn ra trong hệ  
thống mạng máy tính và phân tích chúng thành các dấu hiệu của các mối đe dọa an  
ninh [9]. Một tấn công có thể gây ra từ bên trong hoặc bên ngoài của tổ chức; “tấn  
công từ bên trong” là tấn công được khởi tạo bởi một thực thể bên trong vành đai an  
27  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
ninh (tay trong), nghĩa là thực thể được phép truy cập vào tài nguyên hệ thống nhưng  
sử dụng theo cách không được chấp nhận bởi người cấp quyền; “tấn công từ bên ngoài”  
được khởi tạo từ bên ngoài vành đai an ninh bởi người dùng trái phép và không hợp  
pháp của hệ thống. Trên mạng internet, tiềm tàng những kẻ tấn công từ bên ngoài với  
phạm vi từ những kẻ tấn công nghiệp dư đến những tổ chức tội phạm, khủng bố Quốc  
tế, và chính phủ thù địch.  
Có hai nhóm hệ thống phát hiện tấn công: phát hiện lạm dụng và phát hiện bất thường.  
Hệ phát hiện lạm dụng thực hiện dò tìm tấn công qua việc so khớp với mẫu đã biết, và  
hệ thống phát hiện bất thường nhận dạng bất thường từ hành vi mạng bình thường. Hệ  
thống phát hiện lai là tổ hợp cả hệ thống phát hiện lạm dụng và bất thường.  
Hệ thống phát hiện tấn công dựa trên sự bất thường cố gắng xác định độ lệch so  
với các mẫu sử dụng thông thường đã được thiết lập trước để đánh dấu các tấn công.  
Vì vậy, các hệ thống dựa trên sự bất thường cần được huấn luyện dựa trên các hành vi  
thông thường. Các kỹ thuật học máy khác nhau đã được sử dụng rộng rãi để phục vụ  
cho mục đích này [5]. Khi đó, với mỗi gói tin bắt được, sau khi qua các công đoạn tiền  
xử lý, chọn lựa thuộc tính sẽ được phân lớp bởi các bộ phân lớp đã được huấn luyện.  
Việc huấn luyện các bộ phân lớp được thực hiện qua pha huấn luyện và kiểm tra với  
tập dữ liệu huấn luyện đã lưu trữ.  
Đã có nhiều kỹ thuật phát hiện tấn công đã được các học giả đề xuất như các phương  
pháp học máy, mạng nơ-ron ... Trong bài viết này, chúng tôi trình bày các nghiên cứu  
về kỹ thuật lập trình gen và phân tích các thuộc tính của các kiểu tấn công mạng để từ  
đó đề xuất ứng dụng lập trình gen nhằm nâng cao khả năng phát hiện tấn công mạng.  
Phần còn lại của bài báo được trình bày như sau: phần II Kiến thức nền tảng sẽ giới  
thiệu các công trình nghiên cứu trước đây, bộ dữ liệu huấn luyện KDDCUP99, tổng  
quan về lập trình gen; phần III giới thiệu mô hình đề xuất phát hiện tấn công dựa trên  
GP/TAG3P, cài đặt thử nghiệm và phân tích đánh giá các kết quả đạt được.  
2. Kiến trúc nền tảng  
2.1. Các nghiên cứu trước kia  
Hiện nay đã có nhiều nhà nghiên cứu đề xuất các giải pháp áp dụng kỹ thuật tính toán  
thông minh trong phát hiện tấn công mạng. Một số nghiên cứu sử dụng giải thuật di  
truyền (GA) và lập trình gen (GP) để dò tìm các loại tấn công tấn công trong các kịch bản  
khác nhau. Một số sử dụng GA và GP để tìm ra các quy tắc phần loại [8],[20],[21],[28].  
GA và GP được sử dụng để chọn các đặc trưng yêu cầu và xác định các tham số tối  
ưu và tối thiểu của một số chức năng lõi trong những phương pháp tính toán thông  
minh khác để có thể tiếp nhận các quy tắc dò tìm tấn công [7],[13],[22]. Một số bài  
28  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
báo có liên quan đến phát hiện xâm nhập có ảnh hướng nhất định trong an ninh mạng  
[1],[23],[26],[27].  
Crosbie và cộng sự đã đề xuất giải pháp sử dụng GA để phát hiện xâm nhập [10], áp  
dụng công nghệ đa tác nhân và sử dụng GP [14] để phát hiện mạng bất thường thông  
qua việc giám sát một số tham số của dữ liệu dấu vết mạng. Các phương pháp đề xuất  
có lợi thế khi sử dụng nhiều tác nhân tự trị nhỏ nhưng khó khăn khi giao tiếp giữa các  
tác nhân và nếu khởi tạo không đúng tiến trình huấn luyện có thể ảnh hưởng lớn đến  
thời gian thực hiện.  
Li [20] đã đề xuất phương pháp sử dụng GA để phát hiện xâm nhập mạng dị thường  
[2][14], phương pháp này được sử dụng để định lượng và phân loại các đặc trưng của dữ  
liệu mạng nhằm mục tiêu tìm ra các quy tắc phân loại. Tuy nhiên, định lượng đặc trưng  
có thể làm tăng tốc độ tìm kiếm nhưng kết quả thí nghiệm không hiệu quả. Goyal và  
Kumar [6] đề xuất thuật toán dựa trên GA để phân loại tất cả các loại tấn công đã biết  
trước dấu hiệu, sử dụng bộ dữ liệu huấn luyện với tỷ lệ phát hiện sai khá thấp (khoảng  
0.2%) với tỷ lệ phát hiện xấp xỉ 100% [2].  
Lu và Traore [21] sử dụng GP để phân loại tập dữ liệu lịch sử mạng, họ sử dụng  
framework hỗ trợ tin cậy như hàm mục tiêu và phân loại chính xác một vài loại xâm  
nhập mạng. Tuy nhiên việc sử dụng GP của họ để tạo ra các thủ tục thực thi rất khó và  
thủ tục huấn luyện trên tập dữ liệu với yêu cầu thời gian nhiều hơn. Xiao và cộng sự  
[32] đã sử dụng GA để phát hiện các hành vi mạng bất thường trên các thông tin lịch  
sử mạng [2],[14]. Một số đặc trưng mạng có thể được định nghĩa với các loại tấn công  
mạng dựa trên các thông tin tương hỗ giữa đặc trưng mạng và dạng tấn công, sau đó  
sử dụng những đặc trưng này để tạo ra các cấu trúc quy tắc tuyến tính cho GA; phương  
pháp này sử dụng thông tin tương hỗ và kết quả quy tắc tuyển tính có hiệu quả trong  
nâng cao tỷ lệ phát hiện và giảm thời gian thực hiện, tuy nhiên họ chỉ coi các đặc trưng  
là rời rạc.  
Gong và cộng sự [14] đề xuất sử dụng GA để thực hiện phát hiện tấn công mạng  
và đã đưa ra phần mềm thực thi với phương pháp tìm một tập quy tắc phân loại và sử  
dụng một framework hỗ trợ tin cậy để xem xét hàm mục tiêu. Abdullah và cộng sự [2]  
đã sử dụng thuật toán đánh giá hiệu suất dựa trên GA để phát hiện xâm nhập mạng,  
phương pháp này sử dụng lý thuyết thông tin để lọc lưu lượng mạng. Faraoun [12] đề  
xuất phương pháp phân loại tấn công sử dụng GP, kỹ thuật đề xuất bao gồm kết hợp  
tiến hóa của quần thể với sự chuyển đổi tuyến tính trên tập dữ liệu đầu vào được phân  
loại, sau đó ánh xạ chúng tới không gian mới với số chiều giảm để đạt được sự khác  
biệt tối đa giữa các lớp.  
Ahmad [4] sử dụng kỹ thuật SVM để cải thiện hiệu suất của các kỹ thuật phát hiện  
tấn công bằng cách lựa chọn các đặc trưng với trị số đặc trưng cao như PCA (Principal  
29  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
component analysis), nghiên cứu này áp dụng GA để tìm kiếm các thành phần di truyền  
ban đầu mà có thể tạo ra một tập con đặc trưng với độ nhạy tối ưu và sự phân biệt cao  
nhất.  
2.2. Bộ dữ liệu KDDCup 99  
Năm 1999, Stolfo [30] đề xuất bộ dữ liệu KDDCup 99 dựa trên các dữ liệu bắt được  
bởi chương trình đánh giá hệ thống phát hiện xâm nhập DARPA’98 [17]. Bộ dữ liệu này  
gồm gần 5 triệu bản ghi, mỗi bản ghi có 41 thuộc tính và được gán nhãn là bình thường  
hay các dạng tấn công đặc trưng. KDDCup 99 đã được sử dụng rộng rãi để đánh giá  
các kỹ thuật phát hiện bất thường. Các dạng tấn công được phân thành các nhóm sau  
đây:  
• Tấn công từ chối dịch vụ (DoS): Là thủ đoạn nhằm ngăn cản người dùng hợp pháp  
truy cập và sử dụng vào một dịch vụ nào đó, DoS có thể làm ngưng hoạt động của  
hệ thống mạng, máy tính. Về bản chất nhằm chiếm dụng một lượng lớn tài nguyên  
mạng như băng thông, bộ nhớ... và làm mất khả năng xử lý các yêu cầu dịch vụ  
từ các khách hàng.  
• User to Root Attack (U2R): Kẻ tấn công với quyền của một người dùng bình thường  
cố gắng để đạt được quyền truy nhập cao nhất vào hệ thống một cách bất hợp pháp.  
Một cách phổ biến của lớp tấn công này là thực hiện bằng phương pháp gây tràn  
bộ đệm.  
• Remote to Local Attack (R2L): Kẻ tấn công cố gắng đạt được quyền truy cập vào  
hệ thống máy tính bằng việc gửi các gói tin tới hệ thống thông qua mạng. Một vài  
cách phổ biến mà loại này thực hiện là đoán mật khẩu thông qua phương pháp từ  
điển brute-force, FTP Write,...  
• Probing Attack: Kẻ tấn công thực hiện quét mạng hoặc máy tính để tìm ra điểm  
yếu dễ tấn công mà thông qua đó tin tặc có thể khai thác hệ thống. Một cách phổ  
biến của loại tấn công này là thực hiện thông qua việc quét các cổng của hệ thống  
máy tính.  
Một số chuyên gia cho rằng hầu hết các tấn công mới đều là biến thể của các tấn  
công đã biết và các dấu hiệu của các tấn công đã biết có thể đủ để nhận dạng các biến  
thể mới. Bộ dữ liệu huấn luyện KDD’99 bao gồm 24 loại tấn công khác nhau như trong  
bảng 1 và có thêm 14 loại tấn công mới được thêm vào trong bộ dữ liệu kiểm tra. Dựa  
vào các đặc trưng tấn công có thể phân loại KDD’99 thành 3 nhóm chính như sau:  
• Nhóm đặc trưng cơ bản: Bao gồm tất cả các thuộc tính có thể có từ các kết nối  
TCP/IP.  
• Nhóm đặc trưng lưu lượng: Bao gồm các đặc trưng được tính toán với mối liên  
hệ với khoảng thời gian và được chia thành 2 nhóm:  
30  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
– Đặc trưng “same host”: Các kết nối trong khoảng thời gian dưới 2 giây có  
cùng host đích với kết nối hiện hành và thống kê liên quan tới các hành vi  
giao thức, dịch vụ, ...  
– Đặc trưng “same service”: Các kết nối trong khoảng thời gian dưới 2 giây có  
cùng dịch vụ với kết nối hiện hành.  
Ngoài ra còn có một số tấn công thăm dò quét host (cổng) sử dụng khoảng thời  
gian lớn hơn 2 giây, do đó không tạo ra các mẫu tấn công trong khoảng thời gian  
2 giây.  
• Nhóm đặc trưng nội dung: Khác với hầu hết tấn công DoS và Probing; R2L và  
U2R không có bất cứ một mẫu tấn công nào. Bởi vì DoS và Probing liên quan  
đến nhiều kết nối với một số host trong một khoảng thời gian rất ngắn; tuy nhiên  
tấn công R2L và U2R được nhúng trong đoạn gói dữ liệu và thường xuyên chỉ bao  
gồm một kết nối. Để phát hiện những loại tấn công này, chúng ta cần một số đặc  
trưng để có thể tìm kiếm những hành vi nghi ngờ trong phần dữ liệu, chẳng hạn  
số lần cố gắng đăng nhập thất bại,...  
Bảng 1. Bảng phân loại 24 loại tấn công trong KDDCup 99  
Loại  
DoS  
Các tấn công trong bộ dữ liệu KDDCup 99  
Back, Land, Neptune, Pod, Smurf, Teardrop  
Probe Ipsweep, Nmap, Portsweep, Satan  
U2R  
R2L  
Buffer_overflow, Loadmodule, Perl, Rootkit  
Ftp_write, Guess_passwd, Imap, Multihop, Phf, Spy, Warezclient, Warezmaster  
Các nghiên cứu trong [3][16][18][29][31] cho thấy có thể sử dụng 10 thuộc tính có  
đóng góp nhiều nhất trong phát hiện xâm nhập thay vì sử dụng cả 41 thuộc tính trong  
bộ dữ liệu KDD99, với kết quả phát hiện xâm nhập tốt và ít sử dụng tài nguyên hệ  
thống hơn. Trong bài báo này, chúng tôi sử dụng bộ dữ liệu nhân tạo do nhóm tác giả  
Phạm Trường Sơn, Nguyễn Quang Uy và Nguyễn Xuân Hoài đề xuất [25]. Bộ dữ liệu  
này đã được các tác giả phân loại thành từng loại tấn công cụ thể với 10 thuộc tính phù  
hợp nhất trong bộ dữ liệu KDD’99, cụ thể các thuộc tính của các loại tấn công được  
liệt kê trong bảng 2 như sau:  
Bảng 2. Lựa chọn các thuộc tính cho mỗi loại tấn công từ KDD’99  
Loại tấn công Các thuộc tính lựa chọn  
DoS  
3, 4, 5, 6, 8, 10, 13, 23, 24, 37  
3, 4, 5, 6, 29, 30, 32, 35, 39, 40  
1, 3, 5, 6, 12, 22, 23, 31, 32, 33  
1, 2, 3, 5, 10, 13, 14, 32, 33, 36  
Probe  
R2L  
U2R  
31  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
2.3. Lập trình Gen  
2.3.1. Thuật toán GP: Lập trình gen (GP) là sự mở rộng của thuật toán di truyền (GA)  
[19], đây là một phương pháp tìm kiếm tổng quát sử dụng phép loại suy từ chọn lọc  
tự nhiên và tiến hóa. Sự khác biệt chính giữa GP và GA là phương pháp mã hóa các  
giải pháp tìm kiếm. Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán  
tối ưu hoá. Thông thường, các lời giải này được mã hoá dưới dạng một chuỗi các gen  
có chiều dài cố định. Giá trị của các gen có trong chuỗi được lấy từ một bảng các ký  
tự được định nghĩa trước có thể là chuỗi bít nhị phân, số nguyên, số thực, ký tự, ...  
Mỗi chuỗi gen được liên kết với một giá trị được gọi là độ phù hợp, độ phù hợp này  
được sử dụng trong quá trình chọn lọc. Ngược lại với GA, GP mã hóa các giải pháp đa  
tiềm năng cho các vấn đề cụ thể như là một quần thể của các chương trình hoặc các  
hàm; các chương trình có thể được biểu diễn dưới dạng cây phân tích cú pháp. Thông  
thường, cây phân tích cú pháp bao gồm các nút nội bộ và các nút lá. Các nút nội bộ  
được gọi là các nguyên hàm (function), và các nút lá được gọi là các ký hiệu kết thúc  
(terminal). Các terminal có thể được xem như là đầu vào cho các vấn đề cụ thể (các  
biến độc lập và tập các hằng số). Các function có thể là các hàm toán học, các toán  
tử,. .. Ví dụ, trong biểu diễn các quy tắc phát hiện tấn công, GP có thể được sử dụng  
để tiến hóa các quy tắc mới từ một quy tắc tổng quát, các quy tắc được biểu diễn dạng  
như if condition1 and condition2 and ... and conditionN then attack. Trong trường  
hợp này, các function tương ứng với toán tử and và các terminal là các condition  
(như: condition1, condition2, . . . conditionN ).  
GP tạo ngẫu nhiên một quần thể của các giải pháp ban đầu, sau đó áp dụng các toán  
tử di truyền trên quần thể này để tạo ra quần thể mới. Các toán tử di truyền bao gồm  
tái sinh (Reproduction), lai ghép (Crossover), đột biến (Mutation), loại bỏ theo điều  
kiện (Dropping condition). . . Quá trình tiến hóa từ quần thể này sang quần thể tiếp  
theo được gọi là thế hệ. Giải thuật GP có thể được mô tả tổng quát như sau:  
• Bước 1. Tạo ngẫu nhiên một quần thể các chương trình, các quy tắc, sử dụng biểu  
thức hồi quy để cung cấp như khởi tạo quần thể ban đầu;  
• Bước 2. Đánh giá độ thích nghi của mỗi chương trình hoặc quy tắc bởi hàm thích  
nghi được định nghĩa mà có thể đo khả năng của quy tắc hoặc chương trình có thể  
giải quyết vấn đề;  
• Bước 3. Sử dụng các toán tử tái sinh để sao chép chương trình hiện tại vào thế hệ  
mới;  
• Bước 4. Tạo ra quần thể mới với các toán tử lai ghép, đột biến hoặc các toán tử  
khác từ một tập lựa chọn ngẫu nhiên của cá cá thể cha mẹ;  
• Bước 5. Lặp lại từ bước 2 trở đi đối với quần thể mới cho đến khi thỏa mãn một  
tiêu chuẩn dừng đã được định nghĩa trước hoặc một số cố định các thế hệ đã được  
hoàn thành;  
32  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
• Bước 6. Giái pháp cho vấn đề là chương trình di truyền với giá trị thích nghi cho  
tất cả các thế hệ.  
2.3.2. Các toán tử di truyền:  
Trong GP, để thực hiện toán tử lai ghép trước hết sao chép ngẫu nhiên hai cây cha  
mẹ từ quần thể ban đầu; sau đó hai điểm lai ghép sẽ được chọn ngẫu nhiên trên 2 cây  
cha mẹ. Thực hiện hoán đổi hai nhánh con của hai cây cha mẹ tại các điểm đã được lựa  
chọn để tạo ra hai cây con. Cây con đạt được thường khác với cha mẹ√chúng về kích  
(X1+X2)∗ X2  
√
thước và hình dáng. Hình 2 mô tả toán tử lai ghép giữa đa thức  
và đa thức  
.
X1+ X1  
(X1∗X2)−X1  
(X1+X2)  
X1+ X1  
(X1+X2)−X1  
√
√
, kết quả thu được hai đa thức con mới là  
và  
X1+X2  
(X1+X2)∗ X2  
Hình 2. Sử dụng toán tử lai ghép trong GP.  
Trong toán tử đột biến, một cây cha/mẹ sẽ được sao chép từ quần thể ban đầu, sau  
đó chọn ngẫu nhiên một điểm đột biến (nút lá hoặc cây con). Sau đó, nút lá hoặc cây  
con được thay thế bởi một nút lá mới hoặc cây con được tạo ngẫu nhiên. Hình 3 mô  
√
X1−X1  
√
tả một thao tác đột biến trên đa thức  
kết quả đa thức sau khi đột biến là  
(X1+X2)∗ X2  
(X1∗X2)−X1  
√
.
(X1+X2)∗ X2  
Hình 3. Sử dụng toán tử đột biến trong GP  
Toán tử “dropping condition” được đề xuất để tiến hóa quy tắc mới, toán tử này sẽ  
33  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
được lựa chọn ngẫu nhiên điều kiện trong quy tắc và sau đó thay đổi thành bất kỳ (any),  
như vậy điều kiện này sẽ không cần thiết phải xem xét lại trong quy tắc đã chọn nữa.  
Ví dụ, quy tắc: if condition1 and condition2 and condition3 then attack có thể  
biến đổi thành: if condition1 and condition2 and any then attack.  
2.3.3. Hàm thích nghi:  
Để lựa chọn các cá thể cho thao tác lai ghép, tái tạo và đột biến, cũng như đánh giá  
độ thích nghi (độ tốt) của từng cá thể trong việc giải quyết bài toán, hàm tính giá trị  
thích nghi (gọi tắt là hàm thích nghi) là phương pháp để đánh giá độ thích nghi của  
từng cá thể trong quần thể. Hàm thích nghi nhằm đảm bảo cho sự tiến hóa hướng tới  
sự tối ưu bằng cách tính toán giá trị thích nghi cho mỗi cá thể trong quần thể. Giá trị  
thích nghi đánh giá hiệu suất của mỗi cá thể trong quần thể tại mỗi thế hệ.  
Độ thích nghi này được xác định trên cơ sở đánh giá chương trình so với kết quả tập  
dữ liệu được huấn luyện. Độ tốt của mỗi cá thể thường được chuẩn hóa trước khi được  
lựa chọn cho các phép toán di truyền. Quá trình chuẩn hóa trong GP chuẩn được trình  
bày trong [19].  
2.4. Lập trình Gen định hướng bởi văn phạm nối cây  
Hệ lập trình Gen định hướng bởi văn phạm nối cây (TAG3P) sử dụng văn phạm nối  
cây cùng với văn phạm phi ngữ cảnh để tạo ra những ràng buộc về cú pháp cũng như  
độ sai lệch khi tìm kiếm của chương trình tiến hóa. TAG3P bao gồm tất cả các thuộc  
tính của GP chuẩn dựa trên các biểu diễn dạng hình cây khác.  
Trong TAG3P, cấu trúc văn phạm được xác định bằng tập hợp các cây α và cây β,  
cấu trúc quần thể là các cây dẫn xuất từ văn phạm này. Việc lượng giá độ tốt của mỗi  
cá thể được thực hiện bằng cách tạo ra các cây dẫn xuất được tương ứng từ cây dẫn  
xuất TAG, sau đó đánh giá biểu thức trên cây dẫn xuất được. Không gian tìm kiếm do  
đó được xác định bằng văn phạm, tập hợp tất cả các cây biểu thức GP đều do văn phạm  
cho trước tạo ra với giới hạn về độ phức tạp của cây này. Tuy nhiên, đặc tính thứ nguyên  
không xác định của cây giúp kiểm soát một cách dễ dàng theo kích thước của cây. Do  
đó, kích thước của cây được sử dụng để kiểm soát độ phức tạp của cây trong TAG3P  
thay vì theo chiều cao của cây như trong các hệ GP khác [15],[24].  
Độ phức tạp của phương pháp phụ thuộc vào kích thước quần thể, kích thước của  
cây lớn nhất và số thế hệ cần thực hiện. Trong đó, chi phí để tạo ra các cấu trúc dữ  
liệu ràng buộc bởi số lượng các nút được chọn hoặc quần thể.Độ phức tạp trong trường  
hợp xấu nhất khi tất cả các cây đều đạt kích thước lớn nhất, trường hợp tốt nhất khi  
quần thể có số cây thưa thớt. Trong trường hợp xấu nhất, độ phức tạp được xác định  
là O(NumberOfTree × (MaxTreeAritySizeOfTree+1 − 1)). Độ phức tạp mỗi lần thăm  
34  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
một nút trong quần thể sẽ là O(NumberOfTrees × (MinArity × SizeOfTree + 1)).  
Như vậy độ phức tạp thực tế nằm trong khoảng:  
O(NumberOfTrees × (MinArity × SizeOfTree + 1)) ≥  
ActualComplexity ≥  
O(NumberOfTree × (MaxTreeAritySizeOfTree+1 − 1))  
Hình 4 mô tả ví dụ về cây dẫn xuất.  
Hình 4. Cây dẫn xuất  
Tương tự như GP chuẩn, TAG3P cũng gồm có 5 thành phần: biểu diễn chương trình,  
khởi tạo quần thể, hàm thích nghi, toán tử di truyền và các tham số. Cụ thể như sau:  
2.4.1. Biểu diễn chương trình:  
TAG3P sử dụng sự chuyển đổi giữa kiểu gen và kiểu hình, TAG3P có thể giải quyết  
bài toán với những ràng buộc cú pháp cảm ngữ cảnh, cú pháp phi ngữ cảnh hoặc không  
có ràng buộc về cú pháp [15]. Do đó, kiểu hình có thể là một trong các trường hợp sau:  
• Văn phạm LTAG Glex được sử dụng như là ngôn ngữ hình thức cho việc định nghĩa  
độ lệch, trong trường hợp này, kiểu hình là cây dẫn xuất của Glex.  
• Văn phạm phi ngữ cảnh (CFG) được sử dụng để tạo ra LTAG Glex, khi đó, cây dẫn  
xuất của Glex sẽ được sử dụng là kiểu gen, còn kiểu hình sẽ là cây dẫn xuất của  
G (cây dẫn xuất của văn phạm Glex - Xem hình 5).  
• Tập các hàm GP và ký hiệu kết được sử dụng để tạo ra văn phạm phi ngữ cảnh G =  
(N = {Bool, PRE, OP, V AR}, T = {X, sin, cos, log, ep, +, −, ∗, /, (, )}, P, {Bool})  
trong đó ep là hàm mũ, và tập luật P = {Bool → Bool OP Bool, Bool →  
PRE(Bool), Bool → V AR, OP → +, OP → −, OP → ∗, OP → /, PRE →  
sin, PRE → cos, PRE → log, PRE → ep, V AR → TL}.  
Trong bài báo này, LTAG Glex được biểu diễn như sau: Glex = [N = {Bool, PRE, OP, V AR}, T =  
{TL, sqrt, ep, log, +, −, ∗, /}, I, A] khi I ∪ A  
2.4.2. Khởi tạo quần thể:  
Chọn một số ngẫu nhiên trong khoảng cho trước, sau đó lấy ngẫu nhiên cây α từ tập  
35  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
Hình 5. Ví dụ văn phạm LTAG  
cây cơ sở trong Glex để tạo cây dẫn xuất cho Glex. Cây dẫn xuất này sẽ được mở rộng  
bằng phép nối với một cây β được chọn ngẫu nhiên từ tập cây cơ sở. Quá trình này kết  
thúc khi kích thước quần thể đạt tới giá trị được chọn.  
2.4.3. Hàm thích nghi:  
Để đánh giá sự thích nghi của các cá thể, trước hết chuyển các cá thể thành các cây  
dẫn xuất. Sau đó, quá trình tính toán sự thích nghi của cá thể được thực hiện trên cây  
dẫn xuất (hình 6).  
Hình 6. Quy trình chuyển các cá thể thành cây dẫn xuất  
2.4.4. Toán tử đi truyền:  
TAG3P cũng có các toán tử di truyền chính như GP chuẩn đó là lựa chọn, tái tạo, lai  
ghép và đột biến:  
• Lựa chọn: trong TAG3P, các cơ chế lựa chọn đều có thể được sử dụng. Đặc biệt,  
cơ chế dựa trên độ thích nghi và lựa chọn cạnh tranh thường hay được sử dụng.  
• Tái tạo: một phần của quần thể được chọn dựa trên độ thích nghi và sao chép chúng  
vào trong thế hệ mới.  
36  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
•
Lai ghép: tạo ra hai cá thể mới từ hai cá thể cha mẹ được lựa chọn từ quần thể dựa  
vào giá trị thích nghi. Đầu tiên, hai cây cha mẹ t1 và t2 được chọn thông qua cơ  
chế lựa chọn. Quá trình được thực hiện bằng cách chọn ngẫu nhiên hai nút tương  
thích từ hai cây cha mẹ, sau đó hoán đổi 2 cây con của 2 cây cha mẹ với nhau và  
thu được 2 cây mới (hình 7a).  
• Đột biến: Trong thao tác đột biến, một cây con được chọn ngẫu nhiên. Sau đó, cây  
con được loại bỏ và thay thế bởi cây con khác có cùng kích thước (hình 7b).  
(a) . Thao tác lai ghép trong TAG3P  
(b) . Thao tác đột biến trong TAG3P.  
Hình 7. Thao tác di truyền trong TAG3P  
3. HỆ THỐNG PHÁT HIỆN XÂM NHẬP DỰA TRÊN TAG3P  
3.1. Mô hình phát hiện tấn công dựa trên lập trình gen  
Mô hình đề xuất bao gồm 2 giai đoạn (hình 8). Trong giai đoạn huấn luyện, sử dụng  
dữ liệu dấu vết mạng để tạo ra tập các quy tắc phát hiện tấn công mạng. Giai đoạn 2  
giá trị thích nghi cao và tập quy tắc tốt nhất được sử dụng để phát hiện các tấn công  
trên mạng.  
Trong hình trên, GP thực hiện trên từng cá thể và tiến hóa nhóm cá thể thành một  
quần thể. Mỗi cá thể biểu diễn một kỹ thuật để giải quyết vấn đề. Một hàm thích nghi  
sẽ đánh giá cho mỗi quy tắc mà nó được thi hành. Sự tiến hóa quần thể bắt đầu từ quần  
thể được khởi tạo ban đầu bằng cách lựa chọn một cá thể mà cải thiện dần giá trị thích  
nghi của nó. Các toán tử di truyền: lựa chọn, lai ghép, đột biến và tái sinh được áp dụng  
cho mỗi cá thể suốt quá trình tạo ra thế hệ tiếp theo. Đầu tiên một số cá thể sẽ được  
37  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
Hình 8. Mô tả thiết kế cho mô hình đề xuất phát hiện tấn công dựa lên GP+TAG3P  
lựa chọn dựa vào một chiến lược lựa chọn nào đó phù hợp, sau đó các cá thể sẽ được  
áp dụng các toán tử lại ghép, đột biến và tái sinh theo một tỷ lệ nhất định (tùy thuộc  
vào từng thí nghiệm). Cuối cùng các cá thể tốt nhất sẽ được lựa chọn để đưa vào thế  
hệ kế tiếp sao cho các cá thể này đảm bảo khả năng phát hiện các tấn công từ quần thể  
đã được tạo ra trong thế hệ đó.  
Trong nghiên cứu này, chúng tôi sử dụng TAG3P để thực hiện phương pháp lựa chọn  
các toán tử di truyền thích nghi áp dụng cho 2 toán tử di truyền: lai ghép và đột biến.  
Cơ chế này có thể được tóm tắt ngắn gọn như sau:  
- Lai ghép: Hai cá thể được lựa chọn dựa trên giá trị thích nghi của chúng. Chọn  
ngẫu nhiên một điểm trên mỗi cây được chọn, tùy theo sự ràng buộc mỗi cây con có  
thể được nối với cây cha mẹ khác. Nếu điểm nối được tìm thấy, thì cây con này sẽ được  
nối với cha mẹ kia và ngược lại tại điểm kết nối, ngược lại hai cá thể này sẽ bị loại bỏ.  
Quá trình này sẽ được lặp lại cho đến khi một điểm lai ghép hợp lệ được tìm thấy hoặc  
vượt quá giới hạn.  
- Đột biến: Chọn ngẫu nhiên một điểm trên cây đã chọn, sau đó tạo ngẫu nhiên một  
cây con mới để thay thế cây con tại điểm đã chọn trên cây cha/mẹ.  
38  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
3.2. Cài đặt thử nghiệm  
Nhóm tác giả đã tiến hành thử nghiệm phát hiện tấn công đối với mô hình đề xuất  
trên bộ dữ liệu nhân tạo do nhóm tác giả Phạm Trường Sơn cùng các cộng sự đề xuất  
với 10 thuộc tính cho mỗi loại tấn công [25]. Thử nghiệm của chúng tôi đươc tiến hành  
tại phòng thí nghiệm An ninh mạng bộ môn An toàn thông tin, Học viện KTQS với các  
tham số di truyền được xác định như sau:  
3.2.1. Các tham số và hàm mục tiêu:  
* Các tham số sử dụng trong quá trình tiến hóa như sau:  
Bảng 3. Tập các tham số sử dụng trong quá trình tiến hóa  
Tham số  
Tỷ lệ lai ghép Pc  
Giá trị  
0.9  
Tỷ lệ đột biết Pm  
0.1  
Kích thước quần thể (poplen)  
Số thế hệ thực hiện di truyền  
200  
50  
Số lượng mẫu trong dữ liệu huấn luyện Phụ thuộc dữ liệu của kịch bản huấn luyện  
Số lượng mẫu trong dữ liệu kiểm tra  
Phương pháp lựa chọn  
Tập Function  
Phụ thuộc dữ liệu của kịch bản kiểm tra  
Lựa chọn cạnh tranh  
{add, sub, div, mul, sin, cos, log, ep}  
Tập terminal  
{X1, X2, . . . , X10}: 10 thuộc tính tấn công  
* Hàm mục tiêu (fitness): Giá trị hàm mục tiêu được tính toán theo các bước như  
sau:  
- Tính thô (rawfitness):  
NumFitCase  
X
|fi(X1, X2 , ... , X10) − yi|  
rawfitness(x) =  
NumFitCase  
i=1  
trong đó:  
+ NumFitCase: Số mẫu trong bộ dữ liệu huấn luyện.  
+ X1, X2, ..., X10: Thuộc tính lựa chọn cho kiểu tấn công.  
+ fi: Function được xây dựng trong quá trình tiến hóa  
+ yi: Phân loại mẫu dữ liệu là tấn công hay không tấn công.  
Tuy nhiên, trong quá trình thư nghiệm, chúng tôi đã tiến hành chuẩn hoá giá trị của  
39  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
hàm fitness tuần tự như sau:  
poplen  
X
1
adjustfitness(i) =  
1 + rawfitness(i)  
i=1  
adjustfitness(i)  
normalfitness(i) =  
P
poplen adjustfitness(i)  
i=1  
3.2.2. Phương pháp đánh giá:  
Một hệ thống phát hiện xâm nhập hiệu quả đòi hỏi có độ chính xác và tỷ lệ phát hiện  
cao nhưng tỷ lệ phát hiện nhầm thấp. Trong nghiên cứu, chúng tôi đã đánh giá hiệu qủa  
của phương pháp đối với phát hiện xâm nhập theo các công thức sau:  
* Tỷ lệ phát hiện (Detection Rate):  
TP  
DR =  
TP + FN  
trong đó,  
- TP: tỷ lệ phát hiện đúng các mẫu tấn công  
- FN: tỷ lệ phát hiện sai các mẫu là tấn công nhưng lại gán nhãn là bình thường.  
3.2.3. Kịch bản thử nghiệm:  
Chúng tôi đã tiến hành thử nghiệm trên 03 kịch bản cụ thể như sau:  
1) Kịch bản 1  
Trong giai đoạn huấn luyện chỉ huấn luyện trên bộ dữ liệu không có mẫu dữ liệu  
tấn công. Trong giai đoạn kiểm tra, kiểm tra trên bộ dữ liệu có cả các mẫu dữ liệu  
bình thường và dữ liệu tấn công nhằm đánh giá khả năng phát hiện tấn công của  
phương pháp đề xuất. Thử nghiệm được tiến hành trên 3 thí nghiệm sau:  
• Thí nghiệm cho kiểu tấn công DDoS:  
– Dữ liệu huấn luyện: 0 mẫu Dữ liệu tấn công + 500 mẫu Dữ liệu bình thường  
– Dữ liệu kiểm tra: 500 mẫu Dữ liệu tấn công + 1000 mẫu Dữ liệu bình thường  
• Thí nghiệm cho kiểu tấn công PROBE:  
– Dữ liệu huấn luyện: 0 mẫu Dữ liệu tấn công + 190 mẫu Dữ liệu bình thường  
– Dữ liệu kiểm tra: 180 mẫu Dữ liệu tấn công + 380 mẫu Dữ liệu bình thường  
• Thí nghiệm cho kiểu tấn công DDoS và PROBE:  
– Dữ liệu huấn luyện: 0 mẫu Dữ liệu tấn công + 360 mẫu Dữ liệu bình thường  
– Dữ liệu kiểm tra: 180 mẫu Dữ liệu tấn công PROBE + 180 mẫu Dữ liệu tấn  
công DDoS + 320 mẫu Dữ liệu bình thường  
40  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
2) Kịch bản 2  
Trong giai đoạn huấn luyện, huấn luyện trên bộ dữ liệu có cả các mẫu dữ liệu tấn  
công và bình thường. Trong giai đoạn kiểm tra, kiểm tra trên bộ dữ liệu có cả các  
mẫu dữ liệu tấn công và mẫu không tấn công nhằm đánh giá khả năng phát hiện  
tấn công của phương pháp đề xuất. Kịch bản thử nghiệm trên 03 thí nghiệm với  
các kiểu tấn công: DDoS, PROBE và hỗn hợp DDoS-PROBE.  
• Thí nghiệm cho kiểu tấn công DDoS: Dữ liệu đầu vào như sau  
– Dữ liệu huấn luyện: 50 mẫu Dữ liệu tấn công + 150 mẫu Dữ liệu bình thường  
– Dữ liệu kiểm tra: 300 mẫu Dữ liệu tấn công + 600 mẫu Dữ liệu bình thường  
• Thí nghiệm cho kiểu tấn công PROBE: Dữ liệu đầu vào như sau  
– Dữ liệu huấn luyện: 40 mẫu Dữ liệu tấn công + 80 mẫu Dữ liệu bình thường  
– Dữ liệu kiểm tra: 140 mẫu Dữ liệu tấn công + 300 mẫu Dữ liệu bình thường  
• Thí nghiệm cho kiểu tấn công PROBE và DDoS  
– Dữ liệu huấn luyện: 30 mẫu Dữ liệu tấn công PROBE + 30 mẫu Dữ liệu  
tấn công DDoS + 120 mẫu Dữ liệu bình thường  
– Dữ liệu kiểm tra: 150 mẫu Dữ liệu tấn công PROBE + 150 mẫu Dữ liệu tấn  
công DDoS + 320 mẫu Dữ liệu bình thường  
3) Kịch bản 3  
Trong giai đoạn huấn luyện trên bộ dữ liệu có chứa các mẫu tấn công smurf và  
bình thường. Trong giai đoạn kiểm tra, kiểm tra trên bộ dữ liệu có cả các mẫu dữ  
liệu bình thường và các mẫu tấn công mới nhằm đánh giá khả năng phát hiện các  
mẫu tấn công mới, chưa biết của phương pháp đề xuất.  
• Dữ liệu huấn luyện: 87 mẫu Dữ liệu tấn công smurf + 400 mẫu Dữ liệu bình  
thường  
• Dữ liệu kiểm tra: 400 mẫu Dữ liệu tấn công các kiểu DDoS (land, back, neptune,  
pop, teardrop) + 800 mẫu Dữ liệu bình thường  
3.3. Kết quả và phân tích  
Phần này biểu diễn kết quả thử nghiệm ứng dụng một số kỹ thuật học máy và phương  
pháp đã đề xuất. Các tham số của phương pháp đề xuất được đề cập đến trong bảng 3,  
nhóm tác giả đã thực hiện với 30 lần chạy và lấy kết quả phân loại tấn công của tất cả  
các lần thực hiện để làm giá trị thống kê và so sánh với các phương pháp khác. Hiệu  
quả của phương pháp áp dụng cho mỗi tập dữ liệu thử nghiệm sẽ được tính theo tỷ lệ  
% của các phân loại chính xác trên tập dữ liệu kiểm tra và kết quả thử nghiệm được  
thống kê trên các bảng.  
Các kết quả thống kê khi áp dụng phương pháp được đề xuất với GP chuẩn (StandGP)  
và TAG3P cho vấn đề phát hiện tấn công được so sánh với một số phương pháp học máy  
khác, như (cây quyết định (J48), SVM, hai kỹ thuật mạng nơ-ron nhân tạo (Multilayer  
41  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
Perceptron: Perc và Resting Bitch Face: RBF), và mạng Bayes (mạng Bayes: Bayes và  
NavieBayes: Navie)).  
3.3.1. Kịch bản 1:  
Bảng 4 biểu diễn các kết quả khi áp dụng một số phương pháp học máy, GP chuẩn  
và TAG3P cho phát hiện xâm nhập trong trong kịch bản 1.  
Bảng 4. Kết quả thí nghiệm 1 (%)  
Phương pháp J48  
SVM Perc  
Bayes Navie RBF  
StandGP TAG3P  
Thí nghiệm 1 66.67 66.67 66.67 66.67 66.67 66.67 70.0  
Thí nghiệm 2 67.86 67.86 67.86 67.86 67.86 67.86 65.0  
Thí nghiệm 3 47.06 47.06 47.06 47.06 47.06 47.06 95.0  
97.06  
99.29  
98.72  
Hình 9. Giá trị fitness trung bình của TAG3P trong các thí nghiệm của kịch bản 1.  
Từ kết quả bảng 4 cho thấy phương pháp đề xuất có hiệu quả cao hơn các phương  
pháp học máy đã được nghiên cứu trước đây cho kịch bản 1. Các thí nghiệm trong kịch  
bản 1 cho thấy với bộ dữ liệu huấn luyện mà không chứa mẫu dữ liệu tấn công thì hiệu  
quả của các kỹ thuật học máy giống hệt nhau. Khi áp dụng GP chuẩn cho kịch bản này  
trong thí nghiệm 1 và 3 cho hiệu quả cao hơn các kỹ thuật học máy khác là 70% và  
95.0%. Tuy niên trong thí nghiệm 2 thì hiệu quả lại thấp hơn, chỉ đạt 65.0% trong khi  
các kỹ thuật học máy đạt 67.86%. Với phương pháp đề xuất áp dụng TAG3P trong phát  
hiện tấn công trong trường hợp dữ liệu huấn luyện không có mẫu tấn công cho hiệu  
quả cao hơn hẳn các phương pháp trước đó. Điều này cho thấy TAG3P hiệu quả trong  
việc phát hiện các mẫu chưa từng biết tới trước đó hay chưa được huấn luyện. Nói cách  
khác, TAG3P có hiệu quả tốt trong việc giải quyết các bài toán chưa biết trước lời giải.  
Hình 9 biểu diễn giá trị fitness của các thí nghiệm trong kịch bản 1.  
42  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
3.3.2. Kịch bản 2:  
Bảng 5. Kết quả các thí nghiệm của kịch bản 2 (%)  
Phương pháp J48  
Thí nghiệm 1 90.36 98.25 98.62 93.61 96.62 98.50 75.00  
Thí nghiệm 2 96.59 93.41 95 97.5 92.95 92.95 100.00  
Thí nghiệm 3 96.58 94.47 97.11 98.42 93.95 93.95 95.00  
SVM Perc  
Bayes Navie RBF  
StandGP TAG3P  
93.74  
94.76  
99.08  
Hình 10. Giá trị fitness trung bình của TAG3P trong các thí nghiệm của kịch bản 2.  
Các kết quả trong bảng 5 cho thấy các thí nghiệm của kịch bản 2 với các phương  
pháp đề xuất GP chuẩn và TAG3P có kết quả phân loại tương đương với các kết quả  
phân loại trước đây, có một số ỹỹ thuật học máy có thể cho kết quả phân loại tốt hơn.  
Tuy nhiên trong trường hợp bộ dữ liệu có nhiều loại tấn công thì với TAG3P cho kết  
quả phân loại tốt hơn. Nhìn chung trong trường hợp huấn luyện và kiểm tra trên các bộ  
dữ liệu có các mẫu tấn công biết trước giữa các phương pháp phân loại tấn công không  
có sự chênh lệch quá lớn. Hình 10 biểu diễn giá trị fitness của các thí nghiệm trong  
kịch bản 2.  
3.3.3. Kịch bản 3:  
Kết quả trong bảng 6 cho thấy rằng việc áp dụng phương pháp đề xuất trong trường  
hợp phân loại các mẫu tấn công mới đạt tỷ lệ cao hơn hẳn so với các phương pháp học  
máy đã được đề xuất trước đây. Hay nói cách khác, TAG3P có khả năng học và đưa ra  
khả năng dự đoán cao trong các trường hợp chưa biết dạng tấn công và các dạng tấn  
công mới. Hình 11 biểu diễn giá trị fitness của các thí nghiệm trong kịch bản 3.  
43  
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)  
Bảng 6. Kết quả các thí nghiệm của kịch bản 3 (%)  
Phương pháp J48  
Kết quả 67.17 67.17 69.33 67.58 89.42 65.92 67.17  
SVM Perc  
Bayes Navie RBF  
StandGP TAG3P  
93.09  
Hình 11. Giá trị fitness trung bình của TAG3P trong các thí nghiệm của kịch bản 3.  
3.4. Kết luận và hướng nghiên cứu  
Bài báo trình bày nghiên cứu của nhóm chúng tôi về vấn đề cải thiện phát hiện tấn  
công mạng sử dụng lập trình gen dựa trên kỹ thuật văn phạm nối cây (TAG3P) và GP  
chuẩn. Các thực nghiệm cho thấy việc phân loại tấn công đã cải thiện đáng kể tỷ lệ  
phát hiện tấn công mạng. Qua thí nghiệm cho thấy kết quả phát hiện tấn công đối với  
các mẫu tấn công mới đạt được hiệu quả vượt trội hơn hẳn so với các phương pháp học  
máy đã được các tác giả đưa ra trong [25].  
Trong thời gian tới, nhóm nghiên cứu sẽ tiếp tục cải tiến các phương pháp phát hiện  
tấn công dựa trên lập trình Gen với định hướng sử dụng mô hình thay thế (surrogate)  
nhằm cải thiện tốc độ huấn luyện và hiệu quả phân loại tấn công.  
Tài liệu tham khảo  
[1] M. S. Abadeh, J. Habibi, C. Lucas, “Intrusion detection using a fuzzy genetics-based learning algorithm”,  
Journal of Network and Computer Applications, Volume 30, Issue 1, Pages 414-428, 2007.  
[2] B. Abdullah, I. Abd-alghafar, Gouda I. Salama, A. Abd-alhafez, “Performance Evaluation of a Genetic Algorithm  
Based Approach to Network Intrusion Detection System”, 13th International Conference on Aerospace Sciences  
and Aviation Technology, 2009.  
44  
Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)  
[3] Adetunmbi A.Olusola., Adeola S.Oladele. and Daramola O.Abosede, “Analysis of KDD ’99 Intrusion Detection  
Dataset for Selection of Relevance Features ”, Proceedings of the World Congress on Engineering and Computer  
Science 2010, 2010.  
[4] I. Ahmad, M. Hussain, A. Alghamdi, A. Alelaiwi, "Enhancing SVM performance in intrusion detection using  
optimal feature subset selection based on genetic principal components", Springer, 2013  
[5] Al-Jarrah, O. Y., Siddiqui, A., Elsalamouny, M., Yoo, P. D., Muhaidat, S., & Kim, K. "Machine-Learning-Based  
Feature Selection Techniques for Large-Scale Network Intrusion Detection". Distributed Computing Systems  
Workshops, 2014.  
[6] Anup Goyal, Chetan Kumar, “GA-NIDS: A Genetic Algorithm based Network Intrusion Detection System”,  
2008  
[7] S. M. Bridges, R. B. Vaughn, “Fuzzy data mining and genetic algorithms applied to intrusion detection”, Proc.  
of the Twenty-third National Information Systems Security Conference, pp. 13-31, October 2000.  
[8] M. Botha, R. Solms , “Utilizing Neural Networks For Effective Intrusion Detection”, ISSA, 2004.  
[9] Chittur A. "Model Generation for an Intrusion Detection System Using Genetic Algorithms", PhD Dissertation,  
2006.  
[10] M. Crosbie, E. Spafford, “Applying Genetic Programming to Intrusion Detection”, Proceedings of the AAAI  
Fall Symposium, 1995.  
[11] Devarakonda, N., S. Pamidi, et al."Intrusion Detection System using Bayesian Network and Hidden Markov  
Model." Procedia Technology, 2012.  
[12] K. M. Faraoun, A. Boukelif, S.B.A., Algeria, “Genetic programming approach for multi-category pattern  
classification applied to network intrusions detection”, International Journal of Computational Intelligence and  
Applications, Volume 06, Issue 01, March 2006  
[13] J. Gomez, D. Dasgupta, “Evolving fuzzy rules for intrusion detection”, in Proceedings of the Third Annual  
IEEE Information Assurance Workshop 2002 Conference, PP.68-75, 2002  
[14] R. H. Gong, M. Zulkernine, P. Abolmaesumi, “A Software Implementation of a Genetic Algorithm Based  
Approach to Network Intrusion Detection”, 2005. International Journal of Network Security and Its Applications  
(IJNSA), Vol.4, No.2, March 2012  
[15] N. X. Hoai, R. I. McKay, and H. A. Abbass, "Tree Adjoining Grammars, Language Bias, and Genetic  
Programming", Proceedings of EuroGP2003, pp. 335-344, 2003  
[16] Zahra Karimi, Mohammad Mansour, and Ali Harounabadi, "Feature Ranking in Intrusion Detection Dataset  
using Combination of Filtering Methods", International Journal of Computer Applications, Volume 78 – No.4,  
September 2013  
[18] H. Gu¨nes Kayacık, A. Nur Zincir-Heywood, Malcolm I. Heywood, "Selecting Features for Intrusion Detection:  
A Feature Relevance Analysis on KDD 99 Intrusion Detection Datasets" in Proceedings of the third annual  
conference on privacy, security and trust, 2005.  
[19] J. R. Koza, Genetic programming: on the programming of computers by means of natural selection, MIT Press,  
1992.  
[20] W. Li, “Using Genetic Algorithm for Network Intrusion Detection”. SANS Institute, USA, 2004.  
[21] W. Lu, I. Traore, “Detecting new forms of network intrusion using genetic programming”, Computational  
Intelligence, Vol.20, Issue 3, 2004, pp. 475-494.  
[22] M. Middlemiss, G. Dick, “Feature selection of intrusion detection data using a hybrid genetic algorithm/KNN  
approach”, Design and application of hybrid intelligent systems, IOS Press, pp.519-527, 2003  
[23] S. Mukkamala, Andrew H. Sung, Ajith Abraham, “Intrusion detection using an ensemble of intelligent  
paradigms”, Journal of Network and Computer Applications, Volume 28, Issue 2, April 2005, Pages 167-182  
[24] Le Hai Nam, Hoang Tuan Hao, Vu Van Canh, "Self-adaptive Srossover and Mutation Parameters in Tree  
Adjoining Grammar Guided Genetic Programming", Tạp chí khoa học và kỹ thuật, chuyên san công nghệ thông  
tin, học viện kỹ thuật quân sự, Hà Nội, 4/2015, pp.5-15  
[25] Truong Son Pham, Quang Uy Nguyen, Xuan Hoai Nguyen, "Generating artificial attack data for intrusion  
detection using machine learning", Conference Proceedings of the Fifth Symposium on Information and  
Communication Technology, Ha Noi, Vietnam, 2014, pp. 286-291  
45  
Tải về để xem bản đầy đủ
pdf 21 trang yennguyen 27400 Free
Bạn đang xem 20 trang mẫu của tài liệu "Phương pháp phát hiện xâm nhập sử dụng văn phạm nối cây trong lập trình gen", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfphuong_phap_phat_hien_xam_nhap_su_dung_van_pham_noi_cay_tron.pdf