You are on page 1of 72

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ


¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU VÀ PHÁT TRIỂN HỆ THỐNG BOTNET


TRACKING THEO DÕI VÀ GIÁM SÁT CÁC MẠNG
BOTNET
Ngành: An toàn thông tin
Mã số: 7.48.02.02
Sinh viên thực hiện:
Nguyễn Thị Nhật Lệ
Lớp: AT11B
Người hướng dẫn:
ThS. Cao Minh Tuấn
Khoa An toàn thông tin – Học viện Kỹ thuật mật mã

Hà Nội, 2019
BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ


¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU VÀ PHÁT TRIỂN HỆ THỐNG BOTNET


TRACKING THEO DÕI VÀ GIÁM SÁT CÁC MẠNG
BOTNET
Ngành: An toàn thông tin
Mã số: 7.48.02.02
Sinh viên thực hiện:
Nguyễn Thị Nhật Lệ
Lớp: AT11B
Người hướng dẫn:
ThS. Cao Minh Tuấn
Khoa An toàn thông tin – Học viện Kỹ thuật mật mã

Hà Nội, 2019
MỤC LỤC

i
ii
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT

API Application Programming Interface


CD Compact Disc
C&C Command & Control
DoS Denial of Service
DDoS Distributed Denial of Service
DNS Domain Name System
FTP File Transfer Protocol
HĐH Hệ Điều Hành
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IDS Intrusion Detection System
IoT Internet of Things
IP Internet Protocol
ISP Internet Service Provider
IRC Internet Relay Chat
NIST National Institute of Standards and Technology
PC Personal Computer
P2P Peer-to-Peer
RAT Remote Administration Tools
SYN The Synchronous Idle Character
TCP Transmission Control Protocol
UDP User Datagram Protoco
URL Uniform Resource Locator

iii
DANH MỤC HÌNH VẼ

iv
DANH MỤC BẢNG

v
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới trường Học
Viện Kỹ Thuật Mật Mã, các cán bộ phòng ban cùng toàn thể thầy, cô trong học viện
đã nhiệt tình giảng dạy, truyền đạt kiến thức quý báu trong quá trình học tập tại
trường cũng như tạo điều kiện tốt nhất cho em được thực hiện đồ án tốt nghiệp này.
Đặc biệt, em xin gửi lời cảm ơn đến ThS.Cao Minh Tuấn, giảng viên Khoa
An Toàn Thông Tin – Học Viện Kỹ Thuật Mật Mã, đã cho em những định hướng
cơ bản, đã tận tình giúp đỡ, trực tiếp chỉ bảo em trong suốt thời gian thực hiện đồ án
này. Trong thời gian làm việc với thầy, em không chỉ tiếp thu được những kiến thức
bổ ích mà còn học được thái độ làm việc nghiêm túc nhưng đầy hiệu quả, làm nền
tảng cho những bước đi trong quá trình học tập lẫn công việc sau này.
Kết quả đồ án là tâm huyết cũng như sự cố gắng của em trong vòng 3 tháng
qua, tuy nhiên do hạn chế về mặt thời gian cũng như kiến thức, đồ án không tránh
khỏi những thiếu sót cả về hình thức lẫn nội dung. Em kính mong nhận được sự
thông cảm và góp ý đến từ Quý Thầy Cô và các bạn.
Em xin chân thành cảm ơn!
Hà Nội, ngày 20 tháng 05 năm 2019
Sinh viên thực hiện

Nguyễn Thị Nhật Lệ

vi
LỜI MỞ ĐẦU
Môi trường Internet đã và đang là nơi “hoành hành” của vô vàn những hiểm
hoạ đối với cộng đồng người dùng. Các chương trình độc hại như spyware, adware,
trojan, các virus hay sâu máy tính và nguy hiểm không kém là Botnet. Các mối đe
dọa này sử dụng môi trường internet để lây lan, cập nhật bản thân liên tục để “thích
nghi” với môi trường đang trú ẩn và gửi các dữ liệu đã đánh cắp được đến chủ nhân
là những tên tội phạm mạng. Mọi hoạt động của chúng đều ẩn danh trên máy tính và
người dùng khó có thể phát hiện ra. Mạng máy tính ma Botnet cũng vậy, chúng tấn
công từ chối dịch vụ vào web site của các tổ chức, phát tán thư rác với số lượng lớn,
thu thập thông tin cá nhân về người dùng…và người dùng thì không hề biết sự có
mặt của loại mã độc này trên mạng máy tính của mình.
Theo thống kê cho thấy, năm 2018, Trung tâm Giám sát an toàn không gian
mạng quốc gia đã ghi nhận 4.181.773 địa chỉ IP Việt Nam nằm trong các mạng máy
tính ma (Botnet), tuy nhiên đã giảm 296.024 địa chỉ IP so với năm 2017, tương
đương 6%. Trung tâm Ứng cứu sự cố máy tính Việt Nam - VNCERT, Bộ TT&TT
cũng cho biết thêm, Việt Nam xếp thứ 3 trong Top 10 quốc gia bị kiểm soát bởi
mạng Botnet (mạng máy tính ma), chỉ xếp sau Ấn Độ và Trung Quốc. Số lượng lớn
các máy tính ma này không chỉ kéo theo hậu quả mất mát thông tin mà còn gây thiệt
hại về tài sản cũng như thời gian để xử lý chúng. Các chuyên gia về an ninh mạng
đã đưa ra những bước cơ bản giúp người sử dụng giảm nguy cơ khiến máy tính của
họ trở thành những con bot như ngăn chặn virus máy tính, giám sát luồng thông tin
trong mạng và các cổng thông tin của máy tính. Tuy nhiên đây cũng chỉ là biện pháp
tạm thời trước mắt chưa mang lại nhiều hiệu quả như mong đợi. Do đó, việc xây
dựng một hệ thống Botnet Tracking theo dõi giám sát các mạng Botnet là việc làm
vô cùng cấp thiết. Đây cũng chính là lí do em chọn chủ đề này làm đề tài đồ án tốt
nghiệp.

vii
viii
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC HẠI

1.1 Khái niệm mã độc hại


Malware (Malicious software) hay còn gọi là mã độc hại (Malicious code) là
tên gọi chung cho các phần mềm được thiết kế, lập trình đặc biệt và cài 1 cách bí
mật vào hệ thống nhằm phá hoại gây hại cho máy tính hoặc làm gián đoạn môi
trường hoạt động mạng.
Hầu hết chúng ta đều gọi các loại Malware bằng một cái tên chung là “virus”,
nhưng không hoàn toàn chính xác. Rất nhiều người sử dụng từ “virus” khi nói đến
bất kỳ loại phần mềm độc hại nào, nhưng thực tế virus chỉ là một loại malware. Phần
mềm độc hại bao gồm rất nhiều loại khác nhau, nhưng ở đây chỉ liệt kê một số loại
phổ biến mà chúng ta hay gặp nhất.
1.2 Phân loại mã độc hại
Theo NIST, mã độc hại được phân loại như sau:
Phân loại Ví dụ
Mã độc hại Virus Compiled Virus Michelangel, Stoned,
(Malware) Jerusalem
Interpreted Virus Melisa
Worm Network Service Sasser
Worm
Mass Mailing Netsky, Mydoom
Worm
Trojan Horse Perfect Keylogger
Maliciuos Nimda
Mobile Code
Tracking Cookie
Attacker Tool Backdoor Trino, Tribe Flood,
Network
Keylogger KeySnatch, Spyster

1
Rootkit LRK5, Knark,
Adone, Hack
Defender
Web Browser
Plug-in
Email Generator

1.2.1 Virus
Virus là một loại mã độc hại (Maliciuos code) có khả năng tự nhân bản và lây
nhiễm chính nó vào các file, chương trình hoặc máy tính. Như vậy, theo cách định
nghĩa này virus máy tính phải luôn luôn bám vào một vật chủ (đó là file dữ liệu hoặc
file ứng dụng) để lây lan. Các chương trình diệt virus dựa vào đặc tính này để thực
thi việc phòng chống và diệt virus, để quét các file trên thiết bị lưu, quét các file
trước khi lưu xuống ổ cứng, ... Điều này cũng giải thích vì sao đôi khi các phần mềm
diệt virus tại PC đưa ra thông báo “phát hiện ra virus nhưng không diệt được” khi
thấy có dấu hiệu hoạt động của virus trên PC, bởi vì “vật mang virus” lại nằm ở máy
khác nên không thể thực thi việc xoá đoạn mã độc hại đó.
Virus gồm 2 loại:
- Compiled Virus: là virus mà mã thực thi của nó đã được dịch hoàn chỉnh bởi
một trình biên dịch để nó có thể thực thi trực tiếp từ hệ điều hành.Ví dụ: Các
loại boot virus như (Michelangelo và Stoned), file virus (như Jerusalem) rất phổ
biến trong những năm 80 là virus thuộc nhóm này, compiled virus cũng có thể là
pha trộn bởi cả boot virus và file virus trong cùng một phiên bản.
- Interpreted Virus: là một tổ hợp của mã nguồn mã chỉ thực thi được dưới sự
hỗ trợ của một ứng dụng cụ thể hoặc một dịch vụ cụ thể trong hệ thống. Virus
kiểu này chỉ là một tập lệnh, cho đến khi ứng dụng gọi thì nó mới được thực thi.
Ví dụ: Macro virus, scripting virus.
1.2.2 Worm
Worm giống với virus, cũng là một chương trình có khả năng tự nhân bản và
tự lây nhiễm trong hệ thống tuy nhiên nó có khả năng “tự đóng gói”, điều đó có
nghĩa là worm không cần phải có “file chủ” để mang nó khi nhiễm vào hệ thống.

2
Như vậy, có thể thấy rằng chỉ dùng các chương trình quét file sẽ không diệt được
worm trong hệ thống vì worm không “bám” vào một file hoặc một vùng nào đó trên
đĩa cứng. Mục tiêu của worm bao gồm cả làm lãng phí băng thông của mạng và phá
hoại hệ thống như xoá file, tạo backdoor, thả keylogger,... Tấn công của worm có
đặc trưng là lan rộng cực kỳ nhanh chóng do không cần tác động của con người (như
khởi động máy, copy file hay đóng/mở file).
Worm có thể chia làm 2 loại:
- Network Service Worm lan truyền bằng cách lợi dụng các lỗ hổng bảo
mật của mạng, của hệ điều hành hoặc của ứng dụng. Sasser là ví dụ cho
loại sâu này.
- Mass Mailing Worm là một dạng tấn công qua dịch vụ mail, tuy nhiên nó
tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật chủ là email.
Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm sổ đị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 toàn bộ các địa chỉ thường gây quá tải cho mạng hoặc cho máy chủ
mail. Netsky, Mydoom là ví dụ cho thể loại này.

1.2.3 Trojan Horse


Trojan Horse là loại mã độc hại được đặt theo sự tích “Ngựa thành Troa”.
Trojan horse không tự nhân bản tuy nhiên nó lây vào hệ thống với biểu hiện rất ôn
hoà nhưng thực chất bên trong có ẩn chứa các đoạn mã với mục đích gây hại.
Trojan có thể lựa chọn một trong 3 phương thức để gây hại:
- Tiếp tục thực thi các chức năng của chương trình mà nó bám vào, bên cạnh
đó thực thi các hoạt động gây hại một cách riêng biệt (ví dụ như gửi một
trò chơi dụ cho người dùng sử dụng, bên cạnh đó là một chương trình đánh
cắp password)
- Tiếp tục thực thi các chức năng của chương trình mà nó bám vào, nhưng
sửa đổi một số chức năng để gây tổn hại (ví dụ như một trojan giả lập một
cửa sổ login để lấy password) hoặc che dấu các hành động phá hoại khac
(ví dụ như trojan che dấu cho các tiến trình độc hại khác bằng cách tắt các
hiển thị của hệ thống)

3
- Thực thi luôn một chương trình gây hại bằng cách núp dưới danh một
chương trình không có hại (ví dụ như một trojan được giới thiệu như là
một chò chơi hoặc một tool trên mạng, người dùng chỉ cần kích hoạt file
này là lập tức dữ liệu trên PC sẽ bị xoá hết).

1.2.4 Malicious Mobile Code


Là một dạng mã phần mềm có thể được gửi từ xa vào để chạy trên một hệ
thống mà không cần đến lời gọi thực hiện của người dùng hệ thống đó. Malicious
Mobile Code được coi là khác với virus, worm ở đặc tính là nó không nhiễm vào file
và không tìm cách tự phát tán. Thay vì khai thác một điểm yếu bảo mật xác định nào
đó, kiểu tấn công này thường tác động đến hệ thống bằng cách tận dụng các quyền
ưu tiên ngầm định để chạy mã từ xa. Các công cụ lập trình như Java, ActiveX,
JavaScript, VBScript là môi trường tốt cho malicious mobile code. Một trong những
ví dụ nổi tiếng của kiểu tấn công này là Nimda, sử dụng JavaScript.

1.2.5 Tracking Cookie


Là một dạng lạm dụng cookie để theo dõi 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. Cookie là một file dữ liệu chứa thông tin về
việc sử dụng một trang web cụ thể nào đó của web-client. Mục tiêu của việc duy trì
các cookie trong hệ thống máy tính nhằm căn cứ vào đó để tạo ra giao diện, hành vi
của trang web sao cho thích hợp và tương ứng với từng web-client. Tuy nhiên tính
năng này lại bị lạm dụng để tạo thành các phần mềm gián điệp (spyware) nhằm thu
thập thông tin riêng tư về hành vi duyệt web của cá nhân.

1.2.6 Attacker Tools


Là những bộ công cụ tấn công có thể sử dụng để đẩy các phần mềm độc hại
vào trong hệ thống. Các công cụ này có khả năng giúp cho kẻ tấn công có thể truy
cập bất hợp pháp vào hệ thống hoặc làm cho hệ thống bị lây nhiễm mã độc hại. Khi
được tải vào trong hệ thống bằng các đoạn mã độc hại, attacker tool có thể chính là
một phần của đoạn mã độc đó (ví dụ như trong một trojan) hoặc nó sẽ được tải vào
hệ thống sau khi nhiễm. Ví dụ như một hệ thống đã bị nhiễm một loại worm, worm

4
này có thể điều khiển hệ thống tự động kết nối đến một web-site nào đó, tải attacker
tool từ site đó và cài đặt attacker tool vào hệ thống.
a. Backdoor
Backdoor, gọi đầy đủ là crypto backdoor có nghĩa là "cửa hậu" hay lối vào
phía sau. Trong một hệ thống máy tính, "cửa hậu" tức là một phương pháp vượt qua
thủ tục chứng thực người dùng thông thường hoặc để giữ đường truy nhập từ xa tới
một máy tính, cố gắng không bị phát hiện bởi việc giám sát thông thường.
Nhiệm vụ chính của backdoor là:
- Lấy thông tin người dùng đang sử dụng phần mềm.
- Sau đó thực hiện hành động nào đó, ví dụ gửi các thông tin này lưu trữ lên
server, hay còn được biết đến là đánh cắp thông tin người sử dụng phần
mềm.
Như vậy có thể thấy thực chất backdoor chính là việc trao đổi dữ liệu giữa người
dùng phần mềm và server. Backdoor thường được tích hợp vào nhân của phần mềm
với nhiều mục đích khác nhau, do đó có mục đích tốt và xấu
Dựa vào mục đích, Backdoor chia thành 2 loại chính sau:
Backdoor với mục đích tốt (Backdoor có lợi)
Với mục đích tốt thì backdoor lại được coi là một tính năng. Ví dụ gần gũi
nhất đó là khi bạn đang sử dụng phần mềm anti-virus, bạn sẽ nhận thông báo nhắc
update khi phiên bản phần mềm của bạn đã lỗi thời, vậy vì sao bạn nhận được thông
báo này?
Thực tế phần mềm virus đó luôn có một chương trình gián điệp, nó sẽ chuyển
thông tin hiện tại của phần mềm lên server, sau đó so sánh xem phiên bản phần mềm
đó có cần update lên bản mới nhất hay không, nếu có thì người dùng sẽ nhận được
thông báo.
Không những được áp dụng vào việc kiểm update phần mềm mà backdoor
còn được dùng trong việc xử lý bản quyền. Sẽ có một chức năng tự động kiểm tra
xem người dùng có đang dùng sản phẩm có bản quyền hay không, và đương nhiên
để kiểm tra thì bắt buộc phải gửi request lên server.
Một số website sẽ được tích hợp backdoor với mục đích quản lý mã nguồn.
Mỗi khách hàng sẽ được thiết lập cấu hình chỉ dùng riêng cho khách hàng đó, nếu
5
source bị dùng cho domain khác, ngay lập tức backdoor sẽ gửi thông tin lên server
hoặc thưc hiện hành động thông báo nào đó.
Backdoor với mục đích xấu (Backdoor có hại)
Loại backdoor này được hacker cài đặt trên máy tính của nạn nhân để chiếm
quyền điều khiển hoặc xâm nhập một cách dễ dàng. Backdoor có thể xóa tất cả những
dấu vết và chứng cứ mà hacker để lại khi xâm nhập trái phép vào hệ thống. Tinh vi
hơn nữa, đôi khi backdoor tự nhân bản hay che dấu để có thể tự duy trì, điều này cho
phép các hacker vẫn truy cập được vào hệ thống máy tính ngay cả khi chúng bị phát
hiện.
Kỹ thuật mà backdoor có hại thường thực hiện đó là thêm một dịch vụ mới
trên Windows, dịch vụ càng khó nhận dạng thì hiệu quả càng cao. Vì vậy, tên của
các dịch vụ này thường được đặt giống với tên của dịch vụ hệ thống, tinh tế hơn, các
hacker sẽ tìm tên tiến trình hệ thống không hoạt động (hay tắt những tiến trình này
đi), sau đó dùng tên này đặt cho các backdoor. Bằng cách thực hiện điều này, hacker
thậm chí qua mặt được cả những chuyên gia hệ thống giàu kinh nghiệm.
Ví dụ điểm hình cho loại backdoor này đó là Remote Administration Trojan
(RAT), RAT cho phép các hacker kiểm soát những máy tính đã bị chiếm quyền điều
khiển. Những chức năng hacker sẽ xâm phạm đó là: xem và quản lý toàn bộ desktop,
thực thi các tập tin, tương tác vào registry hay thậm chí tạo ra các dịch vụ hệ thống
khác. Không giống như các backdoor thông thường, RAT neo chúng vào hệ điều
hành của nạn nhân, rất khó bị xóa đi. Tồn tại hai thành phần trong mô hình hoạt động
của backdoor này là: client (ứng dụng mà các hacker dùng để điều khiển server) và
server (tập tin sẽ được cài vào máy tính bị lây nhiễm).
Backdoor cũng có thể được xem xét dưới 2 dạng: Zoombie và Remote
Administration Tool
- Zoombie: (có thể đôi lúc gọi là bot) là một chương trình được 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. Trinoo và Tribe Flood Network là hai Zoombie nổi
tiếng.
6
- 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. Tuy nhiên hacker cũng có thể lợi dụng
tính năng này để xâm hại hệ thống. Tấn công kiểu này có thể bao gồm hành
động 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 của hệ thống. Ví dụ về công cụ RAT là: Back Orifice, SubSeven,…
b. Keylogger
Keylogger thường là một phần mềm nhỏ gọn – hoặc đôi lúc nguy hiểm hơn
thậm chí là một thiết bị phần cứng – với khả năng ghi lại mọi phím bấm mà người
dùng đã nhấn trên bàn phím. Tổng hợp kết quả của các tổ hợp phím này, kẻ cài đặt
keylogger có thể thu được tin nhắn cá nhân, nội dung email, số thẻ tín dụng và dĩ
nhiên nguy hiểm nhất là mọi loại mật khẩu của người dùng.
Keylogger được sử dụng trong các tổ chức Công nghệ Thông tin (IT) để khắc
phục sự cố kỹ thuật với máy tính và mạng lưới kinh doanh. Keylogger cũng có thể
được sử dụng bởi một gia đình (hoặc doanh nghiệp) để âm thầm theo dõi việc sử
dụng mạng của các thành viên; đôi khi chúng được sử dụng như một phần của tính
năng giám sát trẻ em.
Cuối cùng và cũng là mục đích nguy hiểm nhất của keylogger chính là
các hacker, người có mưu đồ đen tối có thể cài keylogger trên các máy tính để ăn
cắp mật khẩu, thông tin cá nhân, bí mật hoặc thông tin thẻ tín dụng.
Tùy từng loại keylogger và mục đích của người tạo ra nó mà nó có những khả năng
khác nhau, nhưng khi được gắn trên thiết bị, nó thường có thể thực hiện các thao tác
sau:
- Ghi lại bất kỳ mật khẩu nào được người dùng nhập trên thiết bị.

- Chụp ảnh màn hình của thiết bị theo chu kỳ nhất định.

- Khi lại các URL mà người dùng đã vào bằng trình duyệt, thậm chí chụp

ảnh các trang web người dùng đã xem.


- Ghi lại danh sách các ứng dụng người dùng chạy trên thiết bị.

- Chụp bản ghi của tất cả tin nhắn tức thời (Zalo, Facebook Messenger,

Skype, Viber,...)
- Chụp bản sao email đã gửi

7
- Tự động gửi báo cáo chứa các bản ghi được lưu trữ và gửi email đến một
địa điểm từ xa thông qua email, FTP, HTTP.
Hầu hết các keylogger không chỉ ghi lại những thao tác bàn phím của người
dùng mà còn có thể chụp màn hình máy tính. Keylogger có thể lưu trữ dữ liệu mà
nó thu thập được ngay trên ổ cứng của người dùng hoặc tự động truyền dữ liệu qua
mạng tới máy tính từ xa hoặc Web Server.
c. Rootkit
Rootkit là phần mềm hoặc bộ công cụ phần mềm che giấu sự tồn tại của một
phần mềm khác mà thường là virus xâm nhập vào hệ thống máy tính. Rootkit thường
được hacker dùng sau khi chiếm được quyền truy cập vào hệ thống máy tính. Nó sẽ
che dấu dữ liệu hệ thống, tập tin hoặc tiến trình đang chạy, từ đó hacker có thể vào
hệ thống máy tính mà không thể biết được. Một máy tính bị cài rootkit được gọi là
bị “chiếm quyền root”. Thuật ngữ “rootkit” lúc đầu được dùng cho hệ thống dùng
bộ công cụ Unix, nó có thể che dấu kỹ lưỡng vết tích của kẻ xâm nhập cho dùng đã
dùng các lệnh “ps”, “netstat”, “w” and “passwd” để kiểm tra, vì vậy nó cho phép kẻ
xâm nhập duy trì quyền “root” trên hệ thống, thậm chí người quản trị hệ thống cũng
không thể thấy họ. Ngày nay thuật ngữ này còn được dùng cho Microsoft Windows
khi xuất hiện các công cụ tương tự.
Đặc điểm chính của rootkit là có khả năng che dấu nên nếu dùng các chương
trình từ hệ thống như: “Registry Editor”, “Find Files”, “Task Manager” thì không
thể phát hiện. Thậm chí dù có phát hiện ra rootkit đi nữa thì xóa được nó cũng không
hề đơn giản chút nào. Không thể sử dụng các công cụ bình thường mà phải dùng các
chương trình anti rootkit đặc biệt. Rootkit thường hoạt động ở 2 mức là mức ứng
dụng (User–mode) và mức nhân hệ điều hành (Kernel–mode) nên phát hiện được
chúng vô cùng khó khăn.
Rootkit thường được dùng để che dấu các công cụ tạo các “cửa sau” giúp
hacker truy cập vào hệ thống dễ dàng hơn ở lần sau. Rootkit nhân cũng có thể có
chức năng tương tự khi tạo ra các cửa sau. Chúng cho phép các tiến trình từ người
dùng thông thường thi hành các chức năng cho root. Nó che dấu mọi loại công cụ
khác có thể dùng để xâm phạm hệ thống. Người quản lý hệ thống khi bị thâm nhập
vẫn không hề hay biết hay hậu quả có thể mang lại cho chủ sơ hữu các thông tin, dữ
8
liệu là vô cùng lớn, thậm chí trong thời gian dài. Một trong những cách tốt nhất để
tránh bị nhiễm Rootkit chính là thuê máy chủ ảo để lưu trữ từ những nhà cung cấp
dịch vụ chuyên nghiệp để chạy các chương trình cũng như lưu trữ dữ liệu quan trọng.
Ví dụ về rootkit là: LRK5, Knark, Adore, Hack Defender.
d. Web Browser Plug-in
Đây là phương thức cài mã độc hại thực thi cùng với trình duyệt web. Khi
được cài đặt, kiểu mã độc hại này sẽ theo dõi tất cả các hành vi duyệt web của người
dùng (ví dụ như tên web site đã truy nhập) sau đó gửi thông tin ra ngoài. Một dạng
khác là phần mềm gián điệp có chức năng quay số điện thoại tự động, nó sẽ tự động
kích hoạt modem và kết nối đến một số điện thoại ngầm định mặc dù không được
phép của chủ nhân.
e. Email Generator
Là những chương trình cho phép tạo ra và gửi đi một số lượng lớn các email.
Mã độc hại có thể gieo rắc các email generator vào trong hệ thống. Các chương trình
gián điệp, spam, mã độc hại có thể được đính kèm vào các email được sinh là từ
email generator và gửi tới các địa chỉ có trong sổ địa chỉ của máy bị nhiễm.
1.3 Kết luận chương 1
Chương này đã mở đầu đồ án với những kiến thức tổng quan nhất về Malware,
hay còn gọi là phần mềm độc hại. Qua đó, chúng ta thấy được Malware đã thay đổi
nhiều theo thời gian. Những phiên bản malware đầu tiên chỉ được phát triển cho mục
đích nghiên cứu, bảo trì hệ thống nhiều hơn là có chủ đích gây hại cụ thể. Mọi thứ
đã đổi khác và những kẻ xấu tìm cách phát triển malware cho một mục đích đặc biệt
như kiếm tiền hay thu thập thông tin quan trọng. Từ đó mà xuất hiện rất nhiều loại
Malware khác nhau, điển hình là virus, worm, trojan, backdoor, keylogger…Với
những gì trình bày ở trên, chúng ta hoàn toàn có thể khằng định rằng: Mạng Botnet
ngày nay cũng là một loại Malware, và cụ thể hơn thì đó là một dạng của “cửa hậu”
Backdoor, kẻ tấn công có thể thu thập thông tin từ máy nạn nhân hoặc điều khiển
các hoạt đông ở máy nạn nhân như thực hiện các cuộc tấn công DDoS, Spam,
Keylogger… Để hiểu chi tiết hơn về mạng Botnet này, chúng ta sẽ cùng xem xét
trong chương tiếp theo

9
CHƯƠNG 2: TỔNG QUAN VỀ MẠNG BOTNET
2.1 Khái niệm Botnet
Nhắc đến Botnet, không có một khái niệm nào được coi là đúng nhất. Tìm
kiếm trên các trang mạng hay sách báo, có thể trả về hàng trăm kết quả. Do đó, để
phù hợp với mục đích đề tài, đồ án này đưa ra khái niệm Botnet như sau:
Theo McAfee, Botnet (tên đầy đủ là “Bots network”) dùng để chỉ một mạng
lưới các máy tính bị chi phối và bị điều khiển từ xa bởi một máy tính khác để cùng
thực hiện một nhiệm vụ nào đó. Botnet là một phần mềm độc hại, đa phần các máy
tính đều bị nhiễm bởi một Bot nào đó mà chúng ta không thể nào phát hiện được.
Mô hình cơ bản của 1 mạng Botnet được thể hiện trong hình ảnh 1.1 dưới đây:

Hình 2.1 Mô hình cơ bản của mạng Botnet


Một hệ thống Botnet có từ 1000 đến vài chục nghìn con máy tính. Các máy
tính đang bị nhiễm Botnet nôm na đều gọi là các “Zombie”. Máy tính bị nhiễm sẽ bị
chi phối bởi một Botmaster hay Bot Helder ở trên và điều khiển mọi hoạt động của
máy tính đang dính mã độc làm cản trở hoạt động, gián đoạn gây mất nhiều thời
gian, giảm năng suất công việc của người dùng không qua các lệnh điều khiển tại
Command & Control Server”

2.2 Lịch sử phát triển Botnet


Lịch sử Botnet gắn liền với sự xuất hiện của Internet Relay Chat, viết tắt IRC.
Giống như nhiều thứ trên internet ngày nay, Botnet bắt đầu như một công cụ hữu ích
chứ không phải là một phần mềm độc hại. Bot ban đầu được phát triển dưới dạng
“cá nhân ảo” được đặt trong các kênh IRC và làm mọi thứ trong khi chủ sở hữu Bot

10
bận rộn ở một nơi khác. Lịch sử phát triển của Botnet được thể hiện rất rõ trong hình
dưới đây

Hình 2.2 Lịch sử phát triển của Botnet


IRC được phát minh vào tháng 8 năm 1988 bởi Jarkko “WiZ” Oikarinen tại
Đại học Oulu, Phần Lan. Cũng theo đó, Bot IRC ban đầu, được gọi là GM theo
Wikipedia, được phát triển vào năm sau, vào năm 1989, bởi Greg Lindahl, một nhà
điều hành máy chủ IRC. Máy tính bị xâm nhập được gọi là "Bot" và kẻ tấn công
điều khiển Botnet được gọi là "Botmaster". Các bot đầu tiên thực sự là các robot tự
địa diện cho những người dùng IRC như những người dùng khác. Một trong những
đặc điểm nổi bật của Botnet là sử dụng các kênh chỉ huy và điều khiển (C&C). Mục
đích chính của kênh liên lạc này là gửi các lệnh botmaster đến Botnet.
Sự phát triển của Botnet bắt đầu vào tháng 5 năm 1999, Pretty Park (worm)
được viết bằng ngôn ngữ lập trình Delphi bởi John Canavan. Giới thiệu khái niệm
kết nối máy móc với nạn nhân thông qua các kênh IRC để lắng nghe các lệnh độc
hại, Pretty Park có một số chức năng và khái niệm phổ biến được tìm thấy trong các
bot ngày nay, bao gồm:
- Khả năng truy xuất tên máy tính, phiên bản HĐH, thông tin người dùng và
thông tin hệ thống cơ bản khác
- Khả năng tìm kiếm và lấy địa chỉ email và tên đăng nhập.
- Khả năng truy xuất tên người dùng, mật khẩu và cài đặt mạng
- Khả năng cập nhật chức năng của chính nó
- Khả năng tải lên hoặc tải tập tin
- Khả năng điều khiển lưu lượng dữ liệu
- Khả năng khởi chạy các cuộc tấn công DDoS khác nhau

11
SubSeven Trojan / Bot và một số sâu khác như Jobbo đã khai thác các lỗ hổng
ở phía máy khách IRC, đặc biệt là mIRC, khiến nhiều máy khách bị nhiễm backlink
vào cuối năm 1999 được tạo bởi Gregory Hanis. Vào tháng 6 năm 1999, phiên bản
2.1 của Trojan SubSeven đã được phát hành. Bản phát hành này rất quan trọng vì nó
cho phép máy chủ SubSeven được điều khiển từ các bot được kết nối với máy chủ
IRC. SubSeven là một Trojan được điều khiển từ xa, cũng được viết bằng Delphi,
được tác giả của nó gọi là Công cụ quản trị từ xa (RAT). Bot này có khả năng đánh
cắp từ khóa, tạo khóa nhật ký và ẩn danh tính của nó. SubSeven cung cấp cho
botmaster toàn quyền kiểm soát hệ thống bị nhiễm.
Sony, mSg và DeadKode, đã tạo ra một máy khách Botnet có tên là "Global
Threat" (GT) Bot dựa trên các máy khách mIRC vào năm 2000. Microsoft Internet
Relay Chat (mIRC) là gói phần mềm máy khách IRC, mIRC có hai đặc điểm quan
trọng đối với Xây dựng mạng Botnet: chạy các tập lệnh bên trong máy chủ IRC và
hỗ trợ các kết nối Giao thức điều khiển truyền (TCP) và Giao thức gói dữ liệu người
dùng (UDP). GT bot có các khả năng sau:
- Quét cổng: Quét các cổng mở.
- Thực hiện các cuộc tấn công DDoS.
- Nhân bản kết nối đến máy chủ IRC kết thúc và trên kết nối đầu tiên.
Công nghệ Bot dựa trên mIRC có thể nói là thành viên của GT Bot Familly.
Quá trình lan truyền của GT Bot không lan truyền trực tiếp thay vào đó họ sẽ sử
dụng các kỹ thuật kỹ nghệ xã hội. Kỹ nghệ xã hội thường được sử dụng để lây nhiễm
hệ thống là e-mail được cho là đến từ một nhà cung cấp bảo mật. Nếu người dùng
nhấp vào liên kết, họ sẽ được chuyển đến một trang web sẽ gửi Phần mềm độc hại
cho nạn nhân.
Sự xuất hiện của SDBot được biết đến vào năm 2002. Được viết bằng ngôn
ngữ C++ bởi một lập trình viên người Nga có tên là "SD". SDBot có những bước
tiến lớn trong chuỗi bot tiến hóa, nơi mà tác giả của SDBot xuất bản một trang web,
mở và phát hành mã nguồn ra công chúng để nhiều tin tặc có thể truy cập được.
Trong số các tội phạm mạng/ tin tặc, mã nguồn SDBot rất dễ sửa đổi và bảo trì vì nó
chỉ tạo ra các tệp nhỏ dung lượng 40KB. 678.000 PC đã được phát hiện bị nhiễm

12
vào tháng 6 năm 2006 theo Báo cáo về Công cụ loại bỏ phần mềm độc hại của
Microsoft.
Năm 2002, Agobot được tạo bởi Alex G, bằng cách trình bày thiết kế mô-đun
và chức năng quan trọng. Có ba mô-đun có trong Agobot:
- Mô-đun đầu tiên: được phân phối chứa các máy khách bot IRC và cửa hậu
truy cập từ xa.
- Mô-đun thứ hai: tấn công và tiêu diệt quá trình chống vi-rút.
- Mô-đun thứ ba: ngăn nạn nhân truy cập các trang web, thường là các trang
web của nhà cung cấp chống vi-rút
Hoạt động của mô-đun Agobot là lấy mô-đun tiếp theo khi mô-đun trước đó
đã hoàn thành nhiệm vụ chính của nó. Agobot sử dụng IRC cho C & C, Agobot cũng
có thể mở truy cập backlink từ xa để cho phép mỗi khách hàng được truy cập trực
tiếp bởi bọn tội phạm mạng. Agobot có các khả năng sau: (P2P) các ứng dụng chia
sẻ tệp như Kazaa, Grokster và Bear Share:
- Quét các lỗ hổng
- Khởi chạy các cuộc tấn công DDoS khác nhau
- Tìm kiếm các key đĩa (CD) nhỏ gọn trong các trò chơi của khách hàng
- Dừng quá trình giám sát và chống vi-rút.
- Thay đổi tệp máy chủ để ngăn truy cập vào trang web chống vi-rút
- Ẩn bằng cách sử dụng công nghệ rootkit
Spybot xuất hiện vào năm 2003, với mã nguồn mở là một dẫn xuất của SDBot.
Spybot dễ dàng tùy chỉnh và thêm các khả năng của phần mềm gián điệp như: thu
thập nhật ký sự kiện, dữ liệu từ biểu mẫu web, danh sách địa chỉ email và danh sách
các URL đã truy cập. Spybot có các khả năng sau:
1) Sử dụng quét Cổng để tìm kiếm các cổng mở
2) Khởi chạy các cuộc tấn công DDoS như UDP và SYN Flooding
3) Sử dụng kỹ thuật xã hội để thu hút người dùng P2P tải xuống các mô-đun
Spybot
4) Lừa dối người dùng bằng cách cài đặt thông báo lỗi giả sau khi người dùng
chạy mô-đun lây nhiễm

13
Năm 2003, RBot lần đầu tiên xuất hiện với 1,9 triệu PC bị nhiễm. RBot quét
hệ thống trên các cổng 139 và 445 trên chia sẻ của Microsoft và cố gắng đoán mật
khẩu yếu từ quản trị viên.
Vào tháng 3 năm 2004, Polybot xuất hiện từ cơ sở mã Agobot. Nó được đặt
tên là "metamorphism - biến thái" vì khả năng thực hiện dưới nhiều hình thức khác
nhau. Polybot thay đổi mã trên mỗi lần lây nhiễm bằng cách gói mã được biên dịch
trong kỹ thuật "envelope - phong bì" và mã hóa lại toàn bộ tệp mỗi lần chạy. Mặc
dù che giấu thành công danh tính của nó, bot nhị phân vẫn có thể được phát hiện
trong khi thực thi do phương pháp phát hiện dựa trên bộ nhớ của nó.
Vào năm 2006, được tạo ra bởi Vgeniy Mikhailovich Bogchev hay còn gọi là
Slasta, ZeuS nổi lên là Botnet nổi tiếng nhất của tội phạm mạng trên toàn thế giới và
được thiết kế để đánh cắp thông tin tài khoản ngân hàng hoặc thông tin quan trọng
và các nhiệm vụ khác. ZeuS có khả năng đến từ Nga hoặc Đông Âu, còn được gọi
là ZBot, PRG, Wsnpoem, Gorhax và Kneber. ZeuS nhắm vào hệ điều hành
Microsoft Windows với mục đích chính là đánh cắp thông tin đăng nhập trực tuyến.
Điều này được thực hiện bằng các kỹ thuật như đăng nhập tổ hợp phím, chụp màn
hình hoặc các phương pháp như tiêm HTML vào các trang web và khai thác các lỗ
hổng phía trình duyệt. ZeuS thu thập thông tin hệ thống khác nhau cùng với mật
khẩu và chứng chỉ mã hóa và gửi nó đến máy chủ chỉ huy và kiểm soát. Máy chủ
cũng có thể gửi các tệp cấu hình đến bot khách để xác định danh sách các hành động
sẽ được thực hiện.
Trên đây là lịch sử phát triển của phần mềm độc hại Botnet. Từ năm 2006 cho
đến nay, liên tục có những phiên bản Botnet mới được tạo ra nhằm các mục đích
khác nhau và có mức độ nguy hiểm khác nhau như:
- Tháng 08/2016, Botnet Mirai bị phát hiện, nó tấn công với lưu lượng
1Tbps vào website công ty hosting OVH, tấn công hủy diệt vào công ty
viễn thông LoneStar của Liberia,… và sau đó, các biến thể của nó liên tục
sản sinh, nhắm đến mục tiêu khai thác Bitcoin, đào tiền ảo, khai thác lỗ
hổng thiết bị…Mirai có băng thông vượt mức 1 Tb/s và có thể đánh sập
những trang như GitHub, Twitter, Reddit, Netflix hay Airbnb.

14
- Năm 2017, phát hiện Botnet Reaper, có tốc độ phát triển chưa từng thấy,
có khả năng đánh sập mạng Internet. Nó nhắm đến hàng triệu thiết bị kết
nối Internet. Reaper hoạt động bằng cách chủ động hack hàng triệu thiết bị
toàn cầu. Wired mô tả sự khác biệt giữa 2 Botnet này là “Mirai tìm kiếm
những cánh cửa đang mở còn Reaper chủ động bẻ khóa”.
2.3 Các giao thức sử dụng trong mạng Botnet
2.3.1 Giao thức IRC
IRC (Internet Relay Chat) là giao thức tầng ứng dụng cho phép nhóm người
trong cùng một kênh trao đổi, trò chuyện với nhau. Quy định về giao thức IRC được
định nghĩa trong RFC 1459, 2810, 1324, 2811, 2813.
Giao thức IRC hoạt động theo mô hình khách – chủ nên có thể sử dụng trong
điều khiển mạng Botnet rất thuận lợi.
Các thành phần của giao thức IRC
Server (máy chủ phục vụ): là thành phần cốt lõi của giao thức IRC, có khả
năng kết nối tất cả các thành phần khác. Máy chủ phục vụ cung cấp điểm truy cập
dịch vụ cho các máy khách (gọi là IRC - Client) kết nối tới và trò chuyện với nhau,
và cũng là một điểm truy cập dịch vụ cho các máy chủ (gọi là IRC Server) khác kết
nối với nhau. Mỗi máy chủ đều cung cấp các dịch vụ cơ bản được định nghĩa bởi
giao thức.

Hình 2.3 Mô hình mạng IRC

15
Client (máy khách): là máy tính kết nối tới máy chủ và không phải là máy
chủ. Bao gồm: người dùng khách (user client) và dịch vụ khách (service client). Mỗi
client khi kết nối tới server có một tên gọi là Nickname. Server quản lý các client
thông qua nickname để có thể quản lý số lượng client tham gia trên mạng IRC.
Kênh (channel): là kênh cho phép nhiều client kết nối tới để trao đổi và nhận
thông tin từ các client khác hoặc từ người điều hành kênh. Các client trong cùng một
kênh cũng có thể nói chuyện riêng với nhau. Mỗi client có thể tạo ra một kênh sau
đó mời các client khác tham gia vào kênh.
Trong hoạt động của mạng Botnet, tin tặc thường tạo ra một kênh (gồm tên
và mật khẩu), các bot sau khi đã nhiễm vào máy người dùng sẽ kết nối tới kênh này
để nhận lệnh từ tin tặc.

2.3.2 Giao thức HTTP


HTTP (Hypertext Transfer Protocol - giao thức truyền dẫn siêu văn bản) là
giao thức tầng ứng dụng, cho phép truyền thông qua www (word wide web). Giao
thức HTTP hoạt động theo mô hình khách-chủ. Nội dung web được lưu trữ trên máy
chủ web. Khi cần thông tin (dữ liệu) nào đó máy khách sử dụng trình duyệt web -
web client để yêu cầu dữ liệu từ server.

Hình 2.4 Truyền thông giữa web server và web client


Client thực hiện gửi thông điệp HTTP Request tới server và server sẽ trả dữ
liệu về trong thông điệp HTTP Response.
Phía server thực hiện các bước sau để xử lý yêu cầu:
1. Thiết lập kết nối: chấp nhận hoặc từ chối kết nối từ client.
2. Nhận yêu cầu: đọc thông điệp HTTP Request từ mạng.
3. Xử lý yêu cầu: phân tích yêu cầu và đưa ra hành động.

16
4. Truy nhập tài nguyên: server truy cập tới tài nguyên được chỉ rõ trong thông
điệp yêu cầu của client.
5. Xây dựng thông điệp trả lời: tạo thông điệp HTTP Response với phần đầu
phù hợp.
6. Gửi trả lời: gửi thông điệp trả lời HTTP Response cho client.
7. Ghi log: ghi nhật ký giao dịch.
Cấu trúc thông điệp HTTP
HTTP là giao thức hướng client/server, trong đó client phát sinh các thông
điệp HTTP Request và server trả lời các thông điệp Request của client bằng các
thông điệp HTTP Response.
Một thông điệp HTTP gồm 3 phần:
1. Dòng bắt đầu (Start line): tất cả các thông điệp HTTP đều bắt đầu với start-
line. Start line của thông điệp Request (Request- line) mang ý nghĩa “what
to do”, của thông điệp Response (start-line) mang ý nghĩa “what
happened”.
2. Phần đầu - Header: theo sau dòng bắt đầu là phần đầu. Một thông điệp có
thể không có phần đầu hoặc có nhiều phần đầu. Mỗi phần đầu bao gồm cặp
tên: giá trị (như Content-length: 15040). Kết thúc phần đầu là một dòng
trắng.
3. Phần thân (Body): là phần tùy chọn có thể có hoặc không để chứa dữ liệu.
Phần thân của thông điệp Request sẽ mang dữ liệu tới server, của thông
điệp Response sẽ mang dữ liệu trở lại client. Phần thân có thể chứa dữ liệu
dạng nhị phân (như image, video, audio, software application) hoặc dạng
văn bản.
Việc sử dụng HTTP để điều khiển và truyền lệnh trong hoạt động của các
mạng Botnet là tương đối thuận lợi vì HTTP là lưu lượng mạng phổ biến và ít bị
tường lửa chặn và ứng dụng web ngày nay tiềm ẩn nhiều lỗi hổng rất dễ bị tin tặc
khai thác, vì vậy tin tặc có thể tấn công ngay cả những trang web hợp pháp sau đó
sử dụng những trang web này làm kênh điều khiển mạng Botnet của chúng.

17
2.3.3 Giao thức DNS
DNS (Domain Name System – Hệ thống tên miền) là giao thức tầng ứng dụng
cho phép ánh xạ địa chỉ tương ứng giữa địa chỉ IP và tên miền. Giao thức DNS hoạt
động theo mô hình khách-chủ. Các thành phần của giao thức DNS bao gồm:
1. Không gian tên miền (Domain Name Space) và bản ghi tài nguyên (Resource
Record): là một cây (không gian) các tên miền. Mỗi nút trong cây chứa thông
tin liên kết với tên miền.
2. Máy chủ tên miền: là chương trình, ứng dụng lưu trữ các bản ghi tài nguyên
để ánh xạ giữa tên miền và địa chỉ IP khi có yêu cầu của máy khách.
3. Máy khách: gửi yêu cầu phân giải tới máy chủ tên miền khi cần phân giải.
Trong hoạt động của mạng Botnet, giao thức DNS đóng vai trò rất quan trọng.
Thông trường để truy cập tới các máy chủ điều khiển các bot có thể sử dụng địa chỉ
IP hoặc tên miền của máy chủ đó. Việc sử dụng trực tiếp địa chỉ IP có một số nhược
điểm:
- Số lượng địa chỉ IP dành cho máy chủ điều khiển là giới hạn.
- Dễ bị phát hiện. Khi bị phát hiện cần phải sử dụng địa chỉ IP mới. Như vậy
rất tốn kém và không hiệu quả.
Vì vậy tin tặc thường đăng ký một loạt các tên miền, sau đó ánh xạ tên miền
này tới một hoặc nhiều địa chỉ IP (một tên miền ánh xạ tới nhiều địa chỉ IP và một
địa chỉ IP có thể được ánh xạ cho nhiều tên miền). Khi một tên miền hoặc một địa
chỉ IP bị phát hiện hoặc bị chặn thì tin tặc có thể dễ dàng chuyển qua một tên miền
khác. Hình vẽ dưới đây minh hoạ mối liên hệ giữa địa chỉ IP và tên miền được sử
dụng cho một mạng lưới máy chủ C&C của mạng Botnet.

18
Hình 1 Minh hoạ không gian tên miền và địa chỉ IP của mạng Botnet
Như hình trên, địa chỉ IP 86.124.199.55 có thể ánh xạ thành 10 tên miền
gồm:
1. m5aydx.góu.dnsdojo.net 6. l4bx.futty.dynalias.co
m
2. vtcgp.fine.leitungsen.de 7. zwfl.drag.istmein.de

3. vux.da.knowsitall.infou 8. 6x2i.wach.dvrdns.org

4. aiku.futty.dynalias.com 9. fbttky.hex.dyn-o-
saur.com
5 fa6xp.drag.istmein.de 10 hcn7.mars.blogdns.org

Và trong thực tế những tên miền này có thể ánh xạ tới nhiều địa chỉ IP (khác
địa chỉ 86.124.199.55).

19
Cách thức phân giải tên miền
Khi một máy tính (client) bị nhiễm bot và máy client sử dụng máy chủ DNS
8.8.8.8 của Google. Máy client muốn nhận lệnh từ máy chủ điều khiển (có địa chỉ
IP 112.175.79.57) bằng tên miền moit.conimes.com cần thông qua các bước sau:
1. Client gửi yêu cầu phân giải tên miền tới máy chủ DNS 8.8.8.8.
2. Máy chủ DNS thực hiện tìm kiếm, nếu có câu trả lời sẽ trả lời cho client địa
chỉ IP (112.175.79.57) tương ứng với tên miền moit.conimes.com. Nếu không
có câu trả lời nó sẽ gửi về thông tin địa chỉ của máy chủ DNS cấp trên nó mà
máy client nên hỏi. Sau đó máy client lại tiếp tục hỏi máy chủ DNS này.
3. Khi có thông tin về địa chỉ IP của máy chủ điều khiển client sẽ kết nối tới máy
chủ điều khiển thông qua địa chỉ IP mà máy chủ DNS cung cấp.

2.4 Phân loại mạng Botnet


Trong quá trình nghiên cứu, có thể phân loại Botnet theo nhiều khía cạnh khác
nhau, có thể dựa trên giao thức sử dụng hoặc dựa trên kiến trúc, mô hình mạng. Hai
cách phân loại này đều có tính hợp lý riêng không thể phủ nhận. Tuy nhiên do tính
phổ biến, chúng ta sẽ đi sâu vào cách phân loại dựa trên mô hình mạng Botnet. Theo
khía cạnh này, chúng ta sẽ có 2 loại mạng Botnet là: mạng Botnet tập trung và mạng
Botnet phân tán.
2.4.1 Mạng Botnet tập trung
Mạng Botnet tập trung là mạng Botnet trong đó tin tặc điều khiển mạng Botnet
thông qua kiến trúc tập trung bằng một hoặc một số máy chủ điều khiển (C&C) nhất
định.
a) Các thành phần trong mạng Botnet tập trung gồm:
1. Bot master (tin tặc Bot): người điều khiển mạng Botnet thông qua máy
chủ điều khiển.
2. Máy chủ điều khiển (C&C): dùng để điều khiển mạng Botnet. Có thể có
một hoặc nhiều máy chủ điều khiển C&C.
3. Bot: máy tính của người dùng bị nhiễm mã độc. Ngày nay, ngay cả 1 chiếc
điện thoại thông minh cũng có thể bị nhiễm mã độc và trở thành bot.

20
Hình 2.6. Các thành phần trong mạng Botnet tập trung
Trong mô hình mạng Botnet tập trung các bot sẽ kết nối tới một số máy chủ
C&C nhất định. Các bước để một máy tính thông thường trở thành một bot trong
mạng Botnet tập trung gồm:
1. Lây nhiễm mã độc: máy tính bị nhiễm mã độc thông qua hình thức bất kỳ
(truy cập web, mở tập tin độc hại trong thư điện tử, cài đặt phần mềm không
tin cậy).
2. Gia nhập mạng bot: sau khi lây nhiễm vào máy tính, mã độc sẽ thực hiện
kết nối tới máy chủ điều khiển và biến máy tính trở thành “bot” trong mạng
Botnet của tin tặc.
3. Sau khi có thông tin về bot mới tin tặc có thể điều khiển “bot” thông qua
máy chủ C&C.
Mạng Botnet IRC và mạng Botnet HTTP là hai kiểu mạng Botnet hoạt động
dựa trên kiến trúc này. Mạng Botnet Plasma là một mạng Botnet HTTP được tin tặc
xây dựng cho mục đích ăn trộm mật khẩu của Chrome và FileZilla, trong đó đích

21
tấn công là tất cả các máy sử dụng hệ điều hành Window. Khi một máy bị ảnh hưởng,
bot có thể ăn trộm thông tin nhạy cảm như username/password lưu trữ trong trình
duyệt web Google Chrome, phần mềm FTP khách FileZilla và thực hiện tấn công
DDoS. Theo thống kê của Mcafee vào thời điểm tháng 2 năm 2014 bot đã thu thập
được hơn 4000 URL và username/password lưu trữ trong Chrome và FileZilla. Một
trong những máy chủ điều kiển của nó có tên miền và địa chỉ IP là: djurres.nl –
185.28.23.63.
b) Cơ chế điều khiển và truyền lệnh
Khi một mạng Botnet được xây dựng xong thì cơ chế điều khiển và truyền
lệnh (sau đây gọi là cơ chế C&C) cho các bot là rất quan trọng. Đây cũng là yếu tố
quan trọng khi thiết kế mạng Botnet. Có 2 cơ chế C&C chính:
- Cơ chế chủ động (cơ chế Pull): các bot sẽ chủ động yêu cầu lệnh.
- Cơ chế bị động (cơ chế Push): các bot bị động chờ lệnh gửi tới.
Cơ chế chủ động (Pull)
Cơ chế chủ động thường được sử dụng trong các mạng Botnet tập trung.

Hình 3 Cơ chế điều khiển và truyền lệnh chủ động


Cơ chế chủ động hoạt động như sau:
- Tin tặc thiết lập lệnh trong các tệp tin trên máy chủ điều khiển, thông
thường là máy chủ web (HTTP server).

22
- Các bot theo chu kỳ thời gian sẽ chủ động kết nối tới máy chủ điều kiển
để yêu cầu lệnh. Như vậy sẽ có một khoảng thời gian trễ từ khi tin tặc gửi lệnh
vào máy chủ điều khiển đến khi các bot kết nối để nhận lệnh.
- Ví dụ Mạng Botnet Bobax là một trong những mạng Botnet chuyên
phát tán thư rác, sử dụng cơ chế Pull để nhận lệnh. Bot thực hiện gửi HTTP
Request có dạng http://hostname/reg?u=[8-digit-hex-id]&v=114 và chờ lệnh
thông qua HTTP Response.

Cơ chế bị động (Push)


Trong cơ chế bị động các bot sẽ kết nối tới máy chủ điều khiển (thông thường
là các máy chủ IRC) và chờ lệnh của tin tặc trong các kênh riêng, khi tin tặc gửi lệnh
vào các kênh riêng này thì các bot sẽ nhận được lệnh sau đó thực hiện lệnh của tin
tặc đã truyền.

Hình 4: Cơ chế điều khiển và truyền lệnh bị động

2.4.2 Mạng Botnet phân tán


a) Các thành phần trong mạng Botnet phân tán
Mạng Botnet phân tán còn gọi là mạng Botnet ngang hàng P2P (Peer-to-Peer),
hoạt động dựa trên nguyên tắc của mạng ngang hàng, trong đó các bot sẽ không kết
nối vào các máy chủ điều khiển mà mỗi bot sẽ có một danh sách bot “neighbor –
láng giềng”, khi nhận được lệnh điều khiển từ một bot thành viên nào đó trong mạng,
nó sẽ quảng bá lệnh này tới danh sách láng giềng của nó.

23
Cũng giống như mạng P2P, mạng Botnet P2P mềm dẻo và linh động, không
bị gián đoạn khi thêm vào hay mất đi một bot thành viên nào đó trong mạng. Trong
mô hình mạng Botnet P2P không có máy chủ điều khiển tập trung, mỗi bot thành
viên trong mạng Botnet P2P gọi là một peer hoặc một bên, mỗi bên đều có thể đóng
vai trò như một máy chủ điều khiển C&C, đây cũng là điểm khắc phục được yếu
điểm của mạng Botnet có kiến trúc tập trung khi máy chủ C&C bị phát hiện.

Hình 5: Mạng Botnet phân tán


Mạng Botnet P2P gồm 3 loại:
1. Mạng Botnet ký sinh trên mạng P2P: các bot được thành lập từ các máy
trong mạng P2P có sẵn. Khi đó tin tặc sẽ tận dụng mạng P2P này để điều
khiển và truyền lệnh.
2. Mạng boet lợi dụng mạng P2P: các bot có thể là một máy độc lập (không
nằm trong mạng P2P) hoặc máy đã nằm trong mạng P2P bị nhiễm mã độc.
Khi đó bot mới gia nhập vào sẽ sử dụng hạ tầng mạng P2P có sẵn để truyền
lệnh và điều khiển. Mạng Botnet Storm là một mạng Botnet leeching P2P.
3. Bot-only P2P: các bot tự xây dựng thành một mạng P2P hoàn toàn mới,
mỗi thành phần trong mạng P2P mới này đều là bot.

24
Trong mô hình mạng Botnet P2P, các bot sẽ không kết nối tới máy chủ
C&C để nhận lệnh mà sẽ kết nối bot láng giềng. Các bước để một máy tính
thông thường trở thành một bot trong mạng Botnet P2P gồm:
1. Lây nhiễm mã độc: giống như mạng Botnet tập trung.
2. Gia nhập mạng Botnet: sau khi đã lây nhiễm vào máy tính, mã độc cũng
thực hiện kết nối máy (bot) đã gia nhập mạng Botnet và trở thành một bot.
3. Sau đã gia nhập vào mạng Botnet, bot sẽ nhận lệnh của tin tặc bot thông
qua các bot láng giềng. Đây cũng là điểm khác biệt với mạng Botnet tập trung,
thay vì truyền lệnh tới các máy chủ điều khiển tin tặc có thể truyền lệnh tới
bất kỳ một bot thành phần nào trong mạng Botnet.
4. Bot này sẽ quảng bá lệnh nhận được từ tin tặc tới tất cả láng giềng của
mình.
5. Các láng giềng nhận được lệnh lại tiếp tục truyền lệnh tới láng giềng
khác tới khi hết một khoảng thời gian cho phép hoặc đến khi phần tử đầu tiên
truyền lệnh nhận được lệnh mà nó đã truyền đi.
b) Cơ chế điều khiển và truyền lệnh
Cơ chế chủ động
Trong mạng Botnet P2P tin tặc Bot có thể quảng bá các lệnh bằng cách chèn
các bản ghi vào một số tập tin đã xác định trước hoặc các giá trị băm vào tập tin chỉ
mục. Để kéo các lệnh của tin tặc Bot chèn vào thì các bot sẽ định kỳ gửi yêu cầu các
tệp tin/giá trị băm này, thành phần nào giữ bản ghi tương ứng sẽ có vai trò trả lời
yêu cầu với lệnh được mã hóa bên trong.
Trong hệ thống chia sẻ tập tin P2P, tập tin chỉ mục được sử dụng bởi các thành
phần để xác định dữ liệu mong muốn (dữ liệu có thể tập trung hoặc phân bố trên các
nút mạng). Mỗi peer đều có thể gửi yêu cầu tập tin chỉ mục này.
Trong mạng Botnet Stom, mỗi ngày các bot gửi yêu cầu 32 hash key để trích
xuất lệnh. 32 hash key này được tính toán bởi một giải thuật.
Cơ chế bị động: chuyển tiếp lệnh. Các bot đợi lệnh và chuyển tiếp lệnh nhận được
tới thành phần khác. Việc thực hiện cơ chế bị động trong mạng Botnet P2P sẽ phức
tạp hơn so với cơ chế chủ động.

25
Với mạng Botnet ký sinh và lợi dụng mạng P2P (phụ thuộc vào hạ tầng mạng
P2P có sẵn) sử dụng giao thức P2P có sẵn để điều khiển và truyền lệnh có ưu điểm
là hoạt động ổn định và đảm bảo hơn so với mạng Botnet thiết lập mạng P2P hoàn
toàn mới là do nó dựa trên một giao thức có sẵn của hạ tầng mạng đã được sử dụng
và thử nghiệm, tuy nhiên có hai vấn đề thiết kế chính là:
- Bên nào được chuyển tiếp lệnh?
- Làm thế nào để chuyển tiếp các lệnh: sử dụng thông điệp của giao thức
P2P
có sẵn (lưu lượng P2P thông thường) hay thông điệp khác (lưu lượng non-P2P)?
Với vấn đề đầu tiên, cách đơn giản là một bot sẽ chuyển tiếp lệnh cho các láng
giềng hiện tại của nó, tuy nhiên có hai vấn đề là: (1) tại các vị trí bot có số lượng
láng giềng ít thì quá trình lan truyền lệnh sẽ bị chậm, thậm chí bị gián đoạn và (2)
một số láng giềng không phải là bot (không bị tấn công).
Để giải quyết vấn đề (1): mỗi bot sẽ có một tập tin dùng để xác định trước các
thành phần được chuyển tiếp lệnh, các thành phần xuất hiện trong kết quả tìm kiếm
tập tin này sẽ được chuyển tiếp lệnh. Khi đó lệnh điều khiển được truyền đến đúng
máy bị nhiễm bot sẽ tăng lên, tuy nhiên tập tin này cũng có thể được sử dụng để xác
định máy bị nhiễm bot.
Với vấn đề thứ hai: có sử dụng thông điệp P2P có sẵn của mạng để chuyển
tiếp lệnh tới danh sách các bot láng giềng hay không? Nếu bot cần chuyển tiếp là
láng giềng của nó, thì sử dụng thông điệp P2P có sẵn, bot có thể mã hóa lệnh trong
một thông điệp truy vấn, thông điệp này chỉ có các bot mới dịch/giải mã được, và
gửi nó tới các bot láng giềng, các bot láng giềng lại tiếp tục dựa vào đó để gửi lệnh
đi. Lược đồ này có thể thực hiện dễ dàng và khó bị phát hiện vì không có sự khác
biệt giữa lưu lượng P2P thông thường và lưu lượng P2P dùng để chuyển tiếp lệnh
của bot. Mặt khác, nếu danh sách các bot cần phải chuyển tiếp lệnh được thiết lập
bằng cách khác (khác cách tìm kiếm dựa trên tập tin ở trên) thì các bot phải liên hệ
với các thành phần sử dụng thông điệp khác (không phải thông điệp P2P của hạ tầng
có sẵn). Và như vậy lưu lượng chuyển tiếp lệnh sẽ dễ bị phát hiện và bot khởi tạo
lệnh cũng dễ bị phát hiện hơn.

26
Với mạng Botnet xây dựng mạng P2P hoàn toàn mới thì việc thực hiện cơ chế
bị động hay chủ động hoặc kết hợp cả 2 cơ chế đều thuận lợi. Khi một bot nhận được
lệnh, nó chuyển tiếp lệnh tới tất cả các bot láng giềng trong danh sách (bị động), và
với những bot không nhận được lệnh, nó có thể chủ động kéo lệnh từ các bot trong
danh sách của nó (chủ động). Một mạng siêu Botnet (mạng lai giữa mạng Botnet tập
trung và phân tán) có thể được hình thành từ một số mạng Botnet tập trung con. Các
lệnh sẽ được đẩy từ mạng con này sang mạng con khác, và trong một mạng tập trung
con thì các bot sẽ chủ động kéo lệnh từ máy chủ C&C của nó.

2.5 Vòng đời của Botnet


Giống như bất kỳ phần mềm độc hại nào, Botnet cũng có vòng đời cụ thể, từ
xâm nhập vào hệ thống của bạn, tuyển dụng thành viên đến giao tiếp với quản trị
viên bot và thực thi các tác vụ. Điều đó được thể hiện trong hình ảnh dưới đây:

Hình 5. Vòng đời của Botnet


 Giai đoạn khai thác (Exploitation phase)
Đây là giai đoạn đầu tiên trong vòng đời của Botnet. Botmaster làm lây
nhiễm từ xa thông qua việc khai thác lỗ hổng đang tồn tại trên các phần mềm
đang chạy trên máy của nạn nhân. Botmaster lừa cho các nạn nhân thực thi một
mã độc trên máy của anh ta, chẳng hạn như mở một tập tin đính kèm trong email.
Trong giai đoạn này, các bot cần kết nối với một máy chủ từ xa để tả về một
chương trình (bot binaries). Việc kết nối với máy chủ từ xa được thiết lập chỉ sau

27
khi lệnh DNS lookup được ban hành bởi các máy bị nhiễm ánh xạ một tên miền
tới địa chỉ IP tương ứng của nó. Hành vi ban hành một truy vấn DNS lookup là
hành vi chiếm ưu thế của hầu hết các Botnet đang tồn tại trên trong không gian
mạng.
 Giai đoạn tập hợp (Rallying phase)
Trong giai đoạn này, các bot đang kết nối trở lại với botmaster thông qua việc
di chuyển đến một máy chủ C&C (Command and Control). Botmaster dự định để
làm các Botnet của anh ta trở lên linh hoạt và tàng hình cùng một lúc. Do đó,
botmaster trang bị cho các bots chức năng DNS lookup để có thể thực thi những truy
vấn DNS để xác định vị trí của máy chủ C&C. Thật không may, botmaster đã biết
rằng những địa chỉ IP tĩnh của các máy chủ C&C là không hiệu quả và dễ bị phát
hiện để đưa vào danh sách đen. Do đó, họ sử dụng giả mạo dịch vụ DNS để che dấu
vị trí của máy chủ C&C đằng sau một tên miền hơn là một địa chỉ IP tĩnh. Kết quả
là, bots sẽ tập hợp để kết nối trở lại máy chủ C&C ngay sai khi chúng có được vị trí
cần thiết của máy chủ. Đây là giai đoạn được xem là rất quan trọng để hướng đến sự
thành công của Botnet trong việc tàng hình và có sức mạnh
 Giai đoạn thực thi tấn công (Attack Execution phase)
Trong giai đoạn này, các bots thực thi những hành động độc hại tới máy đích
dưới sự hướng dẫn của botmaster thông qua việc gửi những lệnh cần thiết tới máy
chủ C&C. Bots sẽ nhận lấy những lệnh từ máy chủ C&C và thực hiện những hoạt
động độc hại. Ví dụ, bots có thể nhận lệnh từ máy chủ C&C chuyển hướng yêu cầu
người dùng tới những website độc hại thông qua thu thập truy vấn DNS của người
dùng, hoặc gửi email spam, tham gia vào một cuộc tấn công DDoS
 Giai đoạn cập nhật và bảo trì (Update and Maintenance phase)
Giai đoạn cuối cùng của vòng đời Botnet là cập nhật và bảo trì các bots.
Botmaster cần giữ bots để thông qua các bots cập nhật theo thời gian để tăng cường
hợp tác và vá lỗi. Hơn nữa, botmaster có thể yêu cầu di chuyển vị trí máy chủ C&C
để tránh kỹ thuật phát hiện khác nhau. Giai đoạn này được hiểu là rất quan trọng,
bởi vì Botnet có thể bị xác định thông qua việc quan sát các hành vi mạng giống
nhau, các mẫu và kết nối thường xuyên từ các bots tới máy chủ C&C.
2.6 Đặc trưng của Botnet
28
2.6.1 Phương thức lây nhiễm
2.6.1.1 Lây nhiễm qua email
Các email được gửi đính kèm các file chứa mã nguồn độc hại. Nếu người sử
dụng mở những email này ra thì các máy tính sẽ bị lây nhiễm. Trong quá khứ, hình
thwusc này tương đối dễ dàng để phát hiện và phần lớn các email đến từ những địa
chỉ không biết hoặc không tin cậy. Tuy nhiên ngày nay các kỹ thuật ngày càng tinh
vi khi các email được giả mạo là gửi từ các công ty hay tổ chức uy tín như các ngân
hàng hoặc những người quen. Thường thì khi một máy bị nhiễm thì danh sách địa
chỉ liên hệ của người dùng sẽ bị đọc và các email độc hại này sẽ được gửi đến tất cả
các địa chỉ đó dưới danh nghĩa của người sử dụng để mở rộng khả năng lây nhiễm.
2.6.1.2 Lây nhiễm qua Link spam
Là một URL mà đưa người sử dụng đến một nội dung độ hại. Họ có thể được
gửi một loạt thông qua email, mạng xã hội, tin nhắn và đều sử dụng kỹ nghệ xã hội
để cố gắng thuyết phục người dùng rằng nó được gửi từ chính chủ. Các thông điệp
này thường có thể xuất hiện từ bạn bè hoặc một tổ chức tin cậy nhưng là một thông
điệp giả mạo.
2.6.1.3 Lây nhiễm qua Website
Các trang web thường được thiết lập để giả mạo các website nổi tiếng như
Youtube hoặc một trang web đáng tin cậy nào đó bị tấn công và chèn vào đó các mã
độc. Có hai kiểu tấn công chính là tấn công phía client và tải về. Trong hình thức tấn
công ở phía client, khi một người dùng truy cập vào một website, các mã độc hại
được khởi động để cố gắng lợi dụng một số lỗ hổng về bảo mật của các trình duyệt
để có thể truy cập vào máy tính của người sử dụng. Nếu lỗ hổng này được lợi dụng
thành công, máy tính của người dùng sẽ bị lây nhiễm và trở thành một bot. Trang
web sẽ sử dụng đồng thời một vài lỗ hổng bởi vì sự thành công sẽ phụ thuộc vào
trạng thái cập nhật của phần mềm cũng như các plugin của bên thứ ba. Dạng tấn
công dựa trên khai thác tải về là là khi truy cập vào một website, người dùng sẽ được
nhắc nhở để tải về một tập tin. Nếu người dùng chấp nhận tải về, máy tính sẽ thực
hiện tập tin này và bị lây nhiễm.

29
2.6.2 Hành vi tấn công
2.6.2.1 Spam và Phising Email
Ước tính có khoảng 107 tỉ tin nhắn rác trong năm 2009, trong đó email rác
chiếm 87,7% và 83% trong đó là của những email rác được gửi bởi Botnet. Spam là
một vấn đề lớn không chỉ vì nó gây phiền toái cho người sử dụng mà cũng bởi vì các
hành vi lừa đảo để lấy trộm các thông tin bí mật như tên người dùng, mật khẩu, và
thông tin thẻ tín dụng. Mặc dù hầu hết các thư rác bị chặn hoặc bị loại bỏ bởi người
sử dụng, nếu chỉ cần 0.0001% số người sử dụng email đó thì cũng đã rất nguy hiểm.
2.6.2.2 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service - DDoS)
được thực hiện bởi Botnet là một vấn đề rất nguy hiểm trong thực tế bởi vì chúng rất
khó để chống lại. Tấn công DDoS xảy ra khi một máy chủ bị tràn ngập các lưu lượng
của người dùng trên tất cả các băng thông khiến cho các lưu lượng hợp lệ không thể
kết nối được với máy chủ. Các dạng tấn công DDoS truyền thống có thể dễ dàng
ngăn chặn bằng cách sử dụng tường lửa để chặn địa chỉ IP của các kẻ tấn công, tuy
nhiên với dạng tấn công click fraud, các lưu lượng đến từ rất nhiều nguồn. Chúng
thường được lan truyền rộng rãi trên internet và khó bị ngăn chặn dù đã xác định
được đó là các lưu lượng độc hại. Trong một số trường hợp các chủ sở hữu các trang
web có thể bị các tổ chức tấn công đòi tiền chuộc hoặc phải trả tiền để dừng các cuộc
tấn công.
2.6.2.3 Keylogging
Botnet đạt được rất nhiều thông tin từ bất kỳ máy tính bị lây nhiễm trong
mạng. Các thông điệp và tất cả mọi thứ được đánh máy trên máy tính bị nhiễm đều
có thể bị thu thập và gửi về máy chủ Botnet bằng cách sử dụng keylogger. Keylogger
là một phần mềm ghi lại tất cả mọi thứ được gõ. Các thông tin về mật khẩu của các
tài khoản ngân hàng là các thông tin rất có giá trị.
2.6.2.4 Malware
Botnet phát tán các phần mềm độc hại để tăng số lượng máy tính bị lây nhiễm.
Có rất nhiều phương pháp được sử dụng để lây nhiễm trong đó email là phương pháp
phổ biến nhất. Tuy nhiên, gần đây mạng xa hội như facebook, twitter và các phần
mềm nhắn tin được lợi dụng để phát tán các phần mềm độc hại. Các thông điệp chứa
30
các URL đến các trang web độc hại. Nếu người dùng truy cập các trang web này,
máy tính của họ có thể bị tổn hại.
2.6.2.5 Click Fraud
Gian lận click là cách sử dụng mạng Botnet để các máy bot sẽ ghé thăm một
trang web và giả mạo hành động đó được thực hiện bởi một người sử dụng thông
thường và nhấp chuột vào các quảng cáo được hiển thị trên website đó để tạo lợi
nhuận cho chủ sở hữu các website đó một cách trái phép. Hình thức tấn công này
gây thiệt hại lớn cho các công ty quảng cáo trực tuyến, những người trả tiền dựa trên
việc click vào quảng cáo của người dùng. Thật khó để phát hiện được hình thức tấn
công này bởi vì, mỗi lần nhấp chuột được thực hiện từ một địa chỉ IP khác nhau với
sự phân bố rộng rãi của Botnet trên Internet.
Hãng bảo mật Symantec từng công bố một sơ đồ về cách hoạt động của mạng
Botnet nổi tiếng có tên là ZeroAccess. Trong mạng Botnet này, 1.9 triệu máy tính
trên thế giới đã bị lây nhiễm để làm công cụ đào bitcoin và click gian lận. Hacker đã
kiếm được hàng triệu USD mỗi năm từ mạng ZeroAccess, còn các nạn nhân phải
chịu hơn nửa triệu USD tiền điện mỗi ngày để phục vụ chúng. Điều này được minh
hoạ trong hình ảnh dưới đây

31
Hình 6. Sự ảnh hưởng của Botnet ZeroAccess

32
2.7 Tình hình hoạt động của mạng Botnet trên thế giới và tại Việt Nam
2.7.1 Tình hình hoạt động của mạng Botnet trên thế giới
Botnet có thể được dùng cho nhiều mục đích khác nhau. Do mạng Botnet là
một mạng tập hợp của rất nhiều máy tính, nên hacker có thể dùng bonet để thực hiện
các cuộc tấn công từ chối dịch vụ (DDoS) vào một máy chủ web nào đó. Theo đó,
hàng trăm ngàn máy tính sẽ "dội bom", truy cập vào một website mục tiêu tại cùng
1 thời điểm, khiến cho lưu lượng truy cập vào site đó bị quá tải. Hậu quả là nhiều
người dùng khi truy cập vào website đó thì bị nghẽn mạng dẫn tới không truy cập
được. Botnet cũng có thể được dùng để gửi mail spam. Lợi dụng vào mạng các máy
tính "ma" này, spammer có thể tiết kiệm được khá nhiều chi phí cho hoạt động spam
kiếm tiền của mình. Việc sử dụng mạng Botnet để tấn công DDoS thường dễ bị các
cơ quan chức năng của các nước theo dõi và ngăn chặn, tuy nhiên việc sử dụng mạng
Botnet để phát tán thư rác vô cùng khó khăn trong việc tìm kiếm máy chủ C&C vì
tội phạm thường sử dụng các bot từ quốc gia này gửi sang quốc gia khác do đó việc
phối hợp điều tra, tìm kiếm máy chủ vô cùng khó khăn, hơn nữa mục tiêu phát tán
thư rác chỉ là người dùng nên không thu hút được sự quan tâm của các cơ quan chức
năng, vì vậy những mạng Botnet nhỏ rất ít được xử lý, chỉ các mạng Botnet quy mô
lớn, số lượng phát tán lên đến hàng tỉ thư rác mới được quan tâm xử lý, và việc xử
lý cũng cần có sự quan tâm của nhiều nước và kéo dài đến vài năm.
Theo số liệu thống kê của Symantec sáu tháng đầu năm 2006, trung bình một
ngày có khoảng 57 000 bot hoạt động. Cũng trong thời gian đó, hãng cung cấp phần
mềm anti-virus này còn phát hiện ra con số khổng lồ 4,7 triệu máy tính được sử dụng
tích cực trong các mạng Botnet [11]. Các máy này là nơi cho những kẻ quản lý
Botnet phát tán thư rác, khởi chạy các cuộc tấn công DoS (denial of service), cài đặt
malware hay phần mềm dò tìm bàn phím log keystrokes nhằm mục đích ăn trộm
thông tin. Dưới đây là một vài thông tin chính của các mạng Botnet nổi tiếng nhất
trên thế giới.
1. ZeroAccess, một trong những mạng máy tính ma (Botnet) lớn nhất thế
giới, bắt đầu hoành hành từ năm 2011 khi liên tục dẫn đầu trong các bảng
xếp hạng phần mềm độc hại. Đã có gần 2 triệu máy tính bị nhiễm Botnet
33
này, tính riêng ở Mỹ là 685.000 máy[6]. Mục tiêu của ZeroAccess là sử
dụng các máy tính ma để tạo ra các lượt truy cập ảo (fake traffic) trên các
website. Các chuyên gia ước tính, Botnet này có thể tạo tới 140 triệu lượt
click vào quảng cáo và thu về 900.000 USD mỗi ngày và hàng chục triệu
USD mỗi năm. Báo Wall Street Journal lấy ví dụ,
website Songsrpeople trông như một trang chia sẻ video nghiệp dư nhưng
thu hút hàng chục nghìn khách truy cập (visitor) mỗi tháng. Trên đó có
đăng quảng cáo của các thương hiệu lớn như Amazon, State Farm... Tuy
nhiên, các chuyên gia bảo mật phát hiện đa số khách truy cập site này
không phải người thực, mà là do các máy tính ma tạo ra, khiến nhiều nhà
quảng cáo chi tiền vì tưởng rằng site có lượng truy cập đông. Ngày
30/9/2013, hãng bảo mật Symantec tuyên bố đã đánh sập thành công một
bộ phận quan trọng của Botnet ZeroAccess. Họ đã bẫy và vô hiệu hơn nửa
triệu máy tính ma trong mạng này, giúp giảm mạnh lượng máy tính bị
khống chế bởi những kẻ tấn công mạng. Symantec cũng đang hợp tác với
các nhà cung cấp dịch vụ Internet và các trung tâm ứng cứu khẩn cấp máy
tính (CERTs) trên toàn cầu nhằm tiếp tục quét sạch virus trên các máy tính
bị lây nhiễm.
2. Theo hãng Symantec, mã độc dạng Trojan có tên là Backdoor.Necurs tạo
cổng hậu trên máy tính bị nhiễm đã xuất hiện vào ngày 7/12/2012[7]. Nó
có thể vô hiệu hóa phần mềm chống virus, cũng như tải về và cài đặt các
phần mềm độc hại khác. Tại thời điểm này, Botnet Necurs đã hoạt động
với số lượng zombie lên tới 83 nghìn máy tính và các thiết bị đầu cuối trên
toàn thế giới. Các chuyên gia cho biết, các nhà điều hành mạng Botnet
Necurs không chỉ là những người có kinh nghiệm về an toàn thông tin mà
còn có mối liên hệ tinh vi với tội phạm mạng ở Đông Âu. Mạng Botnet
Necurs đã hoạt động qua hệ thống tên miền Dot-Bit để tạo ra một mạng
ngang hàng, cho phép nó không bị kiểm soát và phát hiện theo cách thông
thường. Tên miền cấp cao này nằm ngoài hệ thống tên miền quốc tế hiện
có, điều này có nghĩa là nó không bị tổ chức quản lý tên miền và số quốc

34
tế ICANN (Internet Corporation for Assigned Names and Numbers) kiểm
soát.
3. Botnet Necurs đã được phát triển để phân phối mã độc Gameover Zeus vào
năm 2013. Mã độc này được phát tán qua thư rác và lây lan qua các máy
tính trong các cuộc tấn công từ chối dịch vụ. Gameover Zeus đã được tạo
ra từ các môđun trong thành phần của mã độc Zeus, loại mã độc đã lây
nhiễm trên 1 triệu máy tính sử dụng hệ điều hành Microsoft Windows.
Theo chuyên gia bảo mật Brian Krebs, mã độc Gameover Zeus đã được
nhóm tin tặc từ Nga và Ukraine kiểm soát kể từ tháng 11/2011 và được hỗ
trợ từ mạng Botnet trị giá hơn 100 triệu USD[7]. Điều này bổ sung cho
nhận định của giới chuyên môn rằng, các nhà điều hành Botnet Necurs đã
liên kết với rất nhiều trung tâm sản xuất các phần mềm độc hại trong lĩnh
vực ngân hàng.
4. Năm 2014, nhà điều hành Botnet Necurs tiếp tục nâng cao tính năng phục
hồi của mã độc Gameover Zeus trên các thiết bị đầu cuối đã bị lây nhiễm.
Mã độc này có thể lây lan và âm thầm tấn công bộ công cụ quản trị mức
nhân hệ điều hành (Kernel - Mode rootkit) của các máy tính Windows. Các
thư rác độc hại hoặc các mã độc “quảng cáo” mang theo môđun có tính
năng như Trojan (định dạng .Upatre) sẽ tải mã độc Gameover Zeus xuống
máy tính nạn nhân. Lần này, mã độc Gameover Zeus trở thành công cụ
quản trị mạng Botnet Necurs. Với các tính năng như vậy, mã độc
Gameover Zeus khó có thể bị gỡ bỏ hoàn toàn khỏi máy tính bị nhiễm
độc[7].
5. Vào cuối năm 2014, mạng Botnet phát hành Gameover Zeus đã bị ngăn
chặn, cũng là lúc mã độc này phát triển một biến thể mới với tên là
CryptoLocker. CryptoLocker là một trong những mã độc tống tiền nổi
tiếng nhất vào thời điểm đó. Tội phạm mạng cũng đã phát triển mã độc
CryptoWall - “người kế nhiệm” của CryptoLocker. Số liệu thống kê cho
thấy, các tội phạm mạng khai thác Botnet Necurs sử dụng mã độc
CryptoWall đã thu về khoảng 325 triệu USD từ các nạn nhân bị lây nhiễm
trong nửa đầu năm 2015[7]. Các nạn nhân này hầu hết đến từ nước Mỹ.
35
6. Đến năm 2016, Botnet Necurs đã chuyển sang một trạng thái hoạt động
khác. Nó bắt đầu hoạt động tinh vi hơn với hàng triệu zombie, tạo thành
một cơ sở hạ tầng phát tán thư rác lớn và liên kết với băng nhóm mã độc
Dridex. Dridex tấn công mạng với mã độc dạng Trojan ngân hàng phức
tạp dựa trên mã nguồn của Trojan ban đầu có tên là Bugat. Dridex xuất
hiện lần đầu tiên vào tháng 6/2014 và nhanh chóng trở thành một trong
những mối đe dọa phần mềm độc hại hàng đầu trong lĩnh vực tài chính. Nó
nhằm vào các ngân hàng tại hơn 30 quốc gia trên toàn cầu, tập trung vào
các doanh nghiệp và lấy đi hàng trăm triệu đô la trong mỗi vụ tấn công.
Phiên bản mới nhất của Dridex được bổ sung thêm tính năng tinh vi hơn
và được sử dụng vào các cuộc tấn công SWIFT vào năm 2016.
7. Theo hồ sơ tòa án liên bang, Paras Jha (21 tuổi, đến từ New Jersey), Josiah
White (20 tuổi, sống tại Washington) và Dalton Norman (21 tuổi, sống tại
Louisiana), đã bị tòa án bang Alaska truy tố về nhiều tội danh liên quan
đến các cuộc tấn công mạng với Botnet Mirai. Theo TheHackerNews, Jha
đã tiến hành các cuộc tấn công DDoS các website cùng các công ty web
hosting ở Mỹ và nước ngoài bằng cách chiếm quyền hơn 300.000 thiết bị
IoT. Hacker trẻ tuổi này cũng yêu cầu trả tiền để đổi lấy việc ngừng tấn
công. Từ tháng 9 đến tháng 10.2016, Jha quảng cáo Botnet Mirai trên nhiều
forum web đen dưới nickname Anna Senpai. Anh thừa nhận đã xóa sạch
các máy ảo được dùng để chạy Mirai trên thiết bị của mình, sau đó đăng
mã nguồn của Mirai lên mạng miễn phí. Từ tháng 12.2016 đến tháng
2.2017, bộ ba này đã chiếm được 100.000 thiết bị để tạo ra mạng Botnet
mạnh mẽ khác là Clickfraud[8]. Mạng Botnet này được thiết kế để lừa đảo
các hệ thống quảng cáo trực tuyến bằng việc giả lập thao tác click chuột
vào quảng cáo nhằm tạo ra doanh thu giả tạo. Một tuần sau vụ tấn công
DDoS khổng lồ, mã nguồn của Mirai đã được phát hành trên diễn đàn
Hackforums của Jha - dưới cái tên Anna-senpai. Nhiều tội phạm mạng đã
bắt đầu khai thác phần mềm độc hại IoT để khởi động các cuộc tấn công
DDoS mạnh mẽ đến các trang web và cơ sở hạ tầng internet, một trong số

36
đó là nhà cung cấp DNS phổ biến Dyn, bị tấn công DDoS bởi hơn 100.000
thiết bị dính malware Mirai.
Theo số lượng thống kê mới nhất từ Symantec cho thấy 10 mạng Botnet sau
đây đang được đánh giá là nguy hiểm và đáng sợ nhất đối với người dùng mạng vì
nó phát tán hàng tỷ thư rác mỗi ngày. Thống kê cho thấy số lượng thư rác hiện nay
có đến 80% được xuất phát từ 10 mạng Botnet này với số lượng lên đến 135 tỷ thư
rác (spam) trong một ngày và số lượng liên quan đến việc phát tán spam cũng lên
đến con số 5 triệu máy[9].
a) Grum (Tedroo)
Grum là tương lai dành cho các mạng Botnet rải thư rác. Chúng hoạt
động một cách lén lút theo chế độ ẩn mình của rootkit, lây nhiễm vào khóa
registry AutoRun để đảm bảo rằng nó luôn luôn được kích hoạt. Botnet này
hiện đang nhận được sự quan tâm đặc biệt từ các nhà nghiên cứu. Số lượng
chương trình phát tán của Grum hiện là 600.000 nhưng nó chiếm đến 25%
lượng thư rác trong một ngày, tức phát tán đến 40 tỷ thư rác mỗi ngày.
b) Bobax (Kraken/Oderoor/Hacktool.spammer)
Bobax là một mạng Botnet mới được xác định liên quan đến Botnet
Kraken nổi tiếng trước đó. Gần đây, Kraken được cải tiến thành Bobax bằng
cách chuyển đổi lệnh và kiểm soát lưu lượng truy cập đến giao thức HTTP
nhằm gây khó khăn cho người dùng. Thống kê hiện tại, số chương trình phát
tán của Bobax chỉ chiếm 100.000 nhưng nó lại phát tán đến 27 tỷ thư rác trong
một ngày, chiếm 15% lượng thư rác. Như vậy, nghĩa là trong mỗi phút nó có
thể tạo ra 1400 thư rác.
c) Pushdo (Cutwail/PANDEX)
Được khởi đầu với tên gọi Storm vào năm 2007, cho đến nay Pushdo
vẫn phát triển khá mạnh mẽ và đã tạo ra khoảng 19 tỷ thư rác mỗi ngày và sở
hữu 500.000 "máy tính ma" (bị điều khiển do nhiễm mã độc). Pushdo là dạng
mã độc downloader vốn giành quyền truy xuất vào máy tính nạn nhân và tải
về phần mềm gửi thư rác Cutwail. Mạng Botnet này liên quan đến các đợt rải
thư rác về dược phẩm, sòng bạc trực tuyến và bao gồm hoạt động lừa đảo cũng
như tạo các liên kết đến các trang web chứa phần mềm độc hại.
37
d) Rustock (Costrat)
Rustock được biết đến vào năm 2008 nhưng nhanh chóng bị loại bỏ khi
"lò phát tán thư rác" McColo bị phá sập hoàn toàn. Sau một thời gian im hơi
lặng tiếng đã quay trở lại và trở thành một trong những mạng Botnet lớn nhất
với gần 2 triệu "máy tính ma" làm công cụ phục vụ mục đích tấn công.
Rustock còn được biết đến qua dạng rải thư rác sử dụng các tập tin hình
ảnh nhằm qua mặt các trình lọc bảo vệ. Rustock thường xuyên mở các đợt rải
thảm thư rác quảng cáo thuốc y dược hay gửi tin nhắn rác vào mạng xã hội
Twitter với lượng thư rác chiếm khoảng 17 tỷ mỗi ngày.
e) Bagle (Beagle/Mitglieder/Lodeight)
Mạng Botnet Bagle ra đời từ năm 2004 nhưng đến tận năm 2008 thì kẻ
tạo ra Bagle mới bắt đầu đưa mạng Botnet Bagle vào khai thác kiếm lợi nhuận.
Hiện Bagle có đến 500.000 "máy tính ma" với số lượng thư rác mỗi ngày tung
lên mạng Internet là 14 tỷ.
f) Mega-D (Ozdok)
Vào tháng 11-2009, các nhà nghiên cứu tại FireEye đã phá vỡ được
mạng Botnet này bằng các dòng lệnh cũng như kiểm soát các tên miền trước
các vị chủ nhân của Botnet. Thế nhưng sau đó Mega-D được tái cấu trúc để
có thể liên tục tạo ra các tên miền mới giúp chủ nhân nó có thể kiểm soát lại
hoạt động của mình. Trong số 10 Botnet hàng đầu thì Mega-D là mạng Botnet
nhỏ nhất với lượng "thành viên" chỉ có 50.000. Tuy với số lượng "nô lệ" ít ỏi
nhưng Mega-D có thể phát tán đến 11 tỷ thư rác mỗi ngày. Nếu xét về lượng
thư rác mỗi phút thì Mega-D chỉ xếp sau Bobax mà thôi.
g) Maazben
Maazben được phát hiện và ngăn chặn từ tháng 6-2009. Mặc dù
Maazben có số lượng "máy tính ma" là 300.000 nhưng so với các Botnet khác
thì nó cung cấp lượng thư spam mỗi ngày không cao, chỉ đạt con số 500 triệu
thư.
h) Xarvester (Rlsloup/Pixoliz)
Xarvester được hình thành kể từ khi McColo bị chấm dứt. Các nhà
nghiên cứu phát hiện ra Xarvester có các điểm tương đồng với Botnet khét
38
tiếng Srizbi. Thống kê hiện nay thì Xarvester chứa 60.000 "thành viên" với
lượng thư rác phát tán khắp Internet là khoảng 2.5 tỷ mỗi ngày.
i) Donbot (Buzus)
Đây là một trong những Botnet đầu tiên sử dụng dịch vụ rút ngắn địa
chỉ URL, một trong những cách tốt nhất để chúng có thể ẩn các liên kết độc
hại trong thư rác nhằm lừa người dùng nhấp vào liên kết độc hại đó. Donbot
có khoảng 100.000 "thành viên" với lượng thư rác mỗi ngày tung ra khoảng
800 triệu.
j) Gheg (Tofsee/Mondera)
Ba điểm nổi bật về mạng Botnet thứ 10 đó là: 85% lượng thư rác xuất
phát từ Nam Triều Tiên, Gheg là một trong số ít mạng Botnet mã hóa lưu
lượng băng thông bằng câu lệnh và điều khiển các máy chủ bằng kết nối không
theo chuẩn SSL. Điều thứ 3 là cách mà Gheg lựa chọn proxy để gửi thư rác
hay thậm chí nó còn có thể gửi thư rác vào máy tính của nạn nhân thông qua
máy chủ email của nhà cung cấp Internet. Gheg hiện có 60.000 "máy tính ma"
với khoảng 400 triệu thư rác phát tán mỗi ngày.
2.7.2 Tình hình hoạt động của mạng Botnet tại Việt Nam
Các mạng máy tính ma (Botnet) đang có xu hướng tăng nhanh trên thế giới
cũng như tại Việt Nam trong vài năm trở lại đây. Điều này đang đặt ra cho các cơ
quan chức năng yêu cầu cấp bách về việc đề ra các giải pháp phối hợp phòng chống
Botnet và DDoS tại Việt Nam. Dưới đây là một số tin tức và số liệu thống kê nổi bật
về tình hình hoạt động của mạng Botnet tại Việt Nam trong những năm gần đây.
1. Theo số liệu tổng hợp của VNCERT, trong năm 2013 các mạng Botnet
hoạt động rất mạnh mẽ ở Việt Nam và chúng trở nên ngày càng nguy hiểm
và khó kiểm soát hơn. Cụ thể, theo thông báo của Kaspersky vào tháng
9/2013, ở Việt Nam, mạng Ramnit có 119.439 bot (con số này đưa Việt
Nam trở thành quốc gia đứng số 1 thế giới - ngang bằng với Ấn Độ); Mạng
StlBot, dclj (cửa hậu) có 10.651 bot (chiếm 90% của thế giới)….Trong hai
năm (2012-2013) theo dõi và ứng cứu các sự cố máy tính tại Việt Nam,
VNCERT đã ghi nhận: Mạng Botnet Zeus có 14.075 địa chỉ IP Việt Nam;
Mạng Botnet Sality, Downadup, Trafficconverter có 113.273 địa chỉ IP
39
Việt Nam; Trong đó, mạng Sality có 20 địa chỉ IP từ các cơ quan nhà nước;
mạng Downadup có 154 địa chỉ IP từ các cơ quan nhà nước. Mạng bRobot
cũng đã tấn công 2.309 website và cài mã độc lên 6978 trang web. Mạng
Botnet razer đã tham gia tấn công một số doanh nghiệp hosting ở Việt
Nam. VNCERT đã cảnh báo và hỗ trợ các cơ quan, đơn vị rà soát và bóc
gỡ mã độc, nên hiện nay số lượng IP thuộc các cơ quan, tổ chức bị nhiễm
mã độc hoạt động trong các mạng Botnet đã giảm đi đáng kể. [6]
2. Từ ngày 24/8/2015 đến 10/9/2015, Sở TT&TT tỉnh Điện Biên đã phối hợp
với Công an tỉnh Điện Biên kiểm tra, rà soát và hướng dẫn bóc gỡ, làm
sạch mã độc Botnet khỏi hệ thống mạng của 6 cơ quan, đơn vị trên địa bàn
tỉnh gồm Văn phòng Đoàn đại biểu Quốc hội và Hội đồng Nhân dân tỉnh,
Sở văn hóa Thể thao và Du lịch, Sở Công thương, Sở Khoa học và Công
nghệ, UBND các huyện Mường Chà, Tuần Giáo. Tại các cơ quan, đơn vị
các cán bộ kỹ thuật của Sở TT&TT và Công an tỉnh đã kiểm tra, bóc gỡ
mã độc Botnet cho 2 máy chủ và hơn 20 máy tính bị nhiễm mã độc. [7]
3. Mạng Botnet Mirai được phát hiện từ tháng 8/2016. Mã độc này được thiết
kế nhằm vào thiết bị IoT chứa lỗ hổng hoặc bảo mật kém vẫn đang sử dụng
các mật khẩu mặc định. Khi mã độc Mirai xâm nhập thành công vào một
thiết bị IoT, thì thiết bị này tham gia vào mạng Botnet Mirai và có thể bị
điều khiển để thực hiện các cuộc tấn công mạng, chẳng hạn như tấn công
từ chối dịch vụ. Theo thống kê về mạng Botnet Mirai của Cục An toàn
thông tin có nhiều IP tại Việt Nam vẫn nằm trong mạng Botnet Mirai.
4. Theo số liệu thống kê được đại diện Cục ATTT đưa ra tại sự kiện, đến
tháng 10/2017, có hơn 8 triệu lượt IP việt Nam (trong đó có tới 1,5 triệu IP
khác nhau) nằm trong các mạng Botnet.
5. VNCERT cho biết, theo thống kê của trang securelist.com được công bố
hồi tháng 1/2018, với khoảng 637.400 máy tính bị kiểm soát nằm trong
mạng máy tính ma (Botnet), Việt Nam xếp ở vị trí thứ 4 trong Top 10 quốc
gia bị kiểm soát bởi mạng máy tính ma chỉ xếp sau Ấn Độ, Trung Quốc,
Iran; danh sách này còn có Nga, Thổ Nhĩ Kỳ, Brazil, Thailand, Indonesia
và Mexico [9].
40
6. Tháng 5/2018, hơn 500,000 thiết bị định tuyến (router) và thiết bị lưu trữ
(storage) ở nhiều quốc gia trong đó có Việt Nam bị lây nhiễm bởi một loại
mã độc mới có tên là VPNFilter. [8] Theo nghiên cứu, mạng Botnet này
không tấn công vào lỗi zero-days trên thiết bị mà khai thác dựa trên những
lỗ hổng phổ biến, đã được công bố hoặc sử dụng thông tin xác thực mặc
định để chiếm quyền điều khiển. Thiết bị home routers và thiết bị lưu trữ
có kết nối internet của các hãng Linksys, MikroTik, Netgear và TP-Link
là đối tượng có tiềm ẩn nguy cơ bị tấn công cao.VPNFilter là loại mã độc
tinh vi, có nhiều giai đoạn tấn công, có thể đánh cắp thông tin đăng nhập
website và theo dõi các hệ thống điều khiển công nghiệp SCADA, chẳng
hạn như hệ thống lưới điện và cơ sở hạ tầng công nghiệp. Không giống
như hầu hết các loại mã độc khác, khi đã lây nhiễm thành công VPNFilter
sẽ tiến hành khởi động lại thiết bị, từ đó tạo được kết nối lâu dài và cài đặt
mã độc phục vụ cho giai đoạn hai. Đặc trưng của mạng Botnet sử dụng mã
độc VPNFilter là thư mục có đường dẫn /var/run/vpnfilterw được tạo ra
trong quá trình cài đặt. Khuyến nghị từ các chuyên gia ATTT trong trường
hợp nghi ngờ thiết bị đã bị lây nhiễm bởi mạng mã độc này, người dùng
nên thực hiện cài đặt lại thiết bị về mặc định để xóa mã độc và cập nhật
firmware càng sớm càng tốt.
7. Đáng chú ý, trong ngày 10/3/2018, CyStack cho biết, tại thời điểm ngày
8/3, CyStack Security đã thực hiện một thống kê nhỏ về các máy chủ đặt
tại Việt Nam đang sử dụng dịch vụ Memcached (một ứng dụng mã nguồn
mở thường được dùng để lưu trữ dữ liệu cache cho các ứng dụng web) có
thể trở thành bot trong các chiến dịch tấn công DDoS dạng này. Thống kê
cho thấy, tại Việt Nam, có 2529 máy chủ dùng memcached và mở cổng
11211 public; và có 1.482 máy chủ trong số đó (tương đương 58%) đang
có nguy cơ trở thành bot trong mạng Botnet của tin tặc [9]. Các chuyên gia
CyStack cũng cho biết, để làm được điều này, những kẻ tấn công sử dụng
hình thức tấn công giả mạo IP nguồn (IP Spoofing) kết hợp với tấn công
khuếch đại gói tin (UDP-Based Amplification Attacks) thông qua việc lợi
dụng một vấn đề trong ứng dụng Memcached.
41
8. Cục An toàn thông tin (Bộ Thông tin và Truyền thông) cho biết trong quý
đầu tiên của năm 2019, số lượng địa chỉ IP Việt Nam nằm trong các mạng
máy tính ma (mạng Botnet) hiện là 1.845.133 địa chỉ, giảm 17,42% so với
quý 4/2018, giảm 56,19% so với cùng kỳ quý 1/2018 [10]. Chỉ số này cho
thấy tình hình bảo đảm an toàn, an ninh mạng nói chung và phát hiện xử
lý mạng Botnet nói riêng tại Việt Nam đã có chuyển biến tích cực.

2.8 Kết luận chương 2


Botnet là một phần mềm độc hại vô cùng nguy hiểm. Một mạng Botnet có thể
bao gồm từ hàng trăm đến vài chục nghìn máy tính. Mỗi máy tính đó được gọi là
một con bot, chịu điều khiển bởi một Botmaster thông qua C&C server. Chúng nhận
lệnh từ Botmaster thông qua các giao thức IRC, HTTP hay DNS tuỳ loại. Xuyên
suốt lịch sử Botnet từ khi tạo ra cho đến nay, đã có rất nhiều loại khác Botnet khác
nhau với hàng trăm biến thể được sinh ra, trong đó phổ biến là SDBot, Rbot, Agobot,
Spybot, Mytob…với mức độ nguy hiểm và có các đặc điểm khác nhau. Nhưng tụ
chung lại thì chúng có vòng đời, phương thức lây nhiễm và hành vi tấn công cơ bản
là giống nhau. Chúng đều được khai thác, sau đó là lây nhiễm sang các máy tính của
nạn nhân, thực hiện các hành vi tấn công và cuối cùng giai đoạn im ắng nhất là bảo
trì và cập nhật. Chúng cũng có các phương thức lây nhiễm chung như lây nhiễm
thông qua email, link spam hay website và sau khi lây nhiễm, chúng tập hợp và thực
hiện các cuộc tấn công với quy mô lớn, để lại những hậu quả nghiêm trọng. Botnet
không còn là khái niệm xa vời, chỉ có ở các nước quốc tế, mà nó đã xuất hiện tại
Việt Nam. Với tình hình đó, Cục An toàn thông tin và Trung tâm Ứng cứu khẩn cấp
máy tính Việt Nam (VNCERT) đã vào cuộc, họ đã thống kê, cảnh báo nguy cơ về
các cuộc tấn công quy mô lớn vào các hệ thống thông tin của doanh nghiệp cũng
như của các cơ quan, tổ chức nhà nước, thậm chí liên tục giám sát tình hình an toàn
thông tin trên không gian mạng và hạ tầng Internet công cộng. Để giám sát và phân
tích được mạng Botnet là điều không hề dễ dàng, chúng ta hãy cùng tìm hiểu các kỹ
thuật theo dõi và phát hiện Botnet trong chương tiếp theo nhé.

42
CHƯƠNG 3: PHƯƠNG PHÁP GIÁM SÁT, PHÁT HIỆN MẠNG BOTNET

3.1 Môi trường giám sát mạng Botnet


Đã có rất nhiều các phương pháp theo dõi Botnet được triển khai, nhằm thu thập
thông tin. Các phương pháp này triển khai thực thi các bot trên môi trường giám sát
khác nhau và mỗi môi trường có những ưu và nhược điểm riêng:
 Theo dõi Botnet trên máy tính thật: là phương pháp “sơ khai” nhất, được
tiến hành ngay từ thời gian đầu xuất hiện các khái niệm Tracking Botnet.
Phương pháp này sử dụng máy tính thật mô phỏng lại các máy tính ma
(Zombie Computer) trong mạng Botnet, “nuôi” các Bot trên các máy tính
này và thu thập những thông tin trực tiếp qua những thay đổi hệ thống. Ưu
điểm của phương pháp này là đơn giản, không đòi hỏi nhiều công cụ và
công nghệ, thông tin thu về là chính xác. Tuy nhiên, phương pháp có một
nhược điểm lớn đó là vấn đề kinh phí cho việc cấu hình và khôi phục thiệt
hại các máy tính này.
 Môi trường thứ hai đó là các môi trường ảo: các Virtual Machine hay các
“máy ảo”, là cách gọi khác của các chương trình ứng dụng công nghệ “ảo
hóa” (Virtualization) đi mô phỏng lại các môi trường hệ điều hành giám
sát Botnet. Hiện nay các phần mềm hỗ trợ tạo các “máy ảo” có VMWare,
Oracle Virtual Box, Microsoft Virtual PC, QEMU, XEN … trong đó có cả
phần mềm có phí (VMWare), miễn phí và mã nguồn mở … nên vấn đề chi
phí trước đây có thể được giảm bớt, tuy nhiên, chúng ta gặp phải các vấn
đề không gian bộ nhớ mà các ứng dụng này chiếm dụng. Thông thường
với một máy ảo Windows XP Professional 32 bit, bộ nhớ trong 128MB,
một máy ảo này tiêu thụ khoảng từ 200MB – 300MB bộ nhớ thật khi khởi
động và có thể lên tới hàng GB trong quá trình giám sát do đó, dẫn đến
giới hạn về số máy ảo trên một máy tính, chưa kể đến phương pháp này
thường xuyên gặp phải sự chống phá của các hacker nên trong nhiều trường
hợp phương pháp này khó có thể sử dụng để theo dõi Botnet lâu dài được.
 WineBot cũng là một môi trường khác thu hút khá nhiều những nghiên
cứu. WineBot là hướng thực thi các mẫu Bot trong Wine của môi trường

43
Linux. Wine là một phần mềm thi hành độc lập các API của Windows.
Wine thực hiện dịch những lời gọi hàm hệ thống và ứng dụng thành các
thành phần tương đương trong các hệ điều hành Linux, do đó cũng đảm
bảo được an toàn cho hệ thống hơn. Sử dụng một nền chung là Wine cho
các luồng thực thi, phương pháp này cũng sử dụng ít bộ nhớ hơn có thể
giám sát nhiều bot hơn trên một máy tính so với phương pháp sử dụng các
“máy ảo” ở trên. Tuy nhiên, môi trường này gặp trục trặc với giới hạn của
bộ thư viện hỗ trợ: WineBot hỗ trợ chủ yếu là các Windows API, trong khi
các bộ thư viện và ngôn ngữ lập trình mà Botnet hiện nay sử dụng thì khá
đa dạng. Việc cấu hình và thêm module cho WineBot thường cũng khá vất
vả nên môi trường này thường là sự lựa chọn của các chuyên gia đi nghiên
cứu về Botnet hoặc các nghiên cứu trong các trường Đại học.

3.2 Phân tích mạng Botnet


3.2.1 Phân tích dựa trên hành vi
3.2.1.1 Phân tích chủ động
Các phương pháp tiếp cận chủ động trong phân tích Botnet bao gồm tất cả các
loại kỹ thuật phân tích Botmaster, được thông báo trực tiếp hoặc gián tiếp về hoạt
động phân tích và phát hiện Botnet. Phát hiện phần mềm độc hại Bot và vô hiệu hoá
các phần độc hại của nó là một loại phân tích chủ động phổ biến nhất. Ví dụ điển
hình, Honeypots và Honeynets là các phương pháp phân tích chủ động được thực
hiện trong phát hiện và ngăn chặn Botnet. Mặc dù những cách tiếp cận chủ động có
vẻ hữu ích tuy nhiên chúng có một bất lợi lớn là dễ dàng bị phát hiện. Một khi điều
này xảy ra, Botmaster chắc chắn sẽ phá vỡ bất kỳ hành động nào chống lại Botnet.
Một ví dụ điển hình nữa về phân tích chủ động là nghiên cứu của Dagon et al
vào năm 2006. Mô hình mà họ đề xuất căn cứ vào thông tin múi giờ của các máy
tính nạn nhân. Họ cho rằng những người dùng cá nhân sẽ tắt máy tính hoặc không
sử dụng máy của họ vào ban đêm. Họ sử dụng kỹ thuật chuyển hướng DNS để
chuyển hướng các máy chủ IRC Command&Control đã được biết tới các địa chỉ IP
dưới sự kiểm soát của họ. Trong sáu tháng, họ đã chuyển hướng khoảng 50 Botnet.
3.2.1.2 Phân tích bị động

44
Phương pháp tiếp cận bị động phân tích lưu lượng truy cập mà Botnet tạo ra
mà không làm hỏng hoặc sửa đổi nó. Phân tích này chủ yếu tập trung vào các tác
động thứ cấp của lưu lượng Botnet như các gói bị hỏng do tấn công DDoS từ xa.
Darknets là một thí dụ về phương pháp phân tích bị động. Họ nắm bắt và phân tích
các gói thay vì sử dụng một máy có lỗ hổng để thu hút các cuộc tấn công Botnet,
phần mềm độc hại hoặc spam. Cả hai loại Honeypot, tương tác thấp hoặc cao, đều
có thể dễ dàng bị phát hiện. Honeypots tương tác thấp về cơ bản chỉ mô phỏng một
số dịch vụ và đưa ra phản hồi cơ bản đến các cổng dịch vụ cụ thể. Việc mô phỏng
không đầy đủ, vì vậy kẻ tấn công có thể dễ dàng phát hiện trình giả lập Honeypot
bằng cách gửi một lệnh nào đó vô cùng tinh vi. Mặt khác, chúng ta biết rằng
Honeypot tương tác cao có thể được phát hiện bằng cách lấy dấu vân tay của hệ điều
hành sau khi thỏa hiệp thành công. Các hệ thống thụ động thực hiện phức tạp hơn
nhưng mặt khác chúng có lợi thế lớn là chúng không thể bị phát hiện bởi kẻ xâm
nhập; bởi vì nếu thủ phạm gửi tin nhắn đến darknet, anh ta sẽ không nhận được phản
hồi SYN. Vì vậy, darknet hoàn toàn mang lại ý nghĩa tương tự như một địa chỉ IP
không được sử dụng cho kẻ xâm nhập (Zhu et al., 2008; Seewald & Gangsterer,
2010).
Năm 2007, Dhamankar và King đề xuất một hệ thống phát hiện Botnet bằng
cách đoán các kiểu giao thức cũng có thể phát hiện lưu lượng mạng Botnet được mã
hoá cho các mạng ngang hàng. Cách tiếp cận này là một ví dụ về phân tích bị động,
bởi vì cách tiếp cận này không làm thay đổi lưu lượng ban đầu. Nó chỉ hoạt động
bằng cách phản chiếu dữ liệu luồng mạng.
3.2.2 Phân tích dựa trên dữ liệu đã sử dụng
3.2.2.1 Dựa trên dữ liệu IDS
IDS (intrucsion Detection System) được định nghĩa là “quá trình xác định và
ứng phó với các hoạt động độc hại nhằm vào máy tính và tài nguyên mạng”. Sự cố
gắng xâm nhập cũng được gọi là tấn công biểu thị chuỗi các hành động để giành
quyền kiếm soát hệ thống. Hệ thống phát hiện xâm nhập IDS phân biệt các nỗ lực
xâm nhập từ việc sử dụng hệ thống thông thường.
Các hệ thống phát hiện xâm nhập về cơ bản được phân loại thành hai loại:
IDS dựa sự lạm dụng và IDS dựa trên sự bất thường.
45
IDS dựa trên lạm dụng, còn được gọi là IDS dựa trên chữ ký hoặc dựa trên tri
thức, phát hiện lưu lượng truy cập độc hại bằng cách so sánh dữ liệu mới với cơ sở
tri thức hoặc chữ ký của cuộc tấn công đã biết. Hệ thống sẽ phát ra một cảnh báo
nếu một mẫu xâm nhập đã biết trước đó được phát hiện. Các hệ thống dựa trên sự
lạm dụng như snort sử dụng các thuật toán kết hợp mẫu trong phân tích tải trọng gói
tin. Rõ ràng là các hệ thống dựa trên lạm dụng phân tích không chỉ lưu lượng truy
cập của mạng, họ cũng phân tích tải dữ liệu của lưu lượng. Hệ thống IDS dựa trên
lạm dụng có độ chính xác cao. Nhưng cần phải chú ý cập nhật cơ sở chữ ký của hệ
thống. Chúng cũng không có hiệu quả để phát hiện các loại xâm nhập mới.
Mặt khác IDS dựa trên sự bất thường, còn được gọi là IDS dựa trên hành vi.
So sánh dữ liệu đầu vào với hành vi dự kiến của hệ thống. Tuy nhiên, hệ thống dựa
trên hành vi có thể phát hiện các cuộc tấn công không rõ do dựa trên tính chất bất
thường của chúng, chúng có thể đưa ra cảnh báo sai.
3.2.2.2 Dựa trên dữ liệu luồng
Số lượng ngày càng tăng của các cuộc tấn công và tốc độ mở rộng nhanh
chóng trong băng thông mạng là những thách thức rất quan trọng đối với các hệ
thống phát hiện xâm nhập. Các nhà nghiên cứu IDS đánh giá khả năng xử lý IDS
dựa trên tải trọng nằm trong khoảng từ 100 Mbps đến 200 Mbps khi sử dụng phần
cứng hàng hóa và gần 1 Gbps khi sử dụng phần cứng chuyên dụng (Feily et al., 2009;
Zhu et al., 2008). Các công cụ nổi tiếng như Snort và Bro tiêu thụ tài nguyên cao khi
chúng xử lý lượng dữ liệu tải trọng khổng lồ trong các mạng tốc độ cao hiện nay.
Bên cạnh đó, lưu lượng được mã hoá là một thách thức khác đối với hệ thống phát
hiện dựa trên tải trọng.
Với những vấn đề trên, các giải pháp dựa trên lưu lượng tiện lợi hơn so với
các hệ thống phát hiện xâm nhập. Các luồng được theo dõi bởi các module chuyên
môn hoá thường được đặt trong các bộ định tuyến mạng. Các giải pháp dựa trên
dòng chảy sẽ phân tích các luồng này để phát hiện các cuộc tấn công. Họ phân tích
lượng dữ liệu thấp hơn rõ rệt so với các hệ thống phát hiện xâm nhập dựa trên tải
trọng. Dữ liệu Netflow (“Cisco Netflow”, nd) khoảng 0,1% đến 0,5% tổng dữ liệu
tiêu thụ trên mạng. Thông tin lưu lượng cho biết về các thuộc tính sau:
- Địa chỉ nguồn: Người khởi tạo lưu lượng
46
- Địa chỉ đích: Người nhận lưu lượng
- Cổng: Đặc trưng cho ứng dụng của lưu lượng
- Lớp dịch vụ (COS): Kiểm tra mức độ ưu tiên của lưu lượng
- Giao diện: Xác định việc sử dụng lưu lượng của thiết bị mạng
- Gói và byte được đo: Để tính các đặc tính của gói và byte của lưu
lượng
3.3 Các kỹ thuật phát hiện Botnet
Botnet đang là một trong những mối đe dọa lớn trên Internet. Phát hiện Botnet
là một thách thức bởi độ phức tạp và các kỹ thuật cơ sở của Botnet luôn luôn thay
đổi. Ngoài yêu cầu phát hiện chính xác, các phương pháp còn cần đáp ứng các yêu
cầu quan trọng khác như phát hiện sớm, phát hiện các loại Botnet mới…Nói chung
các phương pháp hiện có được phân loại chủ yếu theo 2 hướng tiếp cận là phân tích
chủ động và giám sát mạng bị động. Trong khi sử dụng Honeypot có thể được coi là
phương pháp phân tích chủ động thì phân tích dựa trên chữ ký, dựa trên DNS, dựa
trên bất thường và dựa trên khai thác dữ liệu là các tiếp cận thụ động. Các phương
pháp này được trình bày chi tiết dưới đây.
3.3.1 Honeynet và Honeypot
Một Honeypot có thể được định nghĩa như sau “Honeypot là một hệ thống tài
nguyên thông tin được xây dựng với mục đích giả dạng đánh lừa những kẻ sử dụng
và xâm nhập không hợp pháp, thu hút sự chú ý của chúng, ngăn không cho chúng
tiếp xúc với hệ thống thật”. Hoặc định nghĩa khác: Honeypot là một môi trường trên
mạng, nơi các lỗ hổng đã được đưa ra một cách có chủ ý để quan sát các cuộc tấn
công và xâm nhập. Chúng có khả năng phát hiện các mối đe doạ an ninh, thu thập
các chữ ký phần mềm độc hại và hiểu được động cơ và kỹ thuật đằng sau mối đe doạ
mà thủ phạm sử dụng.
Khác với các Honeypots, Honeynet là một hệ thống thật, hoàn toàn giống một
mạng làm việc bình thường. Honeynet cung cấp các hệ thống, ứng dụng, các dịch
vụ thật. Honeynet là một tập hợp các honeypot, được thiết kế để thu hút những kẻ
tấn công trong khi nắm bắt thông tin về các mối đe dọa và để đánh lạc hướng và
chuyển hướng những kẻ tấn công.

47
Honeypots được phân thành 2 loại là Honeypot tương tác cao và Honeypot
tương tác thấp theo khả năng mô phỏng của chúng. Một Honeypot tương tác cao có
thể mô phỏng hầu hết tất cả các khía cạnh của một hệ điều hành thực sự. Nó cung
cấp phản hồi cho các cổng và giao thức đã biết như trong một máy tính zombie thực
sự. Mặt khác, Honeypots tương tác thấp chỉ mô phỏng các tính năng quan trọng của
một hệ điều hành thực sự. Honeypots tương tác cao cho phép kẻ xâm nhập có thể
kiểm soát hoàn toàn hệ điều hành; tuy nhiên Honeypots tương tác thấp thì không.
Tuy nhiên, các Honeypot tương tác thấp thường được sử dụng để thu thập
phần mềm độc hại và phân tích tự động phần mềm độc hại được thu thập hơn là các
Honeypot tương tác cao. Do:
- Chúng có thể dễ dàng được cấu hình và cài đặt.
- Chúng nhanh hơn nhiều so với các Honeypot tương tác cao.
Vì vậy, với việc xem xét công nghệ Honeypot này, chúng ta có thể cung cấp
cho kẻ tấn công cái nhìn sâu sắc về môi trường mạng giả lập. Ngoài ra, chúng ta có
thể theo dõi và ghi lại sự tương tác giữa những kẻ tấn công và Honeypots phục vụ
việc nghiên cứu và phân tích thêm để phát hiện Botnet.

3.3.2 Kỹ thuật phát hiện dựa trên chữ ký


Chữ ký thực thi được sử dụng rộng rãi để phát hiện và phân loại các mối đe
doạ phần mềm độc hại. Chữ ký dựa trên các phần mềm độc hại đã biết có khả năng
phân loại các tệp thực thi đang chạy trên một hệ điều hành. Các hệ thống phát hiện
xâm nhập dựa trên quy tắc như Snort đang chạy bằng cách sử dụng các chữ ký phần
mềm độc hại đã biết. Chúng giám sát lưu lượng mạng và phát hiện dấu hiệu xâm
nhập. Việc phát hiện có thể được thực hiện theo chữ ký của các phần mềm độc hại
có thể thực thi hoặc theo các chữ ký của lưu lượng truy cập mạng độc hại do phần
mềm độc hại gây ra. Tuy nhiên, kỹ thuật phát hiện dựa trên chữ ký có thể được sử
dụng để phát hiện các Botnet đã biết và không hữu ích đối với các Botnet chưa biết.

48
Ví dụ quy tắc cho Snort IDS
Trong Hình 5, một ví dụ về cấu hình quy tắc cho Snort IDS được đưa ra. Rõ
ràng là thông tin tải trọng của lưu lượng mạng được chuyển đổi và được nhúng vào
chữ ký hoặc quy tắc. IDS phát hiện lưu lượng độc hại phù hợp với các tham số truyền
thông được xác định theo quy tắc.
Trong một mạng lưới rộng có thể tồn tại nhiều loại hệ thống phát hiện xâm
nhập, tường lửa hoặc các thiết bị và hệ thống bảo vệ xung quanh. Mỗi hệ thống này
tạo ra các cảnh báo nguy hiểm. Các cảnh báo tạo ra từ các nguồn hệ thống khác nhau
phải được tương quan để cải thiện độ chính xác và tránh báo động sai. Tương quan
cảnh báo là một quá trình phân tích các cảnh báo được tạo ra bởi nhiều hệ thống phát
hiện xâm nhập và cung cấp một cái nhìn ngắn gọn và cao cấp hơn về các nỗ lực xâm
nhập.
Gu et al. (2007) đề xuất một khung làm việc, “BotHunter”, để tương quan với
các cảnh báo phát hiện dựa trên IDS. Họ sử dụng một ma trận tương quan hộp thoại
mạng. Mỗi hộp thoại IDS được chèn vào ma trận sau khi được BotHunter cắt tỉa
hoặc đánh giá. Hệ thống này dựa trên hệ thống ngưỡng điểm có trọng số. Mỗi hộp
thoại IDS có trọng số và sau khi tương quan, tổng trọng số của các sự kiện tương
quan được hệ thống tính toán. Hệ thống sau đó quyết định xem sự kiện tương quan
có phải là một hoạt động độc hại hay không. Do đó, tỷ lệ dương tính giả được hạ
xuống mức chấp nhận được.
3.3.3 Kỹ thuật phát hiện dựa trên sự bất thường
Khám phá các kỹ thuật phát hiện Botnet mới dựa trên hành vi mạng là một
lĩnh vực nghiên cứu đáng kể cho các nhà nghiên cứu Botnet. Phát hiện các hoạt
động của Bot dựa trên các hành vi mạng bất thường chẳng hạn như độ trễ cao, lưu
lượng truy cập cao, lưu lượng truy cập trên các cổng bất thường… có thể cho thấy
sự tồn tại của các mã độc hại bên trong mạng.
Karasaridis, Rexroad, & Hoeflin (2007) đã đề xuất một thuật toán để phát hiện
và mô tả đặc điểm của các Botnet sử dụng phân tích thụ động. Cách tiếp cận của họ
dựa trên dữ liệu dòng chảy trong lớp vận chuyển. Thuật toán này cũng có thể phát
hiện các giao tiếp Botnet được mã hóa, bởi vì thuật toán mà họ sử dụng không quan
tâm đến dữ liệu tải trọng được mã hóa của luồng mạng.
49
Binkley & Singh (2006) đã trình bày một thuật toán dựa trên các kỹ thuật
thống kê để phát hiện các máy chủ Botnet. Thuật toán đề xuất được lấy từ hai bộ dữ
liệu thử nghiệm thu thập số liệu thống kê dựa trên bốn loại lệnh IRC lớp 7:
PRIVMSG, JOIN, PING và PONG.
Gu&Zhang (2008) đã đề xuất một hệ thống BotSniffer, để phát hiện các kênh
Command and Control của Botnet bằng cách sử dụng các dị thường về hành vi mạng
và sự tương đồng của kênh mạng. Cách tiếp cận của họ rất hữu ích: Các máy khách
Bot phải tiết lộ những bất thường về hành vi trong mạng và họ cũng liên lạc với máy
chủ C&C bằng đặc điểm hành vi mạng tương tự. Do đó, nó sử dụng một số thuật
toán phân tích tương quan để phát hiện mối tương quan không gian – thời gian trong
lưu lượng mạng với tỷ lệ sai lệch rất thấp.
Sức mạnh của phát hiện Botnet dựa trên sự bất thường là có thể có hiệu quả
chống lại các mối đe dọa mới, tiên tiến, tuy nhiên kỹ thuật này cũng có 2 điểm yếu
đáng lưu ý như sau.
Thứ nhất, mất một lượng thời gian và nỗ lực đáng kể để thu thập dữ liệu và
xác định những gì cấu thành hành vi bình thường. Thứ hai, các kỹ thuật phát hiện
dựa trên sự bất thường có thể dễ bị tỷ lệ báo động sai cao. Bất kỳ hoạt động an toàn
và bình thường nằm ngoài giới hạn thống kê có thể được phát hiện là bất thường.
3.3.4 Kỹ thuật phát hiện dựa trên DNS
Một hoạt động Bot điển hình sẽ trở lại bằng cách nhận các lệnh và các tham
số thực hiện các lệnh từ trung tâm kiểm soát và điều khiển Do đó, bot bị ràng buộc
gửi các truy vấn DNS để biết địa chỉ IP của trung tâm điều khiển. Các máy chủ C&C
thường có tính phân tán trong mạng Botnet hiện tại. Do đó, họ phải sử dụng các mục
DNS động (DDNS) với thời gian ngắn để ẩn chúng khỏi hệ thống phát hiện/ngăn
chặn xâm nhập. Do đó, có thể phát hiện lưu lượng truy cập DNS của Botnet bằng
cách theo dõi hoạt động của DNS và phát hiện ra truy vấn DNS bất thường hoặc
không mong muốn.
Các kỹ thuật dựa trên DNS tương tự như các kỹ thuật phát hiện dựa trên sự
bất thường khác. Chúng thường dựa trên việc phát hiện lưu lượng truy cập mạng
DNS bất thường được tạo bởi các máy tính bot.

50
Dagon (2005) đã đề xuất một thuật toán để xác định địa chỉ máy chủ C&C
của Botnet bằng cách theo dõi các truy vấn DDNS cao bất thường hoặc tạm thời.
Cách tiếp cận này gần giống với cách tiếp cận của Kristoff, (Kristoff, 2004) và cả
hai cách này thường hữu ích. Nhưng đôi khi nhiều trang web quan trọng có thể sử
dụng thời gian ngắn để sống. Do tính chất đơn giản của phương pháp này, nhiều
trường hợp dương tính giả có thể xảy ra.
Kim và các cộng sự (Inhwan, Choi, & Lee, 2008) đã đề xuất một phương pháp
cho các cố vấn bảo mật và quản trị viên cung cấp thông tin hình ảnh có ý nghĩa để
phát hiện các Botnet. Hệ thống được đề xuất dựa trên lưu lượng DNS chỉ là một
phần nhỏ trong tổng lưu lượng mạng. Do đó, phương pháp này cũng dễ dàng để phân
tích thời gian thực.
Choi, Lee, Lee, & Kim (2007) đã đề xuất một hệ thống giám sát lưu lượng
DNS để phát hiện các cấu trúc phụ Botnet tạo thành hoạt động nhóm trong các truy
vấn DNS cùng một lúc. Họ đã xác định các thuộc tính duy nhất của lưu lượng DNS
giúp hình thành các nhóm theo mức độ phù hợp của các tính năng độc đáo này cho
các nút mạng khác nhau. Cách tiếp cận dựa trên sự bất thường của họ mạnh hơn các
cách tiếp cận trước đó vì phát hiện các luồng Botnet bất kể loại và cấu trúc phân cấp
của cấu trúc Botnet.
Năm 2009, Manasrah và cộng sự đã đề xuất một hệ thống để phân loại các
truy vấn DNS và phát hiện các hoạt động DNS độc hại. Hệ thống này dựa trên một
cơ chế đơn giản theo dõi lưu lượng DNS và phát hiện lưu lượng DNS bất thường do
Botnet phát hành. Cách tiếp cận của họ dựa trên thực tế là các Botnet xuất hiện dưới
dạng một nhóm các vật chủ định kỳ (Manasrah, Hasan, Abouabdalla, & Ramadass,
2009).
Bản chất của phát hiện dựa trên DNS là giám sát lưu lượng DNS cũng như
giám sát trạng thái của cơ sở dữ liệu DNS trong máy chủ DNS. Điểm yếu của phương
pháp này là không phải tất cả các Botnet đều sử dụng DNS và cách tiếp cận này
không hoạt động trên các Botnet không dựa trên DNS.
3.3.5 Kỹ thuật phát hiện dựa trên khai phá dữ liệu
Các kỹ thuật dựa trên sự bất thường chủ yếu dựa trên sự bất thường về hành
vi mạng như độ trễ cao, các hoạt động trên các cổng không sử dụng. Tuy nhiên lưu
51
lượng C&C thường không tiết lộ hành vi bất thường. Hầu như khó phân biệt lưu
lượng C&C từ hành vi truy cập dữ liệu thông thường. Tại điểm này, mô hình nhận
dạng và các kỹ thuật khai thác dữ liệu bằng máy học rất hữu ích để trích xuất các
mẫu mạng không mong muốn.
Đầu tiên, nó có thể hữu ích để giới thiệu một nghiên cứu về các nhiệm vụ tiền
xử lý của các hệ thống phát hiện Botnet dựa trên khai thác dữ liệu và bất thường.
Davis và Clark giới thiệu tổng quan về các nhiệm vụ tiền xử lý đã biết đối với các
kỹ thuật phát hiện xâm nhập dựa trên khai thác và khai thác bất thường (Davis &
Clark, 2011).
Masud, Gao, Khan, & Han (2008) đã đề xuất một phân tích thụ động dựa trên
khai thác khác để xác định lưu lượng Botnet. Cách tiếp cận của họ dựa trên tương
quan nhiều tệp nhật ký thu được từ các điểm khác nhau của mạng. Hệ thống này
không chỉ để phát hiện Botnet dựa trên IRC mà còn áp dụng cho các Botnet không
phải IRC. Phương pháp này cũng hiệu quả vì tính thụ động của nó và bất kể tính chất
tải trọng. Do đó, nó được áp dụng cho các mạng mạnh và cũng hiệu quả đối với giao
tiếp được mã hóa.
Lu và cộng sự (2011) đã đề xuất một hệ thống để phát hiện các mẫu truyền
thông Botnet dựa trên lựa chọn tính năng n-gram phân tích cả tải trọng và lưu lượng.
Đầu tiên, họ phân loại lưu lượng mạng thành các ứng dụng khác nhau bằng cách sử
dụng chữ ký tải trọng lưu lượng. Thứ hai, họ thực hiện phân cụm cho từng cộng
đồng ứng dụng để phát hiện hành vi bất thường dựa trên các tính năng ngram trích
xuất nội dung của các luồng mạng. Cách tiếp cận của họ là nhận thức về tải trọng và
khó thực hiện trên một mạng lưới quy mô lớn.
Wang, Huang, Lin, & Lin (2011) đã đề xuất một hệ thống phát hiện Botnet
dựa trên hành vi dựa trên các kỹ thuật nhận dạng mô hình mờ. Động lực của họ dựa
trên việc xác định tên miền và địa chỉ IP có liên quan đến bot bằng cách kiểm tra
dấu vết mạng. Họ đã sử dụng các kỹ thuật nhận dạng mẫu mờ với 4 chức năng thành
viên:
(1) tạo kết nối mạng không thành công;
(2) tạo các truy vấn DNS không thành công;
(3) có các khoảng truy vấn DNS tương tự;
52
(4) có kích thước tải trọng tương tự cho truyền thông mạng.
BotMiner (Gu, Perdisci, Zhang, & Lee, 2008), một cải tiến của BotSniffer (Gu
& Zhang, 2008), là một giải pháp gần đây và thành công để phát hiện các hoạt động
của bot. Kỹ thuật đề xuất dựa trên phân cụm lưu lượng truyền thông tương tự và lưu
lượng độc hại tương tự. Sau khi phân cụm các mẫu hoạt động bình thường và bất
thường, nó tương quan hai cụm chéo này để xác định máy chủ có chung mẫu giao
tiếp và mẫu hoạt động độc hại. Do đó, có thể xác định các cấu trúc Botnet được
nhúng trong mạng. BotMiner có thể phát hiện các Botnet trong thế giới thực bao
gồm các Botnet dựa trên IRC, dựa trên HTTP và P2P với tỷ lệ báo động sai rất thấp.
Gu cùng cộng sự đã đề xuất BotHunter (Gu et al., 2007) để phát hiện nhiễm
phần mềm độc hại bằng cách sử dụng tương quan của các hộp thoại phát hiện xâm
nhập. Hệ thống giám sát cả lưu lượng truy cập mạng trong và ngoài nước và tương
quan lưu lượng bất thường và thông tin tải trọng bất ngờ. BotHunter không chỉ sử
dụng các kỹ thuật khai thác dữ liệu. Các công cụ dựa trên quy tắc và công cụ thống
kê cũng được nhúng trong BotHunter.
Ngoài ra, một số giải pháp dựa trên biểu đồ được thực hiện để phát hiện các
cấu trúc biểu đồ con Botnet. BotGrep (Nagaraja, Mittal, Hong, Caesar, & Borisov,
2010) là một giải pháp gần đây và hiệu quả để phát hiện các bot bằng cách sử dụng
phân tích biểu đồ có cấu trúc. Đối với các cấu trúc bot hiện đại, do kiến trúc C & C
phân tán của chúng, phát hiện mạng đồ thị phụ là một cách rất hữu ích và thuận tiện
để phát hiện xâm nhập.

3.4 Một số hệ thống theo dõi và phát hiện Botnet điển hình trên thế giới
3.4.1 Hệ thống của Đức
Anti Botnet HelpDesk của Đức là một dự án do Eco - Association of the
German Internet Industry (Hiệp hội Công nghiệp Internet Đức) hợp tác với Văn
phòng An toàn Thông tin Liên bang Đức (BSI) dẫn đầu. Dự án này được đưa ra tại
hội nghị Công nghệ thông tin ngày 08 tháng 12 năm 2009 và được tài trợ bởi Bộ Nội
vụ Liên Bang Đức, họ cung cấp 2 triệu Euro cho năm đầu tiên hoạt động, nhằm mục
đích thông báo về tình huống: khách hàng có máy tính cá nhân trở thành một phần
của mạng Botnet mà họ không biết về điều đó và hỗ trợ loại bỏ phần mềm độc hại

53
này. Sáng kiến này nhằm đưa Đức ra khỏi top 10 quốc gia hàng đầu có các hoạt động
liên quan đến Botnet.
Công việc của Anti Botnet HelpDesk được hướng dẫn bởi các phương pháp
tiếp cận của Úc, Nhật Bản và Hàn Quốc. Hoạt động điều hành tập trung vào khách
hàng ISPs và được chia thành ba bước:
1. Xác định khách hàng có PC bị nhiễm: Nạn nhân của Botnet được xác định
gián tiếp thông qua bẫy Spamtraps và Honeypots.
2. Thông báo cho khách hàng: Người dùng được xác định sẽ nhận được thông
báo qua ISP của họ. Nó chứa thông tin chung về cách xử lý việc nhiễm
phần mềm độc hại (bot) và bao gồm các liên kết đến phần mềm loại bỏ
chúng.
3. Cung cấp hỗ trợ dưới hình thức trung tâm hỗ trợ: Người dùng được đề nghị
trợ giúp tương tác trong trường hợp họ không thành công trong việc tự xóa
phần mềm độc hại. Đối với điều này, một trung tâm hỗ trợ đã được thiết
lập. Sau khi nhận được vé, người dùng có thể gọi đường dây nóng để được
hỗ trợ cấp một để được tư vấn về việc loại bỏ phần mềm độc hại. Nếu điều
này vẫn không thành công, khách hàng được chuyển đến một chuyên gia
hỗ trợ cấp hai để được hướng dẫn chi tiết hơn.
3.4.2 Hàn Quốc
Hệ thống chống Botnet của Hàn Quốc được bắt đầu xây dựng khi các cuộc
tấn công DDoS xảy ra rất nhiều ở các máy tính cá nhân của Hàn Quốc. Vì vậy, Cơ
quan an ninh Internet Hàn Quốc (KISA- Korean Internet Security Agency) và Trung
tâm ứng cứu khẩn cấp máy tính Hàn Quốc (KRCERT- Korean Computer Emegency
Response Team) đã bắt đầu một chiến dịch chống lại Botnet rộng rãi. Dưới đây là
mô hình chống Botnet của Hàn Quốc.

54
Hình 15: Mô hình chống Botnet của Hàn Quốc
Mô hình chống Botnet của Hàn Quốc gồm 3 phần như sau:
- Phát hiện: các máy tính bị nhiễm bot được phát hiện theo nhiều cách
khác nhau (giám sát máy chủ DNS, theo dõi các truy vấn và kết nối đáng ngờ,
dữ liệu thu thập từ các kết quả phân tích phần mềm độc hại và từ báo cáo của
hệ thống phát hiện xâm nhập, hệ thống bẫy – Honeypot...).
- KRCERT giám sát Botnet trên diện rộng và bóc gỡ bằng cách sử dụng
kỹ thuật DNS Sinkhole - dịch vụ quản lý DNS tập trung. Bằng cách này, các
tên miền đã được xác nhận là phục vụ mục đích độc hại có thể dễ dàng bị
chìm. Đối với điều này, bản ghi tài nguyên DNS được tạo thủ công có chứa
tên miền và địa chỉ IP được sử dụng bởi lỗ hổng, thay vì máy chủ độc hại,
được phân phối cho các máy chủ DNS được vận hành, ví dụ, bởi các ISP.
- Để bổ sung cho các nỗ lực giảm thiểu, sự hợp tác giữa KRCERT, ISP
và nhà cung cấp bảo mật CNTT được tìm kiếm trong việc thông báo cho người
dùng cuối về việc nhiễm phần mềm độc hại và cung cấp cho họ các công cụ
loại bỏ để dọn dẹp hệ thống máy tính của họ. Ngoài những nỗ lực này, Hàn
Quốc đã thiết lập Trung tâm E-Call 118, một đường dây nóng khẩn cấp miễn
phí để xử lý các sự cố Internet. Các thành viên của trung tâm cuộc gọi được
đào tạo để đưa ra lời khuyên về việc loại bỏ phần mềm độc hại, để xử lý và
trả lời các câu hỏi về quyền riêng tư và công nghệ Internet nói chung.

55
3.4.3 Hệ thống của Nhật Bản
Hệ thống theo dõi và phát hiện Botnet của Nhật Bản có tên là “Cyber Clean
Center” còn gọi là CCC được xây dựng từ năm 2006 và hoạt động từ tháng 3 năm
2011. Hệ thống CCC xây dựng với mục tiêu theo dõi và phát hiện Botnet trên máy
tính người dùng bị nhiễm, trên cơ sở hợp tác với các nhà cung cấp dịch vụ Internet
ISP và các hãng bảo mật.
Mô hình bóc gỡ Botnet của Nhật Bản hoạt động như sau:
(1) Máy tính của người dùng bị nhiễm bot thông qua các hành động truy cập
Internet
(2) Phát hiện và lấy mẫu bot thông qua các ISP: yêu cầu các ISP xác định với
máy tính của người dùng bị nhiễm Botnet
(3) Phân tích các mẫu để chuẩn bị công cụ loại bỏ bot
(4) Gửi yêu cầu định danh các máy tính bị nhiễm Botnet tới ISP
(5) ISP định danh các máy bị nhiễm
(6) ISP gửi cảnh báo máy bị nhiễm bot và công cụ để loại bỏ tới người dùng
(7) Người dùng nhận được cảnh báo chủ động truy cập vào trang web cung
cấp công cụ loại bỏ bot.
(8) Người dùng tải công cụ bóc gỡ bot do hệ thống CCC cung cấp và thực hiện
loại bỏ bot
3.5 Kết luận chương 3
Từ thời điểm Botnet đầu tiên được tạo ra cho đến nay, trên thế giới đã có hàng
trăm loại Botnet khác nhau bao gồm cả biến thể. Chúng ngày một tiến hoá với mức
nguy hiểm vô cùng khó lường. Theo đó, phát hiện và theo dõi Botnet là một chủ đề
nghiên cứu luôn “nóng” đối với các tổ chức, bộ phận, cá nhân công nghệ thông tin
trên toàn cầu. Mỗi một nghiên cứu, một phát triển lại đem lại những mới mẻ, những
ưu điểm, nhược điểm khác nhau, nhưng tụ chung lại ở 5 kỹ thuật phát hiện Botnet là
phát hiện dựa trên Honeypot, dựa trên chữ ký, dựa trên bất thường mạng, DNS và
cuối cùng là kỹ thuật dựa trên khai phá dữ liệu. Kỹ thuật dựa trên chữ ký chỉ hữu ích
đối với các loại Botnet đã biết và không phát hiện được loại Botnet chưa từng gặp.
Kỹ thuật dựa trên bất thường thì có tỷ lệ báo động sai cao, kỹ thuật dựa trên DNS thì
không hoạt động trên các Botnet không dựa trên DNS, trong khi kỹ thuật dựa trên
56
khai phá dữ liệu quá phức tạp thì Honeypot là một lựa chọn phù hợp nhất. Với lý do
này, đề tài đồ án của em ngày hôm này sẽ xây dựng một hệ thống Botnet Tracking
dựa trên Honeypot để theo dõi và giám sát các mạng Botnet. Chi tiết về phần triển
khai hệ thống này sẽ được trình bày ở chương tiếp theo.

57
CHƯƠNG 4: TRIỂN KHAI HỆ THỐNG BOTNET TRACKING THEO DÕI
VÀ GIÁM SÁT MẠNG BOTNET
4.1 Đặt vấn đề
Từ các chương trước, chúng ta đã thấy được rằng, một mạng Botnet là
một nhóm các thiết bị kết nối Internet đã bị lây nhiễm bởi một mã độc đặc
biệt. Mã độc này sẽ tạo chương trình hay zombies chạy ẩn, cung cấp quyền
quản trị và cho phép tội phạm mạng quản lý thiết bị của nạn nhân mà không
lộ cho nạn nhân biết sự hiện diện của chúng. Thiết bị lây nhiễm vẫn hoạt động
như bình thường nhưng vận hành những mệnh lệnh của botnet. Khi phối hợp
cùng nhau, các thiết bị lây nhiễm này sẽ hình thành một hạ tầng vững mạnh
đủ để gây nên một khủng hoảng công nghệ thông tin khổng lồ. Như vậy một
khi mạng Botnet đủ lớn mạnh thì đó thực sự là một thách thức vô cùng “khó
chịu” đối với các tổ chức công nghệ thông tin trong việc xây dựng một hệ
thống toàn diện có chức năng giám sát và theo dõi chúng. Đó là một hệ thống
linh hoạt, có khả năng phát hiện các loại Botnet mới, các loại Botnet chưa
từng được phát hiện và có tỉ lệ báo động sai thấp nhất có thể.
Với các yêu cầu này, hệ thống sử dụng honeynet làm “mồi nhử” Botnet
là phương pháp hiệu quả, phù hợp nhất. Hệ thống này không chỉ theo dõi mà
còn ghi lại sự tương tác giữa kẻ tấn công và môi trường honeypot.
4.2 Công cụ sử dụng
Trong đồ án này có sử dụng một số công cụ hỗ trợ triển khai hệ thống
Botnet Tracking sau:
- Zeus Botnet 2.1.0.1: Công cụ này có thể tải xuống từ diễn đàn
zHacker.NeT, có chức năng tạo 1 con bot.
- Xampp
- Honeywall: đóng vai trò như một gateway
- Sebek:
- Hệ điều hành windows 7, Win XP, Winserver 2003, Honeynet gateway
Tất cả các công cụ trên hỗ trợ triển khai hệ thống trong môi trường máy
ảo. Em sử dụng máy ảo VMWARE WORKSTATION 12 PRO
4.3 Mô hình triển khai
Do điều kiện khách quan không có đủ cơ sở vật chất cũng như phạm
vi nghiên cứu của đồ án, mô hình triển khai hệ thống Botnet Tracking dưới

58
đây chỉ mô phỏng theo dõi một máy tính bị nhiễm botnet thay vì theo dõi cả
một mạng lớn từ vài chục con bot trở lên.

Trong đó:
Thành phần Hệ điều hành IP
Server (Honeynet gateway)
Hacker Window 7 10.0.57.90
Managemer Window XP 172.16.1.10
Bot Winserver 2003 10.0.57.175

4.4 Kịch bản triển khai

Với yêu cầu đề tài đặt ra, triển khai hệ thốn\

4.5 Kết quả thực nghiệm

59
KẾT LUẬN
Như vậy, kết thúc

60
TÀI LIỆU THAM KHẢO
[1]. Craig Schiller, Jim Binkley, Gadi Evron, Carsten Willems, Tony
Bradley, David Harley, Michael Cross. “Botnets: The Killer Web App”. February 15,
2007
[2]. Pierce M Gibbs. “Botnet Tracking Tools”. August 8th, 2014
[3]. Erdem Alparslan, Adem Karahoca, Dilek Karahoca. “BotNet Detection:
Enhancing Analysis by Using Data Mining Techniques”. September 12th, 2012
[4]. Dr. Giles Hogben. “Botnets: Detection, Measurement, Disinfection & Defence”.
November 26, 2012
[5]. Wenke Lee, Cliff Wang, David Dagon. “Botnet Detection Countering the
Largest Security Threat”. November 29, 2007
[6]. Báo điện tử “Mạng máy tính ma 'khét tiếng' bị đánh sập một phần”, 1/10/2013
[7]. Tạp chí An toàn thông tin – Ban Cơ Yếu Chính Phủ, “Botnet Necurs: Mạng xả
thư rác độc hại”, 25/09/2017
[8]. Báo thanh niên “Mỹ buộc tội 3 hacker tuổi đôi mươi tạo ra Botnet Mirai”,
15/12/2017
[9]. Bkav Forum “10 mạng Botnet đáng sợ nhất hiện nay”, 05/03/2010
[10]. AnhLt, Tạp chí SecurityDaily. “Phòng chống Botnet và DDoS tại Việt Nam
hiện nay”, 24/03/2014
[11]. Tạp chí ictnews. “Bắt” mạng Botnet hoành hành cơ quan, đơn vị tỉnh Điện
Biên, 11/09/2015
[12]. Tạp chí Vietnetco. “Tình hình an toàn thông tin đáng chú ý trong tuần
21/2018”, 31/05/2018
[13]. Tạp chí ictnews. “CyStack: Hơn 1.400 máy chủ sử dụng Memcached ở Việt
Nam có nguy cơ bị biến thành Botnet”, 10/03/2018
[14]. Tạp chí VnEconomy. “Số cuộc tấn công mạng ở Việt Nam quý 1/2019 đã
giảm hẳn một nửa”, 01/04/2019
[15]. Aptechvietnam. “Chúng ta đã thua trong trận chiến Botnet”, 10/07/2017

61
PHỤ LỤC
1. Tạo Bot và thực hiện lây nhiễm
Trong đồ án này, em sử dụng công cụ Zeus Botnet để tạo bot trên
máy hacker(máy hacker có cài đặt apache)
Có thể tải xuống Zeus Botnet tại link sau:
https://zhacker.net/index.php?newsid=1845&seourl=zeus-2101-botnet&seocat=ddos

- Tải xuống Xampp phiên bản


1. Cài đặt và cấu hình hệ thống Honeynet

62

You might also like