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

Xây dựng hệ thống phát hiện, cảnh báo, ngăn chặn mã độc dựa trên hành vi

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 (1.84 MB, 79 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ






NGUYỄN VĂN THIẾT






XÂY DỰNG HỆ THỐNG PHÁT HIỆN, CẢNH BÁO,
NGĂN CHẶN MÃ ĐỘC DỰA TRÊN HÀNH VI








LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN


















Hà Nội – 2014
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




NGUYỄN VĂN THIẾT




XÂY DỰNG HỆ THỐNG PHÁT HIỆN, CẢNH BÁO,
NGĂN CHẶN MÃ ĐỘC DỰA TRÊN HÀNH VI






Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số:




LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN







NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Nguyễn Văn Tam









Hà Nội - 2014
1




LỜI CAM ĐOAN

 u ca bn thân. Các s liu,
kt qu trình bày trong luc ai
công b trong bt k công trình lu

Tác gi lu





Nguyt



















2



LỜI MỞ ĐẦU
Trong thi k bùng n công ngh thông tin hin nay có rt nhiu v
c
luôn là m tài cp thit do nhng tác hi c gây ra rt nghiêm trng.
c có th bí mnh cp d liu, thu thp thông tin tài khoi dùng,
hoc có th can thip và làm sp các h thng thông tin quan tr
Hin nay có nhic s d phát hin và dit mã
c. Tuy nhiên mc có th s d t qua s
kim tra cc. c
hi phát hic nhng mc mi xut hin.
Mc tiêu ca lunghiên cu tng th n mã
c hin nay. Tác gi o sát hành vi t 
trình lành tính và các loc trên h u hành Windows 7. Tác gi xây
dng    n hành vi t sao chép c  c và xây dng
ng phát hin, cnh báo và n c da trên vic
phát hin hành vi t sao chép cc. Qua th nghim cho th
pháp này phát hic phn ln nhng loc có hành vi sao chép và có
th phát hic nhng loc mi, nhng loc  c gây ri.
B cc ca lu  tuân theo mu c  i hc Công Ngh -
n m u,
kt lun và tài liu tham kho. Phn kt lun nêu tóm tt các v 
t qu t c. Nc tóm
t
Trình bày tng quan v n

c hin nay.
Trình bày các k thu 
hin c hin nay.
Trình bày kt qu kho sát hành vi t 
trình lành tính và mt s ng l  c ho ng trên h u hành
Windows 7. Xây dng n hành vi t sao chép cc,
n hành vi cc và loi b c khi h thng. Xây
dng và thtrên các t
trình khác nhau.
3



Trong quá trình hoàn thành lua mình, tác gi t sc c gng,
song lun có th còn nhng hn ch nhnh, tác gi rt mong mun
nhn c nhng góp ý ca các th chnh sa cho hoàn thi
 xin chân thành c PGS.TS Nguyi ý v
 ng dn, ch bo tn tình và cung cp nhiu tài liu quý liên quan trong
quá trình tác gi thc hin lu 
Th và truyn cm hng hc tp, nghiên cu trong sut
quá trình hc tp ti hc Công ngh - i hc Quc gia Hà Ni.
Xin trân trng c
Tác gi: Nguyt



















4



MỤC LỤC
Trang bìa ph
L
Mc lc
Danh mc các ký hiu và và ch vit tt
Danh mc các bng
Danh mc các hình v  th
M U
1. CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC VÀ CÁC PHƯƠNG PHÁP
PHÁT HIỆN MÃ ĐỘC HIỆN NAY 11
1.1. c và phân loc 11
1.1.1. c (malware). 11
1.1.2. Phân loc 11
1.1.2.1. Virus 11
1.1.2.2. Worm 11

1.1.2.3. Trojan Horse 12
1.1.2.4. Malicious Mobile Code 12
1.1.2.5. Spyware 12
1.1.2.6. Logic Bomb 12
1.1.2.7. Tracking Cookie 12
1.1.2.8. Attacker Tool 13
1.1.2.9. Rootkits 13
1.1.3. ng lây nhim cc 14
1.1.4. Tác hi cc 16
1.2. c và phân lo
hin c hin nay 17
1.3. n c theo ch ký 19
1.3.1. N 19
5



1.3.1.1.  20
1.3.1.2. ng 21
1.3.2. Quy trình to ra ch c 22
1.3.3. S  d liu ch c 24
1.3.4. m cc theo ch ký 25
1.4. c da vào hành vi 26
1.4.1. Tc da vào hành vi 26
1.4.2. n da trên mô phng (Simulation-based
verification) 27
1.4.3. n da trên kim tra hình thc (Formal
verification) 34
2. CHƯƠNG 2: CÁC KỸ THUẬT VƯỢT QUA CÁC CHƯƠNG TRÌNH
PHÁT HIỆN MÃ ĐỘC HIỆN NAY 40

2.1. Các k thut gây ri cc 40
2.1.1.  40
2.1.2. Nén và mã hóa (Compression & Encryption) 41
2.1.3.  42
2.1.4. i thanh ghi s dng (Register Reassignment) 47
2.1.5. Sp xp l 47
2.1.6. Thay th ch lnh 48
2.1.7. Hoán v mã lnh (Code Transposition) 49
2.1.8. Tích hp mã (Code Integration) 50
2.2. K thut phát hing o 50
2.2.1. K thut phát hing thc thi hp cát (Sandbox) 51
2.2.2. K thut phát hing thc thi máy o 54
3. CHƯƠNG 3: XÂY DỰNG PHƯƠNG PHÁP PHÁT HIỆN HÀNH VI TỰ
SAO CHÉP CỦA MÃ ĐỘC TRÊN HĐH WINDOWS 7 56
3.1. Xây dng  phát hin hành vi t sao chép vào h thng ca
c 56
3.1.1. Kho sát hành vi t sao chép c 56
6



3.1.2. c thc hin hành vi t sao chép cc 60
3.2. n hành vi t sao chép cc 62
3.3.  nghim và kt qu thc nghim 68
3.3.1. ng 68
3.3.2. Kt qu thc nghim 70
4. KẾT LUẬN 75
5. TÀI LIỆU THAM KHẢO 76




















7



DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

Viết tắt
Tiếng Anh
Tiếng Việt
API
Application Program
Interface
Giao din lp trình ng dng

BIOS
Basic Input/Output System
H thng nhp xun
BIOS
Basic Input/Output System
H thng nhp xun
CFG
Control Flow Graph
 th luu khin
DFG
Data Flow Graphs
 th lung d liu
DLL
Dynamic Link Library
n liên kng
MBR
Master Boot Record
Bn ghi khng
MSDN
Microsoft Develop
Network
n bách khoa cho lp
trình ng dng trên Windows
SSDT
System Service Dispatch
Table
Bng dch v h thng
















8



DANH MỤC CÁC BẢNG

Tên bảng
Trang
Bng 2.1: Tng hp mt s  bi phát
hing thc thi o
51
Bng 3.1: Kt qu kho sát hành vi t sao chép c
trình lành tính
58
Bng 3.2: Kt qu kho sát hành vi t sao chép ca mt s mu
c
62
Bng 3.3: Kt qu ki

bi BMD
71
Bng 3.4: Kt qu ki    tính thông
dng bi BMD
71
Bng 3.5: Kt qu th nghim vi BMD trên mt s mu mã
c
73
Bng 3.6: Kt qu kim tra các bin th mc gây
ri 1 (cp nht ngày 04/06/2014)
73
Bng 3.7: Kt qu kim tra các bin th mc gây
ri 2(cp nht ngày 04/06/2014)
73
Bng 3.8: Kt qu kim tra vi mc mi (cp nht ngày
04/06/2014)
74











9




DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ

Tên hình, đồ thị
Trang
Hình 1.1: Phân loc
18
Hình 1.2: Quy trình dò quét ch 
20
Hình 1.3: Ch ký cc Stoned
21
Hình 1.4: Phân lo      c da vào
hành vi
27
Hình 1.5: Mô hình h n hành vi da trên
các lut
30
Hinh 1.6: Mô t hai thut toán phát hi  c Greedy và
Taboo du các hành vi
32
 th mô t hành vi lây nhim cc
33
Hình 1.8: c phát hic da trên hành vi
s dng vector
33
Hình 1.9: c phát hic da trên hành vi
s d th
34
Hình 1.10c

35
Hình 1.11 th ng cu vi ng 
37
Hình 1.12 d th hành
 phát hic
38
Hình 1.13 th  
38
Hình 1.14: Tìm ki th  th CFG
39
Hình 2.1: K thut gây ri bng cách thêm các lnh không có ý

40
Hình 2.2: Cc s dng k thut gây ri mã hóa
42
Hình 2.3: Cc s dng nhi
42
Hình 2.4: T l mã n nay
43
n thng
43
Hình 2.6: Cu trúc t
44
Hình 2.7: Quá trình gii nén c
44
Hình 2.8: Hình dc gii mã
45
Hình 2.9: K thut gây ri Shifting Decode Frame
46
 o hóa ch lnh và và mô phng mã

c
46
Hình 2.11: K thut gây ri bc
47
10



s dng
Hình 2.12: K thut sp xp l
48
Hình 2.13: K thut gây ri bng cách thay th các ch lnh
48
Hình 2.14: K thut gây ri bng cách hoán v mã lnh
49
Hình 2.15: K thut gây rc Zperm
50
Hình 2.16 n mã ki    ng thc thi
Sandbox cc Win32/Carberp
52
Hình 2.17n  phát hing thc thi ca mã
c Win32/Caphaw
53
Hình 2.18: Kim tra cng o và t khóa  phát
hing máy o VMware
54
Hình 3.1: Mô phng hành vi t sao chép
56
Hình 3.2: T l c có hành vi t sao chép trong các mu
c phân tích

58
Hình 3.3:Mi quan h cc tp tin
61
Hình 3.4:Mi quan h ca các hàm ghi tp tin
61
Hình 3.5: Giám sát quá trình khi to tin trình
63
c tp tin
64
Hình 3.7: Giám sát thao tác ghi tp tin
66
Hình 3.8: Thông báo ca BMD khi phát hin tin trình có hành
vi t sao chép vào h thng
67
ng BMD
68
Hình 3.10: Giao di
70









11




1. CHƯƠNG 1:
TỔNG QUAN VỀ MÃ ĐỘC VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN
MÃ ĐỘC HIỆN NAY
1.1. Định nghĩa mã độc và phân loại mã độc
1.1.1. Định nghĩa mã độc (malware).
Hin nay có nhi 
chung là:
c chèn mt cách bí mt vào
h thng vi mn hn tính bí mt, tính toàn vn hoc tính sn
sàng ca h th.
nh không ch nhng th loc nói
n nhic, mà c nhng công
c   tn công h th        
keylogger 
1.1.2. Phân loại mã độc
c phân thành các losau:
1.1.2.1. Virus
Virus là mt loc hi mà có kh  nhn bn và lây nhim
chính nó vào các tp tin trên máy tính. y, virus không tn tc lp
thành mt tp tin mà luôn bám vào mt t thc thi và lây lan.
1.1.2.2. Worm
c có hành vi ging virus là có th t nhân bn và t lây
nhim trong h thng, tuy nhiên khác vi virus, worm có th tn tc lp
thành mt tc khi lây nhim vào h thng. c lây
nhim vào h thng mà có th phân loi worm:
- Network Service Worm: là loi worm s dng các l hng bo mt ca
mng, ca h u hành hoc ca ng d lây nhim vào h thng.
- Mass Mailing Worm: là loi worm s d  c lây lan qua
email. Khi worm lây nhim vào h thng a ch mail

và ga ch  tip tc quá trình lây nhim. Vc
lây nhim này, worm có th lây lan rt nhanh trên h thng mng.
12



1.1.2.3. Trojan Horse
Trojan horse là lot theo câu chuy
Trojan horse không có hành vi t nhân bn mà nó xut hin trong h th
m i s dng. Tuy
nhiên Trojan horse có nhng hành vi gây hi ngm i dùng không d
dàng nhn bic.
1.1.2.4. Malicious Mobile Code
Malicious mobile code là mt dng mã phn mm có th c gi t xa
 chy trên mt h thng mà không cn li gi thc hin ci
dùng trên h thCách tt nh chng li malicious mobile code là luôn
cp nht h thng và tt c .
1.1.2.5. Spyware
Spyware là phn mt trên h thng nhm mp
thông tin trên h tha ch ca k tn công. Các thông tin
quan trng mà spyware thu thp có th là: tài khon và mt khu ci s
dng, a ch email, tài khon ngân hàng
1.1.2.6. Logic Bomb
Là phn mt trên h thng và ch thc hin hành vi gây hi khi có
nhu kin nhng. Chng hn c hin xóa
mi d liu trên h thng vào mt tht nhnh. Cu trúc
lc phân làm hai phn:
- Payloadn mã thc hin các hành vi gây hi.
- Triggern mã kim tra nhu kin nhnh, nu kin
 kích hon mã payload.

Logic Bomb là mt loc rt nguy him vì nó không th hin hành
vi gây hi ngay khi thâm nhp vào h thng. Vì vng không
nhp thành công vào h thng.
1.1.2.7. Tracking Cookie
Tracking Cookie là s d theo dõi mt s ng duyt
web ci s dng mt cách bt hp pháp. Cookie là mt tp tin d liu
13



  thông tin v vic s dng mtính
 lm d theo dõi và thu thp thông tin v i dùng.
1.1.2.8. Attacker Tool
Attacker Tool là nhng b công c tc s d y bí mt
các phn m c hi vào h th   c phép c i dùng.
c chia thành nhiu loi khác nhau:
- Backdoor: là công c t trên h thng sau khi b xâm nhp bt
hp pháp nhm giúp k tn công quay li xâm nhp vào h thng mà không cn
phi qua các kim soát an ninh trên h thng.
- Zoombie: là công c t trên h thng sau khi b xâm nhp bt
hp pháp và ch i lnh t k tn công. Các nhim v ph bin nht cho
zombie là gc hin tn công t chi dch v quy mô ln.
- Keylogger: là công c   t trên h thng nhm thu thp các
thông tin s kin gõ bàn phím ci s dng.
1.1.2.9. Rootkits
Rootkit c hiu là mt là công c t trên h thng
nh i các ho ng ca h thng nhm m t
nh. Chng hi hot ng ca các hàm h thng (API), si
tp tin h thng. Rootkit c s d n du các hành vi ca các mã
i s dng không d dàng

nhn bic s tn ti ca các phn mc hi này trên h thng.
c phân làm nhng lo
- Rootkit tần ứng dụng (Application layer rootkit)
Rootkit tng ng dng là rootkit hong  tng cao ca h u hành
(tng ng dng). Mc tiêu ca loi rootkit này có th là các tp tin, registry,
hoc là các ng dng c th trên h thng. ng ph bin mà loi rootkit
ng hay thc hin là xóa các tp tin nht ký h thng và n các tp tin
i dùng không d dàng phát hin ra.
m ca loi rootkit này là d b phát hin bng các k
thut tìm kim thông tin  ti ca h thng.

14



- Rootkit tầng thư viện (Library layer rootkit)
Là loi rootkit can thip trc tin trong h thng. Chng
h    c s dng trong các tp tin  n liên kt ng
(Dynamic Link Library - DLL) trong h thng. Loi rootkit này can thip và làm
i giá tr tr v cn.  n các
t ni dùng không nhn ra s xut hin cc trong h
thng.
Lo phát hic bng cách thc thi các ng
dng t các thit b  ngoài mã không s d si.
 phát hin s tn ti ca rootkit trong h thng.
- Rootkit tầng nhân hệ thống (Kernel-layer rootkit)
i rootkit có hành vi can thip trc tip vào nhân ca h u
hành. Loi các cu trúc trong h thng hoc làm thay
i giá tr tr v ca các hàm trong nhân ca h 
n các tc hi hoc n s hong trong h thLoi rootkit này

khó phát hin t nhiu so vi hai loi rootkit trên.
- Rootkit tầng phần cứng (Hardware-layer rootkit)
i rootkit khó phát hin nht. Lot trong
phn cng ca các thit b  thu thp thông tin hoc thc hin nhiu hành vi
c hi khác. Loi rootkit này không th phát hic b
phn mng mà phi s dng rt nhiu các công c  có
th phát hin.
1.1.3. Con đường lây nhiễm của mã độc
c có nhing lây nhim khác nhau và có th phát tán rt
nhanh. t s ng ch yu mà h thng có th b
lây nhim mc.
1.1.3.1. Lây nhiễm qua thiết bị ngoại vi
Malwaret b  ngoài
:
- Cơ chế Autorun (tự chạy) :
  này ch xut hin vi nhng lo  c trên h u hành
Windows XP tr v c. Vi cách phát tán này c s to ra mt tp tin
15



vi tên là autorun.inf. Bên trong tp tin autorun.inf s có mng dn
c thc si s dng kt ni thit b  ngoài vi máy tính,
c li d ci s dng  xâm nhc sau
c thc thi tin hành các hành vi gây hi và tin hành phát tán bng nhiu
t trong mng.
- Cơ chế giả biểu tượng
Mã c máy tính mun hoi phi có s i
ng h u hành và nhu kin c th ng h
ch c thi cng hp ph bin th hai, mt c

gi dng làm mc hay tp tin quen thuc. Bc có th
i s dng và ch i s dng vô tình kích hoc.
1.1.3.2. Lây nhiễm từ kết nối mạng
Do nhu cu công vic mà các máy tính hi  u kt ni vi nhau
thông qua mt h thng mc tin hành
phát tán và lây nhim t h thng này sang h thng khác. ng mã
c s tin hành tn công t bên ngoài qua các l hng bo m tin hành lây
nhim. Chng hi dng l hng MS-08-067 
tin hành lây nhim t h thng này sang h thng khác, nu các h thng không
cp nht bn vá cho l hng này.
Ngoài ra, vi s phát trin rng rãi ca mng Internet trên th gii hin
    c lây nhim các lo  c qua Internet tr thành
c chính ca c ngày nay.
1.1.3.3. Lây nhiễm qua thư điện tử
ng lây nhim rt ph bin cc
t hin t ln nay vn là mc lây nhim ca
c.
m vào máy nn nhân, c có th t tìm ra danh sách
a ch n t sn có trong máy và nó t ng gt cho
nha ch tìm thy. Nu các ch nhân ca các máy nh nhim
c mà không b phát hin, c s tip t lây nhim vào máy và tip
tc quá trình lây nhim. Chính vì vy s ng phát tán có th p s
nhân khin cho trong mt thi gian ngn hàng hàng triu máy tính b lây nhim,
có th làm tê lit nhi gii trong mt thi gian rt ngn.
c lây nhin t bao gm:
- Lây nhiễm vào các tập tin đính kèm theo thư điện tử: i dùng s
không b nhim c cho ti khi tp tin h kèm b nhim c c kích
16




hom này các c c "trá hình" b hp
dn. Các tp tin lây nhim b ng là các tp tin th
n t tc
gi t nhi không quen bit.
Mt s loc khai thác nhng li tràn b nh m c
trình ng d hng trên trình son thn. Ni dùng m
nhng tn mã thèm trong tp tin s c
thc hin.
- Lây nhiễm do mở một liên kết trong thư điện tử: Các liên k
n t có th dn mt trang n t c cài sn c, cách này
ng khai thác các l hng ca trình duyt và h u hành.
1.1.4. Tác hại của mã độc
c khi xâm nhc vào h thng s thc hin nhiu hành vi gây
hi khác nhau. ng hành vi gây hi ch yu sau:
- Tiêu tốn tài nguyên hệ thống: Tài nguyên máy tính, v bn ch
thông mng, t vi x lý, b nh Vic thiu các tài nguyên này s dn
s xung cp ca chng dch v cung ci s dng hoc khách
hàng. Mt du hiu chính khi mt máy tính b nhim c 
bt ng tr nên hong chu ng tip tc
sau khi khng lc s bu khng li và
s dng li tài nguyên ca máy tính.Trong nhing hp thm chí các mã
c có th chim hi dùng không th kt ni mng.
- Phá hủy dữ liệu: Có rt nhiu loi c c t xóa các tp tin
trên h thng. Các tài ling b tn công nhiu nht là các tp tin thc thi
hoc các tn, ng là các tp cha d liu quan trng ci
dùng. Ngoài ra mt s loi c còn si các tp tin trên mt  ng
hoc các thit b ghi khác.
Mt ví d nguy him cho hành vi này la mc W32.Delfile.Worm. Mã
c này c l xóa toàn b d liu trong các    cài h u

hành Windowsc xóa d lic vào các ngày 1, 10, 21 và
29 hàng tháng. Sau khi lây nhim vào máy tính, c này s t sao chép vào
c c C:\Windows\System32c, c
s thc thi vic xóa d liu mi khi máy tính khng. Nhng ngày còn li, mã
c làm n các tp tin và to ra các bn sao ca chính nó, ngy trang gi
c tht, khii dùng không th nhn bi nhim mã
c.
17



- Đánh cắp thông tin và dữ liệu: Có rt nhiu loi c có các hành vi
thu thp thông tin trên v i s di khon và thu thp các d liu
trên h thng. Mt ví d v Mebroot c hãng
bo mt Symantec phát hin vào tháng 12 - 2007 s dng mt công ngh n
mình và lây nhim vào MBR (Master Boot Record) cu
n khi khng h u hành sau khi BIOS hong.
Nhiu hãng bo m   c nghiên c     i pháp chng
n th mi nht li có nhng ci ti  n mình kín
o mt trên máy tính. c này gi d liu
p qua giao thc HTTP.
- Phá hủy hệ thống: Mt s c c c t phá hy h
thng (Các c phá hy BIOS, làm gim tui th ca  cng) Mt s khác
c li vit nó không c n mã làm hng h
thng, tuy nhiên trong thc t quá trình hong ca c  khi có nhng
hành vi gây hn h thng. Mt s c có hành vi si các phn 
ng la ca h thng hoi dùng truy cp vào các trang thông
tin v an ninh, bo mt.
Hic to ra vi rt nhiu m
có c nhng m, mang tính quc gia. Nhiu quc gia trên th gii

xây dng nhn nhng loc nhm vào các h thng
ca các quc gia cnh tranh. Do tính nguy hi cc mà phát hin và dit
c luôn là mt bài toán quan trng hin nay.
1.2. Định nghĩa máy phát hiện mã độc và phân loại các phương pháp phát
hiện mã độc hiện nay
1.2.1. Định nghĩa máy phát hiện mã độc
Mt máy phát hin và di      c hin mt s
  phát hi        c có th hoc
không nm trên cùng h thc bo v. c
c th hin qua công thc sau [2]:

: - c
- i
18



Máy phát hi
da vào các p c hi hoc
lành tính. Kt qu nh c c sai. 
phát hin nhc (false positive), hoc có th
phát hin nhtrình lành tính (false negative).
 phát hic hic trình bày trong
các phn tip theo.
1.2.2. Phân loại các phương pháp diệt mã độc hiện nay
Có nhic s d phát hic. Hin nay có
hai nhóm  c s d phát hic là:
-    n  c theo ch ký (Signature Based
Techniques)
-    n  c theo hành vi (Behavior Based

Techniques)
Trong tng cách tip cn và  c th
khác nhau.
Phân loc th hin qua Hình 1.1 [3]:

Hình 1.1: Phân loại các phương pháp diệt mã độc
Ni dung c th cc trình bày trong hai phn sau.

n
c
Phát hin theo ch ký
Phát hin theo hành vi

ng
19



1.3. Phương pháp phát hiện mã độc theo chữ ký
1.3.1. Nội dung phương pháp
dic theo ch nh mc thi
c khi ni dung tp tin thnh
c gi là ch ký.
c s dng rng rãi nht hin
nay. Ch    ng là mt chui byte trong mã phn mc hi.
Chu        c c th mà không có  trong các
 chu nhn dic W32/Beast là:
83EB 0274 1683 EBOE 740A 81EB 0301 0000
 ng mt chu     nh m  c 16bit là
i vc khác thì con s 

dic c th. Tt c các ch  d liu.
 tìm kim trong mt tp tin có cha ch ký mã
c nào không. Nu mt tp tin có cha ch c hi thì t
c hi. c có th  loi
b c khi h thng s thc hin
mt hoc nhia cha, hoc xóa. Cách ly mt tp
tin s làm cho nó không th tip cng
  c thc hi c khi thc hin các
ng khác can thip vào ni dung ca tp tin.
i dùng mup tin li vì tính quan trng ca t
c c gng sa cha tp tin. t mã
c s c gng loi b nhc h
cho tp tin hong tr li. Tuy nhiên, rt nhiu loc hin
nay có các k thut tinh vi và rt
khó loi b nhc hi này. Mt s loc còn làm hng các
tp tin lành tính.
Nu mt t c lây nhim mà không th sa cha thì tt
nht là loi b tp tin này khi h thng. Vì n tp tin này tip tc hong
thì các c hi s tip tc tìm kim và lây nhim vào các tp tin lành
 nhng tp tin h thng. Trong nhing hp có th
dn tình trng sp h thng.
20



Nu tc quét không cha ch c hi nào thì t
ng, mt ch c hnh mt hoc
mc hi.
Tùy theo tp c dò quét ch 
:

1.3.1.1. Dò quét tĩnh
n hành dò quét ch ký trên mt tp tin thc thi mà
không cn ch  phát hic khi
 gây bt c tác hi nào cho h thng.
        c hi   
chá trình khi to mt tin trình và s dò quét tc khi tin trình
c khi to. Nu phát hin tc thì tic khi
to và tp tin s b loi b khi h thng. Nu t
thì tin trình s c khi to.
Quy trình cc th hin qua Hình 1.2:

Hình 1.2: Quy trình dò quét chữ ký tĩnh
Có nhiu thut toán tìm kic áp d :
Aho-Corasick, Veldman, Wu-
s d liu ch  c t chc thành c có th t
hiu sut dò quét cao nht, gim thiu chi phí tài nguyên và thi gian quét t
Nu mc hnh bng mt ch c
h không phát hic.
c

d liu
ch ký
c

Lành tính

Tp tin thc thi (PE file)

21




Do vy, m d liu ch ký cn phi duy trì cp nht liên tc bng cách
phân tích các bin th mi ca mc và các loc mi.
Các ch ký cc la chn th c la chn
 có th phát hic nhiu bin th cc. ng, ch ký ca
c la ch c. Hình 1.3 mô t
ch ký cc Stoned c chn:

Hình 1.3: Chữ ký của mã độc Stoned
1.3.1.2. Dò quét động
 c bng cách nh các thông tin thu thp
c bng cách thc thi tng mô phng [1] . ng
mô phng này có u kin ging tht t c hành vi
nào cc thng mô phu không n h
thng tht. Hai cách xây dng mô phc s dng nhiu nht
là:
- Hp cát (sandbox): ng mô phc xây dng bng cách
hn ch quyn và gii hn truy cn các dch v tht ca h thng. m
chính c truy cc vào không gian b nh ca
 kiy tnc. 
tìm kim các thông tin v         
c.
22



- Máy o (virtual machine): ng mô phc xây dng mà
cung c các dch v và quyng tht. Máy o có th mô
phng c nhng tài nguyên phn cng (kt ni m tài nguyên o (tp

tin, phn m c nhi 
trình thc thi. Tuy nhiên, s dng máy o li tiêu hao m
k ca h thng thc. Máy o ch c s dng b
c.
S dng mô phc s d phát hin worm.
Bnh nhng thông tin mà nó giao tip vi bên ngoài. Ngoài ra, s
dng mô phng có th phát hin c nhc s dng mt s
k thu tr phát hin
loi  kim tra ni dung b nh o. Sau mt s ln
vòng lc hoc khi có mu kin dng 
ng. Nu thi gian chy mô ph dài thì có th nc nc
sau khi gii mã. Vì rc cn t gi có th thc hic các
hành vi gây h quynh xem khi nào ngng thc trong môi
ng mô phng, có th s d hong
ca các ch lnh, theo dõi quá trình gii mã da trên nhng thông tin thu thp
c, hoc có th dng li vi mt thnh. Sau khi thu thc
ni dung trên b nh o, tin hành quét c da trên ch  
có phc không.
1.3.1.3. Phương pháp lai
p cn kt h nh mã
cc hin theo cách tip cng tin hành dò quét
n hành  b  các thông tin nhm
c. Áp d khc phc nhic
m cng.
1.3.2. Quy trình tạo ra chữ ký mã độc
 xây dc mt ch ký cc cn thc hic
sau:
- Thu thp mc kh nghi mi: 
c rt quan trng. Ch có th thu thc mc mi thì mi có th
tic ti xây dng ch ký. Hu ht các hãng phn mm

23



dit mã u th gii hiu xây dng h thng trên toàn c
có th thu thc nhanh nht nhng mc mi.
- Phân tích mc mi kh nghi: nh xem mu thu
thc có phc hay không.   c thì cn
phi tin hành phân tích. Phân tích mt tp tin thc thi là tìm hiu hành vi
a t
ng.
Thứ nhất - phân tích tĩnh: là cách phân tích mà không cn chy tp tin
thc thi. Tp tin thc dc t mã máy thành các ngôn ng cao
mã máy (assembly) hoc Cc
tìm hiu bn mã dm ca 
là có th tìm hiu hc các hành vi cm
cn kém thi gian và công sc, trong khi các mu mã
c mc to ra hàng ngày rt ln. ng ch c áp
di vi nhng mc tinh vi.
Thứ hai – phân tích động: c bng cách thc thi
mu tng mô phng. a mu
t c không. ng mô phng
cn phi c xây dng th các dch v: kt ni
mc s dng vì tc
 phân tích nhanh. Tuy nhiên s d không tìm hiu
hc các hành vi cc.
- To ra ch ký t mc mi phát hin: c trích xut ra
mn mã t t làm ch c xác
nh th công, da vào kinh nghim ca c.
- Kim tra ch ký: mt ch ký mc to ra cn phc kim tra

  c cp nh    d liu và phân ph i s dng.
u tiên là kim tra âm tính gi, ch c s d quét trên các mu
c. Nt yêu cu thì cn kim tra tic
sau. Tc th hai, ch ký mc kim tra t l . Mng
ln các tp tin thc s dc này. Nu kt qu cho thy
ng h thì ch ký mt yêu cc
cp nh d liu.

×