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

Nghiên cứu thử nghiệm giải pháp theo dõi và bóc gỡ mạng botnet

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.87 MB, 71 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Bùi Thị Huyền

NGHIÊN CỨU THỬ NGHIỆM GIẢI PHÁP THEO DÕI VÀ BÓC GỠ
MẠNG BOTNET

Chuyên ngành: Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. Nguyễn Linh Giang

Hà Nội – 2014


MỤC LỤC
Lời cam đoan ......................................................................................................... 4
Danh mục các ký hiệu, các chữ viết tắt................................................................. 5
Danh mục các bảng ............................................................................................... 7
Danh mục các hình vẽ, đồ thị ................................................................................ 8
MỞ ĐẦU ................................................................................................................ 9
CHƯƠNG 1 - TỔNG QUAN VỀ BOTNET ....................................................... 11
1.1. Khái niệm về botnet.................................................................................... 11
1.1.1. Khái niệm về bot, botnet...................................................................... 11
1.1.2. Phân loại mạng botnet ......................................................................... 11
1.1.2.1. Mạng botnet tập trung .................................................................. 12
1.1.2.2. Mạng botnet phân tán ................................................................... 15
1.2. Hoạt động của mạng botnet ........................................................................ 19


1.2.1. Chu kỳ sống của một mạng botnet ....................................................... 19
1.2.1.1. Pha tuyển dụng thành viên............................................................ 19
1.2.1.2. Pha tương tác ............................................................................... 20
1.2.1.3. Pha tiếp thị ................................................................................... 21
1.2.1.4. Pha nhận lệnh và thực hiện tấn công............................................. 21
1.2.3. Các giao thức sử dụng trong hoạt động của botnet ............................... 22
1.2.3.1. Giao thức IRC .............................................................................. 22
1.2.3.2. Giao thức HTTP ........................................................................... 24
1.2.3.3. Giao thức DNS ............................................................................. 26
1.3. Tình hình hoạt động của một số mạng botnet trên thế giới và Việt Nam. .... 28
1.3.1. Các mạng botnet lớn trên thế giới ........................................................ 28
1.3.2. Một số mạng botnet đang được theo dõi tại Việt Nam ......................... 31
1.3.2.1. Mạng botnet Nitol ........................................................................ 31
1.3.2.2. Mạng botnet Zeus......................................................................... 32
CHƯƠNG 2 - NGHIÊN CỨU GIẢI PHÁP THEO DÕI VÀ BÓC GỠ
BOTNET .............................................................................................................. 34
2.1. Phương pháp kỹ thuật phát hiện và theo dõi botnet ..................................... 34
2.1.1. Phương pháp chủ động - sử dụng Honeypot ........................................ 34
2.1.2. Phương pháp thụ động - Giám sát lưu lượng mạng .............................. 36
2.2. Phương pháp hỗ trợ hoạt động bóc gỡ botnet .............................................. 39
2.2.1. Sử dụng danh sách đen - Blacklist ....................................................... 39
2.2.2. Dựa trên DNS...................................................................................... 40
2.2.3. Lọc gói tin ........................................................................................... 42


2.3. Một số hệ thống theo dõi và bóc gỡ botnet điển hình trên thế giới .............. 43
2.3.1. Hệ thống của Hàn Quốc ...................................................................... 43
2.3.2. Hệ thống của Nhật Bản........................................................................ 44
CHƯƠNG 3 - ĐỀ XUẤT VÀ THỬ NGHIỆM MÔ HÌNH THEO DÕI VÀ BÓC
GỠ BOTNET ....................................................................................................... 46

3.1. Hoạt động bóc gỡ botnet của Trung tâm VNCERT ..................................... 46
3.1.1 Mạng lưới ứng cứu sự cố máy tính tại Việt Nam .................................. 46
3.1.2 Quy trình phát hiện và bóc gỡ botnet hiện tại của Trung tâm VNCERT 49
3.1.3 Kế hoạch xây dựng giải pháp và triển khai bóc gỡ botnet của VNCERT
...................................................................................................................... 55
3.2. Đề xuất mô hình ......................................................................................... 56
3.3. Cài đặt và thử nghiệm ................................................................................. 58
3.3.1. Mô hình............................................................................................... 58
3.3.2. Kịch bản thử nghiệm ........................................................................... 58
3.3.2.1. Mô tả kịch bản ............................................................................. 58
3.3.2.2. Cài đặt và cấu hình ....................................................................... 60
3.3.2.3. Kết quả thử nghiệm ...................................................................... 63
3.3.3. Đánh giá kết quả thử nghiệm ............................................................... 66
KẾT LUẬN .......................................................................................................... 68
TÀI LIỆU THAM KHẢO ................................................................................... 69
PHỤ LỤC ............................................................................................................. 70
Phụ lục 1: Danh sách tên miền mạng botnet Zeus đang theo dõi ................. 70


Lời cam đoan
Trước tiên tôi xin chân thành gửi lời cảm ơn và lòng biết ơn sâu sắc tới
PGS.TS Nguyễn Linh Giang – Viện Công nghệ Thông tin – Truyền thông, người đã
tận tình hướng dẫn, chỉ bảo tôi trong suốt quá trình hoàn thiện luận văn. Đồng thời
tôi cũng xin chân thành cảm ơn các đồng nghiệp trong Phòng Nghiệp vụ - Trung
tâm Ứng cứu khẩn cấp máy tính Việt Nam thời gian qua đã giúp đỡ cho tôi hoàn
thành luận văn này.
Tôi xin bày tỏ lòng biết ơn các thầy cô giáo trong Viện Công nghệ Thông tin
– Truyền thông nói riêng và Đại học Bách Khoa Hà Nội nói chung đã chỉ dạy, cung
cấp những kiến thức quý báu cho tôi trong suốt quá trình học tập và nghiên cứu tại
trường.

Cuối cùng tôi xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, những người
luôn cổ vũ, quan tâm và giúp đỡ tôi trong suốt thời gian học tập và làm luận văn.
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả trong luận văn là trung thực và chưa từng được ai công
bố trong bất kỳ công trình nào khác.
Tác giả

Bùi Thị Huyền


Danh mục các ký hiệu, các chữ viết tắt
STT

Từ viết
tắt

Tiếng Anh

Tiếng Việt

1

C&C

Command and Control

Máy chủ điều khiển

2


CCC

Cyber Clean Center

Trung tâm xử lý botnet của
Nhật Bản

3

CERT

Computer Emergency
Response Team

Nhóm ứng cứu khẩn cấp máy
tính

4

CSIRT

Computer Security Incident
Response Team

Nhóm ứng cứu sự cố an toàn
máy tính

5

DDoS


Distribute Denial of Service

Tấn công từ chối dịch vụ
phân tán

6

DNS

Domain Name System

Hệ thống tên miền

7

FTP

File Transfer Protocol

Giao thức truyền tập tin

8

HTTP

Hyper Text Transfer
Protocol

Giao thức truyền dẫn siêu

văn bản

9

IDS

Instrusion Detection System

Hệ thống phát hiện xâm nhập

10

ISP

Internet Service Provider

Nhà cung cấp dịch vụ
Internet

11

IRC

Internet Relay Chat

Giao thức trò chuyện qua
mạng Internet

12


SSL

Secure Socket Layer

Giao thức SSL

13

P2P

Peer to Peer

Mạng ngang hàng

5


14

POP

Post Office Protocol

Giao thức POP

15

TCP

Transport Comunication

Protocol

Giao thức truyền thông tin
cậy

16

URL

Uniforn Resource Locator

Đường dẫn tới tài nguyên

17

VNCERT

Viet Nam Computer
Emergency Response Team

Trung tâm Ứng cứu Khẩn
cấp Máy tính Việt Nam

6


Danh mục các bảng
Bảng 1: Danh sách mạng botnet và khả năng gửi thư rác ....................................... 29
Bảng 2: Dữ liệu mạng botnet Zeus......................................................................... 52
Bảng 3: Mẫu cảnh báo botnet của Trung tâm VNCERT ........................................ 54

Bảng 4: Khai báo tập tin cấu hình tên miền độc hại ............................................... 61
Bảng 5: Khai báo tên miền độc hại ........................................................................ 61
Bảng 6: Khai báo địa chỉ IP cho tên miền độc hại .................................................. 62
Bảng 7: Kết quả phân giải tên miền độc hại của máy chủ DNS Sinkhole ............... 62
Bảng 8: Cấu hình chuyển hướng cho tên miền độc hại........................................... 63
Bảng 9: Kết quả thu được trên máy chủ DNS sau khi áp dụng mô hình. ................ 65
Bảng 10: Kết quả thu được trên máy chủ web sau khi áp dụng mô hình ................ 66

7


Danh mục các hình vẽ, đồ thị
Hình 1: Khái niệm về botnet .................................................................................. 11
Hình 2: Các thành phần trong mạng botnet tập trung ............................................. 12
Hình 3: Cơ chế điều khiển và truyền lệnh chủ động ............................................... 14
Hình 4: Cơ chế điều khiển và truyền lệnh bị động ................................................. 15
Hình 5: Mạng botnet phân tán ............................................................................... 16
Hình 6: Chu kỳ sống của mạng botnet ................................................................... 20
Hình 7: Mô hình mạng IRC ................................................................................... 23
Hình 8: Mạng botnet IRC ...................................................................................... 24
Hình 9: Truyền thông giữa web server và web client ............................................. 24
Hình 10: Minh hoạ không gian tên miền và địa chỉ IP của mạng botnet ................. 27
Hình 11: Các cách tiếp cận để chống botnet........................................................... 34
Hình 12: Honeypot tương tác cao .......................................................................... 35
Hình 13: Kỹ thuật DNS Sinkhole cơ bản ............................................................... 40
Hình 14: Kỹ thuật DNS Sinhhole mở rộng ............................................................ 42
Hình 15: Mô hình chống Botnet của Hàn Quốc ..................................................... 43
Hình 16: Mô hình chống Botnet của Nhật Bản ...................................................... 44
Hình 17: Mạng lưới điều phối ứng cứu sự cố máy tính theo thông tư 27/2011/BTTT
........................................................................................................................ 47

Hình 18: Sơ đồ hoạt động điều phối ứng cứu sự cố máy tính ................................. 49
Hình 19: Hoạt động bóc gỡ botnet của Trung tâm VNCERT ................................. 50
Hình 20: Đề xuất mô hình phát hiện và bóc gỡ botnet trong môi trường mạng lớn 56
Hình 21: Mô hình cài đặt và thử nghiệm ................................................................ 58
Hình 22: Các bước cài đặt thử nghiệm ................................................................... 59
Hình 23: Kết quả bắt gói tin trước khi áp dụng mô hình trên máy client ................ 63
Hình 24: Kết quả bắt gói tin sau khi áp dụng mô hình trên máy client ................... 64

8


MỞ ĐẦU
Theo đánh giá của các tổ chức quốc tế, Việt Nam luôn nằm trong nhóm các
nước bị xếp hạng cao trên thế giới về tình hình lây nhiễm mã độc, điều đó đồng
nghĩa với việc số lượng các máy tính cá nhân cũng như máy chủ, thiết bị mạng của
Việt Nam bị nhiễm mã độc và bị tin tặc điều khiển nhằm mục đích độc hại (như
phát tán thư rác, tấn công từ chối dịch vụ (DDoS), ăn trộm thông tin cá nhân....) là
rất lớn. Theo ghi nhận của Trung tâm Ứng cứu Khẩn cấp Máy tính Việt Nam
(VNCERT) đã có rất nhiều địa chỉ IP (chỉ riêng năm 2014 có tới 2.830.981 địa chỉ
IP) của Việt Nam trong đó có tới 2.000 địa chỉ IP là của các cơ quan nhà nước nằm
trong mạng botnet toàn cầu. Điều nghiêm trọng là các cơ quan sở hữu địa chỉ IP này
lại không biết đến sự tồn tại của các mã độc đang nằm trong mạng máy tính của
mình cho đến khi nhận được cảnh báo của Trung tâm VNCERT.
Hiện nay các quốc gia phát triển đã xây dựng được các phương án để theo
dõi mạng botnet đang hoạt động bên trong quốc gia mình như Hàn Quốc, Nhật Bản,
Mỹ… Tại các nước này cũng đã và đang xây dựng các chương trình bóc gỡ mạng
botnet trong cộng đồng với sự tham gia của các ISP, phương tiện truyền thông đại
chúng, và người dân. Việc để tồn tại các mạng botnet chứa đựng rất nhiều nguy cơ
tiềm ẩn như mất mát thông tin cá nhân, sử dụng để phát tán thư rác và đặc biệt
nghiêm trọng là tin tặc có thể sử dụng các mạng lưới máy tính ma này để thực hiện

tấn công từ chối dịch vụ (DDoS) vào hệ thống nghiệp vụ của các cơ quan và tổ
chức. Để phục vụ hoạt động bóc gỡ các mạng botnet của Trung tâm VNCERT trong
không gian mạng Việt Nam, tôi muốn nghiên cứu một mô hình theo dõi và bóc gỡ
botnet để cải thiện và nâng cao quy trình hiện tại. Được sự đồng ý, động viên của
giáo viên hướng dẫn khoa học, tôi đã chọn đề tài “Nghiên cứu thử nghiệm giải
pháp theo dõi và bóc gỡ mạng botnet” làm đề tài nghiên cứu cho luận văn cao
học của mình.
Trong luận văn của mình tôi đã tìm hiểu về hoạt động của botnet; các
phương pháp kỹ thuật phát hiện, theo dõi và bóc gỡ botnet, mô hình bóc gỡ botnet

9


đang được áp dụng tại Hàn Quốc và Nhật Bản, từ đó đưa ra mô hình theo dõi và
bóc gỡ botnet cho các tổ chức, doanh nghiệp lớn. Đồng thời xây dựng và thử
nghiệm một phần của mô hình tập trung vào kỹ thuật theo dõi và ngăn chặn botnet
dựa trên lưu lượng DNS “DNS Sinkhole”.
Trong luận văn, tôi sử dụng phương pháp tổng hợp và phân tích tư liệu kết
hợp với mô phỏng thử nghiệm. Trên cơ sở nghiên cứu lý thuyết cơ bản tôi đã xây
dựng, thử nghiệm mô hình theo dõi và bóc gỡ mạng botnet dựa trên quy trình bóc
gỡ botnet hiện tại của Trung tâm VNCERT và đánh giá hiệu quả của mô hình đưa
ra.
Ý nghĩa khoa học và thực tiễn của đề tài: về mặt lý thuyết, đề tài tiếp cận
một vấn đề nóng đang làm mất an toàn thông tin nghiêm trọng trong không gian
mạng Việt Nam và được nhiều cơ quan, doanh nghiệp lớn quan tâm nhưng chưa có
đầu tư nghiên cứu nhiều, đồng thời đưa ra một mô hình có thể áp dụng cho nhiều cơ
quan, doanh nghiệp lớn. Về mặt thực tiễn, đề tài có thể được ứng dụng trong hoạt
động bóc gỡ botnet của Trung tâm VNCERT, các doanh nghiệp ISP và nhiều cơ
quan nhà nước.
Nội dung luận văn gồm 3 chương:

Chương 1. Tổng quan về botnet. Chương này giới thiệu tổng quan về
botnet đồng thời phân tích hoạt động của một số mạng botnet tại Việt Nam.
Chương 2. Nghiên cứu giải pháp theo dõi và bóc gỡ botnet. Chương này
trình bày cụ thể về các giải pháp kỹ thuật để phát hiện, theo dõi và bóc gỡ botnet.
Chương 3. Đề xuất và thử nghiệm mô hình theo dõi và bóc gỡ botnet.
Chương này đề xuất mô hình theo dõi và bóc gỡ botnet dựa trên hoạt động bóc gỡ
botnet hiện tại của Trung tâm VNCERT. Đồng thời cài đặt và thử nghiệm một phần
của mô hình sử dụng mẫu mã độc trong mạng botnet Zeus, từ đó đánh giá hiệu quả
của mô hình.

10


CHƯƠNG 1 - TỔNG QUAN VỀ BOTNET
1.1. Khái niệm về botnet
1.1.1. Khái niệm về bot, botnet
Bot là chương trình máy tính được lập trình với mục đích độc hại, khi một
máy tính bị nhiễm bot thì tin tặc có thể điều khiển, kiểm soát máy tính và biến nó
trở trành “zombie-thây ma” hoạt động như một phần của mạng botnet.
Botnet là tập hợp các máy tính bị nhiễm bot bị tin tặc điều khiển và sử dụng
cho các mục đích độc hại như phát tán mã độc, gửi thư rác, ăn trộm dữ liệu, tấn
công từ chối dịch vụ....
Bot master (tin tặc Bot) là người hoặc nhóm người thực hiện xây dựng, điều
khiển và quản lý mạng botnet.

Hình 1: Khái niệm về botnet

1.1.2. Phân loại mạng botnet
Mỗi một mạng botnet thường phục vụ cho một mục đích nhất định của tin
tặc. Việc phân loại mạng botnet có thể dựa trên giao thức hoặc dựa trên kiến trúc


11


(cách điều khiển mạng botnet). Dựa trên kiến trúc điều khiển mạng botnet có thể
phân thành mạng botnet tập trung và mạng botnet không tập trung (phân tán).
1.1.2.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.

Hình 2: Các thành phần trong mạng botnet tập trung

12


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
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.

13


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).
- 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.

14


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

1.1.2.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-toPeer), 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ó.
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.

15


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.
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.

16


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.

17


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ạ

18



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.
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ó.
1.2. Hoạt động của mạng botnet
1.2.1. Chu kỳ sống của một mạng botnet
1.2.1.1. Pha tuyển dụng thành viên.
Trong pha này tin tặc Bot cần phải lợi dụng các máy tính trên Internet để có
thể điều khiển từ xa. Tin tặc Bot sử dụng các phần mềm độc hại để tìm kiếm và lây
nhiễm tối đa vào các hệ thống, máy tính có điểm yếu để cài bot vào đó. Các kỹ
thuật lây nhiễm bot tương tự như việc lây nhiễm Trojan, Worm hay Virut. Để tăng
khả năng lẫy nhiễm, trong thực tế nhiều phần mềm bot thường được thiết kế với các
môđun có khả năng tự động khai thác các điểm yếu đã biết, thậm chí cả những lỗ
hổng chưa biết đến (zero-day).

19


Hình 6: Chu kỳ sống của mạng botnet

1.2.1.2. Pha tương tác
Điểm khác biệt giữa bot và mã độc chính là việc tương tác giữa các bot với
máy chủ điều khiển. Pha này đề cập đến việc làm thế nào để một máy trở thành bot
20



(gia nhập vào mạng botnet), làm thế nào để nhận lệnh từ tin tặc Bot (cần phải liên
lạc với máy chủ điều khiển nào, phương thức liên lạc như thế nào...). Việc tương tác
trong pha này gồm 2 loại: tương tác trong và tương tác ngoài.
Tương tác trong: là tương tác giữa các thành viên của mạng botnet (tương tác giữa
máy chủ C&C và bot). Quá trình tương tác gồm: đăng ký bot và truyền thông với
C&C.
- Việc đăng ký bot có thể là đăng ký tĩnh (các thông tin của máy chủ điều
khiển như tên miền, địa chỉ IP được thiết lập sẵn trong bot) hoặc đăng ký động (các
máy cần yêu cầu thông tin để trở thành thành viên của mạng botnet qua một thành
phần trung gian). Ví dụ mạng botnet Phatbot sử dụng máy chủ trung gian Gnutella
để tải về danh sách các điểm nằm trong mạng botnet.
- Truyền thông với C&C: phần lớn các tương tác trong mạng botnet là tương
tác giữa bot và máy chủ C&C. Các bot nhận lệnh từ tin tặc Bot theo cơ chế nào (chủ
động hay bị động), trên kênh hay giao thức nào (HTTP, IRC, P2P...).
Tương tác ngoài: là tương tác giữa thành viên của mạng bot với các máy chủ
không bị tổn hại (máy chủ DNS). Đây là kết nối của các dịch vụ thông thường trên
mạng Internet. Một trong những dịch vụ thường được sử dụng là dịch vụ DNS, các
bot cần sử dụng dịch vụ này để truy vấn địa chỉ IP của máy chủ điều khiển, hay
giao thức được sử dụng trong mạng P2P để tìm kiếm và trích xuất các thông tin cấu
hình của mạng, danh sách các bot...
1.2.1.3. Pha tiếp thị
Sau khi xây dựng thành công một mạng botnet với nhiều chức năng, tin tặc
sẽ tìm kiếm các đơn đặt hàng hay các động cơ để sử dụng. Lợi ích kinh tế thường là
mục tiêu đầu tiên và các mạng botnet thường được bán hoặc cho thuê trên thị
trường chợ đen. Một mạng botnet cho thuê để thực hiện tấn công DDoS có giá từ 50
USD đến hàng ngàn USD tùy thuộc vào kích thước và năng lực của mạng botnet;
mạng botnet để gửi thư rác đến 1 triệu địa chỉ email có giá từ 150-200 USD.
1.2.1.4. Pha nhận lệnh và thực hiện tấn công

21


Mạng botnet có thể được sử dụng để thực hiện nhiều cuộc tấn công ở quy mô
và hình thức khác nhau như: tấn công từ chối dịch vụ, gửi thư rác, tấn công lừa đảo
(Phishing), click Fraund...
Hầu hết các mạng botnet đều được phát hiện ở pha này và cũng có nhiều
nghiên cứu tập trung vào pha này để đề ra giải pháp chống lại các tấn công.
1.2.3. Các giao thức sử dụng trong hoạt động của botnet
1.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.

22


Hình 7: Mô hình mạng IRC

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.

23


Hình 8: Mạng botnet IRC

1.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 9: 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.


24


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.
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 startline. 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

25



×