HUFLIT Journal of Science
PHÁT HIỆN BT THƯỜNG SỚM TRONG MẠNG QUẢN LÝ BẰNG PHẦN MỀM
Trn Mnh Hà1, Nguyn Anh Tun1, Lê Thanh Sơn2, Phm Nguyn Thế Anh1
1 Trường Đại hc Ngoi ng -Tin hc TP.HCM
2 Trường Đại học Quốc tế - Đại học Quốc gia TP.HCM
hatm@huflit.edu.vn, tuanna@huflit.edu.vn, ltson@hcmiu.edu.vn, theanh.phamnguyen1979@gmail.com
TÓM TT Phát hin bất thường sm trong h thng mng là mt trong nhng chức năng quan trọng ca qun lý li mng.
Khi h thng mng phát trin ln v qui mô và qun tr, phc tp v kiến trúc chức năng, đng thời độ co giãn ln, v n đề
phát hin bất thường càng tr nên thách thc khó gii quyết. Nghiên cu này tp trung gii quyết vấn đề phát hin bt
thưng trên mng qun bng phn mm (software defined network hay mng SDN) mt trong nhng h thng mng
mi nổi đầy đủ đặc tính nêu trên. Giải pháp đ xut kết hp giám sát và thu thp d liu s kin t thiết b chuyn tiếp
áp dụng thuật máy hc vào d liu s kiện để phát hin bất thường. Giải pháp được tích hp o b điu khin ca mng
SDN cho phép thu thp, phân tích s kin và cnh báo bất thường cho người qun tr h thng thông qua ng dụng. Đánh giá
gii pháp bao gm m rng chức năng bộ điu khin s dng công c ngun m Ryu th nghiệm thuật phân loi
rng ngu nhiên trên tp d liu s kin thu thp t h thng Spark thc tế.
T khóa Giám sát phát hin bất thường, thuật rng ngu nhiên, B điu khin Ryu, Mng qun bng phn mm,
D liệu sư kiện Spark
I. GIỚI THIỆU
Mng qun bng phn mm (Software Defined Network hay mng SDN) [1. 2] một ng tiếp cn công
ngh mi trong mng máy tính, tách bit thành phần điều khin d liu ca c thiết chuyn tiếp thành tng
điu khin tng d liu nhm cung cp qun các dch v mng hiu qu đồng thi tăng ng o hóa
chức năng mạng. H điu nh mạng (NOS) đưc tích hp trên tầng điu khiển để giao tiếp vi c thiết b
chuyn tiếp tng d liu. Giao thc OpenFlow [3] cho phép hai tầng điều khin và d liu giao tiếp vi nhau.
Mng SDN tích hp OpenFlow vào các b điu khin và thiết b chuyn tiếp, như Open vSwitch [4, 5]. Các bộ điu
khin duy trì các thiết b chuyn tiếp thông qua vic thu thập các thông tin lưu thông trên mạng, các thông báo
s kin hay các li kết ni mng.
Mng SDN mt hình h thng mạng được nghiên cứu kĩ càng, c ung cấp nhiu li ích cho các t chc
doanh nghip. Mng SDN gim chi phí hoạt động, tối ưu hóa tài nguyên y tính tăng cường hoạt động liên
tc ca doanh nghip mt cách hiu qu bt k khng hong v nhân lc, d án tài chính, đặc biệt đối vi
doanh nghip chuyên v công ngh. Tuy nhiên, mạng SDN cũng gây ra một s vấn đề, như vấn đề qti ca
mạng điều khin xy ra khi mt s ng ln các thiết b chuyn tiếp kết ni, dn đền các b điu khin tr
thành điểm yếu tập trung đáp ứng yêu cu ca các thiết b chuyn tiếp; vấn đề ph thuc nng n o các quyết
định ca b điu khin ng dụng đối vi s c bất thường hay vn đề thiếu gii pháp thông minh ca b điu
khiển đối vi s kin cnh báo li ảnh hưởng đến hiu qu vn hành ca thiết b chuyn tiếp h thng
mng, v.v. Nhiu giải pháp đ xut bao gm giải pháp điu khin phân tán bao gm nhiu b điu khin cùng
qun thiết b chuyn tiếp nhưng khó khăn t rong vic kim soát trạng thái đng b gia các b điu khin hay
giải pháp tă ng ng giao thc chun OpenFlow h tr phát hin và x li kết hợp chính sách xác định li ca
b điu khin và ng dng nhm gim ti thiu lỗi không xác định.
Tuy nhiên, đối vi mng SDN ln phc tp vi s ng ln thiết b chuyn tiếp, b điu khin ng dng
trên mi tng, s c bất thưng, lỗi không xác định hay không d báo trước, thm chí tn công mng, vn đ
không th tránh khỏi thưng ảnh hưng nghiêm trng đến dch v mng. Nghiên cu này trình bày gii pháp
phát hin bất thư ng sm bng phân tích d liu s kin thông báo (gi tt là s kiện) đ gii quyết vấn đ nêu
trên. Các b điu khin tầng điều khin thu thp s kin t các thiết b chuyn tiếp tng d liu, áp dụng
thut phân loi rng ngẫu nhiên [6] đ phân tích d liu s kin, phân loi phát hin bất thường, đồng thi
gi cảnh báo cho ngưi qun tr h thng thông qua ng dng tng qun lý. vy, nghiên cu này tp trung
vào 3 đóng góp chính:
(1) Thiết kế kiến trúc b điu khin mng SDN tích hp phát hin bất thường.
(2) Áp dụng kĩ thuật rng ngu nhiên trên d liu s kin đ phát hin bất thường.
(3) Th nghiệm và đánh giá giải pháp trên môi trường mng SDN mô phng.
Phn còn li của bài báo được trình bày như sau: phần tiếp theo gii thiu mạng SDN, các đim ni bt ca SDN
so vi mng truyn thng, giao thc chun OpenFlow các gii pháp giám sát, phát hin x bất thườ ng
hin trên mng này. Phn III trình bày gii pháp phát hin b t thường sm trên mng SDN bao gm thiết kế
RESEARCH ARTICLE
46 PHÁT HIỆN BẤT THƯỜNG SỚM TRONG MẠNG QUẢN LÝ BẰNG PHẦN MỀM
kiến trúc b điu khin vi b phn thu thp d liu s kin b phn phát hin b t thường dựa trên thuật
rng ngu nhiên. Mt s th nghim trong Phần IV báo cáo đánh giá bộ v hiu sut kh năng triển khai
giải pháp đề xuất trê n môi trường mô phng mạng SDN trưc khi bài báo kết lun trong Phn V.
II. MẠNG SDN VÀ VẤN ĐỀ PHÁT HIỆN BẤT THƯỜNG
Mt kiến trúc SDN bao gm 3 tng tách biệt như trong Hình 1. Mi tng bao gm các thành phn chu trách
nhim cho hoạt động nht đnh [7]. Tng d liu chu trách nhim thiết lp b đệm, lp lch cho gói d liu, sa
đổi thông tin ti êu đề gói d liu và chuyn tiếp. Bt c khi nào mt gói d liệu đến, tng d liu s kim tra thông
tin tiêu đề, so sánh với thông tin đã lưu trong bảng chuyn tiếp để sửa đổi trường tiêu đề nếu cn thiết và chuyn
tiếp gói d liu mà không ảnh hưởng đến hai tầng điều khin và qun lý. Tuy nhiên, không phi tt c các gói đều
th đưc x theo cách đó, đơn giản vì thông tin ca h đôi khi chưa được lưu tr trong bng hoc vì thuc
v mt giao thức điều khin phải được x bi tầng điều khin. Tng điều khin tham gia vào nhiu hoạt động.
Vai trò chính của lưu trữ thông tin mi trong bng chuyn tiếp đ tng d liu có th x một ng ln
lưu lượng mng không ph thuc vào tầng điều khin. Tầng điều khin th phi x lý mt s giao thc
điu khin khác nhau ảnh hưởng đến bng chuyn tiếp, tùy thuc vào b chuyển đổi mng cu hình ca b
chuyển đổi. Nhng kim soát này các giao thức cũng chịu trách nhim qun cu trúc liên kết hoạt động ca
mng. Các tác v này khá phc tp nên yêu cu phi s dng các chip x kết hp vi phn mềm đi kèm trong
tầng điu khin. Tng qun lý nơi qu n tr viên cu hình giám sát hot động ca thiết b chuyển đổi mng.
Mt s hoạt động bao gm trích xut thông tin hoc sửa đổi d liu ca tng d liu và tầng điều khin. Các qun
tr viên s dng mt các h thng qun lý mạng để giao tiếp vi tng qun lý.
Hình 1. Mạng quản lý bằng phần mềm (a) Các tầng, (b) Các thành phần, và (c) Mô hình hệ thống [8]
Mi tng trong cu trúc mng SDN s hu các thành phần như hạ tng mng (Network Interface), giao din bc
(Northbound Interface), giao din nam (Southbound Interface), h điu hành mng (NOS), ng dng mng
(Network Application), v.v. Mi thành phn mt chc nă ng nhất định, d, h điu hành m ng tương tác với
các thiết b chuyn tiếp trong h tng mạng đ điu phối lưu lượng mng hoc phát hin li mng thông qua giao
din nam trong tng d liệu như trong Hình 1. Do đ ó, mạ ng SDN nhm m c đích phân chia các hoạt động mng
theo cách sau [9]:
(1) Chuyn tiếp, lọc ưu tiên: Các chức năng chuyển tiếp được gi nguyên bên trong thiết b. Các tính năng
da trên b lc danh sách kim soát truy cập (ACL) và ưu tiên lưu lượng cũng vẫn còn trên thiết b.
(2) Điu khin: Thiết b được đơn gin hóa bng cách loi b hoàn toàn phần đi u khin và chức năng này bây
gi đưc tích hp o mt b điu khin trung tâm. Điều này cung cp cho tầng điều khin mt cái nhìn toàn
din v cu trúc mng cũng như cho phép tầng điều khin quyn quyết đnh tác v chuyn tiếp định tuyến
mt cách tt nht. Các lp trình viên t đó cũng th can thip làm vic trc tiếp vi b điu khin. B điu
khiển không được nhúng cũng như không kết hp cht ch vi phn cng.
(3) ng dng: Trên tầng điều khin các ng dng mng cung cp các chức năng thực hin cấp cao hơn.
Nhim v ca các ng dụng thưng các tác v liên quan đến qun lý, kim soát chuyn tiếp phân phi gói
trong mng mt cách hiu qu nht.
Trần Mạnh Hà, Nguyễn Anh Tuấn, Lê Thanh Sơn, Phạm Nguyễn Thế Anh 47
GIAO THỨC CHUẨN OPENFLOW
OpenFlow mt thành phn rt quan trng ca SDN th coi OpenFlow khi ngun ca kiến trúc SDN,
đưc s dng cho c v trao đổi thông tin gia các b điu khin SDN thiết b chuyển đổi. OpenFlow ra đời
tại Đại hc Stanford trong mt d án nghiên cứu, sau đó trở thành d án phát trin ca hai công ty khi nghip
Nicira và Big Switch Networks. Nicira sau này đưc mua li bi VMWare và hin là mt phn ca dòng sn phm
mng o hóa ca VMWare. Big Switch Networks tham gia mt s d án ngun m dựa trên OpenFlow như
Floodlight Controller, Switch Light OS cho c dòng thiết b chuyn đ i, Switch Light vSwitch cho các dòng
thiết b chuyn đi mng o hóa.
OpenFlow qui định vic giao tiếp gia các thiết b chuyển đổi mng b điu khin. Khi thiết b chuyển đổi
mng khởi động, s đăng với b điu khiển. Thông thường, đa ch IP ca b điu khin s đưc cung cp
trong quá trình khởi động ca thiết b chuyển đổi mng hoc thông qua mng qun riêng, kế đến thiết b
chuyển đổi s thiết lp kênh liên lc vi b điu khin. Kết thúc quá trình khởi động, thiết b chuyển đổi mng s
giao tiếp vi b điu khin thông qua mt s loại thông điệp chính sau:
(1) Đối xứng (Symmetric): Các thông điệp này được gi bi c thiết b chuyển đổi mng ln b điu khin.
Thường c thông điệp chào (hello), các thông điệp di li (echo request/reply), hoc mt s loại thông điệp
th nghim có th m rng sau này.
(2) Thông điệp b điu khiển đến thiết b chuyn đổi (controller-to-switch): Các thông điệp này được to ra
bi b điu khiển để qun các thiết b chuyển đi hoc truy vn trng thái các thiết b bao gm các truy vn
tính ng, cấu hình thiết b, thu thp s liệu đ thng hay các thông báo tác v hoàn thành. Ngoài ra, b điu
khin th khi to c thông báo trng thái sửa đổ i để thay đổi các luồng hay đổi nhóm cho các thiết b
chuyn đi.
(3) Không đ ng b (Asynchronous): Thiết b chuyển đổi mng gửi thông điệp không đng b đến b điu
khiển khi gói tin đ ến, thay đổi trng thái hoc li. Khi gói tin đến thiết b chuyển đổi không có mc nào
trong bng lung, thông điêp PakcetIn sẽ đưc gửi đến b điu khin. B điu khin s tr li vi một thông điệp
packet-out. Thiết b chuyển đổi mạng ng sẽ gi lỗi hay các thay đổi trạng thái i dng các thông đip bt
đồng b.
Bng 1. Các b điu khin SDN mã nguồn m
Tên sản phẩm
Tác giả
Bản quyền
Ngôn ngữ
Người dùng
NOX
ICSI
C++
Nghiên cứu, điều hành
POX
ICSI
Python
Nghiên cứu
Beacon
Stanford University
Java
Nghiên cứu
Floodlight
Big Switch Networks
Apache
Java
Nghiên cứu, phát triển
Ryu
NTT Communication
Java
Nghiên cứu, phát triển
ONOS
The Linux Foundation
Java
Nghiên cứu, điều hành
OpenDaylight
OpenDaylight
_
Phát triển
Jaxon
University of Tsukuba
Java
Nghiên cứu
MulSDN
Kulcloud
C
Điều hành
Trema
NEC
Ruby, C
Nghiên cứu
ỨNG DỤNG VÀ BỘ ĐIỀU KHIỂN SDN MÃ NGUỒN M
Nghiên cứu ban đầu v vic tích hp SDN và OpenStack vi kh năng tương tác [10] đã phát trin giao din cho
phép qun các b điu khin SDN s dng nn tng Ryu. Giao din kh năng hin th ng triu máy o
thiết b chuyn mch. Mt s h thng giao diện đơn giản cũng được phát trin đ hiển thi và tương tác vi nhiu
tác v khác nhau như: hiển th cu trúc mng trên trình duyt web, trạng thái đường truyên ng dng tường
lửa đơn giản. Các ng dụng này cũng thể kết hp vi nn tảng FlowVisor [11] để đảm bo s tách bit gia
các ng dng. Mt s ng dng còn cho phép các nhà phát trin to ra mt kiến trúc mng như mong muốn kèm
theo các ng dng ph tr. Mt trình tối ưu hóa s giúp chuyển đổi các chương trình thành các tác v th cu
hình trên h thng. Gần đây cũng mt s công trình cho phép trin khai c giao diện điu khiển trên đin
toán đám mây đ cung cp các ng dng mng thi gian thc, to ra một môi trường linh hot cho các nhà cung
48 PHÁT HIỆN BẤT THƯỜNG SỚM TRONG MẠNG QUẢN LÝ BẰNG PHẦN MỀM
cp thiết b mng. Mt s phiên bn SDN ngun m thương mại. Bng 1 và 2 lit kê mt s b điu khin
ng dng SDN ph biến cùng với các tính năng cơ bản.
Bảng 2. Các ứng dụng SDN mã nguồn mở
Tên sản phẩm
Tác giả
Bản quyền
Ngôn ngữ
Người dùng
Routeflow
CPqD (Brazil)
-
-
Nghiên cứu, phát triển
Quagga
Quagga Routing Project
GPL
C
Nghiên cứu, phát triển
Avior
Marist College
MIT
Java
Nghiên cứu
OSCARS
Energy Services Networks
New BSD
Java
Nghiên cứu
The BIRD
CERN
GPL
-
Nghiên cứu
FlowScale
nCNTRE
Apache2
Java
Nghiên cứu
Frenetic
Princeton University
GPL
Python
Nghiên cứu
FortNOX
SRI International
-
-
Nghiên cứu
FRESCO
SRI International
-
-
Nghiên cứu
PHÁT HIỆN BẤT THƯỜNG TRÊN MẠNG SDN
Nhiu nghiên cu và giải pháp đã được đề xut và th nghiệm để gii quyết vấn đ phát hin bt thường hoc li
trên h thng mng s dng d liu s kin h thng. Nghiên cu của Alspaugh đng nghip [12] trình bày
mt s kinh nghim phân ch s kin bao gm lọc, tái định dạng tóm lược d liu s kin. H s dng ch
đặc t trạng thái máy để phân tích tun t s kiện đặc trưng phân cụm các kiu chuyển đổi trng thái nhm
h tr ra quyết định. Nghiên cu của Kotani và Okabe [13] đề xuất chế phát hin li nhanh b chuyn mch
b điu khiển thông qua OpenFlow. C ơ chế này gi thông báo kim tra trạng th ái để phát hin nhanh nếu
thông báo không th chuyển đến phía bên kia, sau đó bộ điu khin chia s thông báo nhận được t b chuyn
mch cho tt c các b điu khin một ch đồng b, hoc b điu khiển liên quan đến đường truyn không
kh dng khi thông báo không th chuyn. Tác gi ca nghiên cứu [14] đ xut gii pháp phân tích s kiện để
phát hin bất thường. Gii pháp áp dụng 6 thuật máy hc trên tp d liu cha 16 triu s kin 365 ngàn
s c bất thường được xác định. Tác gi ca nghiên cứu [15] cũng cung cấp gii pháp phân cụm để nhn dng
bất thường nghiêm trng trên h thng mng. Gii pháp áp dng thut toán phân cm theo lp trên chui s
kiện để xác định mối tương quan giữa các cm s kin vi các dch v h thng. D án LogPAI [16] gần đây xây
dựng môi trường trí tu nhân to ngun m để h tr phân tích d liu s kin t động. D án thu thp s
ng lớn đa dạng d liu s kin t h thng phân tán, máy ch siêu y tính thc tế trên Loghub [17],
thu hút nhiu hoạt động nghiên cu t các chuyên gia. Nghiên cu của Tran đồng nghiệp [18] đ xut gii
pháp đánh giá tự động mức độ nghiêm trng ca s kin cnh bo li. Gii pháp s dụng thuật phân loi
cây quyết định rng ngu nhiên trên tp d liu báo cáo li thuộc tính để xây dng b phân loi. Nghiên
cu ca Mohammed đồng nghiệp [19] đề xut gii pháp máy ho c cho vấn đề t động phát hin trng thái h
thng mng và định v li mng. Gii pháp s dng cây quyết định và ti ưu hóa tăng cường để phát hin các vn
đề v nghn hoc li mng. Tác gi ca nghiên cu [20] áp dng trí tu nhân tạo để phát hin sm các tn công
trong mng SDN. Nghiên cứu đề xut gii pháp kiến trúc đa lp phân cp để phát hin phn ng chng li các
tn công khi phát hiện các gói tin độc hi trong mng SDN. Các th nghiệm trên môi trường phng SDN s
dng mt s thuật cây quyết định, rng ngu nhiên, hc sâu, v.v. có hiu qu cao đối vi hình thc tn công t
chi dch v phân tán.
III. GIẢI PHÁP PHÁT HIỆN BẤT THƯỜNG
A. THIẾT KẾ KIẾN TRÚC BỘ ĐIỀU KHIỂN
Hình 2 minh ha kiến trúc b điu khin kết hp gii pháp phát hin bất thư ng. B điu khin gi nguyên các
chức năng bổ sung b phn thu thp d liu s kin (event collector), b phn phân loi rng ngu nhiên
(random forest classifier) và b phn cnh báo bất thưng (anomaly notifier).
Trần Mạnh Hà, Nguyễn Anh Tuấn, Lê Thanh Sơn, Phạm Nguyễn Thế Anh 49
Hình 2. Kiến trúc bộ điều khiển kết hợp giải pháp phát hiện bất thường
B phn thu thp d liu s kin kết hp cht ch vi các b phận điều khiển khác, đặc bit b phận đi u
khin s kiện, để lưu trữ s kiện o cơ s d liệu để dùng hun luyn hình phân loi, chuyển đến b phn
phân loại để đánh giá nguy c ơ hoc phát hin bất thường. B phn phân loi cha hình phân loi dựa trên
thut máy hc, trong nghiên cu này s dụng thuật rng ngu nhiên, vic hun luyn hình phân loi
rng ngu nhiên xy ra tng qun trên các ng dng, d liu s kin ln thu thập máy tính năng lực
tính toán mnh. B phn phân loại đánh giá các s kin chuyển nguy hoặc bất thường đến b phn cnh
báo bất thư ng. B phn cnh báo bất thường thông báo cho người qun tr h thng thông qua ng dng tng
quản lý đồng thời lưu trữ s c bất thường.
B. KĨ THUẬT RỪNG NGẪU NHIÊN
K thut phân loi rng ngu nhiên [6] chia d liu thành các nhóm da trên s đồng thun ca các y quyết
định. K thut học hướ ng dn này s dng tp d liu hun luyn gm các báo cáo lỗi để to ra nhiu cây
quyết định tối ưu ở giai đoạn hun luyện, sau đó khai thác các cây quyết định để đánh giá tập d liu thc tế. Gii
thut tạo y quyêt định t trên xung, tc t nút gốc đến nút lá, đóng vai trò qua n trọ ng trong k thut kết
hp da vào y quyết định này. Cho tp d liu Y=[y1, ...,yM] gm M báo cáo li; mi báo cáo lỗi được biu din
bi 1 vector yi=[yi1,...,yik], t rong đó k ch s ng thuc tính trích xut t báo cáo li; σ ngưỡng chn cây
quyết định tối ưu. Kỹ thut này to ra rng ngu nhiên gm R cây quyết định tối ưu. Thuật toán 1 trình bày các
ớc để to rng ngu nhiên t các báo cáo li.
Thut toán bắt đầu vi vic chia ngu nhiên tp d liu Y thành tp kim tra E và tp hun luyn T theo t l 25%
75% tương ng (1). Tp hun luyện T được dùng đ to cây quyết định (2). Quá trình phát trin cây quyết
định bao gồm 3 bước. Bước đầu tiên xác định vic r nhánh tt nht đối vi tng thuc nh (3). c này s
dng các lut r nhánh dựa trên tính toán entropy đ xác định r nhánh tt nht trong tt c r nhánh có th ca
tng thuc nh, dn đến chia thành 2 tp giá tr ca thuc tính. Mi r nhánh ph thuc vào giá tr ca ch 1
thuc tính r nhánh tt nht cực đại hóa tiêu chí r nhánh được định nghĩa. Bước th hai c định r nhánh
tt nht ca nút trong s các r nhánh được xác định t ớc đầu tiên (4). R nhánh tt nhất cũng cực đại hóa
tiêu chí r nhánh được định nghĩa. Bước cui cùng r nhánh cho nút s dng r nhánh tt nhất đã xác định t
c th hai (6). Quá trình này lp li bước đầu tiên cho đến khi mt trong các lut dng tha mãn. Sau khi to
cây quyết định, gii thut s dng tp kiểm tra E đ đánh giá cây so sánh kết qu đánh giá với σ. Cây quyết
định kết qu đánh giá tốt hơn ngưỡng được thêm vào rng ngu nhiên R (8). Gii thut tiếp tc chia Y to
nhiu cây quyết định tối ưu cho đến khi đủ s ng (9).
Thut toán 1: To mô hình phân loi rng ngu nhiên t d liu báo cáo li
Nhập Tập dữ liệu Y và ngưỡng σ chọn cây quyết định
Xuất Rừng ngẫu nhiên R cây quyết định tối ưu
Bắt đầu