Một phương pháp đặc tả logic cho việc đánh giá và phân tích lỗ hổng an ninh mạng

46  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
MỘT PHƯƠNG PHÁP ĐẶC TẢ LOGIC CHO VIỆC  
ĐÁNH GIÁ Vꢀ PHÂN TÍCH LỖ HỔNG AN NINH MẠNG  
Trꢀn Bá Hùng1, Nguyꢁn Đꢂc Giang1, Bùi Thꢃ Thư1, Lưu Thꢃ Bích Hương2  
1Viꢀn Công nghꢀ Thông tin, Viꢀn Hàn lâm Khoa hꢁc và Công nghꢀ Viꢀt Nam  
2Trưꢂng Đꢃi hꢁc Sư phꢃm Hà Nꢄi 2  
Tóm tꢅt: Điꢆu quan trꢁng ñꢇi vꢈi các quꢉn trꢊ viên hꢀ thꢇng là phꢉi biꢋt vꢆ nhꢌng lꢍ hꢎng  
bꢉo mꢏt. Tuy nhiên, các phương pháp ñánh giá tính dꢐ tꢎn thương hiꢀn tꢃi có thꢑ gꢒp  
phꢉi các vꢓn ñꢆ vꢆ tꢔ lꢀ sai lꢀch cao, thꢂi gian tính toán dài. Hơn nꢌa, chúng chꢕ có khꢉ  
năng ñꢊnh vꢊ các lꢍ hꢎng riêng lꢖ trên mꢄt máy chꢗ lưu trꢌ mà không cꢘn quan tâm ñꢋn  
hiꢀu quꢉ tương ꢙng cꢗa các lꢍ hꢎng trên máy chꢗ hoꢒc mꢄt phꢘn cꢗa mꢃng vꢈi các lꢍ  
hꢎng có thꢑ ñưꢚc phân phꢇi giꢌa các máy khác nhau. Đꢑ giꢉi quyꢋt nhꢌng vꢓn ñꢆ  
này,chúng tôi ñưa ra mꢄt phương pháp hình thꢙc sꢛ dꢜng ñꢒc tꢉ logic cho viꢀc ñánh giá  
và phân tích lꢍ hꢎng an ninh mꢃng. Vꢈi phương pháp này các lꢍ hꢎng ñưꢚc phát hiꢀn mà  
không cꢘn phꢉi mô phꢝng các cuꢄc tꢓn công và nó cũng có thꢑ dꢐ dàng tích hꢚp vꢈi các  
công cꢜ bꢉo mꢏt khác dꢞa trên cơ sꢟ dꢌ liꢀu quan hꢀ.  
Tꢠ khóa: An ninh mꢃng, ñánh giá tính dꢐ tꢎn thương, lꢍ hꢎng bꢉo mꢏt, thuꢄc tính logic  
Nhꢀn bài ngày 14.5.2017; gꢁi phꢂn biꢃn, chꢄnh sꢁa và duyꢃt ñăng ngày 10.9.2017  
Liên hꢃ tác giꢂ: Trꢅn Bá Hùng; Email: [email protected]  
1. GIꢄI THIꢅU  
Ngày nay, vꢆi sꢇ gia tăng mꢈnh mꢉ cꢊa mꢈng máy tính và sꢇ phꢋc tꢈp cꢊa phꢅn mꢌm  
máy tính, các lꢍ hꢎng bꢂo mꢀt cũng tăng nhanh ꢏ các doanh nghiꢃp lꢆn [3]. Vì nhiꢌu vꢐn  
ñꢌ vꢌ bꢂo mꢀt gây ra bꢏi các lꢍ hꢎng ꢑn trong các mꢈng máy tính, ñiꢌu cꢇc kỳ quan trꢒng  
là các quꢂn trꢓ viên hꢃ thꢔng phꢂi biꢕt vꢌ các lꢍ hꢎng này. Phân tích nhꢖng lꢍ hꢎng này và  
tìm ra cách khai thác, khꢗc phꢘc chúng là rꢐt quan trꢒng cho các hꢃ thꢔng thông tin cꢊa tꢎ  
chꢋc, doanh nghiꢃp [9], có nhiꢌu nghiên cꢋu ñꢙ phát triꢙn kꢚ thuꢀt ñánh giá tính dꢛ tꢎn  
thương như xác ñꢓnh các lꢍ hꢎng bꢂo mꢀt hiꢃn có trong mꢈng. Trong thꢇc tꢕ, cùng vꢆi  
tưꢜng lꢁa, hꢃ thꢔng phát hiꢃn xâm nhꢀp, mã hóa và bꢂo vꢃ chꢔng virus, ñánh giá tꢎn  
thương là mꢝt trong nhꢖng kꢚ thuꢀt cꢔt lõi trong viꢃc bꢂo vꢃ chꢔng lꢈi các cuꢝc tꢐn công  
mꢈng. Các phương pháp phân tích lꢍ hꢎng bꢂo mꢀt ñưꢞc thꢇc hiꢃn tꢇ ñꢝng, chꢟng hꢈn như  
Internet Security System (ISS) Internet Scanner, Nessus, andsoon [15]. Trong bài báo này  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
47  
chúng tôi sꢉ giꢆi thiꢃu mꢝt phương pháp mꢆi ñꢙ phân tích ñánh giá lꢍ hꢎng an ninh  
mꢈng ñó là phương pháp hình thꢋc sꢁ dꢘng ñꢠc tꢂ logic ñꢙ giꢂi quyꢕt bài toán lꢍ hꢎng an  
ninh mꢈng.  
Đꢙ giꢂi quyꢕt vꢐn ñꢌ này bài báo trình bày mꢝt hꢃ thꢔng ñánh giá tính dꢛ bꢓ tꢎn thương  
cho mô hình mꢈng NetScope dꢇa trên ngôn ngꢖ OVAL (Open Vulnerability Assessment  
Language), bao gꢡm ba module chính: kiꢙm tra phân chia các tác nhân (distributed  
inspection agents), phương pháp phân tích(analysis engine) và trung tâm dꢖ liꢃu(data  
center). Các lꢍ hꢎng ñưꢞc xác ñꢓnh thông qua OVAL ñꢡng thꢜi kꢕt hꢞp các lꢍ hꢎng tương  
ꢋng vꢆi các cuꢝc tꢐn công trong mꢝt mꢈng thông qua lí thuyꢕt logic vꢓ tꢢ.  
Trong các phꢅn tiꢕp theo cꢊa bài báo chúng tôi trình bày phương pháp ñꢠc tꢂ logic cho  
viꢃc ñánh giá và phân tích lꢍ hꢎng an ninh mꢈng. Phꢅn ba cꢊa bài báo là kꢕt quꢂ thꢁ  
nghiꢃm phương pháp hình thꢋc sꢁ dꢘng ñꢠc tꢂ. Cuꢔi cùng là kꢕt luꢀn cꢊa bài báo.  
2. PHƯƠNG PHÁP ĐꢆC Tꢇ LOGIC CHO VIꢅC ĐÁNH GIÁ VÀ PHÂN  
TÍCH Lꢈ HꢉNG AN NINH MꢊNG  
2.1. Mô hình hꢋ thꢌng lꢍ hꢎng NetScope  
2.1.1. Mꢏt sꢌ khái niꢋm cơ bꢐn  
Phương pháp phân tích cꢊa hꢃ thꢔng NetScope ñưꢞc ñꢌ xuꢐt trong bài báo này dꢇa  
trên lý thuyꢕt logic vꢓ tꢢ ñơn giꢂn ñưꢞc phân chia thành hai phꢅn: phꢅn riêng biꢃt và vꢓ tꢢ.  
Các vꢓ tꢢ có các yꢕu tꢔ cơ bꢂn, trưꢆc tiên chúng ta giꢆi thiꢃu các ñꢓnh nghĩa sau ñưꢞc sꢁ  
dꢘng cho NetScope [7].  
Đꢊnh nghĩa 1. [19] Kiꢙu tꢐn công V: gꢡm ba thành phꢅn (fact, prerequisite,  
consequence) ñꢙ ñꢈi diꢃn cho ñiꢌu kiꢃn tiên quyꢕt và kꢕt quꢂ cꢊa mꢍi kiꢙu tꢐn công. Mô tꢂ  
cꢊa mꢍi phꢅn tꢁ ñưꢞc liꢃt kê như sau:  
−
Fact: là mꢝt tꢀp hꢞp các cá thꢙ, mꢍi cá thꢙ có miꢌn liên kꢕt các giá trꢓ, ñưꢞc ký hiꢃu  
bꢏi {x1,..., xn}.  
−
Prerequisite: Là ñiꢌu kiꢃn tiên quyꢕt chꢄ ra nhꢖng cái gì cꢅn phꢂi ñúng ñꢙ thꢇc hiꢃn  
tꢐn công mꢝt cách thành công ñưꢞc thꢙ hiꢃn bꢣng công thꢋc vꢓ tꢢ như sau: P1(x1) ∧...  
∧Pp(xp).  
−
Consequence: Mô tꢉ nhꢌng gì có thꢑ ñúng nꢋu cuꢄc tꢓn công thꢞc sꢞ thành công, là  
mꢄt tꢏp hꢚp các công thꢙc cơ sꢟ logic, tꢓt cꢉ các biꢋn ñưꢚc biꢑu diꢐn bꢟi công thꢙc  
{P1(x1)..., Pq (xq)}.  
48  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
Đꢊnh nghĩa 2. Mꢝt tꢐn công tꢋc thꢜi v: là tꢀp hꢖu hꢈn cꢊa tꢀp hꢞp trên fact cꢊa kiꢙu  
tꢐn công V, trong ñó mꢍi bꢝ ñưꢞc kꢕt hꢞp vꢆi mꢝt giá trꢓ xác ñꢓnh.  
Đꢊnh nghĩa 3. [20] Kiꢙu lꢍ hꢎng D:cꢊa bꢐt kỳ thuꢝc tính hꢃ thꢔng nào có thꢙ ñưꢞc sꢁ  
dꢘng như là mꢝt ñiꢌu kiꢃn tiên quyꢕt cꢊa các kiꢙu tꢐn công, tꢋc là mꢍi công thꢋc thuꢝc tính  
cơ sꢏ là ñiꢌu kiꢃn tiên quyꢕt cho các kiꢙu tꢐn công ñưꢞc biꢕt ñꢕntrong CVE (Common  
Vulnerabilities and Exposures), quyꢌn ñꢅy ñꢊ cꢊa ngưꢜi dùng trên victim/attack host và  
các kꢓch bꢂn tꢐn công ñꢙ khꢏi ñꢝng các cuꢝc tꢐn công.  
Đꢊnh nghĩa 4. Lꢍ hꢎng khꢏi tꢈo d: làmꢝt lꢍ hꢎng cꢘ thꢙ vꢆi các ñꢓa chꢄ IP xác ñꢓnh  
tương ꢋng vꢆi mꢝt kiꢙu dꢛ bꢓ tꢐn công D.  
Đꢊnh nghĩa 5. Quan hꢃ tꢐn công/lꢍ hꢎng làcuꢝc tꢐn công tương ꢋng v tương quan vꢆi  
lꢍ hꢎng ñưꢞc tꢈo ra d nꢕu có tꢡn tꢈi p∈P(v) sao cho d bao hàm p, trong ñó P(v) là tꢀp hꢞp  
cꢊa tꢐt cꢂ các vꢓ tꢢ xuꢐt hiꢃn trong ñiꢌu kiꢃn tiên quyꢕt và có ñꢔi sꢔ ñưꢞc thay thꢕ bꢣng các  
giá trꢓ thuꢝc tính tương ꢋng cꢊa mꢝt bꢝ trong d.  
2.1.2. Kiꢑn trúc cꢒa hꢋ thꢌng mô tꢐ lꢍ hꢎng NetScope  
Kiꢕn trúc tꢎng thꢙ cꢊa NetScope ñꢌ xuꢐt trong bài báo này ñưꢞc thꢙ hiꢃn trong Hình 1.  
Nó bao gꢡm ba phꢅn: tác nhân kiꢙm tra (inspection agents), trung tâm dꢖ liꢃu (data center)  
và công cꢘ phân tích (analysis engine). Các chꢋc năng cꢊa tꢢng phꢅn ñưꢞc mô tꢂ như sau:  
Hình 1. Kiꢋn trúc cꢗa hꢀ thꢇng mô tꢉ lꢍ hꢎng NetScope.  
−
Inspection agent: Mꢍi mꢝt inspection agentñưꢞc triꢙn khai trên mꢝt máy chꢊ ñích có  
trách nhiꢃm thu thꢀp thông tin cꢐu hình hꢃ thꢔng thông qua OVAL và báo cáo cho trung  
tâm dꢖ liꢃu ñꢙ phân tích. Vꢆi khꢂ năng thu thꢀp thông tin mꢈnh mꢉ, hꢃ thꢔng NetScope có  
lꢞi thꢕ là xây dꢇng hꢡ sơ lưu trꢖ bao gꢡm: kiꢙu và phiên bꢂn hꢃ ñiꢌu hành, danh sách các  
dꢓch vꢘ, phꢅn mꢌm và danh sách vá, chính sách kiꢙm soát truy cꢀp, sꢁ dꢘng băng thông,  
hiꢃu năng I/O...vv.  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
49  
− Analysis engine:  
• Cꢓu hình hꢀ thꢇng ñánh giá: Thiꢕt lꢀp mꢘc tiêu các máy chꢊ, cơ sꢏ dꢖ liꢃu, chính  
sách ñánh giá và ñiꢌu kiꢃn ñánh giá theo yêu cꢅu ñánh giá, trong ñó viꢃc thiꢕt lꢀp chính  
sách ñánh giá là lꢇa chꢒn mꢝt sꢔ phiên bꢂn nhꢐt ñꢓnh cꢊa phꢅn mꢌm ñánh giá. Điꢌu kiꢃn  
ñánh giá có thꢙ là mꢝt trong ba mꢘc tiêu: ñánh giá ñꢓnh kỳ, ñánh giá ñꢓnh hưꢆng thông tin  
và ñánh giá theo sꢇ kiꢃn.  
• Xác ñꢊnh các lꢍ hꢎng: Theo các ñꢓnh nghĩa cꢊa OVAL, xác ñꢓnh xem có tꢡn tꢈi các  
lꢍ hꢎng trên máy chꢊ hay không dꢇa trên thông tin cꢐu hình ñưꢞc cung cꢐp bꢏi mꢍi tác  
nhân kiꢙm tra.  
• Phân tích lꢍ hꢎng mꢃng: Tương quan các lꢍ hꢎng cá nhân ñưꢞc phát hiꢃn vꢆi các  
cuꢝc tꢐn công ñã biꢕt ñꢙ xây dꢇng các ñưꢜng dꢤn tꢐn công tiꢌm năng dꢤn ñꢕn mꢘc tiêu  
ñưꢞc bꢂo vꢃ.  
• Kiꢑm soát các tác nhân kiꢑm tra: Kiꢙm soát viꢃc khꢏi ñꢝng và chꢐm dꢋt các tác  
nhân kiꢙm tra.  
• Hiꢑn thꢊ các kꢋt quꢉ ñánh giá: Báo cáo ñã phát hiꢃn các lꢍ hꢎng bꢂo mꢀt, các ñưꢜng  
dꢤn tꢐn công tiꢌm ꢑn và các thông tin chi tiꢕt tương ꢋng.  
• Quꢉn lý cơ sꢟ dꢌ liꢀu: Duyꢃt, chèn và xóa các bꢂn ghi dꢖ liꢃu.  
−
Data center: Lưu trꢖ kiꢕn thꢋc vꢌ tꢐn công/lꢍ hꢎng, thông tin cꢐu hình hꢃ thꢔng tꢢ  
mꢒi nhân viên kiꢙm tra, và các kꢕt quꢂ ñánh giá ñưꢞc tꢈo ra bꢏi công cꢘ phân tích. Trong  
bài báo này chúng tôi ñꢌ cꢀp tꢆi ICAT Metabase [22] ñꢙ xác ñꢓnhñꢓnh dꢈnghình thꢋc cꢊa  
cơ sꢏ dꢖ liꢃu Vul_Base (cơ sꢏ dꢖ liꢃu vꢌ lꢍ hꢎng) ñưꢞc thꢙ hiꢃn trong Bꢉng 1.  
Bꢐng 1. Đꢊnh dꢃng và mô tꢉ cơ sꢟ dꢌ liꢀu dꢐ bꢊ tꢎn thương Vul_Base  
2.1.3. Nguyên tꢓc mô tꢐ lꢍ hꢎng  
Trong bài báo này, hꢃ thꢔng NetScope dꢇa vào mꢝt tiêu chuꢑn mꢆi OVAL ñꢙ xác ñꢓnh  
liꢃu lꢍ hꢎng có tꢡn tꢈi trên mꢝt hꢃ thꢔng nhꢐt ñꢓnh hay không. Lưꢞc ñꢡ chuꢑn này cung cꢐp  
mꢝt ñưꢜng cơ sꢏ ñꢙ thꢇc hiꢃn kiꢙm tra tính dꢛ bꢓ tꢎn thương trên hꢃ thꢔng máy tính nꢝi bꢝ  
[21]. Đꢌ cꢀp ñꢕn tóm tꢗt ñꢓnh nghĩa OVAL, mꢝt mô hình ñánh giá tꢎn thương dꢇa trên  
50  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
mꢋc ñꢝ gia tăng ñưꢞc trình bày ꢏ Hình 2 ñꢠc tꢂ mô hình ñánh giá lꢍ hꢎng trên nꢌn tꢂng  
Windows.  
Mô hình này bao gꢡm bꢔn lꢆp tꢢ dưꢆi lên trên: nguꢡn thông tin, tình trꢈng hꢃ thꢔng,  
ñánh giá trung và ñánh giá cuꢔi cùng. Đꢅu tiên có ñưꢞc cꢐu hình hꢃ thꢔng: bꢂng ñăng ký  
hꢃ thꢔng, bꢂng ñăng ký Metabase, hoꢠc tꢃp hꢃ thꢔng. Sau ñó, xác ñꢓnh trung gian tꢋc là  
liꢃu mꢝt phꢅn mꢌm hoꢠc cꢐu hình nhꢐt ñꢓnh có bꢓ tꢎn thương hay không, ñưꢞc thꢇc hiꢃn  
dꢇa trên thông tin trꢈng thái hꢃ thꢔng. Kꢕt luꢀn cuꢔi cùng lꢍ hꢎng cho mꢝt máy chꢊ lưu trꢖ  
ñưꢞc thꢇc hiꢃn bꢏi logic ANDꢥoperation dꢇatrên ñánh giá kꢕt quꢂ trung gian. Quá trình  
xác ñꢓnh hình thꢋc ñưꢞc ñưa ra như sau:  
Trưꢈc tiên, năm tꢀp hꢞp ñưꢞc ñꢓnh nghĩa ñó là: tꢀp các phꢅn mꢌm ꢋng dꢘng FN =  
{fn1,......, fnn}, tꢀp phiên bꢂn phꢅn mꢌm ꢋng dꢘng AV ={av1,......, avn} tꢀp các bꢂn vá lꢍi  
PS = {ps1,......, psm} tꢀp các dꢓch vꢘ ñang chꢈy RS ={rs1,......, rsv} và mꢝt tꢀp hꢞp các thiꢕt  
lꢀp cꢐu hình CS ={cs1,......, csu}. Mꢍi phꢅn tꢁ trong năm bꢝ này ñưꢞc biꢙu diꢛn dưꢆi dꢈng  
công thꢋc vꢓ tꢢ Exist(x) có nghĩa là tꢡn tꢈi x trên mꢝt sꢔ máy chꢊ hoꢠc sꢇ suy luꢀn hꢞp lý  
cꢊa nó. Và miꢌn giá trꢓ cꢊa mꢍi phꢅn tꢁ là {0, 1, ϕ}, trong ñó 1 và 0 ñꢈi diꢃn cho vꢓ tꢢ cꢊa  
thông tin hꢃ thꢔng, mꢝt lꢍ hꢎng cꢘ thꢙ phꢘ thuꢝc vào ñúng hay sai. Giá trꢓ ϕ biꢙu thꢓ rꢣng  
mꢝt lꢍ hꢎng cꢘ thꢙ hiꢃn diꢃn trên máy chꢊ không ñꢇa trên vꢓ tꢢ này.  
Thꢙ hai, chꢋc năng ñánh giá cꢊa phꢅn mꢌm dꢛ bꢓ tꢎn thương liên quan ñꢕn mꢝt lꢍ  
hꢎng nhꢐt ñꢓnh ñưꢞc ñꢓnh nghĩa như sau:  
Trong ñó: fn € FN, av € AV, ps € PS  
(1)  
Hình 2. Mô hình ñánh giá lꢍ hꢎng dꢞa trên cꢓp ñꢄ gia tăng cho nꢆn tꢉng Windows.  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
51  
Thꢙ ba, ñꢔi vꢆi mꢝt lꢍ hꢎng nhꢐt ñꢓnh, chꢋc năng ñánh giá cꢐu hình dꢛ bꢓ tꢎn thương  
ñưꢞc ñꢓnh nghĩa là:  
Trong ñó: rs € RS, cs € CS  
(2)  
Cuꢔi cùng, chꢋc năng ñánh giá liꢃu mꢝt lꢍ hꢎng nhꢐt ñꢓnh có tꢡn tꢈi trên máy chꢊ  
ñưꢞc ñꢓnh nghĩa là:  
f(g,h)= g(fn,av,ps) ∧ h(rs,cs)  
(3)  
Ví dꢘ như lꢍ hꢎng CANꢥ2002ꢥ0863, tꢋc là, khꢂ năng mã hóa yꢕu kém trong giao thꢋc  
RDP, các công thꢋc ñꢓnh vꢓ liên quan ñꢕn Eqs. Tꢢ (1), (2) và (3) ñưꢞc chꢄ ra như sau:  
fn = Exist(Terminal Server 5:0),  
ps =Exist(Patch Q324380) ∩ Exist(SP > 4),  
rs = Exist(RDP service), cs = ϕ  
av = Exist(rdpwd:sys versions ≤ 5:0:2195:5880).  
Ngôn ngꢖ SQL ñưꢞc ñưa ra trong Mitre Corporation 2006 ñꢙ xác ñꢓnh xem lꢍ hꢎng  
CANꢥ2002ꢥ0863 có trên máy chꢊ hay không.  
2.2. Mô hình phân tích ñánh giá lꢍ hꢎng mꢔng  
Hình 3. Mô hình phân tích lꢍ hꢎng mꢃng.  
Dꢇa trên các lꢍ hꢎng ñưꢞc phát hiꢃn, làm thꢕ nào ñꢙ chꢄ ra mꢔi quan hꢃ giꢖa các lꢍ  
hꢎng ñơn lꢦ vꢆi nhau mà nó có thꢙ kꢕt hꢞp ñưꢞc tꢈo thành mꢝt cuꢝc tꢐn công liên quan ñꢕn  
52  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
cꢐu hình ban ñꢅu. Mꢝt phương pháp mꢆi vꢌ phân tích mꢔi tương quan attack/vulnerability  
dꢇa trên logic vꢓ tꢢ ñưꢞc ñꢌ xuꢐt ñꢙ xây dꢇng các ñưꢜng tꢐn công tiꢌm năng dꢤn ñꢕn mꢘc  
tiêu cꢘ thꢙ. Hình 3 cho ta mô hình lꢍ hꢎng mꢈng ñưꢞc phân tích.  
Ý tưꢏng thiꢕt yꢕu cꢊa cách tiꢕp cꢀn ñưꢞc ñꢌ xuꢐt là tương quan các lꢍ hꢎng và các  
cuꢝc tꢐn công bꢣng cách kꢕt hꢞp các lꢍ hꢎng cơ bꢂn vꢆi các ñiꢌu kiꢃn tiên quyꢕt cꢊa các  
cuꢝc tꢐn công khꢏi tꢈo. Nó sꢁ dꢘng ñꢅy ñꢊ mꢔi quan hꢃ nhân quꢂ giꢖa các cuꢝc tꢐn công  
và các lꢍ hꢎng, tꢋc là các ñiꢌu kiꢃn tiên quyꢕt cꢊa mꢝt cuꢝc tꢐn công phꢂi ñưꢞc ñáp ꢋng  
trưꢆc khi nó có thꢙ ñưꢞc sꢁ dꢘng và hꢀu quꢂ cꢊa mꢝt cuꢝc tꢐn công thành công có thꢙ bao  
gꢡm viꢃc khám phá nhꢖng thông tin có giá trꢓ vꢌ mꢈng, nâng cao quyꢌn cꢊa ngưꢜi dùng,  
thêm các mꢔi quan hꢃ tin cꢀy giꢖa các hiꢃu ꢋng có thꢙ khác. Có bꢔn module: thu thꢀp kiꢕn  
thꢋc, thu thꢀp thông tin hꢃ thꢔng, công cꢘ tương quan và trꢇc quan hóa các ñưꢜng dꢤn tꢐn  
công trong mô hình phân tích lꢍ hꢎng mꢈng. Bꢔn module này tương tác vꢆi RDBMS ñꢙ  
xây dꢇng các ñưꢜng dꢤn tꢐn công có thꢙ dꢤn ñꢕn mꢝt mꢘc tiêu ñưꢞc bꢂo vꢃ.  
Module1: Thu thꢏp kiꢋn thꢙc cơ bꢉn  
Mꢘc ñích cꢊa viꢃc thu thꢀp kiꢕn thꢋc cơ bꢂn là xây dꢇng mꢝt cơ sꢏ tri thꢋc cho mꢔi  
tương quan giꢖa attack/vulnerability. Tuy nhiên, rꢐt khó ñꢙ tꢇ ñꢝng nꢗm bꢗt ngꢖ nghĩa cꢅn  
thiꢕt cho các ñiꢌu kiꢃn tiên quyꢕt và hꢀu quꢂ cꢊa cuꢝc tꢐn công, ngôn ngꢖ thưꢜng ñưꢞc sꢁ  
dꢘng ñꢙ mô tꢂ các lꢍ hꢎng và cách khai thác chúng. Bài báo này sꢉ thu thꢀp thông tin vꢌ  
các lꢍ hꢎng và kꢚ thuꢀt tꢐn công ñưꢞc biꢕt ñꢕn tꢢ cơ sꢏ dꢖ liꢃu (Sourcefire 2003) ñꢙ xây  
dꢇng cơ sꢏ dꢖ liꢃu attack/vulnerability ban ñꢅu. Tꢢ cơ sꢏ dꢖ liꢃu tꢐn attack/vulnerability  
này, chúng tôi xây dꢇng mꢝt nguyên tꢗc ñiꢌu kiꢃn tiên quyꢕt hay hꢀu quꢂ  
(prerequisite/consequence) cơ sꢏ cꢊa các cuꢝc tꢐn công bꢣng tay, nơi các ñiꢌu kiꢃn tiên  
quyꢕt và hꢀu quꢂ cꢊa các cuꢝc tꢐn công ñưꢞc mô tꢂ bꢏi các công thꢋc tính cơ sꢏ cꢊa các lꢍ  
hꢎng. Xây dꢇng cơ sꢏ tri thꢋc này liên quan ñꢕn viꢃc mô hình hoá các lꢍ hꢎng cꢊa hꢃ  
thꢔng, các cuꢝc tꢐn công cơ bꢂn và mꢔi quan hꢃ giꢖa các cuꢝc tꢐn công và các lꢍ hꢎng.  
Mô hình lꢍ hꢎng (Modeling vulnerabilities)  
Lꢍ hꢎng này ñưꢞc ñꢓnh nghĩa là bꢐt kỳ thuꢝc tính hꢃ thꢔng nào có thꢙ ñưꢞc sꢁ dꢘng  
như mꢝt ñiꢌu kiꢃn tiên quyꢕt cho mꢝt cuꢝc tꢐn công. Theo ñꢓnh nghĩa vꢌ tính dꢛ bꢓ tꢎn  
thương, nó có thꢙ ñưꢞc chia thành sáu thành phꢅn: CVE và các quyꢌn cꢊa ngưꢜi dùng trên  
máy chꢊ nꢈn nhân, quyꢌn ngưꢜi dùng, khꢂ năng thꢇc thi các chương trình và các kꢓch bꢂn  
tꢐn công trên máy chꢊ tꢐn công và các chính sách truy cꢀp. Thông qua các công thꢋc tính  
cơ sꢏ, sáu phꢅn này ñưꢞc mô hình như sau:  
Vul_Name(VICTIM)  
(Predicate 1)  
(Predicate 2)  
User_Name(ATTACK)  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
53  
User_Name(VICTIM)  
(Predicate 3)  
(Predicate 4)  
(Predicate 5)  
(Predicate 6)  
Policy Name(ATTACK; VICTIM)  
EXECUTE(ATTACK)  
PGM Name(ATTACK)  
Trong ñó: Predicate1Vul_Name (VICTIM) là tên cꢊa host dꢛ bꢓ tꢎn thương VICTIM.  
User_Name ꢏ Predicate 2 và Predicate 3 xác ñꢓnh mꢝt tꢀp hꢞp các hành ñꢝng ñưꢞc cho  
phép trên mꢝt host ñưꢞc chꢄ ñꢓnh có thꢙ ꢏ mꢝt trong ba cꢐp: không có ñꢠc quyꢌn NONE,  
ngưꢜi dùng bình thưꢜng NORMAL_USER và quyꢌn siêu ngưꢜi dùng SUP_USER. Trong  
Predicate 4, Policy_Name ñưꢞc ñꢠt tên theo cách tiꢕp cꢀn lꢆp theo cꢐu trúc giao thꢋc mꢈng  
TCP/IP, chꢟng hꢈn như LINK_ARP, TRANS_TELNET, như vꢀy, cho phép ngưꢜi dùng  
trên máy ATTACK có thꢙ truy cꢀp vào dꢓch vꢘ NAME cꢊa máy chꢊ VICTIM tꢈi lꢆp  
Policy. Predicate 5 và Predicate 6 nghĩa là kꢦ tꢐn công có thꢙ thꢇc hiꢃn bꢐt kỳ chương trình  
và phꢅn mꢌm PGM_Name cꢊa riêng mình trên máy ATTACK.  
Mô hình tꢓn công (Modeling attacks)  
Cơ sꢏ dꢖ liꢃu chꢖ ký Snort ñưꢞc phꢘc vꢘ dưꢆi dꢈng cơ sꢏ dꢖ liꢃu tꢐn công trong hꢃ  
thꢔng NetScope ñưꢞc ñꢌ xuꢐt trong bài báo này là mꢝt cuꢝc tꢐn công cơ bꢂn ñưꢞc ñꢓnh  
nghĩa hình thꢋc như sau:  
Exploit Name (ATTAC; Mid Host, VICTIM) (Predicate 7)  
Cꢘ thꢙ, kꢦ tꢐn công trên host ATTACK có thꢙ khꢏi chꢈy tꢐn công Eploit_Name gây  
bꢐt lꢞi cho máy chꢊ VICTIM thông qua máy Mid_Host.  
Mô hình hoá mꢔi quan hꢃ nhân quꢂ giꢖa các cuꢝc tꢐn công và các lꢍ hꢎng  
Cꢅn phꢂi tính ñꢕn mꢔi quan hꢃ nhân quꢂ giꢖa các cuꢝc tꢐn công và các lꢍ hꢎng ñꢙ phát  
hiꢃn các ñưꢜng dꢤn tꢐn công tiꢌm tàng dꢤn ñꢕn mꢝt mꢘc tiêu. Mꢔi quan hꢃ nhân quꢂ giꢖa  
các cuꢝc tꢐn công và các lꢍ hꢎng ñưꢞc mô hình như sau:  
prerequisite1 ∧ ... ∧ prerequisiten => exploit  
(Predicate 8)  
(Predicate 9)  
exploit => { consequence1... consequencem}  
Trong hai vꢓ tꢢ trên ñiꢌu kiꢃn tiên quyꢕt và hꢀu quꢂ ñưꢞc thꢙ hiꢃn bꢣng công thꢋc cơ  
bꢂn. Điꢌu ñó có nghĩa prerequisitei(i=1,...,n) phꢂi ñúng ñꢙ có thꢙ thꢇc hiꢃn thành công  
cuꢝc tꢐn công, và nꢕu sꢇ khai thác thành công thì consequencej(j=1,...,m) có thꢙ ñúng. Mꢝt  
sꢔ bꢂng trong cơ sꢏ dꢖ liꢃu quan hꢃ ñưꢞc sꢁ dꢘng ñꢙ lưu trꢖ các vꢓ tꢢ trong cơ sꢏ tri thꢋc,  
bao gꢡm các thuꢝc tính liên quan ñꢕn các tꢐn công và các lꢍ hꢎng, và mꢔi quan hꢃ giꢖa  
chúng. Hình 4 cho thꢐy mꢝt sꢔ bꢂng cho mꢝt cơ sꢏ tri thꢋc ví dꢘ.  
54  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
Hình 4. Bꢉng ví dꢜ cho các vꢊ tꢠ và các kiꢑu attack/vulnerability trong cơ sꢟ tri thꢙc.  
ꢧ các bꢂng trên thì: PID là sꢔ thꢋ tꢇ cꢊa các vꢓ tꢢ, VulPredicate là tên cꢊa vꢓ tꢢ biꢙu  
diꢛn cho mꢝt kiꢙu cꢊa tính dꢛ bꢓ tꢎn thương, ArgNum là sꢔ lưꢞng cá nhân trong các thành  
phꢅn thꢇc tꢕ cꢊa mꢍi vꢓ tꢢ kiꢙu dꢛ bꢓ tꢎn thương, Argos là vꢓ trí cá nhân trong thành phꢅn  
thꢇc tꢕ cꢊa mꢍi vꢓ tꢢ cꢊa kiꢙu dꢛ bꢓ tꢎn thương, ArgName tên cá nhân tương ꢋng vꢆi vꢓ trí  
cá nhân trong thành phꢅn thꢇc tꢕ cꢊa mꢍi vꢓ tꢢ cꢊa kiꢙu dꢛ bꢓ tꢎn thương, AttackType là  
kiꢙu tꢐn công V ñꢈi diꢃn cho mꢝt kiꢙu tꢐn công, AttrNum sꢔ thuꢝc tính trong thành phꢅn  
thꢇc tꢕ cꢊa mꢍi vꢓ tꢢ cꢂu kiꢙu tꢐn công, AttrPos là vꢓ trí thuꢝc tính trong thành phꢅn thꢇc tꢕ  
cꢊa mꢍi vꢓ tꢢ cꢊa kiꢙu tꢐn công, AttrName là tên thuꢝc tính tương ꢋng vꢓ trí tꢈo ñꢝ trong  
thành phꢅn thꢇc tꢕ cꢊa mꢍi vꢓ tꢢ cꢊa kiꢙu tꢐn công, PreNum/ConNum là sꢔ lưꢞng các yꢕu  
tꢔ trong thành phꢅn prerequisite/consequence cꢊa mꢍi vꢓ tꢢ cꢊa kiꢙu tꢐn công,  
PrePos/ConPos là vꢓ trí phꢅn tꢁ trong thành phꢅn prerequisite/consequence cꢊa mꢍi vꢓ tꢢ  
cꢊa kiꢙu tꢐn công.  
Bꢂng kiꢙu vꢓ tꢢ lꢍ hꢎng (Hình 4a) bao gꢡm các vꢓ tꢢ có thꢙ ñưꢞc sꢁ dꢘng ñꢙ biꢙu diꢛn  
cho ñiꢌu kiꢃn tiên quyꢕt và hꢀu quꢂ cꢊa các cuꢝc tꢐn công. Ví dꢘ, ñꢅu tiên và thꢋ hai cꢊa  
các bꢝ trong hình 4a cho biꢕt TRANS_IIS_RDS là mꢝt vꢓ tꢢ có hai cá thꢙ: ATTACK ñꢅu  
tiên và VICTIM thꢋ hai, sꢔ thꢋ tꢇ cꢊa nó là 1. Các kiꢙu tꢐn công ñưꢞc lưu trꢖ trong ba  
bꢂng: Attack Type Fact (Hình 4b), Attack Type Prerequisite (Hình 4d) và kꢕt quꢂ loꢈi tꢐn  
công (Hình 4c). Hai bꢂng: Kiꢙu tꢐn công ñiꢌu kiꢃn tiên quyꢕt và kiꢙu tꢐn công kꢕt quꢂ có  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
55  
cùng cꢐu trúc, nhưng ñưꢞc sꢁ dꢘng ñꢙ giꢖ các ñiꢌu kiꢃn tiên quyꢕt và hꢀu quꢂ cꢊa các kiꢙu  
tꢐn công ñã biꢕt, tương ꢋng. Ví dꢘ, bꢝ ñꢅu tiên cꢊa Hình 4c nói lên kiꢙu tꢐn công  
WUFTPDX có mꢝt vꢓ tꢢ có PID là 5, tꢋc là EXECUTE trong thành phꢅn kꢕt quꢂ cꢊa nó.  
Ngoài ra, bꢂng VulName tꢆi PID (xem Hình 4e) bao gꢡm VulName và PID ñưꢞc thiꢕt kꢕ  
ñꢙ tꢇ ñꢝng ñꢈt ñưꢞc sꢇ chuyꢙn ñꢎi tꢢ các lꢍ hꢎng ñã ñưꢞc phát hiꢃn thành các vꢓ tꢢ cơ bꢂn  
và ñꢠt nꢌn móng cho quá trình tiꢌn xꢁ lý sau này.  
Module2: Thu thꢏp thông tin hꢀ thꢇng  
Thông tin vꢌ cꢐu hình hꢃ thꢔng rꢐt hꢖu ích cho viꢃc xây dꢇng các ñưꢜng tꢐn công tiꢌm  
ꢑn. Ví dꢘ, các chính sách truy cꢀp giúp xác ñꢓnh xem mꢝt kꢦ tꢐn công có thꢙ gꢁi mꢝt gói  
ñꢝc hꢈi ñꢕn mꢝt chương trình dꢛ bꢓ tꢎn thương. Chꢋc năng cꢊa module thu thꢀp thông tin  
hꢃ thꢔng là khám phá topo mꢈng và mô tꢂ nó theo mꢝt ñꢓnh dꢈng nhꢐt ñꢓnh. Đꢔi vꢆi  
NetScope là thꢇc tꢕ, ñiꢌu quan trꢒng là tꢇ ñꢝng hoá quá trình phát hiꢃn mꢈng.  
Hai kiꢙu tác nhân kiꢙm tra ñưꢞc phát triꢙn cho nꢌn tꢂng Windows và Linux ñꢙ vưꢞt  
qua vꢐn ñꢌ cꢊa hꢃ thꢔng ñánh giá hiꢃn tꢈi không có khꢂ năng cung cꢐp chính sách truy cꢀp  
và thông tin cꢐu hình khác. Các tác nhân kiꢙm tra ñꢌ xuꢐt sꢁ dꢘng OVAL, và tꢇ ñꢝng xuꢐt  
ra thông tin cꢐu hình máy chi tiꢕt bao gꢡm các dꢓch vꢘ hꢖu ích, các thành phꢅn phꢅn mꢌm,  
kꢕt nꢔi mꢈng và các cꢎng I/O. Đꢔi vꢆi máy chꢊ Windows hoꢠc Linux, các tác nhân kiꢙm  
tra có ñưꢞc các chính sách truy cꢀp bꢣng cách phân tích cú pháp các giá trꢓ chính cꢊa các  
quy tꢗc tưꢜng lꢁa trong bꢂng ñăng ký và các tꢃp cꢐu hình cꢊa IPTables hoꢠc IPChains  
tương ꢋng. Hơn nꢖa, công cꢘ phân tích NetScope phân tích thông tin cꢐu hình tꢢ các tác  
nhân kiꢙm tra ñꢙ phát hiꢃn lꢍ hꢎng CVE trong mꢝt hꢃ thꢔng. Các lꢍ hꢎng CVE ñưꢞc phát  
hiꢃn và thông tin cꢐu hình ñưꢞc chuyꢙn thành các lꢍ hꢎng cơ bꢂn dꢇa theo bꢂng VulName  
ñꢕn PID ñưꢞc lưu trꢖ dưꢆi dꢈng lꢍ hꢎng và hiꢙn thꢓ trong Bꢉng 2.  
Bꢐng 2. Tính dꢐ bꢊ tꢎn thương  
Đꢓnh nghĩa cꢊa mꢍi trưꢜng trong Bꢂng 2 ñưꢞc cho theo các cꢝt: InsVulIDlà sꢔ thꢋ tꢇ  
cꢊa lꢍ hꢎng cơ bꢂn, InsVulPredicatelà các vꢓ cꢊa lꢍ hꢎng cơ bꢂn, Src_Host/Dst_Hostlà  
các máy chꢊ source/destination tham gia vào lꢍ hꢎng cơ bꢂn.  
56  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
Module 3: Phương pháp tương quan  
Phương pháp tương quan là rꢐt quan trꢒng ñꢙ xây dꢇng các ñưꢜng dꢤn tꢐn công tiꢌm  
năng dꢇa trên lý thuyꢕt logic vꢓ tꢢ. Trong giai ñoꢈn này, kꢕt quꢂ attack/vulnerability và  
thông tin cꢐu hình hꢃ thꢔng cꢘ thꢙ ñưꢞc gꢁi ñꢕn mꢝt công cꢘ tương quan. Đꢝng cơ này  
tương tác vꢆi RDBMS ñꢙ tương quan các cuꢝc tꢐn công vꢆi các lꢍ hꢎng ñưꢞc phát hiꢃn  
bꢣng cách sꢁ dꢘng ñꢅy ñꢊ mꢔi quan hꢃ nhân quꢂ giꢖa chúng và lưu trꢖ chúng vào bꢂng kꢕt  
quꢂ tương quan Correlated_Result thꢙ hiꢃn trong bꢂng 3 ñang chuꢑn bꢓ và ñã chuꢑn bꢓ.  
Tꢈi cùng mꢝt hàng trong bꢂng 3, vꢓ tꢢ thuꢝc trưꢜng Preparing là ñiꢌu kiꢃn tiên quyꢕt cꢊa vꢓ  
tꢢ trong trưꢜng Prepared.  
Bꢐng 3. Correlated_Result  
Trưꢆc khi giꢆi thiꢃu thuꢀt toán tương ꢋng vꢆi các lꢍ hꢎng vꢆi các tꢐn công, trưꢆc tiên  
chúng ta cung cꢐp các ñꢓnh nghĩa sau cho mꢝt sꢔ biꢕn, hàm và toán tꢁ ñưꢞc sꢁ dꢘng trong  
quá trình tương quan.  
Sfound là tꢀp các cuꢝc tꢐn công có thꢙ tìm thꢐy ñưꢞc.  
Scurrent là tꢀp hꢞp các cuꢝc tꢐn công thành công có thꢙ xꢂy ra trong quá trình lꢠp lꢈi  
hiꢃn tꢈi.  
SCcurrent là hꢀu quꢂ cꢊa các cuꢝc tꢐn công thành công có thꢙ phát hiꢃn ñưꢞc trong quá  
trình lꢠp lꢈi hiꢃn tꢈi.  
P(et)/C(et) là các ñiꢌu kiꢃn prerequisites/consequences thiꢕt lꢀp cꢊa kiꢙu tꢐn công et.  
Sign là biꢕn thꢙ hiꢃn ñưꢜng dꢤn tꢐn công dꢤn ñꢕn mꢝt mꢘc tiêu cꢘ thꢙ ñưꢞc tìm thꢐy.  
Đưꢞc chꢄ ñꢓnh nꢕu giá trꢓ cꢊa dꢐu hiꢃu là 1, có nghĩa là có mꢝt ñưꢜng dꢤn tꢐn công ít nhꢐt.  
Nꢕu không, không tìm thꢐy ñưꢜng tꢐn công.  
correlation(i, temp) là hàm các quy tꢗc tương quan ñꢙ xác ñꢓnh liꢃu mꢝt cuꢝc tꢐn công  
instantiated có thꢙ thành công, cho dù các giá trꢓ tương ꢋng vꢆi cùng mꢝt ký tꢇ  
"ATTACK", "Mid_Host" hay "VICTIM" trong mꢤu kiꢙu bꢂn ghi là hoàn toàn bình ñꢟng  
trong bꢂn ghi instantiated i nꢕu có, cuꢝc tꢐn công này sꢉ xꢂy ra, và giá trꢓ trꢂ vꢌ tương quan  
chꢋc năng là TRUE. Nꢕu không, sꢉ không có cuꢝc tꢐn công xꢂy ra và giá trꢓ trꢂ vꢌ là  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
57  
FALSE. Ví dꢘ mꢝt kiꢙu tꢐn công cꢘ thꢙ IIS_RDS, giꢂ sꢁ mꢝt loꢈi bꢂn ghi và mꢝt bꢂn ghi  
khꢏi tꢈo i = {Money, NULL, Money, Maude, Maude, NULL}, mꢝt cuꢝc tꢐn công kiꢙu tꢐn  
công khꢏi tꢈo IIS_RDS thành công vì các giá trꢓ tương ꢋng vꢆi ATTACK và VICTIM  
trong temp là Money và Maude trong i.  
Output(i,temp) là hàm mà các cá nhân thay thꢕ cꢊa mꢝt kiꢙu tꢐn công cꢘ thꢙ  
(ATTACK, Mid_Host, VICTIM)vꢆi các giá trꢓ tương ꢋng trong i, tương ꢋng vꢆi ba chuꢍi:  
ATTACK, Mid_Host hoꢠc VICTIM hoꢠc trong temp. Ví dꢘ ñưꢞc liꢃt kê trong tương quan  
vꢌ chꢋc năng (i, temp), cuꢝc tꢐn công khꢏi tꢈo IIS_RSD (Money, Maude) ñưꢞc tꢈo ra thông  
qua chꢋc năng IIS_RDS (output (i, temp)).  
Ins (P(et))∩/∪///σ/Π/ là hàm khꢏi tꢈo cꢊa mꢍi công thꢋc vꢓ tꢢ P(et) theo tꢀp các thông  
tin ban ñꢅu. Các hành ñꢝng cꢊa intersection/union/difference/selection/projection/joinñưꢞc  
xác ñꢓnh trong cơ sꢏ dꢖ liꢃu quan hꢃ.  
Hình 5. Thuꢏt toán tương quan attack/vulnerability.  
Hình 5 trình bày các thuꢀt toán ñưꢞc ñꢌ xuꢐt vꢌ mꢔi tương quan attack/vulnerability.  
Nó bao gꢡm hai thꢊ tꢘc: Forward_search và Backward_search. Đꢔi vꢆi giꢆi hꢈn không  
gian và các chi tiꢕt cꢊa Backward_search tương tꢇ như cꢊa Forward_search, chꢄ có chi tiꢕt  
cꢊa Forward_search ñưꢞc mô tꢂ trong thuꢀt toán tương quan attack/vulnerability. Thꢊ tꢘc  
58  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
Forward_search bꢗt ñꢅu kꢕt hꢞpcác ñiꢌu kiꢃn tiên quyꢕt cꢊa các kiꢙu tꢐn công vꢆi các lꢍ  
hꢎng gꢔc ban ñꢅu, trong khi giai ñoꢈn ban ñꢅu cꢊa thꢊ tꢘc Backward_search là kꢕt hꢞp các  
hꢀu quꢂ cꢊa các kiꢙu tꢐn công vꢆi mꢘc tiêu ñưꢞc bꢂo vꢃ. Hai thꢊ tꢘc này ñꢂm bꢂo rꢣng các  
cuꢝc tꢐn công cꢅn thiꢕt và ñꢅy ñꢊ ñꢔi vꢆi các ñiꢌu kiꢃn ban ñꢅu và mꢘc tiêu ñưꢞc tìm thꢐy.  
Hơn nꢖa, phương pháp chꢄ phân tích các loꢈi tꢐn công mà ñiꢌu kiꢃn tiên quyꢕt cꢊa nó ñưꢞc  
thay ñꢎi và phù hꢞp vꢆi chúng vꢆi tính dꢛ bꢓ tꢎn thương ñưꢞc áp dꢘng mꢍi lꢅn lꢠp.  
Phương pháp này có thꢙ tiꢕt kiꢃm rꢐt nhiꢌu thꢜi gian và không gian trong toàn bꢝ quá trình  
tương quan.  
Module 4: Đưꢂng dꢡn tꢓn công  
Trong mô hình phân tích lꢍ hꢎng mꢈng, modulehiꢙn thꢓ phân tích bꢂng kꢕt quꢂ tương  
quan, và tiꢕp tꢘc xây dꢇng mꢝt sơ ñꢡ trꢇc tiꢕp các ñiꢌu kiꢃn prerequisites/consequences  
phꢘ thuꢝc vào các cuꢝc tꢐn công và các lꢍ hꢎng vꢆi các chꢋc năng cꢊa RDBMS [14].  
Thuꢀt toán trꢇc quan hóa các ñưꢜng dꢤn tꢐn công ñưꢞc thꢙ hiꢃn trong Hình 6. Mꢝt phương  
pháp biꢙu diꢛn linh hoꢈt có cꢂ lꢍ hꢎng và tꢐn công như là ñꢄnh ñưꢞc sꢁ dꢘng ñꢙ diꢛn tꢂ các  
ñưꢜng dꢤn tꢐn công tiꢌm ꢑn. Các cꢈnh trꢇc tiꢕp chꢄ ñꢈi diꢃn cho sꢇ phꢘ thuꢝc chung. Mꢝt  
cꢈnh phꢘ thuꢝc e = (v, s) ñi tꢢ lꢍ hꢎng v ñꢕn tꢐn công s có nghĩa là v là ñiꢌu kiꢃn tiên quyꢕt  
cꢊa s. Tương tꢇ, biên ñꢝ phꢘ thuꢝc e = (v, s) ñi tꢢ tꢐn công ñꢕn lꢍ hꢎng v có nghĩa là v là  
hꢃ quꢂ cꢊa s. Đꢡng thꢜi, chúng tôi chꢄ hiꢙn thꢓ mꢝt loꢈi lꢍ hꢎng, tꢋc là chꢄ như các ñiꢌu  
kiꢃn tiên quyꢕt cꢊa cuꢝc tꢐn công trong ñꢡ thꢓ trꢇc tiꢕp ñꢙ giꢂm không gian hiꢙn thꢓ. Kꢕt  
quꢂ là mꢝt tꢀp hꢞp các ñưꢜng dꢤn tꢐn công trꢇc quan dꢤn tꢢ trꢈng thái mꢈng ban ñꢅu ñꢕn  
mꢝt mꢘc tiêu tꢐn công ñưꢞc xác ñꢓnh trưꢆc. Nó cũng hiꢙn thꢓ như thꢕ nào kꢦ tꢐn công sꢉ  
khai thác lꢍ hꢎng hꢃ thꢔng ñꢙ ñꢈt ñưꢞc bưꢆc xâm nhꢀp cꢊa mình tꢢng bưꢆc. Công viꢃc này  
giúp các quꢂn trꢓ viên phát hiꢃn các chiꢕn thuꢀt tꢐn công cꢐp cao.  
Hình 6. Thuꢏt toán trꢞc quan hóa các ñưꢂng dꢡn tꢓn công.  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
59  
2.3. Các kꢕ thuꢖt thꢗc hiꢋn chính cꢒa hꢋ thꢌng NetScope  
Thiꢕt kꢕ cꢊa NetScope phꢂi ñáp ꢋng các yêu cꢅu vꢌ truyꢌn thông thꢜi gian thꢇc và bꢂo  
mꢀt dꢖ liꢃu. Hai loꢈi cơ chꢕ ñưꢞc áp dꢘng vꢆi viꢃc xem xét truyꢌn thông an toàn và hiꢃu  
suꢐt thꢜi gian quan trꢒng.  
2.3.1. Giao tiꢑp an toàn qua SSL / TLS  
Bꢐt kỳ phꢅn mꢌm ꢋng dꢘng nào vꢆi kiꢕn trúc C/S phꢂi giꢂi quyꢕt vꢐn ñꢌ giao tiꢕp an  
toàn giꢖa máy chꢊ và máy khách. Có hai loꢈi yêu cꢅu truyꢌn thông trong hꢃ thꢔng  
NetScope:  
− Truyꢌn dꢖ liꢃu giꢖa tác nhân kiꢙm tra và trung tâm dꢖ liꢃu, giꢖa công cꢘ phân tích  
và trung tâm dꢖ liꢃu. Cơ chꢕ mã hoá dꢖ liꢃu ñưꢞc cung cꢐp bꢏi RDBMS SQL Server 2000  
ñưꢞc thông qua ñꢙ ñꢂm bꢂo tính bꢂo mꢀt cꢊa viꢃc vꢀn chuyꢙn tꢀp dꢖ liꢃu.  
− Kiꢙm soát truyꢌn thông tin giꢖa công cꢘ phân tích và tác nhân kiꢙm tra. Giao thꢋc  
vꢀn chuyꢙn SSL/TLS giꢖa lꢆp vꢀn chuyꢙn và lꢆp ꢋng dꢘng ñưꢞc giꢆi thiꢃu ñꢙ ñꢈt ñưꢞc mã  
hóa tin nhꢗn giꢖa công cꢘ phân tích và tác nhân kiꢙm tra. Mꢝt quá trình giao tiꢕp hoàn  
chꢄnh giꢖa chúng ñưꢞc thꢙ hiꢃn trong Hình 7. Nó ñưꢞc chia thành 5 cꢘm thông tin liên lꢈc:  
Thông tin xin chào, yêu cꢅu thu thꢀp dꢖ liꢃu, trꢂ lꢜi vꢌ thu thꢀp dꢖ liꢃu, thông báo kꢕt thúc  
thu thꢀp dꢖ liꢃu và thông tin kꢕt thúc phiên làm viꢃc. Trong mꢝt quá trình ñánh giá hoàn  
chꢄnh, năm cꢘm tꢢ này xꢂy ra theo mꢝt trꢀt tꢇ cꢔ ñꢓnh.  
Hình 7. Giao tiꢋp giꢌa công cꢜ phân tích và tác nhân kiꢑm tra.  
2.3.2. Kꢕ thuꢖt ñꢘ cꢐi thiꢋn hiꢋu suꢙt thꢚi gian  
Có hai kꢚ thuꢀt ñꢙ cꢂi thiꢃn hiꢃu suꢐt thꢜi gian là ña luꢡng và chꢋc năng lưꢜi biꢕng  
ñưꢞc áp dꢘng ñꢙ cꢂi thiꢃn hiꢃu suꢐt thꢜi gian.  
−
Đa luꢢng (Multiꢥthread): Mꢝt luꢡng công viꢃc ñꢝc lꢀp ñưꢞc khꢏi ñꢝng cho mꢍi công  
viꢃc ñánh giá trên công cꢘ phân tích. Hơn nꢖa, tꢐt cꢂ các luꢡng chꢈy song song tꢢ ñꢅu ñꢕn  
60  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
cuꢔi cꢊa ñánh giá lꢍ hꢎng. Ví dꢘ, công cꢘ phân tích sꢉ khꢏi ñꢝng tꢔi ña 255 luꢡng cho toàn  
bꢝ phân lꢆp mꢈng C. Cơ chꢕ ña luꢡng có thꢙ cꢂi thiꢃn hiꢃu quꢂ ñánh giá trong mꢝt mꢈng  
lưꢆi quy mô lꢆn, bꢏi vì mꢝt chꢊ ñꢌ khác vꢤn thꢇc hiꢃn nhiꢃm vꢘ ñánh giá khi mꢝt chꢊ ñꢌ  
ñang ñꢞi chuyꢙn dꢖ liꢃu vào trung tâm dꢖ liꢃu.  
−
Hàm lưꢂi (Lazy function): Mꢝt tùy chꢒn chꢋc năng lưꢜi biꢕng ñưꢞc ñꢠt trên tác  
nhân kiꢙm tra ñꢙ giꢂm thꢜi gian chꢈy. Nó có nghĩa là nꢕu chúng ta kích hoꢈt tùy chꢒn này  
trên mꢝt tác nhân cꢘ thꢙ, nó không khꢏi ñꢝng mꢝt chꢊ ñꢌ khi nhꢀn ñưꢞc yêu cꢅu thu thꢀp  
dꢖ liꢃu ngay lꢀp tꢋc. Ngưꢞc lꢈi, nó xác ñꢓnh xem có tꢡn tꢈi mꢝt luꢡng công viꢃc trong hꢃ  
thꢔng không. Nꢕu có, nó chꢜ ñꢞi cho kꢕt thúc cꢊa chꢊ ñꢌ làm viꢃc và nꢝp kꢕt quꢂ cꢊa nó  
cho công cꢘ phân tích. Nꢕu không, nó bꢗt ñꢅu mꢝt chꢊ ñꢌ mꢆi cho nhiꢃm vꢘ này. Khi mꢝt  
tác nhân nhꢀn ñưꢞc nhiꢌu yêu cꢅu cùng mꢝt lúc, nó thꢇc sꢇ khꢏi ñꢝng mꢝt luꢡng ñꢙ tiꢕt  
kiꢃm ñưꢞc nhiꢌu tài nguyên hꢃ thꢔng.  
3. THꢛ NGHIꢅM  
Môi trưꢜng thí nghiꢃm thꢙ hiꢃn trong Hình 8 ñưꢞc thiꢕt lꢀp ñꢙ kiꢙm tra hiꢃu năng cꢊa  
hꢃ thꢔng NetScope trong viꢃc ñánh giá chính xác, hiꢃu quꢂ và xây dꢇng các ñưꢜng tꢐn  
công tiꢌm ꢑn. Công cꢘ phân tích cꢊa hꢃ thꢔng NetScope ñã ñưꢞc thiꢕt lꢀp trên máy chꢊ  
192.168.7.12 ñꢙ thiꢕt lꢀp các tùy chꢒn ñánh giá, thꢇc hiꢃn hꢃ thꢔng ñiꢌu khiꢙn và phân tích  
các kꢕt quꢂ ñưꢞc lưu trꢖ trong trung tâm dꢖ liꢃu.  
Hình 8. Mô hình thꢛ nghiꢀm.  
Ta xem xét các máy chꢊ khác trong mꢈng này như các mꢘc tiêu ñánh giá và thiꢕt lꢀp  
các tác nhân kiꢙm tra trên các máy này ñꢙ thu thꢀp tꢀp dꢖ liꢃu vꢌ cꢐu hình hꢃ thꢔng.  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
61  
Thí nghiꢋm 1: Trên Mail sever vꢈi hai nhóm  
Nhóm 1: Đánh giá an toàn ñꢔi vꢆi IE 6.0 trên máy chꢊ mail chꢈy Win2K mà không có  
bꢂn vá bꢏi hai hꢃ thꢔng: NetScope và MBSA. Kꢕt quꢂ ñưꢞc trình bày trong Bꢂng 4.  
Nhóm 2: Cꢐu hình cꢊa mail server ñưꢞc thay ñꢎi bꢣng cách cài ñꢠt SP1 cꢊa IE 6.0 và  
IIS 5.0, và hai hꢃ thꢔng ñánh giá ñưꢞc sꢁ dꢘng ñꢙ tìm các lꢍ hꢎng cꢊa IIS 5.0. Bꢂng 5 liꢃt  
kê các kꢕt quꢂ bꢣng cách áp dꢘng MBSA và NetScope.  
Bꢐng 4. Kꢋt quꢉ kiꢑm tra IE 6.0 trong nhóm 1 cꢗa thí nghiꢀm 1  
Bꢐng 5. Kꢋt quꢉ kiꢑm tra IE 6.0 trong nhóm 1 cꢗa thí nghiꢀm 1  
Kꢋt quꢉ ñánh giá IIS 5.0 trong nhóm 2 cꢗa thí nghiꢀm 1  
Thí nghiꢋm 2: Kiꢑm tra cho nhiꢆu máy chꢗ  
Kꢕt quꢂ thꢜi gian tính toán trung bình cho nhiꢌu máy chꢊ vꢆi 343 ñꢓnh nghĩa vꢌ lꢍ  
hꢎng ñưꢞc thꢙ hiꢃn trong Hình 9.  
Hình 9. Thꢂi gian tính toán trung bình cho nhiꢆu máy chꢗ cꢗa NetScope.  
62  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
4. KꢜT LUꢝN  
Trong bài báo này chúng tôi ñã trình bày phương pháp mꢆi ñó là phương pháp hình  
thꢋc ñꢠc tꢂ logic cho viꢃc ñánh giá và phân tích lꢍ hꢎng an ninh mꢈng, các kꢕt quꢂ ñã ñưꢞc  
trình bày ꢏ nꢝi dung bài báo này cho thꢐy lꢞi ích cꢊa viꢃc sꢁ dꢘng phương pháp hình thꢋc  
trong viꢃc áp dꢘng vào vꢐn ñꢌ an toàn an ninh mꢈng ñang là vꢐn ñꢌ thꢜi sꢇ nóng hiꢃn nay  
ꢏ Viꢃt Nam cũng như trên toàn thꢕ giꢆi. Trong thꢜi gian tꢆi hưꢆng tiꢕp theo tꢢ kꢕt quꢂ cꢊa  
bài báo này chúng tôi sꢉ trình bày phương pháp xây dꢇng ñꢡ thꢓ tꢐn công khi ñã ñánh giá  
và phân tích lꢍ hꢎng an ninh thông qua ñó giúp các nhà quꢂn trꢓ hay ngưꢜi dùng có thꢙ  
nhꢀn biꢕt và phán ñoán các cuꢝc tꢐn công mꢈng thông qua lꢍ hꢎng hꢃ thꢔng mꢈng.  
Cuꢔi cùng nhóm tác giꢂ cũng xin chân thành cꢂm ơn ñꢌ tài CS17.11“Phương pháp  
hình thꢙc dꢞa trên ñꢒc tꢉ logic cho viꢀc phát hiꢀn và phân tích lꢍ hꢎng an ninh mꢃng” ñã  
hꢍ trꢞ ñꢙ tác giꢂ có thꢙ hoàn thành bài báo này.  
TÀI LIꢅU THAM KHꢇO  
1. Ammann, P., Wijesekera, D., & Kaushik, S. (2002), “Scalable, graphbased network  
vulnerability analysis”.Proceedings of 9th ACMConference on Computer and Communication  
Security, Washington, D.C., USA  
2. Baldwin, R. (1994), Kuang.“Rule based security checking. Cambridge”:MIT Technical  
Report, MIT Lab for Computer Science,Programming Systems Research Group.  
3. CERT Coordination Center (2006), CERT/CC statistics 1988–2004.Pittsburgh: CERT  
4. Deraison, R., Gula, R., & Hayton, T. (2005), Passive vulnerabilityscanning: Introduction to  
NeVO. Accessed June 10.  
5. Farmer, D., & Spafford, E. H. (1991), “The cops security checkersystem”. West Lafayette:  
Purdue University Technical report,CSDꢣTRꢣ993.  
6. Fithen, W. L., Hernan, S. V., O’Rourke, P. F., et al. (2004), Formalmodeling of  
vulnerabilities. Bell Labs Technical Journal, 8(4), pp.173–186.  
7. Geng, S., Qu, W., & Zhang, L. (2001), Discrete mathematics pp. 34ꢣ56. Beijing: Tsinghua  
University Press.  
8. Help and Support Home, Microsoft (2004), Microsoft baseline securityanalyzer (MBSA)  
version 1.2.1 is available. Accessed October 6.  
TẠP CHÍ KHOA HỌC − SỐ 18/2017  
63  
9. Hsu, C., & Wallace, W. (2007). “An industrial network flowinformation integration model for  
supply chain management and intelligent transportation”. Enterprise Information Systems, (1ꢣ  
3), pp.327–351.  
10. International Institute of Standards and Technology (2004), ICATmetabaseꢣyour CVE  
vulnerability search engine. Accessed June10.  
11. Internet Security Systems (2005), Vulnerability assessment. AccessedMarch 10, 2005, from  
12. Jajodia, S., Noel, S., & O’Berry, B. (2003), Topological analysis ofnetwork attack  
vulnerability. Managing cyber threats: Issues, approaches and challenges, chapter 5. Norwell:  
Kluwer Academic.  
13. Kotenko, I. (2003), “Active vulnerability assessment of computernetworks by simulation of  
complex remote attacks”. InternationalConference on Computer Networks and Mobile  
Computing, October 20–23, Shanghai, China, pp.40–47,  
14. Li, T., Feng, S., & Li, L. (2001), Information visualization forintelligent decision support  
systems. KnowledgeꢥBased Systems,14(5–6), pp.259–262.  
15. Martin, R. A. (2003), “Integrating your information security vulnerability management  
capabilities through industry standards (CVE& OVAL)”. IEEE International Conference on  
Systems, Man andCybernetics, 2,, October 5–8, pp.1528–1533  
17. Ritchey, R., & Ammann, P. (2000), “Using model checking to analyzenetwork  
vulnerabilities”, Proceedings of IEEE Symposium onSecurity and Privacy, Oakland: IEEE. pp.  
156–165.  
18. Zerkle, D., & Levitt, K. (1996), Netkuang—a multiꢣhost configurationvulnerability checker,  
Proceedings of the 6th USENIX SecuritySymposium, San Jose, California, USA.  
19. Ning, P., & Cui, Y. (2002), “An intrusion alert correlator based on prerequisites of intrusions”.  
Raleigh: North Carolina State University Technical Report, TRꢣ2002ꢣ01, Department of  
Computer Science.  
20. Ritchey, R., Berry, B., & Noel, S. (2002), “Representing TCP/IP connectivity for topological  
analysis of network security”, The 18th Annual Computer Security Applications Conference,  
December 9–13,San Diego, CA, USA.  
21. Wojcik, M., Bergeron, T., Wittbold, T., et al. (2005), “Introduction to OVAL: A new language  
to determine the presence of software vulnerabilities”, Accessed July 10, 2005.  
22. ICAT (2004), The ICAT Metabase, National Institute of Standards and Technology, Computer  
64  
TRƯỜNG ĐẠI HỌC THỦ ĐÔ Hꢀ NỘI  
USING A LOGICAL SPECIFICATION METHOD FOR  
EVALUATING AND ANALYZING NETWORK SECURITY  
VULNERABILITIES  
Abstract: It is important for system administrators to know about security vulnerabilities.  
However, existing vulnerability assessment methods may experience high bias rates, long  
calculation times. Moreover, they are only capable of locating individual vulnerabilities  
on a host server regardless of the corresponding performance of vulnerabilities on the  
server or part of the network with vulnerabilities that can be addressed. Distributed  
among different machines. To address these issues, we propose a formal methodology  
that uses a logical specification for evaluating and analyzing network security  
vulnerabilities. With this method vulnerabilities are detected without the need to simulate  
attacks and it can also easily integrate with other security tools based on relational  
databases.  
Keywords: Network security, vulnerability assessment, Security vulnerability, Predicate  
logic  
pdf 19 trang baolam 25760 Free
Bạn đang xem tài liệu "Một phương pháp đặc tả logic cho việc đánh giá và phân tích lỗ hổng an ninh mạng", để 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:

  • pdfmot_phuong_phap_dac_ta_logic_cho_viec_danh_gia_va_phan_tich.pdf