Virus và các m i đe d a ố ọ
t ph n m m mã đ cừ ầ ề ộ
Ch ng trình mã đ cươ ộ
Hai lo iạ :
Các đo n mã đ c c n m t ạ ộ ầ ộ
ch ng trình ch đ ký sinh – coi ươ ủ ể
nh m t ph n c a ch ng trình ư ộ ầ ủ ươ
ch .ủ
Ch ng trình mã đ c đ ng đ c ươ ộ ứ ộ
l p.ậ
M t s lo i có th t nhân b n ộ ố ạ ể ự ả
Phân lo i ch ng trình mã ạ ươ
đ cộ
Ch ng trình mã đ cươ ộ
Logic Bombs: M t đo n mã đ c đ c ộ ạ ộ ượ
nhúng trong 1 ch ng trình, ki m tra ươ ể
n u th a mãn m t s đi u ki n s ế ỏ ộ ố ề ệ ẽ
ti n hành m t s hành đ ng b t h p ế ộ ố ộ ấ ợ
pháp.
Trapdoors: M t đi m r nhánh bí m t ộ ể ẽ ậ
trong m t ch ng trình, dùng đ c p ộ ươ ể ấ
quy n truy c p b t h p pháp không ề ậ ấ ợ
theo quy t c thông th ng.ắ ườ
Trojan Horse
Ch ng trình mã đ cươ ộ
Trojan Horse: Ch ng trình mã đ c ươ ộ
n mình d i d ng 1 ch ng trình ẩ ướ ạ ươ
h u ích, nh ng khi ng i dùng s ữ ư ườ ử
d ng thì nó l p t c th c hi n các ụ ậ ứ ự ệ
đo n mã đ c h i và vô hi u hóa các ạ ộ ạ ệ
h th ng b o v , t o ra các l h ng ệ ố ả ệ ạ ỗ ổ
b o m t cho phép các h th ng khác ả ậ ệ ố
t n công.ấ
Ch ng trình mã đ cươ ộ
Worm: M t ch ng trình mã đ c có ộ ươ ộ
kh n ng t nhân b n. Worm s ả ă ự ả ử
d ng các k t n i m ng đ t g i các ụ ế ố ạ ể ự ử
b n sao c a nó qua m ng đ n các ả ủ ạ ế
nút khác mà không c n đ n tác ầ ế
đ ng c a ng i dùng (ví d g i ộ ủ ườ ụ ử
chính nó t i t t c đ a ch mail trong ớ ấ ả ị ỉ
danh sách …)
Không gi ng virus, worm không c n ố ầ
đ n ch ng trình ch đ ký sinh mà ế ươ ủ ể
có th t t n t i đ c l p.ể ự ồ ạ ộ ậ
Ch ng trình mã đ cươ ộ
Zombie: M t ch ng trình chi m ộ ươ ế
quy n đi u khi n m t máy tính có ề ề ể ộ
n i m ng và sau đó s d ng máy ố ạ ử ụ
tính này đ th c thi các hành đ ng ể ự ộ
phá ho i (g i spam email ho c ạ ử ặ
dùng đ t n công DDOS).ể ấ
Viruses
Viruses: o n mã đ c nhúng vào Đ ạ ượ
ch ng trình máy tính, và có th t ươ ể ự
nhân b n nó b ng cách gây ra ả ằ
hành đ ng chèn b n sao c a nó ộ ả ủ
vào các ch ng trình khác và th c ươ ự
hi n các hành vi phá ho i.ệ ạ
Virus ch có th lây nhi m khi có s ỉ ể ễ ự
tác đ ng c a ng i dùng.ộ ủ ườ
Hành vi chèn b n sao g i là Lây ả ọ
nhi m ễ
Vi khu nẩ
Bacteria: Tiêu t n tài nguyênố b ng ằ
vi c t nhân b n chính nó. ệ ự ả
Th ng không phá ho i các file.ườ ạ
Có kh n ng nhân b n c p s m , ả ă ả ấ ố ũ
tiêu t n toàn b tài nguyên x lý, ố ộ ử
b nh , đ a …ộ ớ ĩ
Vòng đ i virusờ
Các giai đo n trong vòng đ i 1 virusạ ờ
•
Ng đông:ủ virus n mình ẩ
•
Phát tán: nhân b n virus ả
•
Khai h a:ỏ kích ho t virusạ
•
Th c thi:ự th c hi n hành vi phá ự ệ
ho iạ
C u trúc virusấ
program V:=
{goto main:
1234567;
subroutine infect-executable :=
{loop:
file:= get-random-executable-file;
if (first-line-of-file = 1234567)
then goto loop
else prepend V to file;}
subroutine do–damage :=
{whatever damage is to be done}
subroutine trigger-pulled :=
{return true if some condition holds}
main: main-program :=
{infect-executable;
if trigger-pulled then do-damage;
goto next;}
next:
}
special marker determines if infected
transfer control to the original program
Tránh phát hi nệ
Phiên b n b nhi m ả ị ễ c a ch ng ủ ươ
trình dài h n so v i phiên b n g c ơ ớ ả ố
(ch a nhi m)ư ễ
Gi i pháp:ả Nén file ch ng trình -> ươ
đ dài ch ng trình đã nhi m và ộ ươ ễ
ch a nhi m b ng nhau.ư ễ ằ
Tránh phát hi nệ
Ch ng trình nénươ
infected uninfected
Các lo i virusạ
Virus ký sinh: g n vào các file th c ắ ự
thi, nhân b n khi ch ng trình đ c ả ươ ượ
ch y.ạ
Virus th ng trú b nh :ườ ộ ớ là m t ộ
ph n c a ch ng trình th ng trú ầ ủ ươ ườ
b nh , nhi m vào t t c các ộ ớ ễ ấ ả
ch ng trình đ c th c thi.ươ ượ ự
Virus boot sector: Nhi m vào ễ
master boot record và lây lan khi
h th ng đ c kh i đ ng t đ a b ệ ố ượ ở ộ ừ ĩ ị
virus.
Các lo i virusạ
Virus gi u m t:ấ ặ Virus đ c thi t k đ ượ ế ế ể
n mình, tránh b phát hi n b i các ẩ ị ệ ở
ph n m m di t virus (nén, can thi p ầ ề ệ ệ
các thao tác vào/ra …).
Virus đa hình: Lo i virus bi n đ i sau ạ ế ổ
m i l n lây nhi m (ch y u thông qua ỗ ầ ễ ủ ế
vi c mã hóa chính nó b ng các khóa ệ ằ
khác nhau), làm cho vi c phát hi n ệ ệ
virus qua các m u tr nên khó kh n ẫ ở ă
h n nhi u.ơ ề
Macro virus: L y nhi m các tài li u ấ ễ ệ
Microsoft Word. Chi m 2/3 s virus ế ố
hi n có.ệ
Tràn b đ mộ ệ
Ch ng trình th c hi n ghi d li u ươ ự ệ ữ ệ
vào b đ m nhi u h n dung l ng b ộ ệ ề ơ ượ ộ
đ m.ệ
-> d li u ghi đè lên các vùng nh ữ ệ ớ
lân c n, gây ra l i.ậ ỗ
Khi ghi đè lên b nh stack, k t n ộ ớ ẻ ấ
công có th l i d ng đ th c thi các ể ợ ụ ể ự
mã đ c theo ý mu n (thay đ i đ a ch ộ ố ổ ị ỉ
tr v c a ch ng trình cho tr đ n ả ề ủ ươ ỏ ế
đ a ch mã đ c).ị ỉ ộ
C ch t n công tràn b đ m ơ ế ấ ộ ệ
stack
Stack đ c xem nh 1 ượ ư
ch ng đ aồ ĩ
Khi 1 hàm đ c g i, đ a ượ ọ ị
ch tr v đ c l u vào ỉ ả ề ượ ư
stack.
Trong hàm, các bi n c c ế ụ
b đ c l u trên stack.ộ ượ ư
B nh đ c c p phát ộ ớ ượ ấ
cho bi n trên stackế
char username[4]
-> dành 4 bytes trên
stack
0X0684
0X0685
0X0686
0X0687
0X0688
0X0689
0X0690
0X0691
0X0692
local
stack
memory
return
function
y
s
s
0X0123
\0
Khi hàm copy d li u ữ ệ
v t quá kích th c bi n ượ ướ ế
trên stack
đ a ch tr v c a hàm ị ỉ ả ề ủ
b ghi đèị
Quy n đi u khi n không ề ề ể
đ c tr l i cho ch ng ượ ả ạ ươ
trình ban đ u tr c khi ầ ướ
g i hàm.ọ
… quy n đi u khi n trao ề ề ể
cho ch ng trình mã đ c ươ ộ
đ c ch đ nh tr c b i ượ ỉ ị ướ ở
hacker.
0X0684
0X0685
0X0686
0X0687
0X0688
0X0689
0X0690
0X0691
0X0692
local
stack
memory
return
function
0X01230X0689
X
X
X
X
C ch t n công tràn b đ m ơ ế ấ ộ ệ
stack
Các b c tìm di t virusướ ệ
Phát hi nệ – xác đ nh virus xu t hi n ị ấ ệ
và đ nh v v trí c a virus.ị ị ị ủ
Nh n di nậ ệ – nh n di n lo i virus c ậ ệ ạ ụ
th .ể
G bỡ ỏ – g b các mã đ c và khôi ỡ ỏ ộ
ph c nguyên tr ng ch ng trình ụ ạ ươ
ban đ u.ầ
Các th h ph n m m di t ế ệ ầ ề ệ
virus
First: quét đ n gi n (ghi l i đ dài ơ ả ạ ộ
ch ng trình)ươ
Second: quét c m tính (ph i h p ả ố ợ
v i ki m tra toàn v n file b ng ớ ể ẹ ằ
checksums)
Third: b y hành đ ng (th ng trú ẫ ộ ườ
b nh , phát hi n các hành đ ng ộ ớ ệ ộ
lây nhi m)ễ
Fourth: b o v nhi u m t (t p h p ả ệ ề ặ ậ ợ
các k thu t ch ng virus, đi u ỹ ậ ố ề
khi n truy nh p)ể ậ
Các k thu t tiên ti nỹ ậ ế
Gi i mã h virusả ọ
H th ng mi n d ch sệ ố ễ ị ố
Ph n m m theo dõi hành viầ ề
Gi i mã h virusả ọ
D dàng phát hi n k c các virus ễ ệ ể ả
đa hình ph c t p nh t.ứ ạ ấ
Không nh h ng t i h th ngả ưở ớ ệ ố
G m các thành ph n sau:ồ ầ
Gi l p CPUả ậ – ph n m m máy tính oầ ề ả
B quét nh n di n m u virus ộ ậ ệ ẫ – quét
các ch ng trình đ nh n di n các ươ ể ậ ệ
m u virus đã bi tẫ ế
i u khi n gi l pĐ ề ể ả ậ – i u khi n vi c Đ ề ể ệ
th c thi mã mã đ c trong môi tr ng ự ộ ườ
gi l p.ả ậ
Gi i mã h virusả ọ
D a trên nguyên t c:ự ắ Virus đa hình
ph i ti n hành gi i mã thân virus ả ế ả
và trao quy n đi u khi n cho b ề ề ể ộ
ph n này.ậ
T o môi tr ng o, trong đó các file ạ ườ ả
b nhi m đ c th c thi mà không ị ễ ượ ự
nh h ng t i h th ng. ả ưở ớ ệ ố
Khi các file b nhi m th c thi, ph n ị ễ ự ầ
m m quét s ti n hành rà soát và ề ẽ ế
nh n di n m u virus sinh ra.ậ ệ ẫ