Tải bản đầy đủ (.pdf) (24 trang)

Xây dựng mạng Neuron trong phát hiện xâm nhập mạng (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (665.79 KB, 24 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

NGUYỄN DUY CƢƠNG

XỬ DỤNG MẠNG NEURON
TRONG PHÁT HIỆN XÂM NHẬP MẠNG

Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hƣớng ứng dụng)

NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS.TS TRẦN ĐÌNH QUẾ

HÀ NỘI – NĂM 2017


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: PGS.TS TRẦN ĐÌNH QUẾ

Phản biện 1:
……………………………………………………………………

Phản biện 2:
……………………………………………………………………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công


nghệ Bưu chính Viễn thông
Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm 2017

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông


1

MỞ ĐẦU
Với sự phát triển lớn mạnh không ngừng của môi trường mạng máy tính kèm theo
nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng. Vấn đề an toàn và bảo mật cho
mạng ngày càng trở nên cấp thiết. Đã có nhiều nghiên cứu nhằm đưa ra giải pháp bảo đảm
cho an ninh, an toàn mạng máy tính [1][3]:
- Nghiên cứu phát triển, triển khai tường lửa (Firewall)
- Hệ phát hiện xâm nhập IDS (Intrusion Detection System)
- Phần mềm diệt virus (Anti virus)
- Thiết lập mạng riêng ảo – VPN (Virtual Private Network)...
Việc nghiên cứu xây dựng kỹ thuật phát hiện xâm nhập là một vấn đề đã thu hút sự
quan tâm của các nhà nghiên cứu trong việc đảm bảo an toàn, bảo mật mạng [1][2]. Mục
đích quan trọng nhất trong phát hiện xâm nhập là phát hiện các cuộc truy cập thường
(normal) và những cuộc truy cập bất thường (anomaly). Đối với truy cập bất thường thì xác
định nó thuộc kiểu tấn công nào. Phát hiện xâm nhập IDS có nhiều loại:
- Phát hiện xâm nhập mạng (N - IDS).
- Phát hiện xâm nhập máy chủ (H - IDS).
Nghiên cứu phát triển các hệ thống IDS là một lĩnh vực đã thu hút sự quan tâm của
các nhà khoa học và đã có rất nhiều công trình nghiên cứu về vấn đề này. Trong những năm
gần đây phương pháp khai phá dữ liệu đã được đề xuất và sử dụng trong kỹ thuật phát hiện
những tấn công chưa được biết đến [9]. Phương pháp này đã cho kết quả phát hiện chính
xác cao, nhưng có nhược điểm cho tỷ lệ cảnh báo sai đối với những tấn công mới lạ. Thêm

vào đó một vài tấn công và những kết nối bình thường là cho cảnh báo sai. Do đó cần có
một mô hình nâng cao độ chính xác trong việc phát hiện tấn công mạng máy tính.
Mục đích của luận văn “Sử dụng mạng Neuron nhân tạo trong phát hiện xâm
nhập mạng” là sử dụng mạng neuron nhận tạo trong việc phát hiện và phân loại tấn công
trong mạng máy tính để nâng cao hơn nữa độ chính xác của hệ thống phát hiện tấn công
mạng [4] [5].
Đối tượng nghiên cứu của luận văn là Sử dụng mạng neuron nhân tạo vào việc phân
loại các kết nối mạng trên bộ dữ liệu KDD cup 99 [16]. Trong chương trình đánh giá phát


2

hiện tấn công mạng của Cơ quan quản lý nghiên cứu dự án Bộ quốc phòng Hoa Kỳ
(DARPA) một môi trường đã được thiết lập để thu được các dữ liệu thô về TCP/IP dump
cho một mạng được mô phỏng giống như mạng LAN của không lực Hoa Kỳ. Với mỗi kết
nối TCP/IP, 41 đặc trưng số và phi số được trích xuất. Dữ liệu được sử dụng trong cuộc thi
kdd cup 1999 là một phiên bản của bộ dữ liệu này.
Cụ thể những nội dung này sẽ được bố cục theo từng chương như sau:
Chƣơng 1: Tổng quan về hệ thống phát hiện xâm nhập: Nội dung chương này sẽ
trình bày về vai trò của an ninh mạng máy tính, những điểm yếu trong bảo mật mạng máy
tính, các kỹ thuật tấn công và một số giải pháp tăng cường bảo mật mạng máy tính.
Chƣơng 2: Phát hiện xâm nhập dựa trên thuật toán học máy: Nội dung chương
này trình bày giải thuật, kiến trúc mạng neuron nhân tạo. Trình bày tập dữ liệu KDD99, một
số đánh giá, nghiên cứu dựa trên tập dữ liệu KDD99.
Chƣơng 3: Thử nghiệm và đánh giá: Sau khi xây dựng ứng dụng, chương này sẽ
tiến hành cài đặt và thử nghiệm hiệu quả của các đặc trưng sử dụng, từ đó chọn ra những
đặc trưng cho độ chính xác cao nhất. Từ đó rút ra những kết luận quan trọng trong bài toán
phát hiện xâm nhập mạng.
Kết luận. Phần này sẽ trình bày những kết quả đạt được của luận văn, đồng thời cũng
chỉ ra những hạn chế và hướng phát triển trong tương lai.



3

CHƢƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG MÁY TÍNH
Chương 1 sẽ tìm hiểu vai trò của an ninh mạng máy tính, những điểm yếu trong bảo
mật mạng máy tính, các kỹ thuật tấn công, một số giải pháp tăng cường bảo mật mạng máy
tính.

1.1. Vai trò của an ninh mạng máy tính
Ngày nay mạng máy tính đóng vai trò rất quan trọng đối với nhiều lĩnh vực như đời
sống, kinh tế, chính trị và xã hội. Máy tính có phần cứng chứa dữ liệu do hệ điều hành quản
lý, đa số các máy tính nhất là các máy tính trong doanh nghiệp, công ty, tổ chức được nối
mạng Lan và Internet. Nếu như hệ thống mạng máy tính không được trang bị hệ thống bảo
vệ thì đó sẽ là mục tiêu của virus, worms, unauthorized user … chúng có thể tấn công vào
máy tính hoặc cả hệ thống của bạn bất cứ lúc nào[19].

1.2. Những điểm yếu trong mạng máy tính
Một số vấn đề được nêu ra thường mắc phải nhất đối với mạng máy tính của các cá
nhân, doanh nghiệp, công ty, tổ chức:
- Mạng và máy chủ bị cấu hình sai
- Hệ điều hành và ứng dụng bị lỗi
- Nhà cung cấp không duy trì được tính ổn định
- Thiếu những đội ngũ nhân viên trách nhiệm đáng tin cậy

1.3. Các kỹ thuật tấn công
Nội dung phần này trình bày về các kỹ thuật tấn công liệt kê những kỹ thuật tấn công
thường gặp nhất và lựa chọn để trình bày về các kỹ thuật tấn công nào nguy hiểm và dễ mắc
phải nhất. Đối với các cuộc tấn công bằng việc khai thác các lỗ hổng yêu cầu các hacker
phải hiểu biết về các vấn đề bảo mật trên hệ điều hành hoặc các phần mềm và tận dụng kiến

thức này để khai thác các lỗ hổng [19].
 Tấn công bị động (Passive attack):
 Tấn công rải rác (Distributed attack):
 Tấn công nội bộ (Insider attack):
 Tấn công Phishing:
 Các cuộc tấn công của không tặc (Hijack attack):


4

 Tấn công mật khẩu (Password attack):
 Khai thác lỗ hổng tấn công (Exploit attack):
 Buffer overflow (lỗi tràn bộ đệm):
 Tấn công từ chối dịch vụ (denial of service attack):
 Tấn công theo kiểu Man-in-the-Middle Attack:
 Tấn công phá mã khóa (Compromised-Key Attack):
 Tấn công trực tiếp:
 Nghe trộm:
 Giả mạo địa chỉ:
 Vô hiệu các chức năng của hệ thống:
 Lỗi của người quản trị hệ thống:


Tấn công vào yếu tố con người:

1.4. Một số giải pháp tăng cƣờng bảo mật mạng máy
 Thành lập bộ phận chuyên trách về vấn đề bảo mật
 Kiểm tra mức độ an toàn của hệ thống
 Lựa chọn giải pháp công nghệ
1.5. Kết luận

Đây là chương mở đầu của luận văn nhằm giới thiệu tập chung xem xét tìm hiểu về
vai trò của an ninh mạng máy tính, những điểm yếu trong bảo mật mạng máy tính, các kỹ
thuật tấn công mạng máy tính. Từ đó giới thiệu một số giải pháp tăng cường bảo mật mạng
máy tính. Luận văn cũng nêu ra hướng nghiên cứu sẽ được sử dụng trong chương 2,
chương 3.


5

CHƢƠNG 2: PHÁT HIỆN XÂM NHẬP DỰA TRÊN
THUẬT TOÁN HỌC MÁY
Chương 2 sẽ tập trung nghiên cứu về giải thuật, kiến trúc mạng neuron nhân tao, tập
dữ liệu KDD99, một số tấn công phổ biến, lựa chọn bộ thuộc tính phát hiện xâm nhập.

2.1. Mạng Neuron nhân tạo
2.1.1. Giải thuật mạng neuron nhân tạo
2.1.1.1. Khái niệm mạng neuron
Mạng neuron được đề cập ở đây là mạng neuron nhân tạo (Artificial Neural Network)
là một mô phỏng xử lý thông tin được nghiên cứu ra từ hệ thống thần kinh của sinh vật
giống như bộ não để xử lý thông tin. Nó bao gồm số lượng lớn các mối gắn kết cấp cao để
xử lý các yếu tố làm việc trong mối liên hệ giải quyết vấn đề rõ ràng. Mạng neuron nhân tạo
giống như con người được học bởi kinh nghiệm lưu, những kinh nghiệm hiểu biết và sử
dụng trong những tình huống phù hợp [13][14].

2.1.1.2. Các mô hình mạng neuron
a. Neuron một đầu vào
Đầu vào vô hướng p được nhân với trọng số w cho wp tạo thành một số hạng gửi đến
bộ cộng (Σ). Một đầu vào khác là 1 được nhân với độ chênh b rồi chuyển đến bộ cộng. Đầu
ra của bộ cộng thường được xem như là net-input trở thành đầu vào cho hàm truyền f sinh ra
đầu ra neuron là a: a = f(wp + b). Bias giống trọng số ngoại trừ luôn có đầu vào hằng số là

1. Có thể bỏ qua bias nếu thấy không cần thiết.
b. Hàm truyền
Hàm truyền f là hàm tuyến tính hoặc phi tuyến của n. Mỗi hàm truyền cụ thể được
chọn nhằm thoả mãn một số tính chất đặc biệt của bài toán cần giải quyết.

c. Neuron nhiều đầu vào
Các đầu vào độc lập p1, p2, p3, ... ,pR được gán trọng số bởi các thành phần w11, w12,...,
w1R của ma trận trọng số W.
Ở đây:

W = [w11, w12, ..., w1R]1xR ; p = [p1, p2, p3, ..., pR]

T
Rx1


6

Như vậy: n = w11p1 + w12p2 + w13p3 + ...+w1RpR + b = Wp +b.

(2.1)

Trong đó ma trận W cho trường hợp 1 neuron chỉ có một hàng.
Vậy:

a = f(n) = f(Wp + b).

(2.2)

Quy ước chỉ số của các thành phần wij của ma trận trọng số như sau: Chỉ số đầu (i)

biểu thị neuron đích được gán trọng số; chỉ số sau (j) biểu thị tín hiệu nguồn cung cấp cho
neuron. Như vậy wij nói lên rằng trọng số này kết nối đến neuron thứ i từ tín hiệu nguồn thứ
j ( từ pj → neuron i).
Bây giờ ta lại muốn vẽ mạng với nhiều neuron mỗi neuron lại có nhiều đầu vào hơn
thế nữa mạng có thể có nhiều lớp.
Ở đây đầu vào p là một vector Rx1.

2.1.2. Các kiến trúc mạng Neuron
2.1.2.1. Mạng neuron một lớp
p = [p1, p2, p3, ..., pR]

T
Rx1

b = [b1 b2 .... bS]
n = [n1 n2 .... nS]

;

T
Sx1
T

;
Sx1

a = [a1 a2 .... aS]

a = f(n) = [f(n1) f(n2) .... f(ns)]


T
Sx1

;

T
Sx1

at = f(nt) = f(wt.p + bt); với t = 1...s.
Trong đó:
Wt =[wt1 wt2 ..... wtR] là hàng thứ t của W.

(2.3)


7

Một lớp neuron ở đây bao gồm: Ma trận trọng số các bộ cộng độ chênh b các hộp hàm
truyền và vector đầu ra a.
Mỗi thành phần của vector đầu vào p được kết nối đến mỗi neuron thông qua ma trận
trọng số W. Mỗi neuron thứ i gồm độ chênh bi một bộ cộng hàm truyền f và một đầu ra ai.
Như vậy các đầu ra ai tạo thành một vector đầu ra a.
Nói chung số đầu vào của một lớp và số neuron của lớp đó là khác nhau.
Các hàm truyền cho tất cả neuron ở đây thông thường là giống nhau các thành phần
của vector đầu vào đi vào mạng thông qua ma trận trọng số W.
Như đã nói các chỉ số hàng của phần tử wij (tức i) của w dùng để chỉ neuron liên kết, trong
khi chỉ số (j) chỉ nguồn đầu vào. Do đó các chỉ số trong w32 nói lên rằng trọng số này (w32) kết
nối đến neuron thứ ba từ nguồn thứ hai (p2).

2.1.2.2. Mạng neuron đa lớp

Bây giờ ta xét một mạng đa lớp mỗi lớp neuron gồm ma trận trọng số W của nó độ
chênh b một vector net-input n và một vector đầu ra a. Phải cần có thêm một số ký hiệu kề
k

trên để phân biệt giữa các lớp này. Theo đó ma trận trọng số của lớp thứ k ký hiệu là W ...
1

2

Mạng neuron này có R đầu vào S neuron trong lớp thứ nhất S neuron trong lớp thứ
2.... Các lớp khác nhau có thể có số neuron khác nhau. Các đầu ra của lớp 1, 2 theo thứ tự là
1

đầu vào cho lớp 2, 3. Do đó lớp 2 có thể xem như là mạng một lớp với R = S đầu vào S =
2

2

2

1

1

2

S neuron ma trận trọng số W cấp S xS đầu vào cho lớp 2 là a đầu ra là a .
Lớp có đầu ra là đầu ra của mạng thì được gọi là lớp ra các lớp còn lại được gọi là lớp
ẩn.
Vấn đề lựa chọn mạng: trước hết xem số đầu vào và số đầu ra của mạng được định

nghĩa bởi đặc trưng bài toán. Nếu có bốn biến cần dùng như đầu vào thì sẽ có bốn đầu vào
cho mạng nếu cần bảy đầu ra thì ở lớp ra phải có bẩy neuron. Cuối cùng các đặc điểm cần
thiết của tín hiệu đầu ra sẽ giúp ta lựa chọn hàm truyền cho lớp ra. Nếu một đầu ra phải là
1thì có thể sử dụng hàm truyền hardlimit. Do đó kiến trúc của mạng một lớp hầu như được
xác định hoàn toàn bởi các đặc trương của bài toán bao gồm số đầu vào/đầu ra và đặc điểm


8

tín hiệu đầu ra cụ thể.
Nếu ta có mạng với số lớp lớn hơn hoặc bằng hai ở đây bài toán không cho ta biết ngay
số neuron cần thiết trong các lớp ẩn. Trong thực tế chỉ có một số ít các bài toán có thể đoán
được số tối ưu các neuron cần đến trong lớp ẩn. Vấn đề này là một lĩnh vực nghiên cứu thiết
thực.
Số lớp: hầu hết các mạng neuron thực tế chỉ có 2 hoặc 3 lớp 4 lớp thì hiếm.

2.1.3. Mạng Perceptron đa lớp và giải thuật lan truyền ngược
2.1.3.1. Giới thiệu chung về mạng BackPropogation
Mạng lan truyền ngược BackPropogation (BP) đôi khi còn được gọi là mạng nhiều
tầng truyền thẳng. Hiện nay nó đang được sử dụng rất rộng rãi trong các ứng dụng mạng
neuron. Các mạng BP đã giải quyết rất thành công nhiều vấn đề phức tạp nhờ có được khả
năng khái quát hoá cao. Một mạng BP tổng quát có n (n ≥ 2) lớp đầu tiên là các đầu vào từ
lớp thứ (1) tới lớp thứ (n-1) được gọi là lớp ẩn lớp cuối cùng (n) được gọi là lớp ra. Trong
mạng BP mỗi đầu vào được liên kết với tất cả các nút của lớp thứ nhất mỗi nút ở lớp thứ i
(0với nhau.
Mạng BP chỉ có thể ở một trong hai trạng thái: Trạng thái lan truyền và trạng thái học.
Trong trạng thái lan truyền thông tin lan truyền từ đầu vào đến đầu ra. Trong trạng thái học
thông tin lan truyền theo hai chiều nhiều lần để học các trọng số.


2.1.3.2. Nội dung giải thuật lan truyền ngược
a. Xét một mô hình mạng BP
Kiến trúc mạng tóm tắt như sau:
-

m đầu vào kí hiệu xi (i = 1... m)

-

Hai lớp neuron:
+ Lớp ẩn có r neuron kí hiệu pj (j =1... r)
+ Lớp ra có n neuron kí hiệu là ok (k = 1... n)

-

Mỗi neuron của lớp sau liên kết đầy đủ với các neuron ở lớp trước bởi các trọng số
w liên kết được thể hiện bằng các đường nét liền.

-

Sự lan truyền ngược các sai số phát sinh được thể hiện bằng các nét đứt.


9

-

Không sử dụng hệ số bias.

-


Hàm kích hoạt sử dụng ở các lớp là hàm Sigmoid đơn cực.

b. Giải thuật lan truyền ngược
Khi mạng muốn học một mẫu (X,Y) trong đó X là các vector tín hiệu đầu vào và Y là
các tín hiệu đầu ra mong muốn. Các thành phần xi của X sẽ được đưa vào các neuron của
lớp ẩn đầu tiên. Vì các đầu vào liên kết với các neuron lớp ẩn bởi tập trọng số wij cho nên
mỗi neuron thứ j của lớp ẩn sẽ nhận được tổng tín hiệu đầu vào có trọng số netj được tính
theo công thức sau:
m

m

i 1

i 1

netj=  w ij*xI hoặc netj=  w ij*xi

(2.4)

Sau khi nhận được tổng tín hiệu vào với trọng số netj giá trị này sẽ được sử dụng làm
tham số đầu vào cho hàm truyền f và hàm này cho ta tín hiệu ra của các neuron lớp ẩn. Giả
sử hàm truyền được sử dụng là hàm Sigmoid đơn cực (ký hiệu là f) thì tín hiệu ra zj của mỗi
neuron j được tính như sau:
m

zj = f(netj) = f(  w ij*xi)

(2.5)


i 1

Các tín hiệu ra zj lại được xem như đầu vào của lớp tiếp theo (trong trường hợp mạng
nhiều hơn hai lớp) ta đang xét mạng hai lớp nên chúng được truyền cho neuron thứ k của
lớp ra cùng với các trọng số liên kết wkj ta có công thức:
r

netk =

 w kj * zj

(2.6)

j 1

Tín hiệu đầu ra Ok của neuron thứ k của lớp ra sẽ là:
r

Ok = f(netk)= f(  w kj * zj)

(2.7)

j 1

Như vậy với đầu vào là vector X sau khi lan truyền tiến qua mạng sẽ nhận được đầu ra
là vector O. Đầu ra này không thể hoàn toàn trùng khớp với đầu ra đích (hay đầu ra mong
muốn). Sai số tổng thể E của mạng được tính dựa trên sai lệch giữa O và Y theo công thức
bình phương:



10

E=

1
2

n



(yk - ok )2

(2.8)

k 1

Để điều chỉnh sao cho các tín hiệu ra Ok tiến lại gần các tín hiệu mong muốn yk các
trọng số của mạng sẽ được cập nhật lại theo một quy tắc nào đó. Chẳng hạn với quy tắc
Delta (hay còn gọi là phương pháp giảm theo hướng dốc) thì các trọng số liên kết giữa
neuron thứ j tại lớp ẩn tới neuron thứ k tại lớp ra được cập nhật theo công thức:
wkj = wkj +  wkj

(2.9)

Trong đó biến thiên trọng số  wkj của trọng số liên kết wkj được tính như sau:
 wkj =  . 

k


. zj

(2.10)

Trong đó:
-  : là hệ số học.
- zj : là các đầu ra của neuron thứ j.
-  k: là sai số mà neuron thứ k phải chịu trách nhiệm được xác định theo công thức:
E=

1
2

n



(yk - ok )2

(2.11)

k 1

 k = Ek. f ‟(netk)

(2.12)

Ở đây Ek là đạo hàm của hàm lỗi E (Ek = ok- yk ) netk là tổng tín hiệu vào có trọng số
của neuron thứ k và f „() là đạo hàm của hàm truyền f mà ta dùng trong mạng. Nếu hàm f là

hàm sigmoid đơn cực thì f „(x) = f(x)(1- f(x)). Vậy công thức 2.12 sẽ được viết lại là:

 k = (yk - ok ).ok.(1-ok)

(2.13)

Các trọng số liên kết từ đầu vào thứ i tới neuron thứ j tại lớp ẩn cũng được cập nhật
theo cách tương tự tuy nhiên sai số mà một neuron tại lớp ẩn phải chịu trách nhiệm sẽ được
tính theo cách khác :
wji = wji +  wji
Với  wji = .  j . xi

(2.14)


11

Chú ý: khác với công thức cập nhật trọng số 2.9 ở đây đầu vào là xi chứ không phải là
zj do đó xi được thay thế cho zj .
Ta biết rằng một neuron thứ j ở lớp ẩn liên kết đầy đủ với tất cả các neuron k ở lớp ra.
Như vậy nó phải chịu trách nhiệm với tất cả sai số của mỗi neuron k mà nó liên kết ở lớp ra.
Tổng sai số mà neuron thứ j phải chịu trách nhiệm là:

 j = f( netj )

n



wjk . 


k

(2.15)

k 1

 j = zj ( 1-zj)

n



wjk . 

k

(2.16)

k 1

Các thao tác thực hiện cập nhật trọng số wịj , wjk như trên được gọi là lan truyền ngược
sai số. Các quá trình lan truyền tiến tính sai số và lan truyền ngược được thực hiện lặp đi lặp
lại nhiều lần cho đến khi thoả mãn một điều kiện nào đó của sai số hoặc đã qua đủ một số
lần lặp xác định trước thì sẽ dừng lại. Đó chính là nội dung của giải thuật lan truyền ngược .

2.1.4. Các bước của thuật toán với mô hình mạng tổng quát
Đầu vào: Tập mẫu học X=(x1,x2,x3,..xm) và Y=(y1,y2,y3,..yn) với m là số đầu vào n là
số đầu ra M là số lượng mẫu T là số tầng mạng.
Đầu ra: Các ma trận trọng số w1,w2,...,wT .

- Bước 1: khởi tạo chọn giá trị hệ số học 0 <  <1 và giá trị cực đại sai số cho phép  .
Mạng có số lớp T số lần huấn luyện h. Tuỳ thuộc vào số lượng đầu vào và số neuron trên
mỗi lớp mà ta sẽ khởi tạo các ma trận trọng số với các thành phần là những số ngẫu nhiên
rất nhỏ. Khởi tạo m=1 (mẫu học thứ m), h =1 (lần huấn luyện thứ h), q =1 (lớp thứ q).
- Bước 2: Đưa mẫu huấn luyện thứ m áp lên mạng .
- Bước 3: Lan truyền xuôi tín hiệu đầu vào lần lượt qua các lớp neuron cho đến khi q
> T để tính đầu ra tương ứng tại mỗi lớp theo công thức:
Sq1

ojq = f(netqj) = f(  wji . oiq-1 )

(2.17)

i 1

đối với đầu ra thứ j của lớp q lưu ý sq-1 chính là số neuron của lớp q-1.
- Bước 4: Tính sai số ở lớp ra của mạng theo công thức:

 k =(yk - ok ).ok.(1-ok) đối với neuron thứ k.

(2.18)


12

- Bước 5: Lan truyền ngược tín hiệu sai số cụ thể là từ đầu ra qua lớp ẩn cuối cùng
đến lớp ẩn đầu tiên để cập nhật trọng số cũng như tín hiệu sai số trước đó theo các công
thức:




q-1
j

Sq



= f „ (netjq-1).

wqjk . 

q
k

(2.19)

k 1

wqjk = wqjk +  wqjk
w

q
jk

(2.20)

=  .  qk.ojq-1

(2.21)


- Bước 6: Nếu m < M (chưa hết số mẫu học) thì m = m+1 quay lại bước 2 ngược lại
chuyển sang bước 7.
- Bước 7: Sai số trung bình của mạng được tính theo công thức :
M

n

 ( y
RMS =

m 1 k 1

km

 okm ) 2

M .n

(2.22)

Trong đó n là số thành phần của vector đầu ra.
Nếu RMS <  thì kết thúc ngược lại gán h = h + 1 rồi lặp lại các bước từ bước 2 cho tới
bước 7 bắt đầu một chu kỳ học mới.

Huấn luyện mạng
- Giảm Gradient: Là một trong những nguyên tắc học nguyên thuỷ nhất của mạng lan
truyền ngược. Khi hoàn thành một bước lặp qua toàn bộ tập mẫu thì tất cả các trọng số của
mạng sẽ được cập nhật dựa vào các thông tin đạo hàm riêng theo tổng trọng số tích luỹ được
các trọng số sẽ được cập nhật theo hướng mà hàm lỗi tụt dốc nhanh nhất.

- Học từng mẫu một: Có một quy tắc cập nhật trọng số khác là trọng số sẽ được cập
nhật ngay sau khi mạng học xong một mẫu dựa trên đạo hàm của hàm lỗi của riêng mẫu đó.
Với cách này thì lỗi trên tập mẫu thường giảm nhanh hơn ở các bước đầu vì mạng không
cần phải đợi hết một bước đi qua toàn bộ tập mẫu mới học được điều gì đó.
Tuy nhiên với một vài bài toán ta phải cẩn thẩn khi dùng phương pháp học từng mẫu.
Thứ nhất không phải lúc nào phương pháp này cũng giảm số bước cần thiết để mạng ổn
định với tập trọng số tối ưu. Trong nhiều trường hợp khi học mẫu mới mạng có thể đã quên
mẫu cũ. Trường hợp này thường xảy ra khi các mẫu kế tiếp nhau trong tập mẫu có sự khác


13

biệt quá lớn .
Thứ hai ngay cả khi học từng mẫu chỉ cần ít bước luyện hơn nhưng chưa chắc tổng
thời gian máy tính thực hiện việc tính toán ít hơn so với học toàn tập mẫu một lần. Bởi vì
việc học từng mẫu lại đòi hỏi việc tính toán của máy tính trên mỗi mẫu nhiều hơn trọng số
thay đổi phải được tính cho mỗi mẫu không tính một lần cho cả bước.
Thứ ba việc học từng mẫu đòi hỏi ta phải sắp xếp thứ tự của các mẫu trong tập mẫu.
Thường thì các mẫu xuất hiện cuối đợt huấn luyện thường có nhiều ảnh hưởng hơn so với
các mẫu xuất hiện lúc đầu.
Một giải pháp dung hòa là cập nhật tập trọng số dựa trên các nhóm mẫu thay vì từng
mẫu nhưng cũng không phải trên toàn tập mẫu.
- Quy tắc moment: Nếu các bước học trước đang giảm mạnh thì theo đà bước tới
cũng sẽ giảm mạnh ta sẽ tăng hệ số học để biến thiên trọng số tăng lên ngược lại giảm hệ số
học.

2.1.4.1. Khởi tạo giá trị trọng số
Một vấn đề cũng rất đáng quan tâm trong quá trình huấn luyện mạng neuron đó là vấn
đề khởi tạo các giá trị trọng số. Huấn luyện mạng là một tiến trình lặp qua lặp lại nhiều
bước. Trong mỗi bước mạng thi hành ánh xạ với các mẫu trong tập mẫu tính toán sai số và

cập nhật lại sao cho mạng thi hành ngày một tốt hơn. Vấn đề đặt ra là ban đầu để mạng có
thể thi hành ở bước học đầu tiên thì các trọng số lấy từ đâu ? Có một cách khá tốt đó là khởi
tạo trọng số sao cho kết xuất của các giá trị trung dung là 0.5 (chính là trung điểm của hàm
logictic). Có hai lý do giải thích cho việc này:
Thứ nhất nếu ta không biết gì về kết xuất giá trị ở giữa là giá trị hợp lý nhất. Trong
trường hợp một lớp cứ cho rằng tất cả các kết quả đầu ra phân bố xung quanh trung điểm
hàm truyền giá trị ở giữa sẽ cực tiểu hoá hàm sai số bất kỳ giá trị nào khác cũng sẽ sinh ra
sai số lớn hơn.
Thứ hai ta muốn tránh các giá trị kết xuất thái quá vì chúng chứa các đạo hàm của hàm
lỗi nhỏ điều này làm cho biến thiên trọng số nhỏ và như thế tiến trình học sẽ chậm.
Có hai cách cho phép khởi tạo trọng số để được kết xuất một nút ở khoảng giữa :
- Cách thứ nhất: Dùng khởi tạo trọng số các nút ẩn


14

- Cách thứ hai: Khởi tạo trọng số các nút xuất
Đối với những nút xuất ta khởi tạo các trọng số ban đầu thật nhỏ. Nếu các trọng số của
nó đủ nhỏ nút sẽ kết xuất một giá trị giữa bất chấp các giá trị nhập của nó .

2.2. Tập dữ liệu phát hiện xâm nhập KDD99
2.2.1. Phát hiện xâm nhập dựa trên bộ thuộc tính KDD99
2.2.1.2. Giới thiệu về tập KDD99
Trong tập dữ liệu KDD99 mỗi kết nối mạng là đại diện 41 thuộc tính. Có tất cả
khoảng 5 triệu bản ghi kết nối để phân biệt 22 loại tấn công và các cuộc tấn công rơi vào
một trong bốn loại sau:
- DOS: Từ chối dịch vụ (ví dụ: tấn công tràn ngập gói SYN).
- R2L: Không được phép truy cập từ một máy từ xa (ví dụ: tấn công đoán mật khẩu
).
- U2R: Không được phép truy cập vào các người dùng địa phương (root) đặc quyền

(ví dụ: tấn công tràn bộ đệm ).
- PROBE: Giám sát và các thăm dò khác (ví dụ: quét cổng ) .

2.2.2. Một số đánh giá về KDD99
Gần đây tập dữ liệu KDD99 đã bị chỉ trích bởi nhiều nhà nghiên cứu. Sabhani và
Serpen [17] đã lập luận rằng bộ dữ liệu KDD99 không nên được sử dụng để huấn luyện các
thuật toán máy học trong bối cảnh phát hiện sử dụng sai cho hai lớp (ví dụ: U2R và R2L)
bởi vì các giả thuyết trong mục tiêu huấn luyện và thử nghiệm bộ dữ liệu không giống nhau.
Hơn nữa một hạn chế lớn trong việc sử dụng bộ dữ liệu Cup KDD là không có khả
năng tiếp cận các dữ liệu đăng nhập thực tế. KDD Cup bộ dữ liệu được xây dựng bằng cách
áp dụng thuật toán luật kết hợp đã được điều chỉnh để trích xuất một số đặc trưng mà các tác
giả của những bộ dữ liệu được coi là hữu ích cho việc phát hiện xâm nhập trong các tập dữ
liệu DARPA.

2.2.3. Các hướng nghiên cứu dựa trên tập dữ liệu KDD99
Tập dữ liệu KDD99 tuy là bị chỉ trích về sự ra đời từ lâu và tốc độ của công nghệ
mạng thay đổi từng ngày cũng như sự gia tăng của các phương pháp hình thức tấn công
mới. Tuy nhiên luồng dữ liệu mạng thật cho việc tạo ra tập dữ liệu KDD99 đã được tập hợp
từ một môi trường mạng rộng lớn. Tập dữ liệu KDD99 chứa một lượng lớn các loại tấn


15

công phổ biến nhiều kiểu luồng dữ liệu bình thường. Một mạng được mô phỏng chứa hàng
trăm người sử dụng trên hàng ngàn máy chủ. Hơn nữa tập dữ liệu KDD99 là tốt hơn cho
việc phù hợp với các thuật toán máy học.
Do vậy trong luận văn này xây dựng tập thuộc tính dựa trên tập thuộc tính của
KDD99.

2.3. Một số tấn công phổ biến

2.3.1. Nguyên lý chung
Tấn công từ chối dịch vụ có thể mô tả như hành động ngăn cản những người dùng
hợp pháp truy cập và sử dụng một dịch vụ nào đó. Nó bao gồm làm tràn ngập mạng mất kết
nối với dịch vụ và mục đích cuối cùng là server không thể đáp ứng được các yêu cầu sử
dụng dịch vụ của phía client.

2.3.2. Kiểu tấn công thăm dò quét cổng ( Probe)
2.3.2.1. Quét kiểu kết nối TCP (TCP Connect scan)
2.3.2.2. Quét kiểu đồng bộ TCP (TCP SYN Scan)
2.3.2.3. Quét UDP (UDP Scan)
2.3.3. Kiểu tấn công từ chối dịch vụ ( DoS )
2.3.3.1. Tràn ngập SYN (SYN flood)
2.3.3.2. Kiểu Land (Land)
2.3.3.3. Tràn ngập UDP (UDP flood)
2.3.3.4. Kiểu Smurf (Smurf)
2.3.3.5. Kiểu Ping (Ping)

2.4. Lựa chọn bộ thuộc tính phát hiện tấn công DoS và Probe
Lý do chọn 16 đặc trưng trong 41 đặc trưng của tập dữ liệu KDD99 để xây dựng tập
dữ liệu của mình vì hai điều. Lý do đầu tiên là để cải thiện tốc độ của hệ thống và thứ hai là
sự mất cân đối giữa số lượng các loại tấn công được gán nhãn DoS, Probe là phổ biến trong
khi các bản ghi được gán nhãn R2L, U2L là rất hiếm gặp trong bộ dữ kiệu KDD99. Vì vậy
luận văn tiến hành nghiên cứu đối với các cuộc tấn công phổ biến nhất.

2.5. Kết luận


16

Ở chương 2 đã nghiên cứu về giải thuật, kiến trúc mạng neuron nhân tạo, các

bước của thuật toán với mô hình mạng tổng quát. Sử dụng tập dữ liệu KDD99, hướng
nghiên cứu, một số tấn công phổ biến, lựa chọn bộ thuộc tính phát hiện xâm nhập…
để hiểu hơn về các mô hình bảo mật, các đặc điểm bảo mật trong phát hiện xâm nhập
mạng trái phép qua đó thấy được điểm mạnh yếu trong việc phát hiện xâm nhập trái
phép. Trong chương 3 xây dựng demo chương trình thử nghiệm phát hiện xâm nhập
trái phép.


17

CHƢƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ
Trong chương 3 phát triển bài toán, mục đích thử nghiệm, xây dựng demo chương
trình thử nghiệm phát hiện xâm nhập trái phép. Từ đó luận văn sẽ đưa ra những kết luận,
đánh giá.

3.1. Phát triển bài toán
3.1.1. Mục đích của thử nghiệm
- Nghiên cứu, xây dựng mô hình mạng neuron nhân tạo với các tham số phù hợp cho
bài toán phát hiện xâm nhập.
- Thử nghiệm tính đúng đắn 16 bộ thuộc tính trong tập dữ liệu phát hiện xâm nhập
KDD99 trong việc áp dụng thuật toán thông minh.
- Kết quả đạt được Chứng minh giả thuyết xây dựng hệ thống phát hiện xâm nhập dựa
trên thuật toán mạng neuron nhân tạo kết quả đạt được đem so sánh với kết quả đã xảy ra
trong thực tế.

3.1.2. Xây dựng dữ liệu
3.2.2.1. Thu thập dữ liệu
Dữ liệu được lấy từ trong chương trình DARPA IDEval quá trình tạo tấn công được
thực hiện bằng cách sử dụng các công cụ tấn công đã được công bố công khai.
3.2.2.2. Trích chọn đặc trưng

Bộ dữ liệu luận văn bao gồm 16 đặc trưng được nhóm lại thành 4 nhóm chính: nhóm
đặc trưng cơ bản, nhóm đặc trưng nội dung, nhóm các đặc trưng dựa theo thời cuối cùng là
nhóm các đặc trưng dựa theo 100 kết nối trước. Chi tiết các đặc trưng được trình bày chi tiết
dưới đây:
Những đặc trưng cơ bản của các kết nối TCP cá nhân.
Những đặc trưng về nội dung trong một kết nối được đề xuất bởi kiến thức miền.
Những đặc trưng được tính toán dựa trên cửa sổ thời gian.
Những đặc trưng dựa trên máy chủ
3.1.3. Thiết kế mạng Neural
Qua các thực nghiệm trên bộ dữ liệu thu thập với 2 kiểu tấn công chính và những dữ
liệu bình thường đã xác định được thông số của mạng Neural như sau:


18

o Thuật toán học: thuật lan truyền ngược
o Kiểu mạng: mạng Perceptron hai lớp
o Lớp 1: 8 neural
o Lớp 2: 1 neural tương ứng với 1 đầu ra
o Hàm truyền lớp 1: sigmoid
o Hàm truyền lớp 2: sigmoid
o Tốc độ học : 0.1
Chuẩn bị công cụ xây dựng hệ thống và công cụ tấn công
- Các công cụ được sử dụng để xây dựng hệ thống máy chủ :


Windows server 2010.




Mail Exchange server 2010.

- Các công cụ sử dụng để tấn công vào hệ thống được lấy từ :


Phòng lab của hãng phần mềm diệt virus nổi tiếng Mcafee

( />
3.1.4. Kết quả, đánh giá thử nghiệm
Đánh giá độ chính xác của mô hình mạng neuron nhân tạo trong việc áp dụng cho bài
toán phát hiện xâm nhập.
Đánh giá bộ 16 thuộc tính trong tập dữ liệu phát hiện xâm nhập KDD99 phù hợp để
phát hiện các tấn công DoS, Scan và Nomal.
Đánh giá độ chính xác đạt được của mạng neuron nhân tạo, tỉ lệ chính xác nằm trong
khoảng 80% đến ~ 100%. Tỉ lệ này được thực nghiệm trên chương trình.
Thử nghiệm chƣơng trình với tập dữ liệu KDD99 (Database).
Database gồm có Database Training, và Database Testing được thu thập từ
( ).

Trong đó: Data Training : 2392 bản ghi; Data Testing: 300 bản ghi.
Thực nghiệm trường hợp 1: Thay đổi số lần lặp, giữ nguyên tốc độ học bằng 0.1 và hàm
truyền Sigmoid bằng 2 kết quả tỷ lệ chính xác khá cao tới 97,99 %.
Thực nghiệm trường hợp 2: Thay đổi số lần lặp, thay đổi tốc độ học, giữ nguyên hàm truyền

Sigmoid bằng 2 kết quả tỷ lệ chính xác khá cao tới 98,93 %.
Thử nghiệm trường hợp 3: Thay đổi số lần lặp, thay đổi tốc độ học, hàm truyền Sigmoid
bằng 1kết quả tỷ lệ chính xác khá cao tới 97,99 %.


19


3.2. Sơ đồ chức năng hệ thống
Từ mục đích yêu cầu của bài toán và xây dựng chương trình cần đạt được, chương trình xây
dựng các khối chức năng như sau: Huấn luyện, Kiểm tra và Trợ giúp.

3.3. Cấu trúc chƣơng trình
Hình cấu trúc chương trình thử nghiệm có hai quá trình:
Quá trình huấn luyện :
Quá trình kiểm tra.


20

KẾT LUẬN
1. Nội dung chính đƣợc thực hiện giải quyết.
-

Luận văn xây dựng được thử nghiệm bài toán xây dựng hệ thống phát hiện xâm nhập đi
từ nghiên cứu các cơ chế tấn công xây dựng dữ liệu đến thiết kế mô hình.

-

Luận văn ứng dụng bộ 16 thuộc tính để phát hiện xâm nhập mạng các loại tấn công
DOS, Scan và Normal.

- Ứng dụng hiệu quả thuật toán Neuron trong bài toán phát hiện xâm nhập.
- Xây dựng được mô hình và cài đặt chạy thử nghiệm chương trình chứng minh tính đúng
đắn mà yêu cầu đặt ra và có hướng đi ứng dụng vào thực tế.
2. Hạn chế
- Do phải huấn luyện thuật toán với dữ liệu lớn. Do đó tốc độ thực thi của thuật toán còn

hạn chế.
- Sự giới hạn về thiết bị làm cho quá trình thực nghiệm chưa mô phỏng như là môi trường
mạng thực.
3. Đề xuất
-

Tiếp tục được phát triển và hoàn thiện hơn về chương trình đã nghiên cứu.

-

Tăng cường khai thác và bổ sung tính còn thiếu về cơ sở dữ liệu và nâng cao tính chính
xác phát hiện kiểu tấn công mới.


21

TÀI LIỆU THAM KHẢO
[1] Yousef Emami, Marzieh Ahmadzadeh, Mohammad Salehi, Sajad Homayoun,
"Efficient Intrusion Detection using Weighted K-means Clustering and Naïve Bayes
Classification", Journal of Emerging Trends in Computing and Information Sciences,
pp. 620-623, Vol.5, 2014
[2]

W. Lee, S. Stolfo, K. Mok, “A Data Mining Framework for Building Intrusion
Detection Models”, Proceedings of the 1999 IEEE Symposium on Security and
Privacy, pp. 120-132, 1999.

[3]

W. Lee, S. Stolfo, “A framework for constructing features and models for intrusion

detection systems”, ACM Transactions on Information and System Security, vol. 3,
no. 4, pp.227-261, 2000

[4]

E. Eskin, A. Arnold, M. Prerau, L. Portnoy, S. Stolfo, “A Geometric framework for
unsupervised anomaly detection”, Applications of Data Mining in Computer
Security. Kluwer Academics, 2002

[5]

S. Jin, D. Yeung, X. Wang, “Network intrusion detection in covariance feature
space”, Pattern Recognition, vol. 40, no. 8, pp. 2185-2197, 2007.

[6]

V. Katos, “Network intrusion detection: Evaluating cluster, discriminant, and logit
analysis”, Information Sciences, vol. 177, no. 15, pp. 3060-3073, 2007

[7]

S. Mukkamala, A. H. Sunga, A. Abrahamb, “Intrusion detection using an ensemble
of intelligent paradigms”, Journal of Network and Computer Applications, vol. 28,
no. 2, pp. 167-182, 2005.

[9]

Y. Bouzida and F. Cuppens, “Neural networks vs. decision trees for intrusion
detection”. First IEEE workshop on Monitoring, Attack Detection and Mitigation,
Tuebingen, Germany, 2006.


[9]

A. Patcha and J-M Park, “An overview of anomaly detection techniques: Existing
solutions and latest technological trends,” Computer Network, 2007.

[10] Panda, Mrutyunjaya; Patra, Manas Ranjan, “Some Clustering Algorithms to Enhance the
Performance of the Network Intrusion Detection System”, Journal of Theoretical & Applied
Information Technology;2008, Vol. 4 Issue 8, p710.
[11]

Z. Muda, W. Yassin,M.N. Sulaiman, and N.I. Udzir, “Intrusion detection based on
K-Means clustering and Naïve Bayes classification”, 7th International Conference on


22

Information Technology in Asia: Emerging Convergences and Singularity of Forms
(CITA), 2011.
[12] Yang Li ; Bin-Xing Fang ; You Chen ; Li Guo , “A Lightweight Intrusion Detection
Model Based onFeature Selection and Maximum Entropy”, Model Communication
Technology, 2006. ICCT 06. International Conference on Digital Object Identifier:
10.1109/ICCT.2006.341771 Publication Year: 2006 , Page(s): 1 – 4.
[13]

Marilyn McCord Nelson & W.T. Iilingworth, A Practical Guide to Neural Nets,
Addison-Wesley Publishing Company, 1991.

[14] Howard Demuth & Mark Beale, Neural Network ToolBox User‟s Guide Version 4.0,
The MathWorks, Inc., 2000.

WEBSITE
[15]
[16]

Truy cập ngày 20/08/2016
Truy cập ngày

20/09/2016
[17]

Truy cập ngày 20/09/2016

[18]

Truy cập ngày 20/10/2016

[19]

, Truy cập ngày 20/10/2016



×