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

Nghiên cứu các phương pháp phát hiện iot botnet dựa trên phân tích động và học máy

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.83 MB, 70 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN 1



ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN IOT
BOTNET DỰA TRÊN PHÂN TÍCH ĐỘNG VÀ HỌC MÁY

Giảng viên hướng dẫn : TS. Hoàng Xuân Dậu
Sinh viên thực hiện

: Trịnh Thị Thu Hằng

Mã sinh viên

: B17DCAT066

Lớp

: D17CQAT02-B

Khóa

: 2017-2022

Hệ

: Đại học Chính quy

HÀ NỘI, 1 - 2022




HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN 1



ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN IOT
BOTNET DỰA TRÊN PHÂN TÍCH ĐỘNG VÀ HỌC MÁY

Giảng viên hướng dẫn : TS. Hoàng Xuân Dậu
Sinh viên thực hiện

: Trịnh Thị Thu Hằng

Mã sinh viên

: B17DCAT066

Lớp

: D17CQAT02-B

Khóa

: 2017-2022

Hệ


: Đại học Chính quy

HÀ NỘI, 1 - 2022


LỜI CẢM ƠN
Đối với một sinh viên, đồ án tốt nghiệp là một minh chứng cho những kiến thức
đã có được sau năm năm học tập. Trong q trình hồn thành đồ án tốt nghiệp, ngoài
những cố gắng của bản thân, em sẽ khơng thể hồn thành tốt được cơng việc của mình
nếu khơng có hướng dẫn của thầy giáo TS. Hồng Xn Dậu. Thầy đã ln quan tâm,
tận tình chỉ bảo em, cho em rất nhiều kiến thức và dẫn dắt em trong suốt quá trình học
tập trên trường cũng như những giai đoạn khó khăn của đồ án.
Em cũng xin chân thành cảm ơn các thầy, cô ngành An Tồn Thơng Tin, khoa
Cơng Nghệ Thơng Tin đã dạy cho em các kiến thức hữu ích và quý giá để em có thể
hồn thành đồ án, cùng tồn bộ các cán bộ nhân viên Học viện Công nghệ Bưu chính
Viễn thơng Hà Nội vì đã tạo ra một mơi trường học tập tốt cho sinh viên.
Cuối cùng em xin gửi lời cảm ơn tới gia đình, bạn bè, người thân của em đã luôn
bên em, quan tâm, động viên và tạo điều kiện tốt nhất để em có thể hồn thành đồ án.
Với trình độ hiểu biết cịn nhiều hạn chế và vốn kiến thức vẫn cịn ít ỏi nên trong
đồ án của em không tránh khỏi những thiếu sót. Em rất mong nhận được sự góp ý của
các Thầy, Cơ để đồ án của em được hồn thiện hơn.
Em xin chân thành cảm ơn!

Hà Nội, tháng 01 năm 2022
SINH VIÊN THỰC HIỆN

Trịnh Thị Thu Hằng

1



NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của người hướng dẫn)
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................

Điểm:……………….(bằng chữ:………………………………………………………)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?

Hà Nội, tháng 01 năm 2022
GIẢNG VIÊN HƯỚNG DẪN
(Ký và ghi rõ họ tên)

2


NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của người phản biện)
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................

....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................

Điểm:……………….(bằng chữ:………………………………………………………)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?

Hà Nội, tháng 01 năm 2022
GIẢNG VIÊN PHẢN BIỆN
(Ký và ghi rõ họ tên)

3


MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................1
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM .........................................................................2
(Của người hướng dẫn) ................................................................................................2
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM .........................................................................3
(Của người phản biện)..................................................................................................3
MỤC LỤC .......................................................................................................................4
DANH MỤC TỪ VIẾT TẮT ..........................................................................................6
DANH MỤC HÌNH ẢNH ...............................................................................................7
DANH MỤC BẢNG BIỂU .............................................................................................8
MỞ ĐẦU .........................................................................................................................9
CHƯƠNG 1: TỔNG QUAN VỀ IOT BOTNET VÀ CÁC PHƯƠNG PHÁP PHÁT
HIỆN ..............................................................................................................................10
1.1.


Tổng quan về thiết bị IoT.................................................................................10

1.1.1.

Khái niệm thiết bị IoT ...............................................................................10

1.1.2.

Kiến trúc và cách thức hoạt động của Internet of Things (IoT) ................12

1.2.

Tổng quan về IoT Botnet .................................................................................14

1.2.1.

Giới thiệu về Botnet ..................................................................................14

1.2.2.

Tổng quan về IoT Botnet ..........................................................................18

1.2.3.

Cấu trúc và nguyên lý hoạt động của IoT Botnet .....................................21

1.3.

Các phương pháp phát hiện IoT Botnet ...........................................................23


1.3.1.

Khái quát về phát hiện IoT Botnet ............................................................23

1.3.2.

Phát hiện dựa trên phân tích tĩnh ...............................................................24

1.3.3.

Phát hiện dựa trên phân tích động .............................................................26

1.3.4.

Phát hiện dựa trên phân tích lai .................................................................28

Kết chương .................................................................................................................28
CHƯƠNG 2: XÂY DỰNG MƠ HÌNH HỌC MÁY CHO PHÁT HIỆN IOT BOTNET
.......................................................................................................................................29
2.1.

Tổng quan về học máy và các giải thuật học máy ...........................................29

2.1.1.

Tổng quan về học máy ..............................................................................29

2.1.2.


Phân loại các giải thuật học máy ...............................................................32

2.1.3.

Một số giải thuật học máy .........................................................................33

2.1.3.1.

Cây quyết định (Decision Tree) .........................................................33

2.1.3.2.

Rừng ngẫu nhiên (Random Forest) ....................................................37
4


2.2.

2.1.3.3.

Naïve Bayes (Naïve Bayes) ................................................................40

2.1.3.4.

Máy vectơ hỗ trợ (Support Vector Machine) .....................................42

Mơ hình học máy phát hiện IoT botnet ............................................................45

2.2.1.


Bộ dữ liệu ..................................................................................................46

2.2.2.

Kiến trúc mơ hình tổng quan .....................................................................46

2.2.3.

Bộ chuẩn hóa và tiền xử lý dữ liệu ...........................................................47

2.2.4.

Bộ phận trích chọn đặc trưng ....................................................................49

2.2.5.

Độ đo đánh giá ..........................................................................................55

2.2.5.1.

Confusion matrix ................................................................................56

2.2.5.2.

False Positive Rate (FPR), False Negative Rate (FNR) .....................57

2.2.5.3.

Accuracy .............................................................................................57


2.2.5.4.

Precision và Recall .............................................................................58

2.2.5.5.

F1-score ..............................................................................................59

Kết chương .................................................................................................................59
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ .........................................................60
3.1.

Môi trường triển khai thực nghiệm ..................................................................60

3.2.

Kết quả thực nghiệm ........................................................................................61

3.2.1.

Dữ liệu luồng mạng ...................................................................................61

3.2.2.

Dữ liệu sử dụng tài nguyên hệ thống ........................................................62

3.3.

Đánh giá kết quả thực nghiệm .........................................................................64


Kết chương .................................................................................................................65
KẾT LUẬN ...................................................................................................................66
DANH MỤC TÀI LIỆU THAM KHẢO ......................................................................67

5


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Viết đầy đủ (Tiếng Anh)

Viết đầy đủ (Tiếng Việt)

ARM

Advanced RISC Machine

Bộ xử lý dựa trên kiến trúc RISC

Botnet

Bots Network

Mã độc tấn công thông qua mạng
máy tính

CART

Classification and Regression

Tree

Cây phân loại và hồi quy

CPU

Central Processing Unit

Bộ xử lý trung tâm

CFG

Control Flow Graph

Đồ thị luồng điều khiển

C&C Server

Command and Control Server

Máy chủ ra lệnh và điều khiển

DDoS

Distributed Denial of Service
attack

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

DFG


Data Flow Graph

Đồ thị luồng dữ liệu

ELF

Linux Executable and Linkable
Format

Định dạng tệp tin thực thi và liên
kết động trong Linux

GRE

Generic Routing Encapsulation Mã hóa định tuyến

IoT

Internet of Things

Vạn vật kết nối Internet

IP

Internet Protocol

Giao thức Internet

MIPS


Microprocessor without
Interlocked Pipeline Stages

Kiến trúc bộ tập lệnh RISC

PDoS

Permanent Denial of Service
attack

Tấn công từ chối dịch vụ vĩnh
viễn

PSI

Printable String Information

Các chuỗi mang thông tin

P2P

Peer to Peer network

Mạng ngang hàng

RAM

Random Access Memory


Bộ nhớ trong

RF

Random Forest

Thuật toán rừng cây ngẫu nhiên

SVM

Support Vector Machine

Máy vectơ hỗ trợ

SYN

SYN Flood

Một dạng của tấn công từ chối
dịch vụ phân tán (DDoS)

SSH

Secure Socket Shell

Giao thức mạng bảo mật

TCP

Transmission Control Protocol


Giao thức truyền tải hướng kết nối

UDP

User Datagram Protocol

Giao thức truyền tải hướng không
kết nối

6


DANH MỤC HÌNH ẢNH
Hình 1.1: Số lượng thiết bị IoT từ năm 2015 - 2025 .....................................................12
Hình 1.2: Kiến trúc nền tảng cơ bản của IoT ................................................................12
Hình 1.3: Cấu trúc Botnet ..............................................................................................15
Hình 1.4: Mơ hình mạng hình sao .................................................................................16
Hình 1.5: Mơ hình mạng hình sao đa máy chủ .............................................................16
Hình 1.6: Mơ hình liên kết dạng phân cấp ....................................................................17
Hình 1.7: Mơ hình ngang hàng ......................................................................................18
Hình 1.8: Vị trí của IoT Botnet trong các loại mã độc ..................................................19
Hình 1.9: Mối quan hệ giữa một số mã độc IoT botnet ................................................19
Hình 1.10: Vịng đời của IoT Botnet .............................................................................20
Hình 1.11: Quy trình lây nhiễm của IoT Botnet............................................................22
Hình 1.12: Phương pháp phát hiện mã độc IoT Botnet .................................................24
Hình 1.13: Các phương pháp phân tích lai ....................................................................28
Hình 2.1: Quy trình học máy .........................................................................................30
Hình 2.2: Phân loại một vài mơ hình học máy phổ biến ...............................................31
Hình 2.3: Mơ tả chung về cây quyết định .....................................................................34

Hình 2.4: Sơ đồ cây quyết định .....................................................................................36
Hình 2.5: Mơ tả thuật tốn Random Forest ...................................................................38
Hình 2.6: Bài tốn minh họa thuật tốn Navie Bayes ...................................................41
Hình 2.7: Minh hoạ Multinomial Naive Bayes .............................................................42
Hình 2.8: Class SVM .....................................................................................................43
Hình 2.9: Multi-Class SVM ..........................................................................................43
Hình 2.10: Phân tích bài tốn SVM...............................................................................44
Hình 2.11: Mặt phân cách giữa 2 class..........................................................................45
Hình 2.12: Mơ hình tổng quan phát hiện IoT botnet .....................................................47
Hình 2.13: Confusion matrix .........................................................................................56
Hình 2.14: Biểu diễn TPR, FNR, FPR, TNR trên confusion matrix .............................57
Hình 2.15: Minh họa cách tính Precision và Recall ......................................................58
Hình 3.1: So sánh độ chính xác giữa các thuật toán học máy trong bộ dữ liệu luồng
mạng ..............................................................................................................................62
Hình 3.2: So sánh độ chính xác giữa các thuật toán học máy trong bộ dữ liệu sử dụng
tài nguyên hệ thống .......................................................................................................64

7


DANH MỤC BẢNG BIỂU
Bảng 2.1: Dữ liệu thống kê về đi chơi golf ...................................................................35
Bảng 2.2: Mô tả dữ liệu .................................................................................................46
Bảng 2.3: Mô tả đặc trưng luồng mạng .........................................................................48
Bảng 2.4: Mô tả đặc trưng sử dụng tài nguyên hệ thống ..............................................49
Bảng 2.5: Đặc trưng dư thừa với dữ liệu luồng mạng ...................................................51
Bảng 2.6: Đặc trưng luồng mạng thử nghiệm ...............................................................51
Bảng 2.7: Đặc trưng dư thừa với dữ liệu sử dụng tài nguyên hệ thống ........................53
Bảng 2.8: Đặc trưng sử dụng hệ thống thử nghiệm.......................................................54
Bảng 3.1: Kết quả dữ liệu luồng mạng sử dụng Cây quyết định ..................................61

Bảng 3.2: Kết quả dữ liệu luồng mạng sử dụng Rừng ngẫu nhiên ...............................61
Bảng 3.3: Kết quả dữ liệu luồng mạng sử dụng Naïve Bayes .......................................61
Bảng 3.4: Kết quả dữ liệu luồng mạng sử dụng Máy vectơ hỗ trợ ...............................62
Bảng 3.5: Kết quả dữ liệu sử dụng tài nguyên hệ thống sử dụng Cây quyết định ........63
Bảng 3.6: Kết quả dữ liệu sử dụng tài nguyên hệ thống sử dụng Rừng ngẫu nhiên .....63
Bảng 3.7: Kết quả dữ liệu sử dụng tài nguyên hệ thống sử dụng Naïve Bayes ............63
Bảng 3.8: Kết quả dữ liệu sử dụng tài nguyên hệ thống sử dụng Máy vectơ hỗ trợ .....64

8


MỞ ĐẦU
Internet of Things (IoT) đang là một xu thế phát triển mạnh trên toàn cầu. Các
thiết bị IoT xuất hiện phổ biến và ứng dụng vào hầu hết các lĩnh vực của đời sống,
mang lại nhiều lợi ích cho xã hội. Đi kèm với đó là các nguy cơ bị khai thác, đánh cắp
dữ liệu hay bị sử dụng cho mục đích trái phép do nhận thức chưa đầy đủ và vấn đề bảo
mật còn yếu. Năm 2016, thế giới ghi nhận kỹ thuật tấn công từ chối dịch vụ mới sử
dụng mã độc Mirai để điều khiển một mạng Botnet gồm các thiết bị IoT tấn công vào
các công ty lớn của Mỹ và Pháp, với băng thông kỷ lục đến 1,5Tbps. Việt Nam là
nước có tỷ lệ các cuộc tấn công cao và là nơi xuất phát của các cuộc tấn công sử dụng
mã độc Mirai cao nhất trên thế giới. Để góp phần đảm bảo an ninh, an tồn hệ thống
mạng nói chung và hệ thống mạng thiết bị IoT nói riêng, các phương pháp phát hiện
mã độc đều dựa trên hai phương pháp chính là phân tích tĩnh và phân tích động. Tuy
nhiên, hạn chế lớn của phân tích tĩnh là khó có thể phát hiện sớm được mã độc IoT
botnet, trong khi đó phân tích động đem lại hiệu quả và tính chính xác cao hơn. Chính
vì vậy, đồ án lựa chọn sử dụng phương pháp phân tích động để có thể phát hiện sớm
mã độc IoT Botnet.
Đồ án này tập trung vào nghiên cứu và ứng dụng các kỹ thuật học máy để xây
dựng mơ hình phát hiện sớm IoT Botnet. Đề tài lựa chọn “Nghiên cứu phát hiện IoT
botnet dựa trên phân tích động và học máy” bao gồm các nội dung chính sau:

Chương 1: Tổng quan về các thiết bị IoT, kiến trúc và cách thức hoạt động của
IoT, mã độc IoT Botnet và nguyên lý hoạt động của chúng. Chương này cũng đề cập
đến các phương pháp phát hiện IoT Botnet điển hình là phân tích tĩnh, phân tích động
và phân tích lai.
Chương 2: Tổng quan về học máy, phân loại và trình bày một số giải thuật học
máy phổ biến như: Cây quyết định, Rừng ngẫu nhiên, Naive Bayes và Máy vectơ hỗ
trợ. Ngoài ra, chương 2 sẽ giới thiệu bộ dữ liệu, cách chuẩn hóa và tiền xử lý dữ liệu
và trích chọn đặc trưng. Từ đó, xây dựng mơ hình học máy phát hiện IoT Botnet tối ưu
nhất và đánh giá bằng các độ đo.
Chương 3: Trong chương này, đồ án sẽ trình bày về mơi trường triển khai, kết
quả thực nghiệm và đánh giá kết quả trực quan nhất từ việc ứng dụng mơ hình học
máy xây dựng trong chương 2.

9


CHƯƠNG 1: TỔNG QUAN VỀ IOT BOTNET VÀ CÁC PHƯƠNG PHÁP
PHÁT HIỆN
1.1. Tổng quan về thiết bị IoT
1.1.1. Khái niệm thiết bị IoT
Thuật ngữ “Internet of things” (viết tắt là IoT) dạo gần đây xuất hiện khá
nhiều và thu hút khơng ít sự quan tâm chú ý của thế giới cơng nghệ. Vì sự bùng nổ của
IoT trong tương lai sẽ có tác động mạnh mẽ tới cuộc sống, cơng việc và xã hội lồi
người. Đồng thời, nó đã dẫn đến việc gia tăng rủi ro an ninh mạng do thiếu bảo mật
cho các thiết bị IoT [1]. Thực tế, Internet of things đã manh nha từ nhiều thập kỷ
trước. Tuy nhiên mãi đến năm 1999, cụm từ IoT mới được đưa ra bởi Kevin Ashton
[2]. Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID tại Viện công nghệ
Massachusets (MIT - Massachusetts Institute of Technology), nơi thiết lập các quy
chuẩn toàn cầu cho RFID (Radio Frequency Idendification - một phương thức giao
tiếp khơng dây dùng sóng radio) cũng như một số loại cảm biến khác. Theo định nghĩa

của Kevin Ashton, “Internet of Things” là “tập hợp các thiết bị cảm biến và bộ điều
khiển nhúng được kết nối thơng qua mơi trường mạng (có dây và không dây)”. Với
định nghĩa của Kevin Ashton, thuật ngữ thiết bị “IoT” được sử dụng để chỉ các thiết bị
cảm biến và bộ điều khiển nhúng điện tử.
Hiện nay có rất nhiều cách giải thích hay khái niệm khác nhau về IoT được đưa
ra, trong đó có thể kể đến khái niệm về IoT của Liên minh Viễn thông thế giới (ITU –
International Telecommunication Union) [3] đã phần giúp làm sáng tỏ hơn về IoT.
Theo ITU thì: “Internet of things là một cơ sở hạ tầng mang tính tồn cầu cho xã hội
thông tin, mang đến những dịch vụ tiên tiến bằng cách kết nối các “đồ vật” (cả vật lý
lẫn ảo) dựa trên sự tồn tại của thông tin, dựa trên khả năng tương tác của các thơng
tin đó và dựa trên các công nghệ truyền thông. Thông qua việc khai thác khả năng
nhận biết, thu thập xử lý dữ liệu, công nghệ các hệ thống IoT tận dụng mọi thứ để
cung cấp dịch vụ cho tất cả các loại ứng dụng khác nhau, đồng thời bảo đảm tính bảo
mật và quyền riêng tư.”.
Đến năm 2013, từ điển Oxford thêm thuật ngữ “Internet of Things”: “Internet
of Things (danh từ): là sự kết nối thông qua Internet của các thiết bị điện toán nhúng
trong các đối tượng hàng ngày cho phép chúng có thể chia sẻ dữ liệu với nhau”. Tổ
chức IREC (European Research Cluster on the IoT) cũng đưa ra khái niệm IoT như
sau: “IoT là một kiến trúc tồn cầu động, có khả năng tự cấu hình dựa trên giao thức
truyền thơng tương tác tiêu chuẩn, ở đó các đồ vật (gồm cả vật lý và ảo) có khả năng
10


định danh và các tính chất vật lý và ảo hóa, có giao diện thơng minh và kết hợp khéo
léo với nhau để hịa vào hệ thống thơng tin mạng”.
Cũng theo cách tiếp cận này, Oracle có nêu: “IoT (Internet of Things - Vạn vật
kết nối Internet) mô tả mạng lưới các đối tượng vật lý được nhúng với các cảm biến,
phần mềm và các công nghệ khác nhằm mục đích kết nối và trao đổi dữ liệu với các
thiết bị và hệ thống khác qua Internet. Các thiết bị này bao gồm từ các đồ vật gia đình
thơng thường đến các cơng cụ cơng nghiệp tinh vi.” [4]

Nhìn chung vẫn chưa có một khái niệm thống nhất nào về IoT, tuy nhiên các
khái niệm của các tổ chức đã đưa ra thì đều cơ bản xoay quanh việc kết nối các đồ vật
qua mạng Internet. Chính vì thế, đồ án cho rằng có thể hiểu đơn giản “IoT là nền tảng
bao gồm các “vật” (vật lý và ảo hóa) được tích hợp trên các vật dụng, con người, mơi
trường và có khả năng kết nối, chia sẻ và xử lý dữ liệu phục vụ các mục đích khác
nhau”. Trong phạm vi nghiên cứu, đồ án định nghĩa “thiết bị IoT là những “vật” (gồm
vật lý và ảo hóa) đa kiến trúc, hạn chế về tài nguyên (có năng lực xử lý thấp, bộ nhớ
lưu trữ nhỏ, nguồn điện năng thấp, ...) có khả năng kết nối, chia sẻ, truyền tải và xử lý
dữ liệu phục vụ các mục đích khác nhau”. Thiết bị IoT có những đặc điểm khác biệt
với những cơng nghệ điện tốn truyền thống hiện nay, như:
• Mơi trường khơng được kiểm sốt: các thiết bị IoT có tính di động và tự hành
cao.
• Tính khơng đồng nhất: các thiết bị IoT sử dụng một cách đa dạng các kiến trúc
vi xử lý như: MIPS, ARM, PowerPC, MIPSEL, ...
• Tài nguyên hạn chế: các thiết bị IoT cũng bị hạn chế về tài nguyên như bộ nhớ
thấp, năng lực tính tốn nhỏ, năng lượng pin thấp.
• Trạng thái động: Trạng thái của các thiết bị IoT thay đổi linh hoạt phụ thuộc
vào hoàn cảnh của các thiết bị gồm vị trí, chức năng và tốc độ di chuyển.
• Tính kết nối: Thơng qua IoT, mọi vật có thể được kết nối, tương tác với cơ sở
hạ tầng thơng tin và truyền thơng tồn cầu thường xun và liên tục.
Internet của những thiết bị như máy móc và cảm biến dự kiến sẽ tạo ra 79,4
Zettabyte dữ liệu vào năm 2025, được dự đoán bởi IDC (International Data
Corporation – Cơng ty dữ liệu quốc tế). Ngồi ra, IoT sẽ tăng trưởng với tốc độ tăng
trưởng kép hàng năm là 28,7% so với năm 2020 đến năm 2025. Theo dự báo của
Phòng nghiên cứu Statista (Đức), 75,44 tỷ thiết bị sẽ được kết nối với IoT trên toàn thế
giới vào năm 2025. Công nghệ internet IoT là bước quan trọng tiếp theo trong việc
biến thế giới thành một nơi kết nối.

11



Hình 1.1: Số lượng thiết bị IoT từ năm 2015 - 2025

1.1.2. Kiến trúc và cách thức hoạt động của Internet of Things (IoT)
Cơng nghệ Internet of Things (IoT) có rất nhiều ứng dụng và việc sử dụng thiết
bị Internet of Things đang phát triển nhanh hơn. Tùy thuộc vào các lĩnh vực ứng dụng
khác nhau của Internet of Things, nó sẽ hoạt động tương ứng như đã được thiết kế/
phát triển. Nhưng IoT khơng có một kiến trúc làm việc xác định tiêu chuẩn được tuân
thủ nghiêm ngặt trên toàn cầu. Kiến trúc của IoT phụ thuộc vào chức năng và việc
triển khai của nó trong các lĩnh vực khác nhau. Tuy nhiên, có một quy trình cơ bản dựa
trên đó IoT được xây dựng.
Kiến trúc nền tảng cơ bản của IoT gồm 4 giai đoạn sau

Hình 1.2: Kiến trúc nền tảng cơ bản của IoT
12


Lớp cảm biến (SENSING LAYER)
Lớp cảm biến là nền tảng cho mọi hệ thống IoT, các thiết bị được kết nối có
trách nhiệm cung cấp dữ liệu. Để nhận các thơng số vật lý bên ngồi hoặc bên trong
chính đối tượng, các thiết bị cần có các cảm biến. Cảm biến có thể được nhúng trong
các thiết bị hoặc nằm độc lập để đo lường và thu thập dữ liệu từ xa.
Một yếu tố không thể thiếu của lớp này là bộ truyền động. Phối hợp chặt chẽ
với cảm biến, bộ truyền động có thể biến đổi dữ liệu được tạo bởi các đối tượng thông
minh thành hành động vật lý. Tất cả những điều này được thực hiện mà không cần sự
can thiệp của con người.
Các đối tượng được kết nối khơng chỉ có khả năng giao tiếp hai chiều với các
gateway hoặc hệ thống thu thập dữ liệu tương ứng mà cịn có thể nhận ra và nói
chuyện với nhau để thu thập, chia sẻ thông tin và cộng tác trong thời gian thực. Tuy
nhiên do các thiết bị sử dụng pin và hoạt động bằng pin, việc đạt được điều này khơng

phải là dễ dàng vì việc giao tiếp như vậy đòi hỏi nhiều về yêu cầu tính tốn, tiêu tốn
năng lượng và băng thơng. Do đó, một kiến trúc vững chắc chỉ có thể quản lý thiết bị
hiệu quả khi nó sử dụng giao thức truyền thơng phù hợp, an tồn và nhẹ.
Lớp mạng (NETWORK LAYER)
Mặc dù lớp này hoạt động gần với các cảm biến và bộ truyền động trên các
thiết bị nhất định, nhưng nó vẫn là một lớp kiến trúc IoT riêng biệt vì nó rất quan trọng
đối với các quy trình thu thập, lọc và chuyển sang cơ sở hạ tầng cạnh và nền tảng đám
mây. Là trung gian giữa những vật được kết nối với đám mây, các gateway và hệ
thống thu thập dữ liệu là điểm kết nối liên kết các lớp còn lại với nhau.
Lớp xử lý dữ liệu (DATA PROCESSING LAYER)
Đây là đơn vị xử lý của hệ sinh thái IoT. Tại đây, dữ liệu được phân tích và xử
lý trước khi gửi đến trung tâm dữ liệu, nơi dữ liệu được truy cập bởi các ứng dụng
phần mềm thường được gọi là ứng dụng kinh doanh. Đây là nơi dữ liệu được theo dõi
và quản lý, các hành động tiếp theo cũng được chuẩn bị tại lớp này. Mặc dù khơng
phải là thành phần có ở mọi kiến trúc IoT, các thiết bị phân tích có thể mang lại lợi ích
đáng kể cho các dự án IoT quy mô lớn.
Lớp ứng dụng (APPLICATION LAYER)
Đây là lớp cuối cùng trong 4 giai đoạn của kiến trúc IoT. Trung tâm dữ liệu hoặc
đám mây có tác dụng lưu trữ, xử lý và phân tích khối lượng dữ liệu khổng lồ để hiểu
sâu hơn bằng cách sử dụng các công cụ phân tích dữ liệu mạnh và các cơ chế học máy.

13


1.2. Tổng quan về IoT Botnet
1.2.1. Giới thiệu về 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áy
tính bị nhiễm sẽ bị chi phối bởi một Botmaster hay Bot Header 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 hoặc giảm năng suất công việc của người dùng thông qua các lệnh điều khiển
tại Command & Control Server (viết tắt là C&C Server). Một hệ thống Botnet từ 1000
đến vài chục nghìn máy tính và được gọi là “Zombie” để chỉ một mạng lưới các máy
tính đang bị nhiễm Bot. [5]
Các Botnet có đặc điểm chung là rất khó để bị phát hiện. Chúng không gây cản
trở các hoạt động bình thường của máy tính. Chính vì vậy, người dùng thông thường
không thể phát hiện ra được. Một số loại Botnet còn được thiết kế để tránh bị rà quét
bởi các phần mềm an ninh. Theo thời gian, các Botnet sẽ có các thiết kế phức tạp hơn,
và các phiên bản mới hơn sẽ có thêm các tính năng mới giúp chúng ẩn mình tốt hơn.
Cấu trúc Botnet bao gồm các thành phần sau:
Botmaster: Người đứng sau điều khiển botnet.
C&C Server (Command and Control Server): máy chủ trực tiếp điều khiển và
ra lệnh cho các Bot trong mạng.
Bot (hoặc Zombie): là các máy tính bị xâm nhập, bị cài phần mềm độc hại và
chịu sự điều khiển của C&C Server.

14


Hình 1.3: Cấu trúc Botnet
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.
Mạng Botnet tập trung: Mơ hình máy khách – máy chủ (Client - Server)
Trong cấu trúc Client - Server, một mạng cơ bản được thiết lập với một máy
chủ, hoạt động như Botmaster. Botmaster kiểm sốt việc truyền thơng tin từ mỗi
Client để thiết lập lệnh và điều khiển các thiết bị khách. Mơ hình Client - Server hoạt
động với sự trợ giúp của phần mềm đặc biệt và cho phép Botmaster duy trì quyền
kiểm sốt. Mơ hình này có một vài nhược điểm như nó có thể được định vị dễ dàng và
chỉ có một điểm kiểm sốt. Trong mơ hình này, nếu máy chủ bị phá hủy, Botnet cũng
sẽ khơng cịn tồn tại.
Hình 1.4, Hình 1.5, Hình 1.6 dưới đây là các mơ hình mạng được thiết lập theo
cấu trúc máy khách – máy chủ.

15


Hình 1.4: Mơ hình mạng hình sao

Hình 1.5: Mơ hình mạng hình sao đa máy chủ

16


Hình 1.6: Mơ hình liên kết dạng phân cấp
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 website, 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 phân tán: Mơ hình ngang hàng (peer-to-peer)
Để khắc phục nhược điểm của việc dựa vào một máy chủ tập trung, các Botnet
đã phát triển. Các Botnet mới được kết nối với nhau dưới dạng cấu trúc ngang hàng,
không tồn tại C&C Server mà các Bot sẽ đảm nhận luôn vai trị này. Trong mơ hình
Botnet peer-to-peer, mỗi thiết bị được kết nối hoạt động độc lập như một Client và
Server, phối hợp với nhau để cập nhật và truyền thông tin qua lại. Cấu trúc Botnet
peer-to-peer mạnh hơn do khơng có một nơi điều khiển tập trung duy nhất.
Hình 1.7 dưới đây là mơ hình mạng được thiết lập theo cấu trúc ngang hàng.

17


Hình 1.7: Mơ hình ngang hàng
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 khi đã gia nhập vào mạng Botnet, Bot sẽ nhận lệnh của tin tặc 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.
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.

1.2.2. Tổng quan về IoT Botnet
IoT Botnet là mạng lưới các thiết bị được kết nối với Internet vạn vật (IoT),
điển hình là bộ định tuyến, đã bị nhiễm mã độc (cụ thể là phần mềm độc hại IoT
botnet) và rơi vào tầm kiểm soát của các tác nhân độc hại. Phần mềm độc hại này cho
phép kẻ tấn cơng kiểm sốt các thiết bị. Không giống như các mạng botnet truyền
thống, các thiết bị IoT bị lây nhiễm tìm cách phát tán phần mềm độc hại của chúng,
18


liên tục nhắm mục tiêu vào ngày càng nhiều thiết bị. Trong khi một mạng Botnet
truyền thống có thể bao gồm hàng nghìn hoặc hàng chục nghìn thiết bị, thì một mạng
IoT Botnet có quy mơ lớn hơn, với hàng trăm nghìn thiết bị bị xâm phạm. Trong đồ án
này, mã độc IoT Botnet được xem như là mã độc Botnet lây nhiễm trên các thiết bị
IoT cho rằng có thể hiểu đơn giản như sau “mã độc IoT Botnet là mã độc Botnet có
khả năng tự lây nhiễm trên các thiết bị IoT, bị kết nối và điều khiển bởi tin tặc”. Trong
đó, đại đa số các thiết bị IoT chạy trên nền tảng biến thể của hệ điều hành Unix.
Những biến thể đó rất phổ biến bởi chúng chứa nhiều tiện ích phổ biến, và nhiều khả
năng của Unix trong một tập tin thực thi. Đó cũng là lý do đồ án này chỉ tập trung vào
các tập tin thực thi trên Linux, có định dạng phổ biến là ELF (Executable Linkable
Format).

Hình 1.8: Vị trí của IoT Botnet trong các loại mã độc

Hình 1.9: Mối quan hệ giữa một số mã độc IoT botnet
19



Hơn một thập kỷ trước, IoT botnet đầu tiên đã được cơng nhận. Sau đó, nó
được phát triển bởi nhiều IoT Botnet đến ngày nay. Điển hình là Hydra IoT Botnet
xuất hiện vào năm 2008 [6] [7] [8] đã lây nhiễm vào các bộ định tuyến và có khả năng
tấn công và phát tán DDoS. Mirai, vào năm 2016, là IoT Botnet lớn nhất đã lây nhiễm
cho hàng triệu thiết bị và thống trị chúng để thực hiện cuộc tấn công từ chối dịch vụ
DDoS lớn nhất từ trước đến nay [6]. Năm 2016 cũng chứng kiến sự xuất hiện của một
loại Botnet khác cạnh tranh với Mirai, được gọi là Hajime, một IoT Botnet sử dụng mơ
hình mạng ngang hàng (P2P) [9]. Botnet này không để lại bất kỳ hành động phá hoại
nào, mã độc chỉ đơn giản đóng một số cổng, ngăn chặn các thiết bị không nhiễm Mirai
và các thiết bị tương tự, vì vậy một số người tin rằng nó có vai trị bảo vệ cho các thiết
bị Internet of Things. Ngoài ra, trong năm 2017, một mạng Botnet IoT có tên là
Brickerbot đã xuất hiện nhằm mục đích phá hủy vĩnh viễn các thiết bị thông qua các
cuộc tấn công từ chối dịch vụ vĩnh viễn (PDoS). Vào năm 2018, một mạng Botnet IoT
mới đã xuất hiện để quét các thiết bị IoT dễ bị tấn cơng và phát tán phần mềm độc hại
của nó bên trong môi trường IoT. Trong “IoT botnet of high wattage devices can
disrupt the power grid” [10], các nhà nghiên cứu đã điều tra một cuộc tấn công tiềm ẩn
trong đó một mạng Botnet sử dụng các thiết bị IoT có cơng suất điện cao để kiểm sốt
các u cầu và sau đó làm gián đoạn các quy trình của lưới điện. Các nhà nghiên cứu
đã sử dụng các thiết bị IoT để đảo ngược các cuộc tấn công DDoS, vốn khó theo dõi;
họ cũng thảo luận về các khả năng của các cuộc tấn công DDoS. Cuối cùng, vào năm
2020, Mukashi [11], một biến thể mới của Mirai và một trong những họ IoT Botnet
phần mềm độc hại của nó, đã lợi dụng lỗ hổng CVE-2020-9054 tồn tại trong các thiết
bị Zyxel NAS sử dụng firmware phiên bản 5.21, cho phép mã độc được thực thi trên
các máy dễ bị tấn công từ xa.
Theo nghiên cứu của Syarif Yusirwan S, Yudi Prayudi và Imam Riadi [12], IoT
Botnet thực hiện tấn cơng ít nhất ba giai đoạn chính (xem Hình 1.10).

Hình 1.10: Vịng đời của IoT Botnet
20



Giai đoạn 1: Giai đoạn quét
Để xác định vị trí của một thiết bị dễ bị tấn công, một Bot (hoặc mã độc) thực
hiện quét và do thám. Botmaster quét các thiết bị IoT dễ bị tấn công. Một khi tìm được
lỗ hổng, nó bắt đầu lây nhiễm thơng qua tấn công brute force hoặc bằng cách khai thác
lỗ hổng. Một khi thiết bị bị xâm phạm, nó sẽ trở thành một Bot và bắt đầu giao tiếp với
Botmaster.
Giai đoạn 2: Giai đoạn phát tán
Một phiên bản phù hợp của Bot được cài đặt và thực thi dựa trên kiến trúc của
thiết bị dễ bị tấn công. Thông thường, để tránh nhắm mục tiêu các thiết bị trở thành
nạn nhân của bất kỳ phần mềm độc hại tiềm ẩn nào khác và có được quyền kiểm sốt
hồn tồn, Bot ngăn chặn quá trình liên kết với dịch vụ liên quan để xóa bất kỳ phần
mềm độc hại nào khác trước đó và khóa các cổng cho chính nó. Mã độc chọn Bot mới
và phát tán để mở rộng mạng IoT Botnet nhanh nhất có thể và vẫn đang chờ lệnh từ
Botmaster.
Giai đoạn 3: Giai đoạn tấn công
Thực hiện các hoạt động độc hại như DDoS, khai thác tiền điện tử và thư rác.
Kẻ tấn công bắt đầu cuộc tấn công bằng cách gửi các lệnh thông qua máy chủ chỉ huy
và điều khiển đến tất cả các Bot được phân phối để kích hoạt cuộc tấn cơng. Do đó,
các Bot bắt đầu cuộc tấn công sau khi nhận được các lệnh giống hệt nhau.

1.2.3. Cấu trúc và nguyên lý hoạt động của IoT Botnet
Quy trình IoT Botnet lây nhiễm bao gồm 7 bước được mơ tả như Hình 1.11:

21


Hình 1.11: Quy trình lây nhiễm của IoT Botnet
Bước 1: Mã độc dò quét dải địa chỉ IP ngẫu nhiên thơng qua TCP cổng 23/2323
để tìm kiếm các thiết bị IoT có lỗ hổng bảo mật để xâm nhập, lây nhiễm mở rộng

mạng lưới máy tính Botnet. Tuy nhiên, để tránh bị phát hiện và tránh sự chú ý của các
cơ quan chính phủ, mã độc IoT thường loại trừ một số dải địa chỉ IP đặc biệt của
IANA, hãng HP, Bộ quốc phịng Mỹ, dịch vụ bưu chính Mỹ. Sau khi dị qt được
thiết bị có khả năng xâm nhập, mã độc IoT tiến hành tấn công vét cạn để truy cập thiết
bị. Việc vét cạn thường được thực hiện dựa trên tổ hợp các tài khoản mặc định có sẵn
được nhúng trong mã nguồn mã độc. Ví dụ: admin/admin, admin/123.
Bước 2: Sau khi dò quét được thiết bị có khả năng xâm nhập và đã thu thập
được thơng tin để xác thực và leo thang đặc quyền trên thiết bị (thông qua giao diện
câu lệnh hoặc giao diện đồ họa), thì mã độc sẽ gửi những thơng tin đặc trưng của thiết
bị về máy chủ Report thông qua các cổng dịch vụ khác (không sử dụng cổng đã dị
qt ban đầu), những thơng tin đó như địa chỉ IP, giá trị cổng giao thức, kiến trúc thiết
bị và tài khoản xác thực.
Bước 3: Mã độc nhận lệnh từ C&C để kiểm tra thông tin đặc tả của thiết bị như
địa chỉ IP, kiến trúc phần cứng (MIPS, ARM, PowerPC, …)
Bước 4: Sau khi máy chủ C&C tiếp nhận thơng tin đặc tả về thiết bị thì sẽ ra
lệnh cho máy chủ Loader lựa chọn tập tin thực thi mã độc phù hợp.
Bước 5: Máy chủ Loader gửi tới thiết bị muốn xâm nhập tập tin mã độc phù
hợp. Ngay sau khi tập tin mã độc được tải về và thực thi trên thiết bị thì mã độc sẽ xóa
tập tin thực thi và chỉ chạy trong bộ nhớ RAM để tránh bị phát hiện, đồng thời mã độc
22


sẽ tắt các dịch vụ cho phép truy cập từ xa như Telnet, SSH, vơ hiệu hóa các chức năng
của tường lửa…và tìm kiếm các mã độc khác nhằm diệt chúng để tránh bị ảnh hưởng
đến tài nguyên thiết bị. Ví dụ: mã độc Mirai sau khi lây nhiễm thành cơng thiết bị sẽ
tìm và diệt các mã độc cạnh tranh như Qbot, Remaiten. Việc khởi động lại thiết bị có
thế xóa được mã độc Botnet, nhưng việc này chỉ được thực hiện bởi quản trị hệ thống
hoặc quản trị mạng. Ví dụ, nếu thiết bị lây nhiễm mã độc là các thiết bị định tuyến thì
hệ thống mạng sẽ bị gián đoạn khi các thiết bị định tuyến khởi động lại. Hơn nữa, hành
động này có thể vi phạm chính sách thỏa thuận mức độ phục vụ (SLA – Service Level

Agreement) của các dịch vụ có độ sẵn sàng cao.
Bước 6 và 7: Thông qua C&C kẻ tấn công có thể ra lệnh cho mã độc thực hiện
các tấn công từ chối dịch vụ phân tán bằng nhiều kỹ thuật như UDP flood, SYN flood,
GRE IP flood… tới một mục tiêu cụ thể.

1.3. Các phương pháp phát hiện IoT Botnet
1.3.1. Khái quát về phát hiện IoT Botnet
Mối đe dọa từ IoT Botnet là một vấn đề mà Internet of Things (IoT) phải đối
mặt, đòi hỏi các phương pháp, kỹ thuật phòng thủ và phản ứng hiệu quả. Các phương
pháp tiếp cận và cơng nghệ khác nhau có thể cung cấp các cải tiến trong việc phát hiện
các IoT Botnet và cải thiện tính bảo mật tổng thể của hệ sinh thái IoT. Mục đích của
việc phát hiện sớm mã độc là đưa ra những cảnh báo sớm để có cơ chế ngăn chặn kịp
thời trước khi các mã độc thực hiện các hành vi hay chức năng của chúng. Chính vì
vậy, vai trị của phát hiện mã độc là hết sức quan trọng, chúng ta ln ln phải tìm
kiếm và phát hiện sự tồn tại của mã độc ngay cả khi chúng không thực thi hay làm bất
cứ điều gì.
Các phương pháp phát hiện mã độc IoT Botnet có thể chia thành 2 hướng tiếp
cận chính như:
Các phương pháp dựa trên chữ ký (signature-based)
Các phương pháp dựa trên chữ ký sử dụng một chuỗi các byte có thể là mã
băm, được trích xuất từ mã độc IoT Botnet đã biết như một chữ ký đại diện đặc trưng
duy nhất cho mỗi tập tin nhận dạng mã độc. Ngoài ra, việc phát hiện mã độc dựa trên
chữ ký đem lại khả năng phát hiện đúng cao với các loại mã độc IoT Botnet đã được
biết và phân tích. Tuy nhiên, việc gia tăng liên tục về số lượng cũng như sự phức tạp
của mã độc như mã độc “zero-day” và mã độc “unknown” thì phương pháp dựa trên
23


×