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

Áp dụng kiểm tra mô hình và phân tích khái niệm hình thức để phân loại và phát hiện mã độc

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 (2.81 MB, 138 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN THIÊN BÌNH

ÁP DỤNG KIỂM TRA MƠ HÌNH VÀ PHÂN TÍCH KHÁI NIỆM
HÌNH THỨC ĐỂ PHÂN LOẠI VÀ PHÁT HIỆN MÃ ĐỘC

Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 62.48.01.01

Phản biện độc lập 1: PGS. TS. Võ Trung Hùng
Phản biện độc lập 2: PGS. TS. Trương Ninh Thuận

Phản biện 1: PGS. TS. Đỗ Văn Nhơn
Phản biện 2: PGS. TS. Trần Minh Triết
Phản biện 3: PGS. TS. Bùi Hoài Thắng

NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS. TS. Quản Thành Thơ

TP. HỒ CHÍ MINH NĂM 2018


LÕI CAM

OAN

Tác gi£ xin cam oan ây là cơng trình nghiên c˘u cıa b£n thân tác gi£. Các k∏t qu£
nghiên c˘u và các k∏t lu™n trong lu™n án này là trung thác v khụng sao chộp t bòt k mẻt
ngun no v dểi bòt k hỡnh thc no. Viêc tham khÊo cỏc ngun ti liêu (nu cú) ó ềc


thác hiên trớch dđn v ghi ngun ti liêu tham khÊo ỳng quy ‡nh.
Tác gi£ lu™n án

Ch˙ k˛
Nguyπn Thiên Bình

i


TểM TỗT LUọN N
khc phc nhềc im ca phẽng phỏp phỏt hiên mó ẻc băng cỏch so trựng ch
k trong cơng nghiªp, hiªn nay có các nghiên c˘u theo h˜Ĩng ti∏p c™n áp dˆng ki∫m tra mơ
hình ∫ phát hiên mó ẻc nhè vo viêc cho phộp biu din hnh vi nguy hĐi mẻt cỏch lun
l. Tuy nhiờn, tr ng§i cÏ b£n cıa ph˜Ïng pháp ki∫m tra mơ hình l vòn bựng n khụng
gian trĐng thỏi. Dự ó có nhi∑u nghiên c˘u ∫ gi£i quy∏t vßn ∑ này, nhng hiên vđn cha cú
nghiờn cu no tp trung vo bi toỏn phỏt hiên mó ẻc. Thụng qua viêc phõn tớch cỏc hnh
vi nguy hĐi ca mó ẻc trong thác t, chỳng tụi nhn thòy hnh vi nguy hĐi ca mó ẻc chứ
xuòt hiên trong mẻt oĐn mó ngun ềc gÂi là !-region. ∞c tính này là cÏ s ∫ lu™n án ∑
xußt ph˜Ïng pháp ki∫m tra gia t´ng t¯ng phản giỳp thu giÊm ẻ phc tĐp ca mụ hỡnh ch˜Ïng
trình, t¯ ó giúp gi£i quy∏t vßn ∑ bùng nÍ khụng gian trĐng thỏi.
Bờn cĐnh vòn bựng n khụng gian tr§ng thái, ph˜Ïng pháp ki∫m tra mơ hình ∫ phỏt
hiên mó ẻc cũn gp mẻt tr ngĐi lển, ú là mã Ỵc th˜Ìng áp dˆng các kˇ thu™t làm rậi mó
(obfuscation) che dòu hnh vi nguy hĐi ca chỳng. Tuy ó cú mẻt sậ xuòt theo hểng
tip c™n c£i ti∏n lu™n l˛ thÌi gian ∫ gi£i quy∏t vßn ∑ nói trên nh˜ng mÈi ∑ xt theo h˜Ĩng
này chø có th∫ gi£i quy∏t ˜Ịc mỴt kˇ thu™t làm rËi mã, Áng thÌi ph£i c™p nh™t cơng cˆ ki∫m
tra mụ hỡnh, dđn n chi phớ x l mẻt kˇ thu™t làm rËi mã là rßt lĨn. Do ó, lu™n án ã
nghiên c˘u áp dˆng suy diπn tr¯u t˜Òng ∫ tr¯u t˜Ịng hố ch˜Ïng trình c¶n ˜Ịc ki∫m tra
thành mẻt biu din trung gian tậi giÊn, giỳp loĐi b h¶u h∏t các kˇ thu™t làm rËi mã. Ngồi
ra, lu™n ỏn xuòt khung thc HOPE, vểi viêc phõn tỏch b˜Ĩc gi£i rËi mã (deobfuscation) và
b˜Ĩc ki∫m tra mơ hình. NhÌ v™y, khi x˚ l˛ mỴt kˇ thu™t làm rËi mã mĨi, cơng cˆ ki∫m tra mơ

hình khơng c¶n ˜Ịc c™p nh™t, t¯ ó tËi ˜u ˜Ịc chi phí.
Vßn ∑ cịn l§i cıa ph˜Ïng pháp ki∫m tra mơ hình ∫ phỏt hiên mó ẻc l cỏc hnh vi
nguy hĐi ềc biu din băng cỏc cụng thc lun l, vỡ vy cỏc hểng tip cn khai phỏ d
liêu dáa trờn viêc trích xt ∞c tính g∞p rßt nhi∑u khó kh´n. Lu™n ỏn giÊi quyt vòn ny
băng mẻt khung thc ềc gÂi là MarCHGen (Malware Conceptual Hierarchy Generation).
Trong khung th˘c này, băng cỏch m rẻng phõn tớch khỏi niêm hỡnh thc, phẽng phỏp phõn
tớch khỏi niêm lun l mó ẻc (Viral Logical Concept Analysis - V-LCA) ˜Ịc lu™n án ∑ xt
∫ xõy dáng gin khỏi niêm mó ẻc. Sau ú, lun ỏn xuòt k thut gom cm khỏi niêm liờn
tc giỳp xõy dáng cõy phõn còp khỏi niêm mó ẻc. Cuậi cựng, cõy phõn còp khỏi niêm mó
ẻc ềc giỏm sát bi mỴt kˇ thu™t ˜Ịc gÂi là qu£n l˛ t™p c™n phÍ bi∏n (pre-large dataset
management), giúp tránh viªc tái gom cˆm nhi∑u l¶n khơng c¶n thi∏t.
T¯ khố: Phân tích mã th¸c thi, suy diπn tr¯u t˜Ịng, ki∫m tra mơ hình, bùng nÍ khơng
gian tr§ng thái, !-region, phân tích khái niªm hình th˘c, phân tích khái niªm lu™n l˛ mã Îc,
gom cˆm khái niªm liên tˆc.

ii


ABSTRACT
To overcome the drawbacks of signature matching malware detection methods that widely
used in industry, there is much research approaching the application of model checking to
detect malware since this technique can logically represent malicious behaviors. However, model
checking usually suffers from the infamous state explosion problem. Many studies have been
conducted to address this, but none of them is dedicated for malware detection. By studying
large amount of malware, we found that malicious behavior should not occupy in more than
one code segment so-called !-region. This provides a solid fundamental for the thesis to propose
incremental verification method, which allows reducing program model complexity, thus helping
to solve the state explosion problem.
In addition to the state explosion problem, model checking approach for malware detection
encounters a major drawback that malware often employs obfuscation techniques to mask their

harmful behavior. Despite some suggestions into the direction of improving temporal logic to solve
this problem, each proposal following this direction can only handle one obfuscation technique
with the requirement to update the model checker, resulting in enormous costs to handle one
code obfuscation technique. Thus, the thesis studied the utilization of abstract interpretation in
order to abstract the program into a minimal intermediate representation, eliminating most of
the obfuscation techniques. Moreover, the thesis proposes HOPE framework, with the separation
of the deobfuscation step and the model checking step. As a result, when processing a new
obfuscation technique, model checking tool does not need to be updated, thus optimizing the
costs.
The remaining problem of model checking for malicious code detection is that malicious
behaviors are represented by logical formulae. Therefore, the typical data mining approaches
based on feature extraction are not easily applied. The thesis solves this problem with a framework
called MarCHGen (Malware Conceptual Hierarchy Generation). In this framework, by extending
Formal Concept Analysis (FCA), Viral Logical Concept Analysis (V-LCA) is proposed in the
thesis to generate viral concept lattice. Then, the thesis proposes an On-the-fly Conceptual
Clustering (OCC) technique to generate malware concept hierarchy. Finally, the malware concept
hierarchy will be monitored by the pre-large dataset management technique to avoid re-clustering
several times unnecessarily.
Keywords: Binary code analysis, abstract interpretation, model checking, state explosion,
!-region, formal concept analysis, viral logical concept analysis, on-the-fly conceptual clustering
technique.

iii


LÕI CÁM ÃN
Cho phép tơi ˜Ịc g˚i ∏n PGS. TS. Qu£n Thành ThÏ lÌi c£m Ïn sâu s≠c và s¸ tri õn chõn
thnh nhòt ca tụi vỡ nhng sá hẩ trề, quan tõm, dĐy bÊo, nh hểng v ẻng viờn mà th¶y ã
dành cho tơi trong st thÌi gian nghiên cu, thác hiên v bÊo vê lun ỏn.
Bờn cĐnh ú, tơi xin phép c£m Ïn Ban giám hiªu, Phịng Sau §i hÂc, Khoa Khoa hÂc và

Kˇ thu™t máy tính, BỴ mụn Cụng nghê phản mm; v cỏc Thảy Cụ, cỏc b§n nghiên c˘u sinh 
Tr˜Ìng §i hÂc Bách Khoa TP. HÁ Chí Minh ã hÈ trỊ tơi trong q trình nghiên c˘u, hÂc t™p
t§i Tr˜Ìng.
Ci cùng, tơi cÙng mn chia sƠ sá trõn trng ậi vểi nhng ng hẻ ca gia ình tơi và nhßt
là vỊ tơi, cho q trình nghiên c˘u và hÂc t™p cıa tơi trong thÌi gian qua.
Tp. HCM, tháng 1, n´m 2018
Nguyπn Thiên Bình

iv


MữC LữC
Danh sỏch hỡnh v

vii

Danh sỏch bÊng

viii

1 Giểi thiêu
1.1 Mó Îc . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Các kˇ thu™t phân tích mó ẻc trong cụng nghiêp
1.3 p dng kim tra mụ hỡnh phõn tớch mó ẻc .
1.4 Sá cản thit thác hiên ti . . . . . . . . . . . .
1.5 Câu h‰i nghiên c˘u . . . . . . . . . . . . . . . . . .
1.6 Mˆc tiêu nghiên c˘u . . . . . . . . . . . . . . . . .
1.7
óng góp . . . . . . . . . . . . . . . . . . . . . . .
1.8 T¶m quan trÂng cıa lu™n án . . . . . . . . . . . .

1.9 GiĨi h§n cıa lu™n án . . . . . . . . . . . . . . . . .
1.10 Cßu trúc lu™n án . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

1

1
2
4
6
7
8
9
10
10
11

2 N∑n t£ng và các nghiên c˘u liên quan
2.1 Mã Ỵc . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Phõn loĐi mó ẻc . . . . . . . . . . . . . . . . .
2.1.2 Kˇ thu™t phân tích Ỵng mã Ỵc . . . . . . . .
2.1.3 Kˇ thu™t phân tích tỉnh mã Ỵc . . . . . . . .
2.1.4 Th£o lu™n . . . . . . . . . . . . . . . . . . . . .
2.2 Ki∫m tra mơ hình . . . . . . . . . . . . . . . . . . . .
2.2.1 Mơ hình hố . . . . . . . . . . . . . . . . . . .
2.2.2
∞c t£ hình th˘c . . . . . . . . . . . . . . . . .
Linear Temporal Logic (LTL) . . . . . . . . . .
Computational Temporal Logic (CTL) . . . . .
2.2.3 Vòn bựng n khụng gian trĐng thái . . . . .
2.2.4 Th£o lu™n . . . . . . . . . . . . . . . . . . . . .
2.3 Làm rËi mã . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Các kˇ thu™t làm rËi mã . . . . . . . . . . . . .
2.3.2 Các kˇ thu™t làm rËi mã ˜Ịc mã Ỵc s˚ dˆng
2.3.3 Các kˇ thu™t gi£i rËi mã . . . . . . . . . . . . .
2.3.4 Th£o lu™n . . . . . . . . . . . . . . . . . . . . .

2.4 Gom cˆm d˙ liªu . . . . . . . . . . . . . . . . . . . . .
2.4.1 Ph˜Ïng pháp gom cˆm phân ho§ch . . . . . . .
2.4.2 Ph˜Ïng pháp gom cˆm phân cßp . . . . . . . .
2.4.3 Th£o lu™n . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

13
13
15
16
18
20
21
22
23
24
25
26
27
27
28
30
31
33
33
34
35
36

3 Ph˜Ïng pháp ki∫m tra gia t´ng t¯ng ph¶n
3.1 Các nghiên c˘u liên quan . . . . . . . . . .

3.1.1 Xây d¸ng CFG . . . . . . . . . . . .
3.1.2 Ph˜Ïng pháp ki∫m tra thành ph¶n .
3.2 Các ‡nh nghỉa ban ¶u . . . . . . . . . . .
3.3 Ki∫m tra gia t´ng t¯ng ph¶n trên !-region
3.4 Xây d¸ng t™p !-region . . . . . . . . . . . .
3.5 Tr¯u t˜Òng hoá !-region . . . . . . . . . . .
3.6 Xây d¸ng t™p !-instruction . . . . . . . . .
3.7 Ví dˆ minh ho§ . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.

38
39
39
41
43
51
55
57
58
60

v

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.


3.8

3.9
4 Áp
4.1
4.2
4.3
4.4
4.5
4.6

3.7.1 H˜Ĩng ti∏p c™n ki∫m tra mơ hình thơng th˜Ìng
3.7.2 Ph˜Ïng pháp ki∫m tra gia t´ng t¯ng ph¶n . . .
Thí nghiªm . . . . . . . . . . . . . . . . . . . . . . . .
3.8.1 Mơi tr˜Ìng . . . . . . . . . . . . . . . . . . . .
3.8.2 T™p d˙ liªu . . . . . . . . . . . . . . . . . . . .
3.8.3
Ỵ o . . . . . . . . . . . . . . . . . . . . . . .
3.8.4 Các ph˜Ïng pháp ki∫m tra . . . . . . . . . . .
3.8.5 K∏t qu£ thí nghiªm . . . . . . . . . . . . . . .
Th£o lu™n . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

60
62
63
63
63
65
65
66
71

dˆng suy diπn tr¯u t˜Ịng ∫ lo§i b‰ các kˇ thu™t làm rËi mã
Các nghiên c˘u liên quan . . . . . . . . . . . . . . . . . . . . . . . .
HOPE - khung th˘c x˚ l˛ các kˇ thu™t làm rËi mã . . . . . . . . . .
Tr¯u t˜Òng hoá hành vi ∫ gi£i rËi mã . . . . . . . . . . . . . . . . .

Ch˘ng minh kh£ n´ng gi£i rËi mã . . . . . . . . . . . . . . . . . . . .
Thí nghiªm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Th£o lu™n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

73
74
77
79
81
82
83


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

84
84
88
88
89
90
90
90
93
98
98
101
101
102
103
104

105
105
106

5 Hª thËng hố mã Ỵc
5.1 Các nghiên c˘u liên quan . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Phân tớch khỏi niêm hỡnh thc v cỏc m rẻng . . . . . .
5.1.2 Phân tích khái niªm hình th˘c h˜Ĩng ∞c tính . . . . . .
5.1.3 TÍng qt hố lu™n l˛ cho phân tích khái niªm hỡnh thc
5.1.4
c tÊ v phõn loĐi mó ẻc . . . . . . . . . . . . . . . . .
5.2 Các ‡nh nghỉa ban ¶u . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Phân tích khái niªm hình th˘c . . . . . . . . . . . . . . .
5.2.2 Phân tích khái niªm lu™n l˛ mã Ỵc . . . . . . . . . . . .
5.3 Hê thậng hoỏ mó ẻc dáa vào V-LCA . . . . . . . . . . . . . . .
5.4 Gom cˆm khái niªm liên tˆc . . . . . . . . . . . . . . . . . . . . .
5.5 Qu£n l˛ t™p c™n phÍ bi∏n . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Khái niªm phÍ bi∏n . . . . . . . . . . . . . . . . . . . . .
5.5.2 Qu£n l˛ c™p nh™t khái niªm phÍ bi∏n . . . . . . . . . . .
5.6 Thí nghiªm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.1 Hiêu suòt cıa kˇ thu™t gom cˆm d¸a trên FCA . . . . . .
5.6.2 S˚ dˆng Ỵ o AUP ∫ so sánh chßt l˜Ịng gom cˆm . . .
5.6.3
ánh giá hiêu suòt theo chòt lềng cm . . . . . . . . . .
5.7 Th£o lu™n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

6 K∏t lu™n và h˜Ĩng m rỴng
107
6.1 Tóm t≠t và k∏t lu™n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2 H˜Ĩng m rỴng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

vi


DANH SÁCH HÌNH Vì
1.1
1.2

Ch˙ k˛ virus Chernobyl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Còu trỳc nẻi dung lun ỏn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

11

2.1
2.2
2.3
2.4
2.5

Bi∫u diπn ch˜Ïng trình. . . . . . .
Áp dˆng ki∫m tra mơ hình ∫ phát
Cßu trúc Kripke. . . . . . . . . . .
Virus Avron. . . . . . . . . . . . .
Ph˜Ïng pháp gom cm phõn còp. .

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

19
20
25
32

35

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12

Phẽng phỏp kim tra thnh phản. . . . . . . . . . . . .
Cỏc bểc thác hiên kim tra thnh phản. . . . . . . . .
ASM, CFG và không gian trĐng thỏi ca chẽng trỡnh.
Quy tc thác thi. . . . . . . . . . . . . . . . . . . . . . .
Nhng lênh khụng cha trong mđu nhn diên mó ẻc. .
Ph˜Ïng pháp ki∫m tra gia t´ng t¯ng ph¶n. . . . . . . .
!-regions. . . . . . . . . . . . . . . . . . . . . . . . . . .
Khơng gian tr§ng thái ki∫m tra mơ hình. . . . . . . . .
Ch˜Ïng trình r≥ nhánh Ïn gi£n và ph˘c t§p. . . . . . .
So sánh tÍng thÌi gian ch§y. . . . . . . . . . . . . . . . .
So sánh bỴ nhĨ s˚ dˆng. . . . . . . . . . . . . . . . . . .
So sỏnh sậ trĐng thỏi duyêt. . . . . . . . . . . . . . . . .

.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

41
42
44
50

51
53
61
62
64
68
69
70

4.1
4.2
4.3
4.4
4.5
4.6

S˚ dˆng công th˘c CTL ∫ ∞c t£ hành vi nguy h§i.
Áp dˆng các kˇ thu™t làm rËi mã trên virus Avron. .
Hành vi nguy h§i. . . . . . . . . . . . . . . . . . . .
Hành vi vơ h§i. . . . . . . . . . . . . . . . . . . . . .
Khung th˘c HOPE. . . . . . . . . . . . . . . . . . .
Các b˜Ĩc tr¯u t˜Ịng hố hành vi. . . . . . . . . . .

.
.
.
.
.
.


.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.


.
.
.
.
.
.

.
.
.
.
.
.

74
75
76
77
77
80

5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8

5.9

Cây khái niêm ca cỏc oĐn mó mụ tÊ trong BÊng 5.1. . . .
Gin khỏi niêm mó ẻc ềc tĐo ra bi phẽng phỏp FCA.
Gin khỏi niêm mó ẻc ềc tĐo ra bi V-LCA. . . . . . .
MarCHGen - khung thc hê thậng hoỏ mó ẻc. . . . . . . .
Cõy phõn còp tĐo bi OCC. . . . . . . . . . . . . . . . . . .
Giàn khái niªm phÍ bi∏n. . . . . . . . . . . . . . . . . . . .
Xác ‡nh t™p phÍ bi∏n. . . . . . . . . . . . . . . . . . . . . .
Cõy phõn còp mó ẻc. . . . . . . . . . . . . . . . . . . . . .
Hiªu suòt ca cỏc thut toỏn gom cm khỏi niêm. . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

87
92
96
98
101
102
103
104
104

. . . . .
hiªn mã
. . . . .
. . . . .
. . . . .

vii

. . .
Ỵc.
. . .
. . .
. . .

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.


DANH SÁCH BÉNG

3.1
3.2
3.3

Danh sách !-instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
T™p d˙ liªu thí nghiªm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
K∏t qu£ thí nghiªm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60
65
66

4.1
4.2

Ngơn ng˙ tr¯u t˜Ịng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
K∏t qu£ thí nghiªm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79
83

5.1
5.2
5.3
5.4
5.5
5.6

Các o§n mã bi∫u diπn hành vi nguy h§i. . . . . . . . . . . . . .
MỴt sË nhóm mã Ỵc phÍ bi∏n. . . . . . . . . . . . . . . . . . . .

Ng˙ c£nh hình th˘c ˜Ịc t§o ra t¯ các o§n mã trong B£ng 5.1.
Ng˙ c£nh hình th˘c lu™n l˛ mã Ỵc cıa các oĐn mó trong BÊng
K thut tru tềng hoỏ mó ẻc. . . . . . . . . . . . . . . . . . .
Tr¯u t˜Ịng hố mó ẻc cho cỏc khỏi niêm trong BÊng 5.3 . . . .

86
90
91
94
96
97

viii

. . .
. . .
. . .
5.1.
. . .
. . .

.
.
.
.
.
.

.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.

.
.
.
.
.
.

.
.
.
.
.
.


DANH MữC CC T VIũT TỗT

T vit tt
API

Vit ảy
Application Programming Interface

AUP

Average Uninterpolated Precision


ASI
BDD
CFG
CTL
CTPL

Aggregate Structure Identification
Binary Decision Diagrams
Control Flow Graph
Computation Tree Logic
Computation Tree Predicate Logic

CURE

Clustering Using Representative

FCA

Formal Concept Analysis

F-FCA

Feature-driven Formal Concept Analysis

HAC

Hierarchical Agglomerative Clustering

HOPE


Handling Obfuscated Polymorphic malwarE

LCA
LTL

Logical Concept Analysis
Linear Temporal Logic

MarCHGen

Malware Conceptual Hierarchy Generation

OCC

On-the-fly Conceptual Clustering

PDDP

Principal Direction Divisive Partitioning

PAT

Process Analysis Toolkit

ROCK

RObust Clustering using linKs

SCTPL


Stack Computation Tree Predicate Logic

SCTPL\X

Stack Computation Tree Predicate Logic
with the next time operator X

SLTPL

Stack Linear Temporal Predicate Logic

TL
SMV

Temporal Logic
Symbolic Model Verifier

V-LCA

Viral Logical Concept Analysis

VSA

Value Set Analysis

1

fi nghæa
Giao diên lp trỡnh ng dng
ẻ chớnh xỏc khụng suy giÊm

trung bình
Xác ‡nh cßu trúc tÍng hỊp
Bi∫u Á quy∏t ‡nh nh‡ phân
Á th‡ lng th¸c thi
Lu™n l˛ cây tính tốn
Lu™n l˛ v‡ t¯ cây tính tốn
Thu™t tốn gom cˆm s˚ dˆng
ph¶n t Đi diên
Phõn tớch khỏi niêm hỡnh thc
Phõn tớch khỏi niêm hỡnh thc
hểng c tớnh
Thut toỏn gom cm trẻn
phõn còp
Khung th˘c x˚ l˛ mã Ỵc
a hình b‡ làm rËi
Phân tích khái niªm lu™n l˛
Lu™n l˛ thÌi gian tuy∏n tính
Khung th˘c xõy dáng cõy
phõn còp khỏi niêm mó ẻc
Gom cm khỏi niêm liờn tc
Gom cm phõn hoĐch hểng
ch Đo
Bẻ cụng c phân tích ti∏n trình
Thu™t tốn gom cˆm m§nh m≥
s˚ dˆng liên k∏t
Lu™n l˛ v‡ t¯ cây tính tốn
ng´n x∏p
Lu™n l˛ v‡ t¯ cây tính tốn
ng´n x∏p vĨi tốn t˚ neXt
Lu™n l˛ v‡ t¯ thÌi gian

tuy∏n tính ng´n x∏p
Lu™n l˛ thÌi gian
Ki∫m tra mơ hình k˛ hiªu
Phân tích khái niªm lu™n l˛
mã Ỵc
Phân tích t™p giá tr‡


CHNG 1

GII THIừU

Phản mm nguy hĐi hay cũn gi l mó ẻc ó v ang gõy ra nhng tỏc hĐi ròt lển [1]. Ban ảu,
mc ớch ca viêc tĐo ra mã Ỵc chø là ∫ ánh giá các lÈ hÍng b£o m™t ho∞c ch˘ng t‰ kh£ n´ng
kˇ thu™t [2]. Tuy nhiờn, mc ớch kinh t l ẻng lác chớnh tĐo ra mó ẻc ngy nay, thm
chớ cú cÊ mẻt nn kinh t ngảm ềc xõy dáng trờn mó ẻc [3]. Hiên cú n hng trm nghỡn
mó ẻc mểi ềc phát hiªn mÈi ngày theo sË liªu cıa các hãng b£o m™t [1]. Các l™p trình viên
khơng chun v®n có th∫ dπ dàng t§o ra các bi∏n th∫ nguy hi∫m t¯ các mã Ỵc ã bi∏t. Ngồi ra,
các kˇ thu™t ềc s dng trong cỏc phản mm nguy hĐi, mó Ỵc cÙng khơng ng¯ng ˜Ịc c£i
ti∏n và ngày càng tr nờn phc tĐp trỏnh b phỏt hiên bi cỏc cụng c nhn diên mó ẻc.
Mc dự cỏc tp on cụng nghiêp v cẻng ng nghiờn cu liờn tc phỏt trin cỏc k thut
nhn diên v hĐn ch cỏc tỏc hĐi do mó ẻc gõy ra, cỏc nghiờn cu gản õy u chứ giÊi quyt
ềc mẻt phản ca nhiu vòn ang tn tĐi. Hiên vđn cha cú mẻt giÊi phỏp tng th no giÊi
quyt ềc trn vàn vòn mó ẻc.
Trong phĐm vi ca lun ỏn, chỳng tụi xt các gi£i pháp giúp gi£i quy∏t nh˙ng vßn ∑
chính cũn tn tĐi bao gm vòn bựng n khụng gian tr§ng thái (state explosion) khi áp dˆng
ki∫m tra mơ hỡnh nhn diên mó ẻc, vòn lm rậi mó (obfuscation) thèng ềc mó ẻc
ỏp dng v vòn phõn loĐi mó ẻc trờn cẽ s hnh vi nguy hĐi ca chỳng ềc c tÊ băng
cụng thc lun l.
1.1




ẻc

Phản mm nguy hĐi, hay cũn gi l mó ẻc, l nhng phản mm cậ thác hiên hnh vi nguy hĐi
cú ch ớch ca ngèi lp trỡnh phản mm [4]. Tu˝ theo mˆc ích gây h§i và cÏ ch∏ ho§t Ỵng,
mã Ỵc ˜Ịc phân lo§i thành các nhóm bao gÁm adware, virus, trojan horses, worms, rootkits,
spyware, ransomeware... Ban ¶u mã Ỵc ˜Ịc t§o ra chø vĨi mˆc ích nghiên c˘u ho∞c phô diπn

1


kh£ n´ng kˇ thu™t. Ví dˆ, chø vĨi mˆc ích phô diπn kˇ thu™t, nhi∑u tác gi£ ã ganh ua ∫ t§o
ra nhi∑u bi∏n th∫ cıa sâu máy tính (worm) Netsky [2]. Tuy nhiờn, ẻng lác tĐo ra mó Ỵc ã
thay Íi, mã Ỵc hiªn nay ˜Ịc phát tri∫n vĨi mˆc ích em l§i lỊi nhu™n. Và cÙng chính nhè lềi
nhun m ngun lác dnh cho viêc phỏt trin mó ẻc ngy cng tr nờn di do, dđn n viêc
cỏc k thut tiờn tin m mó ẻc s dng khụng ngng ềc ảu t phỏt trin.
Vỡ nhng tỏc hĐi ròt lển gõy ra, mó ẻc thu hỳt ềc sá chú ˛ cıa c£ giĨi cơng nghiªp và
giĨi nghiên c˘u vĨi mˆc ích t§o ra các cơng cˆ hÈ trỊ phỏt hiên v cụ lp mó ẻc. Trong cụng
nghiêp, hai ph˜Ïng pháp chính ˜Ịc s˚ dˆng ∫ phân tích mã Îc là so trùng ch˙ k˛ và giám
sát th¸c thi trong mơi tr˜Ìng gi£ l™p. Các ph˜Ïng pháp này ∑u có ˜u và nh˜Ịc i∫m riêng nh˜
˜Ịc giĨi thiªu trong Mˆc 1.2.
Trong cỴng Áng nghiên c˘u, ph˜Ïng pháp chính ˜Ịc s˚ dˆng là ph˜Ïng pháp hình th˘c vĨi
mˆc tiêu phát hiên ềc cỏc hnh vi nguy hĐi tht sá ca mó ẻc m khụng cản dựng n ch
k hoc giỏm sát th¸c thi trong mơi tr˜Ìng gi£ l™p. Ph˜Ïng pháp này tuy có nhi∑u ˜u i∫m so
vĨi các ph˜Ïng pháp ềc dựng trong cụng nghiêp, nú vđn tn tĐi mẻt sậ hĐn ch cú th ỏp
dng ềc trong thác t∏. Gi£i quy∏t các h§n ch∏ này chính là mˆc tiêu cıa lu™n án, ˜Ịc trình
bày trong Mˆc 1.6.
1.2


Các kˇ thut phõn tớch mó

ẻc trong cụng nghiêp

phỏt hiên ềc sá hiên diên ca mó ẻc, cỏc chẽng trỡnh chậng mó ẻc trong cụng nghiêp
thèng s dng ch k (signature) ˜Ịc xác ‡nh t¯ tr˜Ĩc cho t¯ng mã Ỵc ∫ kim tra sá tn
tĐi ca mó ẻc ú trong chẽng trình máy tính [5]. Ch˙ k˛ ˜Ịc t§o ra sau khi phân tích t¯ng
mã Ỵc cˆ th∫ ∫ ch˙ k˛ chứ trựng vểi chớnh mó ẻc ny khi thác hiên so trựng. Sau ú, ch k
ềc hóng cung còp phản m∑m c™p nh™t ∏n cÏ s d˙ liªu cıa ng˜Ìi s˚ dˆng ∫ ti∏n hành so
trùng (quét) các t™p tin trên máy tính cıa hÂ. Hình 1.1 là mỴt ví d ca ch k ềc dựng
phỏt hiên sá hiên diªn cıa virus Chernobyl.
E800 0000 005B 8D4B 4251 5050
0F01 4C24 FE5B 83C3 1CFA 8B2B

Hình 1.1: Ch˙ k˛ virus Chernobyl.

2


Mc dự viêc kim tra băng cỏch so trựng cỏc ch˙ k˛ có ˜u i∫m là thÌi gian th¸c thi rßt
nhanh, ph˜Ïng pháp này có hai khuy∏t i∫m chính. Th˘ nhòt, ch k ềc tĐo ra t quỏ trỡnh
phõn tớch thı cơng, ây là cơng viªc tËn thÌi gian và cú tứ lê lẩi cao. Ròt nhiu hóng bÊo mt
sau khi c™p nh™t cÏ s d˙ liªu ch˙ k˛ ã gõy ra nhảm lđn trong viêc nhn diên cỏc phản m∑m
thơng th˜Ìng nh˜ là mã Ỵc [6, 7]. Ngồi ra, sË l˜Ịng mã Ỵc mĨi ˜Ịc phát tán hàng ngày l
ròt lển, iu ny dđn n viêc chm tr trong q trình phát hành ch˙ k˛ cho các mã Ỵc mÓi
m∞c dù các hãng b£o m™t ã dành nh˙ng nguÁn lác khng l lm viêc ny.
Th hai, vỡ ch k ềc tĐo ra t cỏc mó ẻc ó bit, phản mm chậng mó ẻc khụng th
phỏt hiên nhng mó Ỵc ch˜a có ch˙ k˛.


∞c biªt, Ëi vĨi các mã Îc ˜Òc thi∏t k∏ riêng cho

nh˙ng mˆc tiêu cˆ th∫ v khụng ch ớch phỏt tỏn rẻng trờn Internet, phản mm chậng mó ẻc
s khụng phỏt hiên ềc sá hiên diên ca nhng mó ẻc ny, do ú khụng phỏt hành ch˙ k˛ ∫
nh™n diªn chúng. Ngồi ra tác gi£ cıa mã Ỵc có th∫ dπ dàng thay Íi hình th˘c cıa mã nguÁn
∫ ch˙ k˛ ˜Òc dùng ∫ nh™n diên chỳng khụng cũn phự hềp. Trong thác t, ngay c£ nh˙ng tác
gi£ khơng am hi∫u sâu v∑ mã Ỵc v®n có th∫ s˚ dˆng nh˙ng cơng cˆ làm rËi mã (obfuscation)
nh˜ Loco [8] hay JHide [9] ∫ t§o ra các bi∏n th∫ cıa mã Ỵc mà các bi∏n th∫ này khơng th∫
˜Ịc phát hiªn bi ch˙ k˛ cıa mã Ỵc ban ¶u.
Ngồi ra, Ëi vĨi các mã Ỵc tiên ti∏n hÏn nh˜ virus a hình, ph˜Ïng pháp này g∞p ròt nhiu
hĐn ch vỡ chng virus a hỡnh cú th tĐo ra cỏc bÊn sao gản nh hon ton khỏc nhau mẩi lản
chỳng nhõn bÊn thụng qua viêc s dng mẻt cẽ ch ẻt bin phc tĐp. TĐi thèi im ny, cỏc
phản mm chậng mó ẻc cụng nghiêp vđn x l thnh cụng mẻt sậ loĐi virus a hỡnh nhè vo sá
ẽn giÊn trong cẽ ch ẻt bin ca virus, do ú ch k vđn ềc trớch xuòt thnh cụng vĨi i∑u
kiªn sË l˜Ịng bi∏n th∫ ˜Ịc phân tích ı lển [10]. Tuy nhiờn, viêc phõn tớch mẻt sậ lềng lĨn
bi∏n th∫ ịi h‰i nhi∑u thÌi gian và chi phí, hÏn n˙a cÏ ch∏ Ỵt bi∏n cıa virus ang ˜Ịc phát
tri∫n nhanh chóng ∫ tr nên ph˘c t§p.

i∑u này làm cho viêc trớch xuòt ch k ngy cng khú

khn, thm chớ l bòt khÊ thi.
Mẻt phẽng phỏp phõn tớch khỏc ềc dựng trong cụng nghiêp l tin hnh thác thi ch˜Ïng
trình c¶n phân tích trong mơi tr˜Ìng gi£ l™p ∫ theo dừi v phỏt hiên cỏc hnh vi nguy hĐi có
th∫ có [11]. Ph˜Ïng pháp này có ˜u i∫m là theo dõi ˜Ịc mÂi hành vi mà ch˜Ïng trình th¸c
thi mẻt cỏch trác quan v chi tit. Tuy nhiờn, ậi vĨi các mã Ỵc tiên ti∏n, chúng ˜Ịc cài ∞t
3


nh˙ng kˇ thu™t ∫ xác ‡nh mơi tr˜Ìng th¸c thi có ph£i là mơi tr˜Ìng gi£ l™p hay khơng. N∏u là
mơi tr˜Ìng gi£ l™p, chúng s≥ khơng th¸c thi hành vi nguy hĐi. Ngay cÊ ậi vểi cỏc mó ẻc khơng

có cÏ ch∏ nh™n diªn mơi tr˜Ìng gi£ l™p, ph˜Ïng phỏp ny vđn tn tĐi hĐn ch vỡ mẻt sậ hnh vi
nguy hĐi chứ ềc thác hiên tĐi mẻt thèi im no ú hoc trờn mẻt còu hỡnh hê thậng no ú
(m mụi trèng giÊ lp khụng hiên thác ỳng).
Mc dù các kˇ thu™t phân tích mã Ỵc trong cơng nghiêp ềc ỏp dng rẻng rói vỡ lềi th v
thèi gian phõn tớch v phỏt hiên ềc cỏc mó ẻc ph bin, cỏc k thut ny vđn tn tĐi nhiu
hĐn ch∏ khi phân tích các mã Ỵc tiên ti∏n ho∞c các mã Ỵc ˜Ịc thi∏t k∏ cho mỴt mˆc tiêu c
th.

iu ny dđn n nhu cảu v nhng phẽng phỏp phân tích mã Ỵc tÍng qt hÏn, khơng

phˆ thc vào chng loĐi mó ẻc.
1.3

p dng kim tra mụ hỡnh

phõn tớch mó

ẻc

giÊi quyt cỏc vòn tn tĐi ca cỏc phẽng phỏp phỏt hiên mó ẻc trong cụng nghiêp, phân
tích tỉnh (static analysis) ã ˜Ịc ∑ xt ∫ phân tích ch˜Ïng trình mà khơng c¶n so trùng ch˙
k˛ ho∞c thác thi chẽng trỡnh. Trong cẻng ng nghiờn cu, mẻt cách ti∏p c™n áng chú ˛ g¶n
ây là s˚ dˆng ph˜Ïng pháp hình th˘c (Formal Methods) [12] ∫ phát hiªn sá tn tĐi ca hnh
vi nguy hĐi cú khÊ nng xÊy ra trong mẻt chẽng trỡnh. Băng cỏch phõn tớch hnh vi nguy hĐi,
chỳng ta cú th phỏt hiên sá tn tĐi ca mẻt dũng mó ẻc m khụng nhòt thi∏t ph£i có ch˙ k˛
cıa t¯ng bi∏n th∫ cıa chúng. Trong các h˜Ĩng ti∏p c™n phân tích tỉnh, ki∫m tra mơ hình (Model
Checking) [13] ã ˜Ịc ch˘ng minh là rßt phù hỊp nhÌ vào viªc lu™n l˛ thÌi gian (Temporal
Logic) [14] mà nó s˚ dˆng có kh£ n´ng linh ho§t trong viªc bi∫u diπn ng˙ nghỉa cıa hành vi
ch˜Ïng trình máy tính.
MỴt cách tÍng qt, h˜Ĩng ti∏p c™n ki∫m tra mụ hỡnh phỏt hiên mó ẻc bao gm hai

bểc. TĐi bểc th nhòt, mẻt cụng c xõy dáng mụ hỡnh nh BE-PUM [15] ềc s dng tĐo
ra mẻt mơ hình tr¯u t˜Ịng t¯ mã th¸c thi cıa ch˜Ïng trỡnh cản kim tra.

th lung thác thi

(Control Flow Graph - CFG) th˜Ìng ˜Ịc l¸a chÂn làm mơ hình tr¯u t˜Ịng  b˜Ĩc này. T§i
b˜Ĩc th˘ hai, CFG v¯a ˜Ịc t§o ra ˜Ịc ki∫m tra bi cơng cˆ ki∫m tra mơ hình vĨi cơng th˘c
lu™n l˛ thÌi gian bi∫u diπn hành vi nguy h§i [16].
Lu™n l˛ cây tính tốn (Computation Tree Logic - CTL) cung còp mẻt nn tÊng vng ch≠c ∫
4


có th∫ mơ t£ các hành vi cıa ch˜Ïng trình, trên cÏ s ó CTPL ˜Ịc ∑ xt bi Kindle [17] ∫
∞c t£ hiªu qu£ hÏn hành vi ã ˜Ịc làm rËi mã cıa mã Ỵc. Phát tri∫n theo h˜Ĩng nghiên c˘u
này, Song và Touili m rỴng CTPL thành SCTPL ∫ mơ t£ các hành vi cıa mã Ỵc liên quan
∏n ng´n x∏p [18]. Chúng tôi s≥ th£o lu™n chi ti∏t hÏn v∑ h˜Óng ti∏p c™n này trong Ch˜Ïng 2.
H˜Óng ti∏p c™n áp dˆng ki∫m tra mơ hình tuy gi£i quy∏t ˜Òc các khuy∏t i∫m cıa ph˜Ïng
pháp so trùng ch˙ k, trong thác t, khụng gian trĐng thỏi - biu din ton bẻ cỏc trĐng thỏi cú
th cú ca chẽng trình - sinh ra trong q trình ki∫m tra có th ròt lển, dđn n viêc cĐn kiêt
ngun lác dnh cho viêc kim tra.

õy chớnh l vòn bựng n khơng gian tr§ng thái [19] kinh

i∫n cıa ph˜Ïng pháp ki∫m tra mơ hình.
Ëi vĨi các ch˜Ïng trình trong th¸c t∏, ph˜Ïng pháp ki∫m tra mơ hình h¶u nh˜ khơng th∫
áp dng ềc vỡ vòn bựng n khụng gian trĐng thái này. Ví dˆ, gi£ s˚ chúng ta có mỴt hª
thËng có n ti∏n trình, mÈi ti∏n trình có m tr§ng thái. Khi ó, tÍ hỊp cıa các ti∏n trình này có
th∫ t§o ra mn tr§ng thái. Nh˜ v™y, n∏u khơng có gi£i pháp cho vßn ∑ này, q trình kim tra
mụ hỡnh phỏt hiên mó ẻc ũi hi ròt nhiu thèi gian v bẻ nhể, thm chớ l khụng khÊ thi
cho nhng chẽng trỡnh thác t.

Do ú, hiên ã có nhi∑u nghiên c˘u ∫ gi£i quy∏t vßn ∑ bựng n khụng gian trĐng thỏi. Cỏc
nghiờn cu ny hảu h∏t ti∏p c™n theo hai h˜Óng bao gÁm tËi ˜u khơng gian tr§ng thái ho∞c tËi
˜u mơ hình ch˜Ïng trình (program model).
H˜Ĩng nghiên c˘u tËi ˜u khơng gian tr§ng thái t™p trung vào các kˇ thu™t áp dˆng trên mơ
hình tr§ng thái (state model) [19]. Có nhi∑u nghiên c˘u theo h˜Ĩng này ˜Ịc bi∏t ∏n rỴng rãi
nh˜: Symbolic Model Checking (SMC) trên Binary Decision Diagrams (BDDs), Bounded Model
Checking (BMC), Partial Order Reduction...
H˜Ĩng nghiên c˘u tËi ˜u mơ hình ch˜Ïng trình (program model) [20] t™p trung vào các kˇ
thu™t thu gi£m ẻ phc tĐp ca mụ hỡnh chẽng trỡnh cản kim tra. Các nghiên c˘u theo h˜Ĩng
này h¶u h∏t ti∏p c™n theo h˜Ĩng tr¯u t˜Ịng hố (abstraction) và phân rã (decomposition) hay
cịn ˜Ịc gÂi là ki∫m tra thành ph¶n (compositional verification). VĨi kˇ thu™t tr¯u t˜Ịng hố,
ch˜Ïng trình c¶n ki∫m tra s≥ ˜Ịc tr¯u t˜Ịng hố ∫ thu ˜Ịc mỴt ch˜Ïng trỡnh ẽn giÊn hẽn
m vđn gi ềc cỏc tớnh chòt liờn quan n thuẻc tớnh cản kim tra.
Vểi k thut ki∫m tra thành ph¶n [21], ch˜Ïng trình c¶n ki∫m tra ˜Òc phân rã thành các
5


chẽng trỡnh con. Quỏ trỡnh kim tra ềc thác hiên tr˜Ĩc tiên trên các ch˜Ïng trình con này.
Sau khi q trình ki∫m tra các ch˜Ïng trình con hồn tßt, kˇ thu™t tr¯u t˜Ịng hố s≥ ˜Ịc áp
dˆng ∫ thu gi£m kích th˜Ĩc cıa nh˙ng ch˜Ïng trình con tr˜Ĩc khi k∏t nậi chỳng lĐi thnh mẻt
chẽng trỡnh tng hềp theo còu trúc cıa ch˜Ïng trình ban ¶u. Sau ó, ch˜Ïng trình tÍng hỊp vĨi kích th˜Ĩc nh‰ hÏn so vĨi ch˜Ïng trình ban ¶u nhÌ vào q trình tr¯u t˜Ịng hố - ềc
kim tra mẻt lản na nhăm khỉng nh xem chẽng trỡnh cú thoÊ món thuẻc tớnh cản ềc kim
tra hay khơng.
M∞c dù các ph˜Ïng pháp giúp gi£i quy∏t vßn bựng n khụng gian trĐng thỏi ó Đt ềc
mẻt sậ kt quÊ nhòt nh, hiên khụng cú mẻt nghiờn c˘u nào t™p trung vào bài tốn phân tích
mã Ỵc. Qua quỏ trỡnh phõn tớch nhiu loĐi mó ẻc trong thác t, chỳng tụi nhn thòy nhng
hnh vi nguy hĐi có nh˙ng ∞c i∫m riêng giúp viªc áp dˆng các kˇ thu™t cıa h˜Ĩng nghiên
c˘u tËi ˜u mơ hình ch˜Ïng trình phát huy ˜Ịc hiªu qu£, t¯ ó gi£i quy∏t ềc vòn bựng n
khụng gian trĐng thỏi ca kim tra mụ hỡnh.
1.4


Sá cản thit thác hiên

ti

Nhu cảu v viêc phỏt hiên mó ẻc l ròt lển tuy nhiờn cỏc phẽng phỏp trong cụng nghiêp hon
ton thòt bĐi cho các mã Ỵc mĨi ho∞c các mã Ỵc ˜Ịc thi∏t k riờng biêt, vỡ chỳng cha ềc
phõn tớch tĐo ra ch˙ k˛ ho∞c các hãng b£o m™t không nh™n thòy sá hiên diên ca chỳng. Vòn
ny tĐo ra mẻt lẩ hng trong viêc bÊo mt hê thậng, c biªt là Ëi vĨi các mˆc tiêu có giá
tr‡ cao.
Ph˜Ïng pháp ki∫m tra mơ hình, ˜Ịc phát tri∫n vĨi chı ớch lòp ảy lẩ hng ny, lĐi khụng
ỏp dng ềc cho các ch˜Ïng trình máy tính thơng th˜Ìng vì vßn ∑ bùng nÍ khơng gian tr§ng
thái.

ã có nhi∑u nghiên c˘u v viêc giÊi quyt cỏc vòn cũn tn tĐi, tuy nhiờn cỏc kt quÊ Đt

ềc vđn cũn hĐn ch cú th ỏp dng trong thác t.

iu ny dđn n sá cản thit phÊi cú

mẻt phẽng phỏp phõn tớch mó ẻc vểi thèi gian chĐy chòp nhn ềc và Ỵ tin c™y cao.
Ỵ chính xác cıa k∏t qu£ ki∫m tra cÙng là mỴt y∏u tË then chËt, vì nh ó giểi thiêu, mó
ẻc liờn tc phỏt trin cỏc kˇ thu™t ∫ ©n mình. Các ph˜Ïng pháp ki∫m tra trong cơng nghiªp
chø cho k∏t qu£ chính xác vĨi các mã Ỵc ã ˜Ịc phân tích và c™p nh™t ch˙ k. Kt quÊ kim
tra cú ẻ tin cy thòp ậi vĨi các mã Ỵc mĨi, các virus a hình ph˘c t§p...
6


H˜Ĩng ti∏p c™n ki∫m tra mơ hình cho k∏t qu£ chính xác hÏn ph˜Ïng pháp so trùng ch˙ k˛,
tuy nhiên ngoi vòn bựng n khụng gian trĐng thỏi, viêc mó ẻc ỏp dng cỏc k thut lm

rậi mó dđn n quỏ trỡnh xõy dáng CFG b sai lêch v k∏t qu£ là CFG khơng bi∫u diπn ˜Ịc
hành vi nguy hĐi tht sá ca mó ẻc. Ngoi ra, ngay cÊ khi xây d¸ng ˜Ịc CFG hồn chønh, các
kˇ thu™t làm rËi mã ˜Ịc mã Ỵc áp dˆng cÙng có th∫ lm cho oĐn mó thác hiên hnh vi nguy
hĐi khụng cịn phù hỊp vĨi cơng th˘c lu™n l˛ thÌi gian ∞c t£ hành vi này.
Nh˜ ã trình bày trong mˆc 1.3, hiªn các nghiên c˘u ∫ x˚ l˛ các kˇ thu™t làm rËi mã ∑u
chø gi£i quy∏t ˜Ịc mỴt kˇ thu™t làm rËi mã cˆ th∫ nào ó. HÏn n˙a, h˜Ĩng ti∏p c™n c£i ti∏n
lu™n l˛ thÌi gian ∫ gi£i rậi mó (deobfuscation) cũn cú mẻt hĐn ch l phÊi thay Íi cơng cˆ
ki∫m tra mơ hình cho phù hỊp vĨi lu™n l˛ ˜Ịc c£i ti∏n.
Các h§n ch∏ này cıng cậ thờm viêc cản thit phÊi phỏt trin mẻt phẽng pháp x˚ l˛ mỴt
cách tÍng qt các kˇ thu™t làm rËi mã. Ph˜Ïng pháp này ph£i dπ dàng c™p nh™t ˜Ịc các kˇ
thu™t làm rËi mã mĨi mà khơng c¶n thay Íi cơng cˆ ki∫m tra mơ hình.
Ngồi ra, vĨi sË l˜Ịng khÍng lÁ mã Ỵc ˜Ịc phát tri∫n mĨi mẩi ngy, c biêt l nhng
hnh vi nguy hĐi ca cỏc loĐi mó ẻc mểi thèng ềc k tha v phỏt trin dáa trờn nhng
mó ẻc ó bit, dđn n nhu cảu cản thit phÊi cú mẻt phẽng phỏp phõn loĐi mó ẻc. Tuy
nhiờn viêc phõn loĐi mó ẻc khơng ph£i là Ïn gi£n vì vĨi h˜Ĩng ti∏p c™n kim tra mụ hỡnh,
hnh vi nguy hĐi ca mó ẻc ˜Ịc bi∫u diπn bi các cơng th˘c lu™n l˛ thÌi gian. Do ó các
h˜Ĩng ti∏p c™n khai phá d˙ liªu thụng thèng dáa trờn trớch xuòt c tớnh s khú áp dˆng ˜Ịc.
Trong q trình tìm hi∫u, chúng tơi nh™n thòy răng hiên cha cú nghiờn cu no tp trung giÊi
quyt bi toỏn phõn loĐi mó ẻc, c biêt l trong bậi cÊnh hnh vi nguy hĐi ca mó ẻc ềc
c tÊ băng cụng thc lun l thèi gian.

õy chớnh l ẻng lác cho xuòt hê thậng hoỏ mó Îc

cıa chúng tôi trong lu™n án.
1.5

Câu h‰i nghiên c˘u

Nh˜ ã trỡnh by tĐi Mc 1.4, viêc phõn tớch mó ẻc l mẻt nhu cảu còp thit trong thác t. Cỏc
hểng tip cn hiên nay phõn tớch mó ẻc u tÁn t§i nhi∑u h§n ch∏.


∫ gi£i quy∏t nh˙ng

h§n ch∏ này, các câu h‰i nghiên c˘u sau c¶n ˜Ịc phân tích v giÊi ỏp.
[RQ1] Mẻt cỏch trác quan ta thòy mó ẻc ròt khỏc biêt vểi chẽng trỡnh mỏy tớnh thụng th˜Ìng,
7


v™y làm sao khai thác nh˙ng ∞c tính khác biªt ny giÊi quyt vòn bựng n khụng gian
trĐng thái?
[RQ2] C£i ti∏n lu™n l˛ thÌi gian chø giúp gi£i quy∏t mỴt sË kˇ thu™t làm rËi mã và ịi h‰i ph£i thay
Íi cơng cˆ ki∫m tra mơ hình, làm sao giÊi quyt mẻt cỏch hỡnh thc vòn làm rËi mã
mà khơng c¶n c™p nh™t cơng cˆ ki∫m tra mơ hình?
[RQ3] VĨi h˜Ĩng ti∏p c™n áp dˆng ki∫m tra mơ hình ∫ phân tích mã Ỵc, hành vi nguy hĐi ca mó
ẻc ó ềc c tÊ hỡnh thc, v™y làm sao d¸a vào ∞c t£ hình th˘c ∫ hê thậng hoỏ mó ẻc?
1.6

Mc tiờu nghiờn cu

Mc dự hểng ti∏p c™n ki∫m tra mơ hình là mỴt h˜Ĩng i khÊ quan cho nhu cảu phỏt hiên mó
ẻc, hểng tip cn ny vđn gp nhng tr ngĐi cn bÊn l vòn bựng n khụng gian trĐng thỏi
v vòn làm rËi mã cıa mã Ỵc.

∫ có th∫ áp dˆng ˜Ịc ph˜Ïng pháp ki∫m tra mơ hình vào

viªc phát hiªn mó ẻc trong thác t, lun ỏn tp trung nghiờn cu giÊi quyt hai tr ngĐi ny.
Ngoi ra nhn thòy vòn bựng n v sậ lềng mó ẻc v hnh vi nguy hĐi ca mó ẻc
ềc c tÊ bi các cơng th˘c lu™n l˛ thÌi gian, lu™n án cÙng tp trung nghiờn cu giÊi phỏp hê
thậng hoỏ mó ẻc d¸a vào các cơng th˘c lu™n l˛ thÌi gian, hay nói cách khác là hª thËng hố
các cơng th˘c lu™n l˛ mã Ỵc. Các mˆc tiêu nghiên c˘u chính cıa lun ỏn ềc liêt kờ nh sau.

[OB1]

xuòt phẽng phỏp giÊi quyt vòn bựng n khụng gian trĐng thỏi cˆ th∫ cho bài tốn áp
dˆng ki∫m tra mơ hình phỏt hiên mó ẻc. Mc tiờu nghiờn cu ny trÊ lÌi câu h‰i nghiên c˘u
[RQ1].

[OB2]

∑ xt ph˜Ïng pháp hình th˘c x l vòn lm rậi mó m khụng cản c™p nh™t cơng cˆ ki∫m
tra mơ hình. Mˆc tiêu nghiên c˘u này tr£ lÌi câu h‰i nghiên c˘u [RQ2].

[OB3]

∑ xt mẻt phẽng phỏp hê thậng hoỏ cỏc cụng thc lun l˛ mã Ỵc. Mˆc tiêu nghiên c˘u
này tr£ lÌi câu h‰i nghiên c˘u [RQ3].

8


1.7

óng góp

Lu™n án ã gi£i quy∏t ˜Ịc vßn ∑ bùng n khụng gian trĐng thỏi băng cỏch phõn ró chẽng
trỡnh cản kim tra thnh cỏc chẽng trỡnh con dáa vo mẻt xuòt gi l !-region. Viêc phõn
ró chẽng trỡnh cản kim tra giỳp giÊm ỏng k ẻ phc tĐp cıa mơ hình ch˜Ïng trình, t¯ ó
tránh ˜Ịc vßn ∑ bựng n khụng gian trĐng thỏi.
hê thậng hoỏ mó ẻc, băng cỏch kt hềp phõn tớch khỏi niêm hỡnh th˘c (Formal Concept
Analysis) vĨi lu™n l˛ thÌi gian (Temporal Logic), lun ỏn xuòt ềc mẻt phẽng phỏp gi
l phõn tớch khỏi niêm lun l mó ẻc (Viral Logical Concept Analysis) ∫ n≠m b≠t các hành

vi nguy h§i cıa mã ẻc v xõy dáng gin khỏi niêm mó ẻc (viral concept lattice). Ngoi ra
lun ỏn cũn xuòt mẻt k thu™t gÂi là gom cˆm khái niªm liên tˆc (On-the-fly Conceptual
Clustering) xõy dáng cõy phõn còp khỏi niêm mó Îc (malware concept hierarchy).
Các óng góp cıa lu™n án bao gm.
ã Lun ỏn a ra mẻt khỏi niêm mểi gi l !-region, vểi c tớnh l oĐn mó thác hiên hnh
vi nguy hĐi ca mó ẻc ềc cha trn trong mẻt !-region. T ú, lun ỏn giÊi quyt ềc
vòn bựng n khụng gian trĐng thỏi băng xuòt phẽng pháp ki∫m tra gia t´ng t¯ng ph¶n.
Ph˜Ïng pháp này giúp phân rã ch˜Ïng trình c¶n ki∫m tra thành các !-region v tuản tá tin
hnh kim tra chỳng. Cụng trỡnh liờn quan ∏n óng góp này là [CT3].
• !-region ˜Ịc xây dáng t tp lênh ềc gi l !-instruction - mẻt khỏi niêm mểi do lun ỏn
xuòt v lun ỏn ã s˚ dˆng cách ti∏p c™n thËng kê ∫ xác ‡nh ˜Ịc các !-instruction này.
Ngồi ra, lu™n án ∑ xt mỴt ph˜Ïng pháp tr¯u t˜Ịng hố, giúp thu gi£m mơ hỡnh chẽng
trỡnh (program model) nhng vđn gi lĐi ềc cỏc giá tr‡ cıa bi∏n mơi tr˜Ìng, t¯ ó £m b£o
˜Ịc k∏t qu£ ki∫m tra chính xác. Cơng trình liên quan ∏n óng góp này là [CT3], [CT8].
• Lu™n án gi£i quyt ềc vòn lm rậi mó băng mẻt ngụn ng tru tềng, giỳp loĐi b hảu
ht cỏc k thut làm rËi mã phÍ bi∏n. Cơng trình liên quan ∏n úng gúp ny l [CT4], [CT6],
[CT7].
ã Lun ỏn xuòt khung th˘c gi£i rËi mã (deobfuscation) vÓi b˜Óc gi£i rËi và b˜Ĩc ki∫m tra
mơ hình ˜Ịc tách biªt, giúp tránh viªc c™p nh™t cơng cˆ ki∫m tra mơ hình khi x˚ l˛ các kˇ
9


thu™t làm rËi mĨi. Cơng trình liên quan ∏n óng góp này là [CT2], [CT4], [CT6].
• Lu™n án gi£i quy∏t ềc nhu cảu hê thậng hoỏ cỏc cụng thc lun l mó ẻc băng phẽng
phỏp phõn tớch khỏi niêm lun l mó ẻc.

thác hiên viêc tng quỏt hoỏ cỏc cụng thc lun

l mó ẻc trong quỏ trỡnh xõy dáng gin khỏi niêm mó ẻc, lun ỏn ó xuòt ph˜Ïng pháp
tr¯u t˜Ịng hố mã Ỵc. Ngồi ra, lu™n án cịn ∑ xt kˇ thu™t qu£n l˛ c™p nh™t khái niêm ph

bin giỳp giÊm chi phớ xõy dáng gin khỏi niêm mó ẻc v gom cm khỏi niêm mó ẻc mẩi
khi cp nht mó ẻc mểi, hoc loĐi b mó Ỵc ã cÙ. Cơng trình liên quan ∏n óng góp ny
l [CT1], [CT5].
ã Cuậi cựng, lun ỏn xuòt phẽng pháp gom cˆm khái niªm liên tˆc vĨi chi∏n l˜Ịc on-the-fly
trỏnh viêc tớnh toỏn tòt cÊ cỏc khỏi niêm hỡnh thc cựng lỳc trong quỏ trỡnh thác hiên gom
cm; v lun ỏn xuòt mẻt phộp toỏn kt hềp Ëi t˜Ịng d¸a trên lu™n l˛ ∫ k∏t hỊp các ậi
tềng tẽng tá v lun l vo mẻt cm mểi. Cơng trình liên quan ∏n óng góp này là [CT1].
1.8

T¶m quan trÂng cıa lu™n án

Nghiên c˘u trong lu™n án có t¶m quan trÂng cao vì nghiên c˘u này gi£i quy∏t ềc vòn bựng
n khụng gian trĐng thỏi kinh in cıa ki∫m tra mơ hình, ∞c biªt là cho bài toỏn phõn tớch mó
ẻc - vòn ềc quan tõm ròt lển trong cẻng ng nghiờn cu cng nh trong cụng nghiêp.
Lun ỏn cũn giỳp giÊi quyt mẻt trong nhng tr ngĐi chớnh trong quỏ trỡnh phõn tớch mó ẻc,
ú là vßn ∑ làm rËi mã.

óng góp ci cùng cıa lun ỏn vểi tảm quan trng khụng kộm l hê

thậng hoỏ sậ lềng mó ẻc ròt lển trong bậi cÊnh mó ẻc ềc c tÊ băng cỏc cụng thc lun
l, vì vĨi ∞c tính này các ph˜Ïng pháp khai phá d liêu thụng thèng gp ròt nhiu khú khn.
1.9

Giểi hĐn ca lun ỏn

Lun ỏn cú mẻt sậ giểi hĐn sau.
ã Lu™n án chø gi£i quy∏t vßn ∑ bùng nÍ khơng gian tr§ng thái cho bài tốn áp dˆng ki∫m tra
mơ hỡnh phỏt hiên mó ẻc.

ậi vểi cỏc lểp bi toỏn khỏc m viêc kim tra ềc thác hiên


trờn cỏc hnh vi thơng th˜Ìng (là nh˙ng hành vi mà o§n mã ca chỳng vđn cha cỏc lênh

10


c biêt !-instruction m mó ẻc khụng s dng), phẽng pháp ki∫m tra gia t´ng t¯ng ph¶n
do lu™n án ∑ xuòt gp hĐn ch trong viêc phõn ró chẽng trỡnh cản kim tra.
ã Sậ lềng cỏc phộp tru tềng hoỏ mã Ỵc ˜Ịc dùng trong ph˜Ïng pháp phân tích khái niêm
lun l mó ẻc vđn cũn hĐn ch, cú nhiu tr˜Ìng hỊp khơng tÍng qt hố ˜Ịc cơng th˘c
mã Ỵc dáa vo nhng phộp tru tềng hoỏ ềc xuòt. HĐn ch ny dđn n viêc giểi
hĐn sậ lềng cỏc khái niªm lu™n l˛ ˜Ịc tÍng qt hố. Khi gia t´ng sË l˜Ịng các phép tr¯u
t˜Ịng hố mã Ỵc, ta có th∫ tÍng qt hố ˜Ịc nhi∑u cơng th˘c mã ẻc hẽn t ú tĐo ra
ềc nhiu khỏi niêm lun l trờn gin khỏi niêm mó ẻc, giỳp phõn nhúm mó ẻc v th
hiên quan hê phõn còp gia cỏc nhúm mó ẻc mẻt cỏch ảy .
1.10

Còu trỳc lun ỏn

Trong Chẽng 1, ẻng lác v mc tiờu ca nghiờn cu này ã ˜Ịc trình bày. Chúng tơi cÙng
liªt kê nh˙ng úng gúp m lun ỏn Đt ềc vểi còu trỳc nh˜ trong Hình 1.2. NỴi dung ti∏p
theo cıa lu™n án ˜Ịc tÍ ch˘c nh˜ sau.
Phương pháp kiểm tra mơ
hình phát hiện mã độc

Hạn chế của các phương
pháp công nghiệp

Vấn đề


Đặc tả hành vi nguy hại
bằng công thức luận lý

Bùng nổ khơng
gian trạng thái
[OB1]

Luận án đóng góp

Vấn đề

Vấn đề

Phương pháp
kiểm tra gia tăng
từng phần

Kỹ thuật
làm rối mã

Hệ thống hố
cơng thức luận lý
mã độc

Xây dựng tập
ω-instruction

[OB2]

[OB3]


Luận án đóng góp

Luận án đóng góp

Khung thức xử lý
kỹ thuật làm
rối mã

Phân tích khái
niệm luận lý
mã độc

Ngơn ngữ
trừu tượng

Gom cụm khái
niệm liên tục

Hình 1.2: Cßu trúc nỴi dung lu™n án.

11


Ch˜Ïng 2 trình bày các ki∏n th˘c n∑n t£ng cıa lu™n án. Các ki∏n th˘c n∑n t£ng này bao
gÁm mã Ỵc, ki∫m tra mơ hình, làm rËi mã và gom cm d liêu.
Chẽng 3 trỡnh by mẻt xuòt ca lu™n án ∫ gi£i quy∏t vßn ∑ bùng nÍ khơng gian tr§ng
thái, ó là ph˜Ïng pháp ki∫m tra gia t´ng tng phản. Kt quÊ thớ nghiêm ca phẽng phỏp ny
cng ˜Òc th£o lu™n ∫ ch˘ng minh kh£ n´ng áp dˆng trong thác t.
Trong Chẽng 4, lun ỏn xuòt mẻt ngơn ng˙ tr¯u t˜Ịng và áp dˆng suy diπn tr¯u t˜Ịng

∫ lo§i b‰ các kˇ thu™t làm rËi mã ˜Ịc s˚ dˆng trong mã Ỵc.
Ch˜Ïng 5 th£o lu™n v∑ ∑ xuòt hê thậng hoỏ mó ẻc băng phẽng phỏp phõn tớch khỏi niêm
lun l mó ẻc. Ngoi ra, Chẽng ny cũn trỡnh by mẻt k thut xõy dáng cõy phõn còp
khỏi niêm mó ẻc gi l gom cm khỏi niêm liờn tc.
Cuậi cựng, Chẽng 6 túm tt ton bẻ lu™n án và ∑ xt các h˜Ĩng nghiên c˘u trong t˜Ïng
lai.

12


CH◊ÃNG 2

NóN TÉNG VÀ CÁC NGHIÊN CŸU LIÊN QUAN

VĨi ba nỴi dung nghiên c˘u cıa lu™n án, trong Ch˜Ïng này, chúng tơi trình bày các ki∏n th˘c
n∑n t£ng và các nghiên c˘u liên quan ∏n mã Ỵc, ph˜Ïng pháp ki∫m tra mơ hình, vßn ∑ làm
rËi mã và các kˇ thu™t gom cˆm d˙ liªu.
Tr˜Ĩc tiên lu™n án giĨi thiªu v mó ẻc, phõn loĐi mó ẻc v cỏc k thu™t phân tích mã Ỵc.
Sau ó, n∑n t£ng cıa ph˜Ïng pháp ki∫m tra mơ hình ˜Ịc trình bày cùng vĨi vòn bựng n
khụng gian trĐng thỏi, õy cng chớnh là mỴt trong nh˙ng nỴi dung nghiên c˘u chính cıa lun
ỏn.
Vểi nẻi dung nghiờn cu x l vòn lm rËi mã (obfuscation), lu™n án trình bày vßn ∑
làm rËi mã và các h˜Ĩng gi£i quy∏t hiªn nay trong Mˆc 2.3. Ngồi các kˇ thu™t làm rËi mã ˜Ịc
s˚ dˆng trong các ph¶n m∑m thơng th˜Ìng, Mˆc 2.3.2 trình bày các kˇ thu™t làm rËi mã th˜Ìng
chø ˜Ịc mã Ỵc s˚ dˆng. Chúng tơi cÙng th£o lu™n v∑ các h§n ch∏ cıa các ph˜Ïng pháp gi£i rËi
mã (deobfuscation) hiªn nay và ây là cÏ s ∫ lu™n án ∑ xußt ph˜Ïng pháp gi£i rËi mã, ˜Ịc
trình bày trong Ch˜Ïng 4.
Chúng tơi cÙng trình bày các h˜Ĩng nghiên c˘u v∑ gom cm d liêu tĐi Mc 2.4, t ú
thÊo lun v hểng tip cn khÊ quan thác hiên hê thậng hố các cơng th˘c mã Ỵc. Trong
Mˆc 2.4, chúng tơi giĨi thiªu v∑ ph˜Ïng pháp phân tích khái niªm hình th˘c (Formal Concept

Analysis) [22], ây là n∑n t£ng ∫ lu™n ỏn xuòt phẽng phỏp phõn tớch khỏi niêm lun l mó
ẻc (Viral Logical Concept Analysis) giỳp xõy dáng ềc gin khỏi niêm mó ẻc.
2.1



ẻc

Nh ó giểi thiêu, mó ẻc l phản mm thác hiên cỏc hnh vi nguy hĐi. VĨi s¸ bùng nÍ cıa
Internet và các d‡ch vˆ chia sƠ nẻi dung, ngy nay mó ẻc cú th lõy nhiπm ∏n hàng ngàn máy
tính chø trong vịng vài giÌ sau khi xuòt hiên [23]. Mẻt nghiờn cu ca Stone-Gross [24] ã thËng

13


kờ răng mĐng mỏy tớnh ma (botnet) Torpig cú hẽn 180,000 máy tính tham gia. Các máy tính
này - gÂi l bot - ềc iu khin bi mẻt thác th gi l bot master thụng qua mẻt oĐn mó ẻc
ềc phát tán trên Internet. Bot master có th∫ cho thuê mĐng mỏy tớnh ma ny gi email
rỏc, hoc thác hiên tòn cụng t chậi dch v cỏc ậi th thẽng mĐi [25]. Hê thậng botnet cũn
ềc dựng phỏt tán các mã Ỵc khác vĨi các hành vi nguy h§i cˆ th∫ nh˜ ánh c≠p thơng tin
cá nhân, thơng tin thƠ tớn dng, tỡnh bỏo cụng nghiêp... Cỏc loĐi mó ẻc hiên nay thm chớ cũn
thác hiên tậng tin nĐn nhõn băng cỏch mó hoỏ d liêu trờn mỏy tính b‡ lây nhiπm và ịi ti∑n
chc ∫ gi£i mã (ransomeware). Ni bt nhòt trong cỏc loĐi mó ẻc l virus máy tính (gÂi t≠t
là virus). Virus là mỴt khËi mã nh‡ phân có th∫ sao chép chính nó vào mẻt chẽng trỡnh mỏy
tớnh bao gm cÊ hê iu hnh mà ng˜Ìi s˚ dˆng máy tính khơng bi∏t. Virus khơng th hoĐt
ẻng ẻc lp, m cản phÊi thác thi chẽng trình "v™t chı" ∫ kích ho§t hành vi nguy h§i m nú
tĐo ra [26].
Mó ẻc ềc phõn loĐi theo cẽ ch/mc ớch gõy hĐi v theo quy mụ tòn cụng (hng loĐt
hay cú chn lc). Mó ẻc tòn cụng hng lo§t nh≠m ∏n sË l˜Ịng lĨn ng˜Ìi s˚ dˆng phÍ thơng
trên các n∑n t£ng kˇ thu™t phÍ bi∏n (các hª iu hnh, cỏc phản mm ềc dựng ph bin...).

LoĐi mó Ỵc này dù gây ra nh˙ng tác h§i lĨn cho cỴng Áng, chúng th˜Ìng ˜Ịc x˚ l˛ trong
thÌi gian ng≠n vì s¸ phÍ bi∏n cıa chúng gây ra s¸ chú ˛ cıa các hãng b£o m™t lĨn. Ng˜Ịc l§i
lo§i mã ẻc tòn cụng chn lc thèng phc tĐp hẽn vểi viêc thit k tòn cụng mẻt sậ mc
tiờu c th∫ mà khơng gây ra s¸ chú ˛ cıa các hãng b£o m™t, vì v™y chúng th˜Ìng chø ˜Ịc phát
hiªn sau mẻt thèi gian di xuòt hiên. Chi tit v cỏc loĐi mó ẻc ềc trỡnh by tĐi Mc 2.1.1.
Cỏc kˇ thu™t phân tích mã Ỵc ˜Ịc phân chia thành hai loĐi, phõn tớch ẻng v phõn tớch
tổnh. Mc dự kˇ thu™t phân tích Ỵng v∑ l˛ thuy∏t có kh£ nng theo dừi mi hnh vi ca chẽng
trỡnh băng cỏch giỏm sỏt hoĐt ẻng ca chẽng trỡnh ú trong mụi trèng giÊ lp, trong thác t
mó ẻc thèng ềc ỏp dˆng các kˇ thu™t tiên ti∏n ∫ xác ‡nh môi tr˜Ìng ang th¸c thi có
ph£i là mơi tr˜Ìng gi£ l™p, t ú chỳng s quyt nh viêc cú thác hiên hnh vi nguy hĐi hay
khụng. Ngoi ra mẻt sậ loĐi mó ẻc ềc thit k chứ thác hiên hnh vi nguy hĐi vo mẻt
khoÊng thèi gian hoc khi mẻt i∑u kiªn cˆ th∫ nào ó ˜Ịc áp ˘ng. Do ó, ph˜Ïng pháp phân
tích Ỵng có th∫ cho k∏t qu£ âm tính gi£. T¯ ó kˇ thu™t phân tích tỉnh ˜Ịc ∑ xt và là n∑n
t£ng cho nghiên c˘u trong lu™n án nh˜ trình bày t§i Mˆc 2.1.3.
14


2.1.1

Phõn loĐi mó

ẻc

Mó ẻc ềc phõn loĐi dáa trờn cẽ ch∏ lây nhiπm và mˆc tiêu gây h§i cıa chúng [11]. MỴt mã
Ỵc có th∫ có nhi∑u cÏ ch∏ lây nhim v thác hiên nhiu hnh vi nguy hĐi khỏc nhau, do ó
chúng có th∫ thc v∑ nhi∑u nhóm khác nhau. Cú cỏc loĐi mó ẻc ph bin nh sau.
ã Virus: virus l mẻt loĐi mó ẻc tá gn oĐn mã cıa chúng vào mỴt ch˜Ïng trình khác, k∫ c£
các chẽng trỡnh ca hê iu hnh. Virus khụng th chĐy Ỵc l™p, chúng ph£i ˜Ịc g≠n vào
mỴt ch˜Ïng trình hồn chứnh v ềc kớch hoĐt khi thác thi chẽng trỡnh ny [26]. Virus ềc
phỏt tỏn băng cỏch lõy nhim vo tßt c£ t™p tin mà chúng có th∫ tìm thßy, bao gÁm các t™p

tin cˆc bỴ trên máy tính nhiπm virus và c£ các t™p tin cıa các máy tính khỏc trờn hê thậng
mĐng m mỏy tớnh nhim virus ny có quy∑n truy c™p - viªc này làm cho virus có th∫ nhanh
chóng lây lan.
• Worm - sâu máy tính (worm) l mẻt chẽng trỡnh nguy hĐi cú th chĐy Ỵc l™p và có th∫ t§o
ra b£n sao cıa chính nó trên các máy tính khác trên mơi tr˜Ìng m§ng [26]. CÏ ch∏ lây nhiπm
này là hành vi ∞c tr˜ng cıa worm. Ngồi ra, vì là mỴt ch˜Ïng trình Ỵc l™p, sâu máy tính có
th∫ lỊi dˆng lÈ hÍng b£o m™t cıa máy tính b‡ lây nhiπm ∫ t¸ kích hoĐt m khụng cản ph
thuẻc vo viêc ngèi dựng thác thi ch˜Ïng trình b‡ lây nhiπm nh˜ virus.
• Trojan Horse: trojan horse l phản mm ngu trang nh l mẻt ch˜Ïng trình máy tính thơng
th˜Ìng, nh˜ng th¸c t∏ chúng th¸c hiên cỏc hnh vi nguy hĐi. Sau khi ềc kớch ho§t, tính
n´ng nguy h§i cıa trojan s≥ ˜Ịc phát tác ho∞c chúng s≥ t£i thêm các mã Ỵc trên Internet
và lõy nhim sang cỏc tp tin khỏc trờn hê thậng.
ã Ransomware: ransomeware l mó ẻc thác hiên hnh vi tậng tin nĐn nhõn băng cỏch mó hoỏ
cỏc thụng tin cú giá tr‡ trên máy tính (và u c¶u thanh tốn ∫ nh™n ˜Ịc khố gi£i mã) ho∞c
e do§ cơng bË nh˙ng thơng tin nh§y c£m mà chúng thu th™p ˜Ịc. Ransomeware th˜Ìng
˜Ịc lây nhiπm d˜Ĩi d§ng trojan và ˜Ịc kích hoĐt khi ngèi s dng thác thi chẽng trỡnh
trojan. Tuy nhiên, nh˙ng lo§i ransomeware ti∏n ti∏n nh˜ WannaCry [27] có th khai thỏc lẩ
hng ca hê thậng tá lõy nhim v kớch hoĐt m khụng cản tỏc ẻng ca ngèi dựng.
ã Spyware: spyware l mó ẻc ềc thit k ∫ ánh c≠p thơng tin trên máy tính n§n nhân và
15


×