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
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:
mot_phuong_phap_dac_ta_logic_cho_viec_danh_gia_va_phan_tich.pdf

