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

Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (LV thạc sĩ)

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 (829.95 KB, 55 trang )

HỌC VIỆN
N CÔNG NGH
NGHỆ BƯU CHÍNH VIỄN
N THÔNG
---------------------------------------

ĐẶNG NGỌC DANH

NGHIÊN CỨU
U CÁC K
KỸ THUẬT QUÉT CỦA SÂU MẠNG
NG VÀ CÁC
PHƯƠNG PHÁP PHÁT HIỆN

LUẬ
ẬN VĂN THẠC SĨ KỸ THUẬT
(Theo
(
định hướng ứng dụng)

HÀ NỘI - 2017


HỌC VIỆN
N CÔNG NGHỆ
NGH BƯU CHÍNH VIỄN
N THÔNG
---------------------------------------

ĐẶNG NGỌC DANH


NGHIÊN CỨU
U CÁC K
KỸ THUẬT QUÉT CỦA SÂU MẠNG
NG VÀ CÁC
PHƯƠNG PHÁP PHÁT HIỆN

Chuyên ngành
Mã số


: HỆ THỐNG THÔNG TIN
: 60.48.01.04

LUẬ
ẬN VĂN THẠC SĨ KỸ THUẬT
((Theo định hướng ứng dụng)

NGƯỜI
NGƯ HƯỚNG DẪN KHOA HỌC :
TS. HOÀNG XUÂN DẬU

HÀ NỘI - 2017


i

LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô giáo trong khoa Quốc tế và đào tạo
sau đại học, khoa Công nghệ thông tin - Trường học viện công nghệ Bưu chính
Viễn thông, những người đã trực tiếp giảng dạy, truyền đạt cho tôi kiến thức chuyên

môn và phương pháp nghiên cứu để tôi có thể thực hiện được luận văn này cũng
như những đề tài nghiên cứu khác.
Đặc biệt, tôi xin chân thành cảm ơn TS. Hoàng Xuân Dậu, đã tận tình hướng
dẫn cũng như cung cấp tài liệu để tôi có thể hoàn thành luận văn này.
Tôi cũng xin gửi lời biết ơn tới gia đình, đồng nghiệp và bạn bè đã nâng đỡ
tôi trong cuộc sống cũng như trong công việc.
Trân trọng cảm ơn !


ii

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các dữ liệu, kết quả
nêu trong luận văn là trung thực; trong quá trình nghiên cứu có tham khảo một số
tài liệu và bài báo trong và ngoài nước.
Hà Nội, ngày 28 tháng 5 năm 2017
Tác giả luận văn

Đặng ngọc Danh


iii

MỤC LỤC
LỜI CẢM ƠN ................................................................................................ i
LỜI CAM ĐOAN ......................................................................................... ii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .................................. v
DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ ....................................................... vi
LỜI MỞ ĐẦU ............................................................................................... 1
CHƯƠNG 1: TỔNG QUAN VỀ SÂU MẠNG VÀ PHÒNG CHỐNG ...... 2

1.1

Khái quát về các phần mềm độc hại ................................................... 2

1.1.1 Định nghĩa ...................................................................................... 2
1.1.2 Phân loại ......................................................................................... 2
1.1.3 Tác hại của các phần mềm độc hại ................................................ 13
1.2

Khái quát về sâu mạng và cơ chế lây nhiễm ..................................... 15

1.2.1 Khái niệm ..................................................................................... 15
1.2.2 Lịch sử .......................................................................................... 15
1.2.3 Phân loại ....................................................................................... 16
1.2.4 Cách thức làm việc của sâu ........................................................... 17
1.2.5 Một số loại sâu điển hình .............................................................. 18
1.3

Phòng chống sâu mạng và các phần mềm độc hại khác .................... 21

1.3.1 Phương pháp phòng chống virus ................................................... 21
1.3.2 Phương pháp phòng chống Worm ................................................. 21
1.4

Kết chương ...................................................................................... 22

CHƯƠNG 2: CÁC KỸ THUẬT QUÉT CỦA SÂU MẠNG VÀ CÁC
PHƯƠNG PHÁP PHÁT HIỆN ................................................................. 23
2.1


Các kỹ thuật quét của sâu mạng ....................................................... 23

2.1.1 Quét ngẫu nhiên có chọn lọc ......................................................... 23
2.1.2 Quét định tuyến ............................................................................. 25
2.1.3 Quét kiểu chia để trị ...................................................................... 27
2.1.4 Quét kiểu kết hợp .......................................................................... 29
2.1.5 Quét toàn bộ.................................................................................. 29


iv

2.1.6 So sánh các phương pháp quét của sâu mạng ................................ 30
2.2

Các phương pháp phát hiện sâu mạng .............................................. 31

2.2.1 Khái quát về các phương pháp phát hiện sâu mạng ....................... 31
2.2.2 Các phương pháp phát hiện sâu mạng ........................................... 33
2.2.3 So sánh các phương pháp phát hiện sâu mạng ............................... 38
2.3

Kết chương ...................................................................................... 38

CHƯƠNG 3: THỬ NGHIỆM PHÁT HIỆN SÂU MẠNG ....................... 39
3.1 Giới thiệu mô hình phát hiện sâu mạng dựa trên tương quan nguồnđích ........................................................................................................ 39
3.2

Cài đặt thử nghiệm ........................................................................... 41

3.2.1 Tập dữ liệu và tiền xử lý dữ liệu.................................................... 41

3.2.2 Kết quả phát hiện .......................................................................... 42
3.3

Kết chương ...................................................................................... 43

KẾT LUẬN ................................................................................................. 44
DANH MỤC CÁC TÀI LIỆU THAM KHẢO.......................................... 45


v

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ
viết tắt
AAWP
ACK
API
BGP
BIOS

Analytical Active Worm Propagation
Acknowledgement
Application Programming Interface
Border Gateway Protocol
Basic Input/Output System

CERT

Computer Emergency Response Team


CPU
DDOS
DNS
DOS
HDD
IANA
IDS
IRC

Central Processing Unit
Distributed Denial of Service
Domain Name System
Denial of Service

NIST
P2P
RAM
SYN

Nghĩa tiếng anh

Hard Disk Drive

Internet AssignedNumbersAuthority
Intrusion Detection System
Internet Relay Chat
National Institute of Standards and
Technology
Peer to Peer
Random Access Memory

The Synchronous Idle CharacterIdle
racter

Nghĩa tiếng việt
Phân tích sâu hoạt động lantruyền
Trả lời trong quá trình bắt tay 3 bước
Giao tiếp lập trình ứng dụng
Giao thức định tuyến lưu lượng
Hệ thống Đầu vào/Đầu ra Cơ bản
Trung tâm ứng cứu khẩn cấp máy
tính
Đơn vị xử lý trung tâm
Tấn công từ chối dịch vụ phân tán
Hệ thống phân giải tên
Tấn công từ chối dịch vụ
Ổ đĩa cứng truyền thống
Tổ chức cấp phát số hiệu Internet
Hệ thống phát hiện xâm nhập
Chat chuyển tiếp Internet
Viện tiêu chuẩn và công nghệ quốc
gia Hoa Kỳ
Mạng ngang hàng
Bộ nhớ truy cập ngẫu nhiên
Ký tự đồng bộ hóa


vi

DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ
SỐ HIỆU

Bảng 1.1
Hình 1.1
Hình 2.1
Hình 2.2
Bảng 2.2
Hình 2.3
Hình 2.4
Hình 2.5
Hình 2.6
Hình 2.7

TÊN HÌNH VẼ
Phân loại phần mềm độc hại của NIST
Phân loại phần mềm độc hại của Peter Szor
So sánh mô hình AAWP và Weaver
So sánh tốc độ lan truyền của quét ngẫu nhiên và quét ngẫu
nhiên có lựa chọn
So sánh các phương pháp phát hiện sâu mạng
So sánh tốc độ lan truyền của kỹ thuật quết ngẫu nhiên và
quét định tuyến
So sánh tốc độ lan truyền của kỹ thuật quết ngẫu nhiên và
quét chia để trị
So sánh tốc độ lan truyền của kỹ thuật quết ngẫu nhiên và hoàn
toàn

TRANG
3
7
27
28

41
30
32
33
35

Hình 3.2

So sánh các phương pháp quét của sâu mạng
Sơ đồ mô tả hệ thống phát hiện worm
Sự biến đổi của số nạn nhân trong trường hợp quét ngẩu nhiên
và quét định tuyến
Mô hình quét tìm đích lây nhiễm của sâu mạng
Lưu đồ cài đặt thuật toán phát hiện sâu mạng dựa trên
tương quan nguồn - đích

Hình 3.3

Một bản ghi logs thu thập được từ tường lửa

41

Hình 3.4

Trích một số bản ghi trích xuất từ logs tường lửa

41

Hình 3.5


Kết quả phát hiện các cặp tương quan nguồn đích

42

Hình 2.8
Hình 3.1

36
38
39
40


1

LỜI MỞ ĐẦU
Sâu mạng (Network worms) là một trong các loại phần mềm độc hại
(Malware) có tốc độ lây lan rất nhanh và khả năng tàn phá lớn. Khác với virus, sâu
mạng có thể lây lan tự động mà không cần tương tác với người dùng. Khi sâu lây
nhiễm vào một máy tính, nó sử dụng máy tính đó làm bàn đạp để tiếp tục rà quét và
lây nhiễm sang các máy tính khác. Nhờ vậy, sâu có khả năng lây lan nhanh theo cấp
số nhân. Một số sâu như Slammer, Code Red, Nimda có khả năng lây nhiễm ra
hàng trăm ngàn máy chủ chỉ trong khoảng 30 phút [1].
Sâu mạng có thể lây nhiễm từ máy này đến máy khác thông qua nhiều
phương pháp, bao gồm lây nhiễm thông qua việc khai thác các lỗ hổng trên các dịch
vụ mạng, các giao thức mạng, lây nhiễm thông qua đăng nhập từ xa, lây nhiễm
thông qua email và từ trang web nhiễm sâu xuống trình duyệt web,… Tốc lây
nhiễm của sâu phụ thuộc chủ yếu vào kỹ thuật quét (scanning) mà sâu mạng sử
dụng để rà quét các máy tính khác cùng mạng hoặc khác mạng với máy bị nhiễm
làm đích lây nhiễm tiếp theo. Đa số sâu mạng thường rà quét và lây nhiễm đến các

máy chủ cung cấp dịch vụ mạng. Chẳng hạn sâu Slammer quét các máy với địa chỉ
IP sinh ngẫu nhiên để tìm đích tiếp lây nhiễm theo, đó là những máy chủ chạy hệ
quản trị cơ sở dữ liệu SQL 2000 chứa lỗi tràn bộ đệm [1]. Tuy vậy, cũng có một số
sâu mạng lây nhiễm vào các máy tính cá nhân.
Khi lây nhiễm vào hệ thống, hoạt động của sâu mạng tương tự như virus,
hoặc các phần mềm độc hại khác. Một số sâu “lành tính” không thực hiện các hành
vi phá hoại trên hệ thống bị lây nhiễm mà chỉ tạo ra lưu lượng mạng khổng lồ, như
sâu Slammer [1]. Ngược lại, nhiều sâu khác thực hiện các hành vi đánh cắp thông
tin nhạy cảm, xoá các dữ liệu quan trọng, khoá máy tính của nạn nhân, mở cổng hậu
để tải lên máy nạn nhân nhiều phần mềm độc hại khác, hoặc gây hỏng hóc cho hệ
thống.
Do sâu mạng có tốc độ lan nhanh và khả năng phá hoại lớn, đặc biệt là với
các máy chủ và dịch vụ mạng, việc nghiên cứu, phân tích sâu cơ chế quét tìm đích
lây nhiễm của sâu mạng là cần thiết để trên cơ sở đó đưa ra phương pháp phát hiện
và phòng chống phù hợp. Đây cũng là mục đích của Luận văn này.


2

CHƯƠNG 1: TỔNG QUAN VỀ SÂU MẠNG VÀ PHÒNG
CHỐNG
1.1 Khái quát về các phần mềm độc hại
1.1.1 Định nghĩa
Phần mềm độc hại (Malware -Malicious software hay malicious code) được
định nghĩa là một chương trình (program) được chèn một cách bí mật vào hệ thống
với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của hệ
thống.
1.1.2 Phân loại
Hiện nay, có nhiều phương pháp phân loại phần mềm độc hại và mỗi phương
pháp có ưu, nhược điểm riêng. Luận văn trình bày hai phương pháp phân loại phần

mềm độc hại: phân loại phần mềm độc hại của NIST [13] và phân loại phần mềm
độc hại của Peter Szor [14].

1.1.2.1 Phân loại của NIST (National Institute of Standards and
Technology):
Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ. Theo phân loại của NIST,
phần mềm độc hại được chia thành bảy nhóm chính, bao gồm: Virus, Trojan horse,
Worm, Malicious mobile code, Blended attack, Tracking cookies và Attacker tools.


3

Bảng 1.1: Phân loại phần mềm độc hại của NIST

Phân loại

Virus

Compiled Virus
Interpreted Virus

Mã độc hại (Malware)

Worm

Ví dụ
Michelangelo, Stoned,
Jerusalem
Melisa


Network Service Worm Sasser
Mass Mailing Worm

Netsky, Mydoom

Trojan Horse
Maliciuos

Nimda

Mobile code
Blended attacks

Attacker Tool

Backdoor

Trino, Tribe Flood Network

Keylogger

KeySnatch, Spyster

Rootkit

LPK5, Knark, Adore, Hack
Defender

Web Browser Plug-in
Email Generator


 Viruses: Một Virus có khả năng tự nhân bản bằng cách chèn bản sao của nó vào
chương trình chủ hay vào file dữ liệu. Virus thường thực hiện việc lây nhiễm
nhờ vào sự tương tác của người dùng, như là mở file hay chạy các chương trình.
Virus được chia thành hai loại: Compiled Virus và interpreted Virus.
o Compiled Virus: Là Virus mà nó có thể thực thi trực tiếp từ hệ điều hành.
Boot Virus và file Virus là những Virus thuộc nhóm này. Compiled Virus
cũng có thể là loại Virus được pha trộn từ cả boot Virus và file Virus.
Jerusalem là một Virus điển hình thuộc loại này.
o Interpreted Virus: Là Virus được thực thi bởi một ứng dụng cụ thể. Virus
kiểu này là một tập lệnh cho đến khi ứng dụng gọi nó thì nó mới được thực


4

thi. Macro Virus và scripting Virus là những Virus thuộc loại này. Melisa là
một đại diện cho loại Virus này.

 Worm: Worm (sâu) là một chương trình có khả năng tự nhân bản và lây nhiễm
trong hệ thống mà không cần phải có tác động của con người, nghĩa là nó không
cần có file chủ để mang nó vào khi nó lây nhiễm. Worm được chia thành hai
loại: network service worm và mass mailing worm.
o Network service worm: Network service worm lan truyền từ hệ thống này
sang hệ thống khác bằng cách lợi dụng các lỗ hổng bảo mật của các dịch vụ
mạng.
o Mass mailing worm: Mass mailing worm có khả năng tự đóng gói để lây
nhiễm, nó không cần bám vào máy chủ email. Khi lây nhiễm vào hệ thống,
nó thường cố gắng tìm kiếm danh sách địa chỉ và tự gửi bản thân nó đến các
địa chỉ thu nhặt được. Việc gửi đồng thời cho nhiều địa chỉ thường gây nên
việc quá tải mạng hoặc máy chủ email. Mydoom là ví dụ cho loại worm này.


 Trojan Horses: Trojan horse không có khả năng tự lây nhiễm, sự xuất hiện của
nó có vẻ rất ôn hòa nhưng thường ẩn chứa những đoạn mã với mục đích gây
hại.

 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 trên hệ thống đó. Nó
khác với Virus, Worm ở chỗ nó không nhiễm vào file và không tự phát tán, thay
vào đó nó khai thác một điểm yếu bảo mật, tận dụng các quyền ưu tiên ngầm
định để chạy mã từ xa. Các công cụ như Java, ActiveX, JavaScript, VBScript là
môi trường tốt cho malicious mobile code. Ví dụ cho kiểu tấn công này là Virus
Nimda.

 Blended attacks: Blended attack là kiểu tấn công sử dụng hỗn hợp nhiều kỹ
thuật khác nhau. Nimda là điển hình cho loại tấn


5

 công này.
 Tracking Cookies: Tracking cookie là một dạng theo dõi cookie để nắm bắt một
số hành động duyệt web của người sử dụng một cách bất hợp pháp. Bản thân
cookie được sinh ra để chứa các thông tin về việc sử dụng một trang web cụ thể
nhằm căn cứ vào đó làm tối ưu hơn về giao diện, hành vi của trang web phù
hợp. Tuy nhiên, tính năng này đã bị lợi dụng để thu thập các thông tin về người
sử dụng.

 Attacker Tools: Là những bộ công cụ tấn công được sử dụng để gài các phần
mềm độc hại vào hệ thống. Các bộ công cụ này có khả năng giúp cho kẻ tấn
công có thể truy nhập bất hợp pháp vào hệ thống hoặc làm cho hệ thống bị

nhiễm mã độc hại. Attacker tools thường gặp nhất là backdoor (cửa hậu) và
keytroke loggers (công cụ ghi phím gõ).
o Backdoor: Backdoor là thuật ngữ chỉ các phần mềm độc hại thường trú và
đợi lệnh điều khiển từ các cổng dịch vụ TCP hay UDP. Phần lớn các
backdoor cho phép kẻ tấn công thực thi một số hành động trên máy bị nhiễm
như truyền file, dò mật khẩu, thực thi mã lệnh, … Backdoor gồm hai dạng:
Zoombie và Remote Administration Tool.
o Zoombie (đôi lúc gọi là bot): Là một chương trình cài đặt lên hệ thống nhằm
mục đích tấn công hệ thống khác. Kiểu thông dụng nhất của zoombie là các
agent dùng để tổ chức một cuộc tấn công DDoS. Kẻ tấn công có thể cài
zoombie vào một số lượng lớn các máy tính rồi ra lệnh tấn công cùng một
lúc. Đại diện cho loại này là Trinoo và Tribe Flood Network.
o Remote Administration Tool: Là các công cụ có sẵn của hệ thống cho phép
thực hiện quyền quản trị từ xa. Tính năng này bị kẻ tấn công lợi dụng để xâm
hại đến hệ thống. Tấn công kiểu này bao gồm từ theo dõi mọi thứ xuất hiện
trên màn hình cho đến tác động vào cấu hình hệ thống.
o Keytroke logger: Keytroke logger hay còn gọi là keylogger, là một chương


6

trình ban đầu được thiết kế để theo dõi và ghi lại mọi thao tác thực hiện trên
bàn phím vào một tập tin nhật ký (log). Về sau, keylogger phát triển cao hơn,
nó không chỉ ghi lại các thao tác với bàn phím mà còn ghi lại các hình ảnh
hiển thị trên màn hình bằng cách chụp (screen-shot) hoặc quy phim (screencapture), thậm chí còn ghi nhận cách con trỏ chuột trên máy tính di chuyển.
Ví dụ về keylogger là KeySnatch, …
o Rootkits: Rookit là tập hợp các file được cài đặt trên hệ thống nhằm biến đổi
những chức năng của hệ thống thành các chức năng tiềm ẩn những tấn công
nguy hiểm. Ví dụ, trong hệ thống Windows, Rookit có thể sửa đổi, thay thế
file, hoặc thường trú trong bộ nhớ nhằm thay thế, sửa đổi các lời gọi hàm của

hệ điều hành. Rootkit thường được dùng để cài đặt các công cụ để tấn công
như backdoor, keylogger, … Ví dụ về Rookit: Hack Defender, Adore, …
o Web Browser Plug-In: Là phương thức cài đặt mã độc hại thực thi cùng trình
duyệt web. Khi được cài đặt, kiểu mã độc hại này sẽ theo dõi mọi hành vi
duyệt web của người dùng (ví dụ như tên website người dùng đã truy cập),
sau đó gửi thông tin ra ngoài.
o Email generator: Là chương trình cho phép tạo và gửi đi một số lượng lớn
các email. Các chương trình độc hại như spam, spyder, … có thể được đính
kèm vào email được sinh ra từ email generator và gửi tới các địa chỉ trong
danh sách địa chỉ của máy bị nhiễm.
o Attacker Toolkit: Là bộ công cụ được tải xuống để cài vào hệ thống khi hệ
thống đã bị khống chế bởi phần mềm độc hại. Các công cụ kiểu như bộ dò
quét cổng (post scanner), bộ phá mật khẩu (password cracker), … là những
ví dụ cho loại này.

1.1.2.2 Phân loại của Peter Szor
Peter Szor, tác giả cuốn sách The art of computer Virus research and
defense, phân loại phần mềm độc hại như Hình 1.1. Theo cách phân loại này, các


7

phần mềm độc hại được chia thành mười sáu nhóm: Virus, Worm, Logic bomb,
Trojan horse, Dropper, Injector, Germ, Exploit, Downloader, Dialer, Auto-Rooter,
Kit, Spammer Program, Flooder, Keylogger, Rootkit.

Malicious code

Viruses


Mailer & Massmailer worms

Germs

Sammer
Programs

Worm

Octopus

Exploits

Flooders

Logic bombs

Rabbits

Downloader

Keylogger

Trojan horses

Backdoor

Dialers

Rootkits


Droppers

PasswordStealing Trojan

Auto-Rooters

injectors

Kits

Hình 1.1: Phân loại phần mềm độc hại của Peter Szor

 Viruses: Virus máy tính là một loại mã có khả năng tự sinh một cách liên tục
các bản sao của nó. Virus phá hoại các file chủ (host file) và khu vực hệ thống,
hay đơn giản là sửa đổi các tham khảo đến các đối tượng để nắm quyền điều
khiển, sau đó nhân lên ở các thế hệ mới.


8

 Worms: Peter Szor cũng phân loại Worm tương tự như cách phân loại của
NIST, là Virus mạng, có khả năng tự sinh trên mạng. Thường thì Worm được
thực thi một cách tự động trên một máy từ xa mà không cần sự tương tác của
người dùng. Các dạng con của worms:
o Mailer và Mass-mailer worm: Mailer và Mass-mailer worm: Là một loại sâu
máy tính được phát tán qua email. Mass-mailer thường là “@mm” Worm, ví
dụ như VBS/Loveletter.A@mm. Worm này tự tìm ra danh sách các địa chỉ
trên máy bị nhiễm sau gửi đi hàng loạt các email, trong các email này đính
kèm cả các bản sao của worm. Mailer worm thì gửi đi với số lượng ít hơn so

với mass-mailer worm, ví dụ như mailer worm W32/SKA.A@m (hay còn
gọi là Worm Happy99) gửi đi chỉ một bản sao của chính nó trong mỗi lần
người dùng gửi đi một thông điệp mới.
o Octopus (bạch tuộc): Là một loại Worm máy tính tinh vi, phức tạp mà tồn tại
như một chương trình trên nhiều hơn một máy tính trên mạng. Ví dụ, phần
đầu và phần đuôi các bản sao được cài đặt trên các máy tính riêng biệt để
giao tiếp với nhau nhằm thực thi một chương trình nào đó. Octopus là một
loại Worm không thường thấy nhưng chúng sẽ trở nên phổ biến trong tương
lai.
o Rabbits (con thỏ): Là một loại sâu máy tính đặc biệt, và tại bất kỳ một thời
điểm nào, chỉ có một bản sao của nó tồn tại, giống như là nó “nhảy” từ máy
này sang máy khác trong mạng. Một nghiên cứu khác sử dụng thuật ngữ
Rabbit để mô tả mánh khóe, các ứng dụng độc hại mà thường chạy chính
chúng một cách liên tục để làm đầy bộ nhớ với các bản sao của nó và làm các
tiến trình chết dần bằng cách tiêu tốn hết thời gian CPU. Mã độc chiếm quá
nhiều bộ nhớ mà theo đó là nguyên nhân của một loạt các tác động khác trên
máy mà các ứng 10 dụng khác không có sự chuẩn bị để làm việc với tình
trạng bộ nhớ quá thấp. Hậu quả, các tiến trình khác bị dừng một cách không
mong muốn.


9

 Logic bombs: Một logic bomb là một sự làm sai lệch chức năng chương trình
của một ứng dụng hợp pháp. Logic bomb chỉ được kích hoạt khi một điều kiện
nào đó được thỏa mãn. Ví dụ, một ứng dụng có thể tự xóa mình khỏi đĩa sau
một số lần được sử dụng như là một biện pháp bảo vệ bản quyền, người lập
trình muốn vài đoạn mã mở rộng để thực hiện một hành động hiểm độc trên
một hệ thống chắc chắn khi ứng dụng được sử dụng. Tình huống này sẽ xảy ra
khi có sự giao tiếp với một dự án lớn bằng việc rà soát mã một cách hạn chế.

Thông thường chức năng mở rộng được giấu đi như là một tài nguyên của ứng
dụng. Thực tế cách để một chức năng xây dựng vào một ứng dụng giống như
cách được gọi là Easter eggs (trứng phục sinh) tiến tới một dự án lớn. Người lập
trình tạo Easter eggs để giấu đi một vài trang danh sách mở rộng cho các thành
viên trong đội, những người tham gia dự án. Các ứng dụng như Microsoft
Office có rất nhiều Easter eggs ẩn trong nó, và các nhà cung cấp phần mềm lớn
có nhiều trang danh sách tương tự nhúng trong các chương trình của họ. Mặc
dù, Easter eggs không phải là độc hại và không đe dọa người dùng cuối (mặc dù
nó có thể sử dụng hết khoảng trống trong ổ đĩa cứng), thì logic bombs luôn luôn
độc hại.

 Trojan horses: Trojan horse dùng một vài chức năng hữu ích để cám dỗ người
dùng chạy chương trình. Trong các trường hợp khác, những kẻ tấn công với
mục đích xấu để lại các phiên bản Trojan trong một công cụ hợp pháp để ngụy
trang cho hành động của họ trên máy, theo đó họ có thể vạch lại các bước để
thỏa hiệp với hệ thống và thực hiện các hành vi hiểm độc. Ví dụ về Trojan
horse điển hình nhất có lẽ là AIDS TROJAN DISK. Có hai loại Trojan horse:
100% mã Trojan, loại này dễ phân tích. Sửa đổi một cách cẩn thận các ứng
dụng gốc với một vài chức năng mở rộng, một vài trong số chúng thuộc về các
lớp con của Backdoor hay Rootkit. Loại này của Trojan phổ biến hơn trong các
hệ thống mã nguồn mở vì kẻ tấn công có thể dễ dàng thêm vào các chức năng
cửa sau vào đoạn mã có sẵn.


10

o Backdoors (hay Trapdoors): Tương tự như cách phân loại của NIST.
o Password-Stealing Trojan (Trojan trộm password): Trojan trộm password là
một lớp con đặc biệt của Trojan. Lớp con này của Trojan được sử dụng để
đoạt và gửi password đến cho kẻ tấn công. Kết quả, kẻ tấn công có thể làm

cho hệ thống trở nên thiếu an toàn và có thể lấy bất cứ thông tin gì mà anh
(cô) ta muốn. Kẻ trộm password thường kết hợp với Keyloggers để biết được
các ký tự khi bấm bàn phím gõ password khi logon.

 Droppers: Là khái niệm ban đầu cần tham khảo khi cài đặt mã Virus thế hệ đầu.
Ví dụ, boot Viruses lần đầu tiên tồn tại như một file biên dịch ở dạng nhị phân,
thường được cài đặt trên boot sector của đĩa mềm sử dụng dropper. Dropper
viết germ code (mã phôi độc hại) trên boot sector của đĩa mềm. Sau đó. Virus
có thể tự sinh mà không cần nhờ dropper nữa.

 Injectors: Là một loại đặc biệt của dropper thường để cài đặt mã Virus lên bộ
nhớ. Một injector có thể được sử dụng để tiêm nhiễm mã Virus ở dạng hoạt
động trên một xử lý ngắt ổ đĩa. Sau đó, khi người dùng truy cập đĩa mềm, Virus
bắt đầu quá trình tự sinh. Một loại cụ thể của injector là injector mạng. Kẻ tấn
công có thể sử dụng các tiện ích hợp pháp, ví dụ như NetCat để tiêm nhiễm mã
Virus lên mạng. Thông thường một mục tiêu ở xa được xác định trước và gói
dữ liệu được gửi đến máy mà sẽ được kẻ tấn công sử dụng để tiêm nhiễm. Kẻ
tấn công bước đầu đưa vào sâu CodeRed sử dụng injector, sau đó sâu này sẽ
sinh sôi như là dữ liệu mạng mà không cần tấn công vào ổ đĩa. Injector thông
thường được sử dụng ở trong tiến trình được gọi là seeding (gieo giống, gieo
mầm). Seeding là một tiến trình mà được sử dụng để tiêm nhiễm mã Virus đến
một vài hệ thống ở xa, là nguyên nhân của sự lan truyền Virus nhanh chóng. Ví
dụ, sâu W32/Witty đã được gieo giống cho một vài hệ thống nhờ chính tác giả
của nó.

 Germs (mầm mống): Là Virus thế hệ đầu tiên, khi mà Virus chưa sinh ra các
tiền trình lây nhiễm. Thông thường, một Virus biên dịch ở lần đầu tiên nó tồn


11


tại dưới một định dạng cụ thể và không có chương trình trạm nào tấn công nó.
Germ không có khả năng đánh dấu mà hầu hết các Virus thế hệ thứ hai sử dụng
để đánh dấu các file đã bị nhiễm độc nhằm tránh lây nhiễm vào các file đã bị
tấn công. Một mầm phôi (germ) của Virus được mã hóa hay Virus đa hình
thường lại không được mã hóa nên đơn giản, dễ đọc mã. Việc dò tìm ra germ
cần những kỹ thuật khác với các kỹ thuật dò tìm ra Virus ở thế hệ thứ hai trở về
sau.

 Exploits (khai thác): Mã exploit là một điểm yếu cụ thể hay một tập hợp các
điểm yếu được hacker viết ra để khai thác lỗi bảo mật. Mục tiêu của nó để chạy
các chương trình (có thể từ xa hay trên mạng) trên hệ thống một cách tự động
hay cung cấp một vài định dạng khác của truy cập ưu tiên mức cao vào hệ thống
đích. Thông thường, một kẻ tấn công đơn độc xây dựng mã exploit rồi chia sẻ
nó cho mọi người. Hacker mũ trắng xây dựng mã exploit cho mục tiêu thâm
nhập. Theo đó, phụ thuộc vào mục đích sử dụng trên thực tế của mã exploit mà
nó có thể là độc hại trong trường hợp này nhưng lại vô tại trong trường hợp
khác, phụ thuộc vào mục tiêu của kẻ tấn công.

 Downloaders: Một downloader là một chương trình độc mà cài đặt một tập hợp
các khoản mục khác trên máy, nó chưa đến mức gọi là tấn công. Thông thường,
downloader được gửi kèm trong một email và khi nó thực thi (đôi khi có thêm
sự giúp đỡ của exploit), nó download về các nội dung độc từ các website hay
các nguồn khác, sau đó giải nén và chạy các nội dung này.

 Dialers: Các mối quan hệ của dialers bắt đầu từ rất sớm trong suốt thời kỳ hưng
thịnh của kết nối dial up đến hệ thống bảng thông báo (bulletin board systems
BBSs) ở nhà. Dịch vụ dialers đã mang lại rất nhiều tiền cho kẻ đứng sau nó từ
chính những người dùng nó (thông thường nạn nhân không biết) khi gọi cho các
số có thưởng. Kẻ thực thi dialer này biết mục tiêu của ứng dụng, nhưng người

dùng thì không nhận thức được phí tổn mà họ phải trả. Các ứng dụng chung của
dialer còn được gọi là porn dialer. Một cách tiếp cận tương tự tồn tại trong


12

WWW sử dụng liên kết đến các trang web mà kết nối đó phải trả tiền dịch vụ.

 Auto-Rooters: Auto-Rooters thường là công cụ hacker mũ đen sử dụng để làm
sụp đổ các máy mới từ xa. Auto-Rooters sử dụng tập hợp các exploit để chống
lại một mục tiêu cụ thể nhằm đạt được quyền làm chủ máy. Kết quả, hacker mũ
đen (cũng được gọi là script-kiddie) dành được quyền admin của máy ở xa này.

 Kits (bộ công cụ hay Virus generators – trình sinh Virus): Người viết Virus phát
triển Kits, như là trình sinh VCL, hay PSMPC để tạo ra các Virus máy tính một
cách tự động, sử dụng ứng dụng menu_based. Với các công cụ này, một người
mới học cũng có thể phát triển những Virus máy tính tai hại mà không cần quá
nhiều hiểu biết về máy tính. Một vài trình sinh Virus có sẵn để tạo DOS, macro,
script hay thậm chí là Virus W32 và massmailing worm.

 Spammer Programs: Các chương trình Spammer được sử dụng để gửi đi các tin
nhắn không do yêu cầu đến một nhóm người dùng. Mục tiêu chính của những
người sử dụng chương trình này là gửi đi các quảng cáo đến các người dùng
trên mạng. Thư spam đã trở thành sự phiền hà số một trong giao tiếp cộng
đồng. Động cơ cơ bản của Spammer là kiếm được tiền bằng lưu lường sinh ra
đến các website. Thêm vào đó các tin nhắn Spam thường được sử dụng để cài
đặt tấn công Phishing.

 Flooders (lũ lụt): Những hackers xấu tính sử dụng flooders để tấn công mạng
máy tính với siêu tải của lưu lượng mạng nhằm tấn công từ chối dịch vụ DoS.

Tấn công DoS được thực thi đồng thời trên nhiều hệ thống có thỏa thuận trước
(còn được gọi là các máy thụ động), tấn công kiểu này được gọi là tấn công từ
chối dịch vụ phân tán DDoS. Hiển nhiên có rất nhiều kiểu tấn công từ chối dịch
vụ tinh vi hơn, bao gồm: tràn SYN, tấn công sự phân mảnh gói, và nhiều kiểu
tấn công liên tiếp khác, sử dụng máy khuếch đại lưu lượng, sử dụng máy làm
chệch hướng lưu lượng, đó là vài loại chung nhất.

 Keyloggers: Tương tự như cách phân loại của NIST.


13

 Rootkits: Là một bộ công cụ được sử dụng nhằm che dấu các file và các phần
mềm hiểm độc bên trong một hệ thống máy sơ hở. Rootkits được kẻ xâm nhập
dùng sau khi chiếm được quyền truy cập vào hệ thống máy tính. Các công cụ
này thường nhằm để che dấu dữ liệu hệ thống, tập tin, hoặc tiến trình đang
chạy, từ đó giúp kẻ xâm nhập duy trì quyền truy cập hệ thống mà người dùng
không biết. Bản thân Rootkit là vô hại, tuy nhiên khi nó bị lợi dụng đi kèm theo
các mã độc hại khác như Virus, Worm, Spyder, … thì nó lại trở nên rất nguy
hiểm. Rootkit được phân loại dựa trên sự duy trì sau khi khởi động lại, hoặc
hoạt động ở chế độ người dùng (user mode) hay ở chế độ cấp hệ thống (kernel
mode).
1.1.3 Tác hại của các phần mềm độc hại
Nhìn chung phần mềm độc hại có những tác hại sau:
 Làm giảm hiệu năng xử lý: Khi bị nhiễm phần mềm độc hại thường làm giảm
hiệu năng xử lý, tiêu tốn nhiều tài nguyên CPU, RAM, HDD và băng thông
mạng, làm chương trình hay bị treo.Tài khoản email của người dùng có thể
được truy cập bởi các phần mềm độc hại, tự động gửi tin nhắn mà người dùng
không cho phép, hoặc chỉ đơn giản là lấp đầy màn hình với các pop-up quảng
cáo trong khi truy cập Internet. Hầu hết các phần mềm độc hại có một mục đích

là trộm cắp thông tin hoặc gửi thư rác, một số chương trình được thiết kế với
mục đích phá hoại hoặc làm ngưng hoạt động của hệ thống máy tính.
 Thiệt hại tài chính: Một trong những mục đích chính của phần mềm độc hại là
để thúc đẩy hành vi trộm cắp thông tin tài chính hoặc các thông tin nhạy cảm
khác nhằm trục lợi. Người ta ước tính rằng hàng năm có hàng tỷ đô la bị đánh
cắp do phần mềm độc hại đánh cắp hồ sơ tài chính cá nhân và doanh nghiệp.
Một số phần mềm độc hại có khả năng tự động chuyển tiền từ tài khoản ngân
hàng bị đánh cắp vào tài khoản ngân hàng của tin tặc. Tin tặc cũng có thể cài
đặt một backdoor vào hệ thống máy tính của người dùng, cho phép chúng truy
cập và lạm dụng các thông tin tài khoản ngân hàng của người dùng. Phần mềm


14

độc hại được tạo ra để đánh cắp thông tin, thường được thiết kế có khả năng
giấu mình, nhằm kéo dài thời gian lưu lại trên máy tính của người dùng.
 Mất thông tin cá nhân: Nhiều phần mềm độc hại được thiết kế để ăn cắp thông
tin cá nhân của bạn từ máy tính của bạn. Tên của bạn, số chứng minh thư, số
giấy phép lái xe, tài khoản ngân hàng và các thông tin nhạy cảm khác đều có thể
bị đánh cắp. Các hành vi trộm cắp thông tin như vậy thường có lý do tài chính,
nhưng kẻ trộm cũng có thể làm chứng minh thư giả với thông tin cá nhân của
bạn. Thông tin cá nhân trộm cắp có thể được sử dụng để xin hưởng các phúc lợi
xã hội, khai hồ sơ thuế gian lận hoặc đơn giản là một ID giả để qua mặt cảnh sát
khi bị bắt.
 Mã hóa dữ liệu tống tiền: Khi Malware xâm nhập vào máy nạn nhân, nó sẽ mã
hóa tất cả các dữ liệu quan trọng của người dùng và yêu cầu họ phải trả tiền để
có thể khôi phục lại hệ thống.
 Gây ra các sự khó chịu khác cho người dùng: Các Malware thiết lập các chế độ
ẩn tập tin, thư mục, khóa Registry, khóa Task Manager,…, thay đổi phương
thức hoạt động của các phần mềm như trình duyệt, office, thậm chí thay đổi hệ

điều hành, …
 Ảnh hưởng tới hoạt động sản xuất: Khi một phần mềm độc hại được phát hiện,
nó phải được loại bỏ khỏi hệ thống máy tính bị lây nhiễm. Với kịch bản tốt
nhất, chỉ một máy tính bị nhiễm phần mềm độc hại cần phải dừng hoạt động để
làm sạch. Khi các mạng máy tính ngày càng mở rộng quy mô, chúng thường
xuyên đối mặt với nguy cơ nhiều máy chủ, máy trạm phải ngừng hoạt động
hoặc cần cài đặt lại hệ điều hành và phần mềm ứng dụng do bị lây nhiễm phần
mềm độc hại. Điều này có thể dẫn đến việc toàn bộ các phòng ban của một
doanh nghiệp phải ngừng hoạt động trong nhiều ngày, gây thiệt hại hàng triệu
đô la cho công ty.
 Phá hủy hệ thống: Một số Malware cố tính phá hủy hệ thống (phá hủy BIOS,
làm giảm tuổi thọ của ổ cứng, …), một số khác khi được xây dựng thì người
thiết kế nó không cố ý đưa vào các đoạn mã làm hỏng hệ thống, tuy nhiên quá


15

trình hoạt động của Malware trong thực tế đôi lúc ngoài dự kiến của họ,
Malware bắt đầu hoạt động bất ổn, thậm chí sinh ra những lỗi làm tê liệt hệ
thống.
1.2 Khái quát về sâu mạng và cơ chế lây nhiễm
1.2.1 Khái niệm
Worm – sâu máy tính (sau đây gọi tắt là sâu) được hiểu như là một loại virus
đặc biệt hay một chương trình độc hại. Phương thức lây lan qua mạng là khác biệt
cơ bản giữa virus và sâu. Hơn nữa, sâu có khả năng lan truyền như chương trình độc
lập mà không cần lây nhiễm qua tập tin. Ngoài ra, nhiều loại sâu có thể chiếm
quyền kiểm soát hệ thống từ xa thông qua các “lỗ hổng” mà không cần có sự “giúp
sức” nào từ người dùng. Tuy nhiên, cũng có những trường hợp ngoại lệ như sâu
Happy99, Melissa, LoveLetter, Nimda...
1.2.2 Lịch sử

Thực tế, khái niệm sâu máy tính lần đầu tiên được nhắc tới vào năm 1975
trong cuốn tiểu thuyết John Brunner, The Shockwave Rider. Trong cuốn tiểu thuyết
này, tác giả Nicholas Haflinger đã mô tả thiết kế và đặt ra một sâu có chức năng thu
thập dữ liệu trong một hành động trả thù chống lại những người đàn ông quyền thế,
những người mà vận hành một trang web thông tin điện tử quốc gia. “Bạn có sâu
lớn nhất tàng hình ở trên mạng, và nó sẽ tự động phá hoại mọi nỗ lực để thu thập,
giám sát nó.”
Vào ngày 02 tháng 11 năm 1988, Robert Tappan Morris, ở trường đại học
khoa học máy tính Cornell đã tung ra con sâu đầu tiên và được gọi là sâu Morris.
Nó đã thâm nhập lây lan trên một số lượng lớn các máy tính sau đó trên Internet,
đoán vào thời điểm đó là một phần mười tất cả những kết nối. Khi Morris bị kiện ra
tòa án, tòa án phúc thẩm chính phủ Hoa Kỳ ước tính chi phí của việc loại bỏ sâu này
khoảng 200-53000$ cho mỗi lần cài đặt và làm sạch trên mỗi máy tính. Điều này đã
thúc đẩy sự hình thành và ra đời của Trung tâm điều phối CERT để phục vụ trong


16

các trường hợp khẩn cấp. Morris trở thành người đầu tiên bị kết án theo luật Lạm
dụng và gian lận máy tính 1986.
Cũng như công nghệ thông tin ngày nay sâu phát triển với tộc độ chóng mặt,
cùng với các kỹ thuật tiên tiến và công nghệ hiện đại sâu đã có những bước phát
triển vượt bậc. Sau đây là một cách nhìn về quá trình phát triển của sâu gồm 4 giai
đoạn sau:
-

Thế hệ thứ nhất : (năm 1979 đến đầu những năm 1990).

-


Thế hệ thứ hai: (đầu những năm 1990 đến 1998

-

Thế hệ thứ ba: (từ 1999 đến 2000)

-

Thế hệ thứ tư: (từ 2001 đến nay)

1.2.3 Phân loại

 Email – Worm (sâu email): Sâu email lây nhiễm qua đường email. Một
thông điệp chứa sâu hoặc liên kết chứa sâu được gắn vào trong email sẽ đi
theo thông điệp được gửi đi. Khi người dùng nhận file và mở ra thì sâu bắt
đầu có điều kiện phát tán. Sau đó, sâu tiếp tục sao chép bản thân nó sang các
email khác.

 IM – Worm (sâu IM): Những sâu này nhân bản thông qua các chương trình
trao đổi thông điệp tại các máy trạm, như các chương trình chat ICQ, MSN
Messenger, AOL, Yahoo, Skype, … Thường thì các sâu này dùng danh sách
trong chính chương trình của nạn nhân để gửi các thư chứa các liên kết đến
các trang web không mong muốn. Khi người dùng download hoặc mở file,
sâu sẽ được kích hoạt. Sâu IM có khả năng “mở cửa sau”, tức là sau khi
nhiễm vào máy tính nó sẽ tự động liên lạc đến trung tâm điều khiển từ xa của
hacker để nhận lệnh thực hiện các hành động. Nó còn tự động tải về thêm
nhiều chương trình mã độc khác mà người sử dụng vẫn không hay biết.

 IRC – Worm (sâu IRC): Sâu này xâm nhập vào máy tính thông qua các
chương trình chat trung gian nằm ở các máy trạm. Các máy này thường giao

tiếp với những người dùng khác thông qua Internet ngay tại thời điểm đó.


17

Loại sâu này nhân bản dựa trên môi trường Internet, khi người dùng
download hoặc mở file, sâu sẽ được kích hoạt.

 Net – Worm (sâu mạng): Sâu mạng nhân bản thông qua mạng máy tính, nó
không giống với các loại sâu thông thường, nó có khả năng tự lây lan mà
không cần lợi dụng thông qua người dùng. Nó dò tìm các máy tính trong hệ
thống mạng nội bộ và khai thác các chương trình trên các máy tính có nhiều
lỗ hổng. Để làm điều này, nó phát tán một gói đặc biệt có chứa mã của chính
nó hay các mã cho mỗi máy tính. Nếu phát hiện ra các máy tính không phòng
bị trong mạng, nó sẽ lây lan sang, một khi sâu đã vào máy tính, nó sẽ được
kích hoạt.

 P2P – Worm (sâu trao đổi file): Sâu trao đổi file lây lan trong mạng ngang hàng
(peer – to – peer) như Kazaa, Grokster, Edonkey, FastTrack hoặc Gnutella. Sâu
loại này tự sao chép nó vào trong các thư mục chứa file và theo con đường trao
đổi file mà lan ra. Nó có cơ chế riêng để dò tìm các yêu cầu trong mạng và cho
phép tải bản sao chép nó về. Biến tướng của sâu này trở nên phức tạp khi lan ra
trong mạng.

 Các loại sâu khác: Sâu lây qua môi trường mạng khai thác các chức năng của
hệ điều hành, khi nó xâm nhập vào được các thư mục chung của mạng, là thư
mục chia sẻ dữ liệu của nhóm người dùng hoặc công ty, sâu này sẽ kết nối
đến các máy trạm. Không giống như sâu mạng, người dùng khi mở file chứa
sâu này vô tình sẽ kích hoạt nó. Sâu dùng các phương pháp khác nhân bản và
có nhiều loại khác nhau, như sâu lây lan qua điện thoại.

1.2.4 Cách thức làm việc của sâu
Yếu tố ban đầu của Worm là một đoạn mã độc hại có vai trò như một công
cụ xâm nhập các lỗ hổng bảo mật nằm trên máy tính và khai thác chúng. Worm sẽ
được truyền đi thông qua lỗ hổng này. Một khi các đoạn mã độc hại đã được lây
nhiễm vào máy, Worm sẽ sử dụng một công cụ được thiết kế để dò tìm, phát hiện


×