BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ
ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU TẤN CÔNG DDOS VỚI BOTNET MIRAI
TRÊN CÁC THIẾT BỊ INTERNET OF THINGS ( IoT )
Ngành: Công nghệ thông tin
Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Hà Nội, 2017
1
BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ
ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU TẤN CÔNG DDOS VỚI BOTNET MIRAI
TRÊN CÁC THIẾT BỊ INTERNET OF THINGS ( IoT )
Ngành: Công nghệ thông tin
Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Sinh viên thực hiện:
Nguyễn Thế Đạt
Lớp: AT9A
Người hướng dẫn :
KS. Nguyễn Mạnh Thắng
Khoa An toàn thông tin – Học viện Kỹ thuật mật mã
Mọi đóng góp trao đổi liên hệ:
SĐT: 01699960595 hoặc 0949423894. Mail:
2
Hà Nội, 2017
3
MỤC LỤC
Danh mục kí hiệu và viết tắt
.................................................................
5
Danh mục hình vẽ
...................................................................................
6
Danh mục bảng
........................................................................................
8
Lời nói đầu
...............................................................................................
9
Chương 1. Tổng quan về internet of things
........................................
11
1.1. Lịch sử hình thành và phát triển Internet
..........................................
11
1.2. Giới thiệt về Internet of Things
........................................................
12
Chương 2. Tổng quan về tấn công từ chối dịch vụ ddos
................
16
2.1. Tổng quan về an ninh mạng
.............................................................
16
2.2. Tổng quan về tấn công từ chối dịch vụ
...........................................
16
Chương 3. Nghiên cứu về mã nguồn botnet mirai
............................
19
3.1. Giới thiệu về Botnet Mirai
................................................................
19
3.2. Phân tích các thành phần của Botnet Mirai
.......................................
22
Chương 4. Triển khai thực nghiệm botnet mirai trÊn cÁc thiết bị
iot
...............................................................................................................
37
4.1. Mô tả thực nghiệm
............................................................................
37
4.2. Thử nghiệm tấn công
........................................................................
37
Kết luận
..................................................................................................
51
Tài liệu tham khảo
................................................................................
52
Phụ lục
....................................................................................................
53
4
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
||
Hoặc
&
Và
Admin
Administrator
ARPANET Advanced Research Projects Agency Network
CNC
Command And Control
DDoS
Distributed Denial of Service
IP
Internet Protocol
IoT
Internet of Things
LAN
Local Area Metwork
NII
National Information Infrastructure
NSF
National Science Foundation
MILNET
Military Network
TCP/IP
Transmission Control Protocol/Internet Protocol
5
DANH MỤC HÌNH VẼ
Hình 1.1. Xu hướng phát triển IoT......................................................12
Hình 3.2. Mirai sử dụng 5 useragent khác nhau (mirai/bot/table.h).
...................................................................................................................20
Hình 3.3. Mirai sử dụng 10 kỹ thuật tấn công từ chối dịch vụ
(mirai/bot/attack.h).................................................................................20
Hình 3.4. Mô hình hoạt động logic của các thành phần....................21
Hình 3.5. Cấu trúc thư mục mã nguồn...............................................21
Hình 3.6. CNC lắng nghe kết nối (mirai/cnc/main.go)......................23
Hình 3.7. CNC nhận được thông tin là bot hoặc admin
(mirai/cnc/main.go).................................................................................24
Hình 3.8. Nhập username từ cmd.........................................................24
Hình 3.9. Nhập password từ cmd..........................................................24
Hình 3.10. Nhập password từ cmd........................................................25
Hình 3.11. Thông báo đăng nhập thành công......................................25
Hình 3.12. Kiểm tra số lượng Bot connect tới CNC..........................25
Hình 3.13. Thêm và cấu hình cho tài khoản mới................................26
Hình 3.14. Hàm AttackInfoLookup.......................................................27
Hình 3.15. Thiết lập network card cho report server (loader/main.c).
...................................................................................................................27
Hình 3.16. Khởi tạo server chứa mã độc (loader/main.c).................28
Hình 3.17. Nhận ip, port, user, pass từ STDIN (loader/main.c)........28
Hình 3.18. Sử dụng busybox login và lây mã độc (loader/server.c).. 31
Hình 3.19. Lắng nghe kết nối trên cổng 48101 (scanListen.go).......31
Hình 3.20. Hiển thị thông tin thiết bị bruteforce được
(scanListen.go).........................................................................................32
Hình 3.21. Che dấu tiến trình (mirai/bot/main.c)...............................33
Hình 3.22. Các phương thức tấn công (mirai/bot/attack.c)...............34
Hình 3.23. Kill các cổng dịch vụ (mirai/bot/killer.c)..........................34
Hình 3.24. Ngăn cản thiết bị reboot lại (mirai/bot/main.c)...............35
6
Hình 3.25. Tài khoản dùng để bruteforce IoT mới
(mirai/bot/scanner.c)...............................................................................35
Hình 3.26. Địa chỉ bruteforce thiết bị IoT mới (mirai/bot/scanner.c).
...................................................................................................................35
Hình 3.27. Bot gửi thông tin các IoT mới đã bruteforce
(mirai/bot/scanner.c)...............................................................................36
Hình 3.28. Khai báo domain và port các server (mirai/bot/table.c).. .36
Hình 4.29. Khởi chạy CNC Server.......................................................38
Hình 4.30. Cài đặt thông tin của Database (cnc\main.c)....................39
Hình 4.31. CNC đăng nhập Database (cnc\database.go)....................39
Hình 4.32. Khởi chạy scanListen..........................................................39
Hình 4.33. Mở port 48101 chờ kết quả từ Bot...................................40
Hình 4.34. Nhập Bot cho Loader...........................................................40
Hình 4.35. Loader kết nối thiết bị IoT lây nhiễm Malware.............41
Hình 4.36. Loader thực hiện lây lan Malware.....................................41
Hình 4.37. Attacker telnet tới CNC.......................................................42
Hình 4.38. Attacker đăng nhập CNC....................................................43
Hình 4.39. Kiểm tra kết nối tới cổng 23 là Bot hay Admin
(cnc/main.go)............................................................................................44
Hình 4.40. Loader hiển thị Bot kết nối thành công...........................45
Hình 4.41. Thông tin Bot scan thiết bị khác........................................46
Hình 4.42. Thông tin thiết bị mà Bot bruteforce thành công.............47
Hình 4.43. Nhập lệnh tấn công.............................................................47
Hình 4.44. Lệnh hacker dùng tấn công................................................48
Hình 4.45. Thiết bị IoT là IP Camera bị chiếm quyền kiểm soát.. .50
Hình 4.46. Victim bị Attacker tấn công khiến lưu lượng tăng cao..50
7
DANH MỤC BẢNG
Bảng 1. Thành phần thực nghiệm.......................................................37
8
LỜI NÓI ĐẦU
Internet of Things là cụm từ nhằm để chỉ các đối tượng có thể được nhận
biết cũng như sự tồn tại của chúng và được Kenvin Ashton đưa ra năm 1999. Cho
đến nay, mạng lưới vạn vật kết nối Internet là một kịch bản của thế giới hiện
đại khi mà mỗi đồ vật, con người được cung cấp một định danh riêng và tất cả
đều có khả năng truyền tải, trao đổi thông tin qua mạng mà không cần tương tác
trực tiếp giữa người với người hay người với máy tính. Tóm lại, IoT là một tập
hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên
ngoài để thực hiện một công việc nào đó.
Trong bối cảnh IoT bùng nổ như là một xu hướng mới trong tương lai đi
kèm với những tiện ích thì cũng tiềm ẩn những mối nguy hại và trở thành mục
tiêu hàng đầu của giới Hacker hiện đại. IoT có thể gây ảnh hưởng xấu nếu các
thiết bị bảo mật kém có thể bị nhiễm mã độc và trở thành một zombie trong
mạng botnet. Khi hacker điều khiển một lượng lớn thiết bị IoT sẽ dễ dàng tấn
công DDoS đánh sập bất cứ thứ gì trên Internet với lượng dữ liệu khổng lồ.
Cuối năm 2016, mã nguồn Mirai đã được công bố gây ra ảnh hướng lớn
kèm theo vô vàn mối lo và cũng là lời cảnh báo với các sản phẩm IoT trong tương
lai. Vì vậy đề tài được chọn khi thực hiện đồ án tốt nghiệp này là "Nghiên cứu
tấn công DDoS với botnet Mirai trên các thiết bị Internet of Things (IoT)".
Đồ án được thực hiện nhằm mục đích nghiên cứu cách thức hoạt động và
mối nguy hiểm của mã nguồn botnet Mirai trên thiết bị IoT để từ đó đưa ra các
giải pháp phòng chống.
Mục tiêu đặt ra khi thực hiện đồ án là:
1. Xây dựng hệ thống botnet.
2. Nghiên cứu cách thức hoạt động của hệ thống botnet.
3. Tìm hiểu một số kỹ thuật coding thú vị trong mã nguồn.
4. Lây nhiễm mã độc lên thiết bị thật và thực nghiệm tấn công DDoS.
5. Nghiên cứu phát triển những hạn chế của mã nguồn.
Sau thời gian khoảng bốn tháng thực hiện đồ án, các mục tiêu về cơ bản đã
đạt được. Tuy nhiên tấn công DDoS IoT là lĩnh vực khoa học phức tạp, thời gian
thực hiện đồ án tương đối ngắn nên chắc chắn không tránh khỏi thiếu sót. Rất
9
mong được sự góp ý của các thầy cô, cũng như các bạn học viên để đồ án này
được hoàn thiện hơn.
10
CHƯƠNG 1. TỔNG QUAN VỀ INTERNET OF THINGS
1.1.
Lịch sử hình thành và phát triển Internet
Internet được sinh ra như một mạng được phát triển cho mục đích quân sự.
Mạng có tên ARPANET đã được phát triển để thử nghiệm và nghiên cứu bởi cơ
quan dự án nghiên cứu nâng cao của Bộ quốc phòng Mỹ (DARPA) vào năm 1969
chính là nguồn gốc sinh ra Internet. Vào thời đó, hệ thống máy tính chủ yếu là hệ
thống máy chủ trung tâm và bị coi là rất mong manh đối với các cuộc tấn công tên
lửa, vì chỉ một cuộc tấn công có thể phá hủy mọi thông tin. Do vậy, ARPANET
đã được xây dựng thành một dự án nghiên cứu để phân bổ thông tin trên hệ thống
máy tính.
Ban đầu, với tốc độ truyền thấp 56 kbps và hệ thống đã được tạo nên bởi
các viện nghiên cứu và các trường đại học ở Mỹ được kết nối bằng mạng gói.
Sau đó sự phát triển của công nghệ đã tạo khả năng làm cho ARPANET đóng vai
trò trung tâm như một mạng truyền thông trong gần 20 năm sau.
Giao thức truyền thông TCP/IP là một trong các công nghệ nền tảng mà
không thể bỏ qua khi bạn nói về sự phát triển Internet. Bởi DARPA đã sử dụng
TCP/IP như là giao thức chuẩn cho ARPANET, từ đó TCP/IP được phát triển
thành giao thức chuẩn trên Internet. Rất nhiều đầu tư nghiên cứu và phát triển
trong công nghệ mạng LAN đã được thực hiện vào giữa những năm 1970 đã đóng
góp rất nhiều vào sự phát triển Internet.
Vào năm 1983, một phần của mạng ARPANET phục vụ chủ yếu cho mục
đích quân sự đã được cắt bỏ (phần này có tên là MILNET (MILitary NETwork) và
phần còn lại của mạng được chuyển thành mạng phục vụ cho khoa học và
nghiên cứu. TCP/IP đã được chấp nhận là giao thức truyền thông vào thời điểm
đó.
Quĩ khoa học quốc gia Hoa Kỳ (NSF) đã xây dựng và vận hành hệ thống
mạng độc lập của mình có tên là NSFNET vào năm 1986.
Sau đó, NSFNET và ARPANET đã được liên nối để hình thành nên bản
mẫu Internet đầu tiên của thế giới (NSFNET đã hấp thu ARPANET vào năm
1990).
Một yếu tố không thể thiếu trong sự phát triển của Internet đó là thiết lập
cơ sở hạ tầng truyền thông tin. Một trong những người đầu tiên nhận ra tầm
11
quan trọng của việc xây dựng cơ sở hạ tầng truyền thông này chính là phó tổng
thống Mỹ khi đó, ông Al Gore, người đã đưa ra kế hoạch NII (kết cấu nền thông
tin quốc gia) vào năm 1993. Kế hoạch này tập trung vào việc nghiên cứu và phát
triển một mạng siêu nhanh (cấp độ Gbps) và việc toàn cầu hoá nó đã làm lẩy cò
việc xây dựng kết cấu nền truyền thông tin.
Đến nay, các máy tính cá nhân cũng đã được hỗ trợ giao thức TCP/IP, có
năng lực xử lý cao hơn và ít đắt hơn, đã dẫn tới thực trạng là công chúng có thể
dễ dàng kết nối Internet bằng cách sử dụng máy tính cá nhân bình thường. Điều
này đã khiến cho việc sử dụng Internet trở nên rất phổ biến trong công chúng.
1.2.
Giới thiệt về Internet of Things
1.2.1. Xu hướng phát triển
Với sự phát triển của Internet, smartphone và đặc biệt là các thiết bị cảm
biến, Internet of Things đang trở thành xu hướng mới của thế giới. Internet of
Things được định nghĩa là những vật dụng có khả năng kết nối Internet. Ý tưởng
nhà thông minh như vào nhà, mở khóa cửa, đèn sẽ tự động sáng chỗ đứng, điều
hòa sẽ tự động điều chỉnh nhiệt độ, nhạc sẽ tự động bật để chào đón…những
điều chỉ có trong phim khoa học viễn tưởng, đang dần trở thành hiện thực với
công nghệ Internet of Things.
Hình 1.1. Xu hướng phát triển IoT.
12
Ý tưởng về an toàn giao thông được thực hiện hóa bằng giải pháp mạng
cảm biến phương tiện. Mạng cảm biến phương tiện được tạo nên bằng nhiều
phương tiện có tính năng giao tiếp V2V để giúp truyền hoặc nhận thông tin để
các phương tiện khác có thể nhận biết và dự đoán các tình huống chưa hoặc đã
xảy ra. Sau đó, bằng trí tuệ nhân tạo mà phương tiện có thể tự điều khiển hoặc
cảnh báo cho người dùng.
Các thiết bị Internet of Things được vận hành nhờ những bộ vi xử lý SOC
bên trong. Không như những bộ vi xử lý thông thường, SOC giống như một máy
tính trọn vẹn được thu gọn trong diện tích của một con chip điện tử, có kết nối
không dây và đảm bảo tiết kiệm điện. Dù nhỏ gọn, sức mạnh của các vi xử lý
SOC là không phải bàn cãi khi nó hoàn toàn có thể vận hành trơn tru những hệ
điều hành nặng nề như Windows hay Linux. SOC rất phổ biến trong bên trong
các linh kiện điện thoại.
Theo dự báo của IDC, thị trường Internet of Things được dự báo sẽ tăng
gấp 3 lần, đạt 1,7 nghìn tỉ USD vào năm 2020. Không ít các doanh nghiệp lớn đã
nhìn thấy tiềm năng của Internet of Things và mạnh dạn đầu tư vào đây.Tuy
nhiên, cũng giống như bất kỳ một công nghệ mới nào, Internet of Things sẽ cần
một nền tảng để vận hành.Và các doanh nghiệp công nghệ hiểu rằng, ai tạo ra
được nền tảng dẫn đầu, họ sẽ là người chiến thắng trong xu hướng mới này.
1.2.2. Ứng dụng thực tiễn
Nhờ Internet of Things, có nhiều ý tưởng độc đáo đã trở thành hiện thực.
Không chỉ phát huy tốt hơn cho công dụng vốn có của thiết bị, Internet of Things
còn góp phần đem lại cuộc sống tốt đẹp hơn cho con người. Có thể kể đến như
Boogio đôi giày thông minh có lắp một cảm biến cực mỏng và máy tính Artik
siêu nhỏ để lưu trữ lại dữ liệu của người dùng và kết nối với với smartphone và
đồng hồ thông minh. Thông qua đôi giày này, người dùng có thể tính toán được
hôm nay mình đã chạy bao nhiêu bước, luyện những bài tập nào, đốt cháy bao
nhiêu calo, đo chỉ số sức khỏe của bản thân và có được một cơ thể dẻo dai hơn.
Một sản phẩm khác của Internet of Things xuất phát từ ý tưởng tiết kiệm
nước có tên là Weenat. Weenat sẽ sử dụng các cảm biến về độ ẩm, kết hợp với
hệ thống các máy tính siêu nhỏ để tính toán độ ẩm và các quyết định canh tác phù
hợp. Hệ thống cảm biến hoạt động không dây, được đặt trực tiếp trên các cánh
13
đồng và có vòng đời rất dài, sẽ giúp những người nông dân tiết kiệm tối đa
nguồn nước dùng cho tưới tiêu.
Với việc tạo ra ngày càng nhiều những thiết bị Internet of Things thông
minh, các hãng công nghệ lớn đang góp phần giúp cuộc sống người dùng trở nên
tốt đẹp hơn. Bên cạnh đó, những nỗ lực không ngừng của họ trong việc đầu tư
cho cuộc cách mạng Internet of Things còn hứa hẹn sẽ đem đến cho con người
một tương lai tươi sáng hơn nữa.
1.2.3. Những mối nguy hiểm tiềm ẩn
Các thiết bị kết nối với Internet nhưng chỉ được bảo vệ bằng mật
khẩu mã hóa cứng (hardcoded password) hoặc mật khẩu yếu.
Lỗ hổng bảo mật Zeroday trong các sản phẩm thông minh hiện nay
rất nhiều, mở ra một cơ hội khác cho tin tặc, botnet và các dạng tội
phạm mạng theo đó nảy nở.
Các CVE của thiết bị IoT như router, hiện cũng được public gây ra
những lo lắng không chỉ về doanh nghiệp mà còn về uy tín của cả
nhà cung cấp dịch vụ.
Lập trình IoT trên linux nếu không hiểu rõ những thư viện tải về sử
dụng để code cũng là 1 vấn đề nguy hiểm khi lập trình IoT.
Bảo mật cho các thiết bị IoT là rất khó khăn vì những lý do về kỹ
thuật, công nghệ và thậm chí cả nền văn hóa. Đối với người dùng
thông thường, đã là rất khó để khiến họ cập nhật những bản vá mới
nhất trên máy tính xách tay, điện thoại thông minh. Ngày nay, thiết bị
nào cũng có thể có những lỗ hổng bảo mật, khi nhà sản xuất muốn
nâng cấp firmware hay cài bản vá cho những thiết bị này sẽ rất phiền
phức.
Thay vì tấn công máy tính xách tay và cài mã độc thì hacker lại tận
dụng các thiết bị IoT, như camera giám sát CCTV, đầu ghi DVR,
smartTV hay các hệ thống tự động trong nhà. Không như máy tính
bàn hay xách tay, rất khó phát hiện botnet có trong thiết bị IoT.
14
Khi một thiết bị nhiễm mã độc sẽ trở thành bàn đạp để phát tán mã
độc đến các thiết bị khác hình thành nên một mạng botnet khổng lồ
được mở rộng nhanh chóng.
15
CHƯƠNG 2. TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ
DDOS
2.1.
Tổng quan về an ninh mạng
Máy tính có phần cứng chứa dữ liệu do hệ điều hành quản lý, đa số các
máy tính nhất là các máy tính trong công ty, doanh nghiệp được nối mạng LAN và
Internet. Nếu như máy tính, hệ thống mạng không được trang bị hệ thống bảo vệ
sẽ là mục tiêu của Virus, Worms, Unauthorized User…có thể bị tấn công vào máy
tính hoặc cả hệ thống bất cứ lúc nào.
Vậy an toàn mạng có nghĩa là bảo vệ hệ thống mạng, máy tính khỏi sự phá
hoại phần cứng hay chỉnh sửa dữ liệu (phần mềm) mà không được sự cho phép
từ những người cố ý hay vô tình. An toàn mạng cung cấp giải pháp, chính sách,
bảo vệ máy tính, hệ thống mạng để làm cho những người dùng trái phép, cũng
như các phần mềm chứa mã độc xâm nhập bất hợp pháp vào máy tính, hệ thống
mạng.
2.2.
Tổng quan về tấn công từ chối dịch vụ
2.2.1. Giới thiệu về tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ là sự cố gắng làm cho tài nguyên của một máy
tính không thể sử dụng được nhằm vào những người dùng của nó. Mặc dù
phương tiện để tiến hành, động cơ, mục tiêu của tấn công từ chối dịch vụ là
khác nhau, nhưng nói chung nó gồm có sự phối hợp, sự cố gắng ác ý của một
người hay nhiều người để chống lại Internet site hoặc service (dịch vụ Web) vận
hành hiệu quả hoặc trong tất cả, tạm thời hay một cách không xác định.
Tấn công bằng từ chối dịch vụ DoS (Denial of Service) có thể mô tả như
hành động ngăn cản những người dùng hợp pháp khả năng truy cập và sử dụng
vào một dịch vụ nào đó. Nó bao gồm việc làm tràn ngập mạng, mất kết nối với
dịch vụ… mà mục đích cuối cùng là máy chủ (Server) không thể đáp ứng được
các yêu cầu sử dụng dịch vụ từ các máy trạm (Client). DoS có thể làm ngưng
hoạt động của một máy tính, một mạng nội bộ hoặc cả một hệ thống mạng rất
lớn.Về bản chất thực sự của DoS, kẻ tấn công sẽ chiếm dụng một lượng lớn tài
nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu cầu
dịch vụ từ các client khác.
16
a) Giới thiệu về Botnet
Môt “bot” la môt loai phân mêm đôc hai cho phep ke tân công gianh quyên
̣
̀ ̣
̣
̀
̀
̣
̣
́ ̉ ́
̀
̀
kiêm soat hoan toan may tinh bi anh h
̉
́
̀
̀
́ ́
̣ ̉
ưởng. May tinh đang bi nhiên môt “bot”
́ ́
̣
̃
̣
thương đ
̀
ược goi la zombie. Trên th
̣ ̀
ực tê co hang ngan may tính trên Internet bi
́ ́ ̀
̀
́
̣
nhiêm môt sô loai “bot” ma thâm chi không nhân ra no.
̃
̣ ́ ̣
̀ ̣
́
̣
́
May
́ chủ Bot kiêm
̉ soat́ và điêu
̀ khiên
̉ môṭ botnet được goị là
botmaster.
Bot la môt ch
̀ ̣
ương trinh client cho phep Botmaster ra lênh va kiêm
̀
́
̣
̀ ̉
soat may tinh bi nhiêm.
́ ́
̣
̃
Botnet la môt mang l
̀ ̣
̣
ươi cac may tinh b
́ ́
́ ́ ị xâm nhâp, lây nhi
̣
ễm bởi bot.
b) Nguyên lý hoạt động Botnet
Môt botnet bao gôm it nhât la môt botmaster va môt hoăc nhiêu bot. Kha
̣
̀ ́
́ ̀ ̣
̀ ̣
̣
̀
̉
năng cua cac botnet hanh đông môt cach phôi h
̉
́
̀
̣
̣
́
́ ợp vơi tât ca hoăc môt phân cua
́ ́ ̉
̣
̣
̀ ̉
botnet la nên tang cho khai niêm botnet. Botnet đ
̀ ̀ ̉
́ ̣
ược quan ly b
̉
́ ởi môt botherder.
̣
Khởi nguôn cua Botnet đ
̀ ̉
ược goi la Botnetherder. Botnetherder la ng
̣ ̀
̀ ươi đa
̀ ̃
tao ra mang l
̣
̣
ươi cac bot đ
́ ́
ược sử dung cho muc đich đôc hai nh
̣
̣
́
̣
̣
ư tâmn công môt
́
̣
tử chưc nao đo băng cach s
́ ̀
́ ̀
́ ử dung tân công DDoS hoăc kiêm tiên băng cach s
̣
́
̣
̉
̀ ̀
́ ử
dung th
̣
ư rac.
́
Môt Botherder co thê s
̣
́ ̉ ử dụng công cụ IRC, CMD kết nối tới C&C Server.
Server này sẽ như một proxy gửi lệnh điều khiển của hacker tới mạng botnet.
Viêc khai thac botnet cân co kinh nghiêp lâp trinh giao th
̣
́
̀ ́
̣ ̣
̀
ưc ra lênh ngay t
́
̣
ừ khi băt́
đâu.
̀
Sự gia tăng cua băng thông tiêu dung đa tăng lên rât nhiêu s
̉
̀
̃
́
̀ ưc manh cua
́
̣
̉
botnet đê kh
̉ ởi đông g
̣
ợn song tân công DDoS lên server, lây nhiêm hang triêu v
́
́
̃
̀
̣ ới
hang triêu may tinh v
̀
̣
́ ́ ơi cac phân mêm gian điêp va ma đôc hai khac, ăn căp d
́ ́
̀
̀
́
̣
̀ ̃ ̣
̣
́
́ ữ liêu
̣
nhân dang, g
̣
̣
ửi sô l
́ ượng lơn cac th
́ ́ ư rac va tham gia vao cac click gian lân, hăm
́ ̀
̀ ́
̣
doa va tông tiên.
̣
̀ ́
̀
Botnet la môi đe doa an ninh hang đâu internet ngay nay. Hacker đang thu hut
̀ ́
̣
̀
̀
̀
́
bởi botnet do client (bot) thực hiên đăt hang tai bât c
̣
̣ ̀
̣ ́ ứ nơi nao co kêt nôi. No rât de
̀ ́ ́ ́
́ ́ ̃
dang đê ăn hoa hông dich vu tân công botnet va hacker la ng
̀
̉
̀
̣
̣ ́
̀
̀ ươi co thê khai thac lô
̀ ́ ̉
́ ̃
hông m
̉
ơi môt cach nhanh h
́ ̣ ́
ơn. Botnet rât kho phat hiên b
́
́ ́ ̣ ởi bi chung rât năng đông,
̣
́
́
̣
thich
́ ưng nhanh đê trôn tranh viêc bao vê an ninh phô biêt hiên nay.
́
̉ ́ ́
̣
̉
̣
̉ ́ ̣
17
Cac san phâm bao mât va quan tri hê thông thông tin phai ngăn chăn cac
́ ̉
̉
̉
̣
̀
̉
̣ ̣
́
̉
̣
́
mang tr
̣
ở thanh môt phân cua botnet. Ca mang doanh nghiêp lân mang t
̀
̣
̀ ̉
̉
̣
̣
̃
̣
ư nhân cân
̀
được ngăn chăn khoi bi tân công botnet đê ngăn chăn viêc lam dung nguôn tai
́
̣
̉ ̣ ́
̉
̣
̣
̣
̣
̀ ̀
nguyên cơ sở ha tâng l
̣ ̀ ớn.
2.2.2. Mô hình tấn công từ chối dịch vụ
2.2.3. Xu hướng tấn công từ chối dịch vụ của tội phạm mạng
18
CHƯƠNG 3. NGHIÊN CỨU VỀ MÃ NGUỒN BOTNET MIRAI
3.1.
Giới thiệu về Botnet Mirai
Đây là loại botnet không được xây dựng để điều khiển các máy tính mà
hướng đến các thiết bị IoT (Internet of Things).
Mirai thực hiện rà quét dải mạng IPv4 nhằm tìm kiếm các thiết bị IoT. Để
tối ưu hóa hiệu năng rà quét của mình thì Mirai thực hiện loại bỏ các dải IP như
sau:
Sau khi tìm được các thiết bị IoT, Mirai thực hiện truy cập telnet trực tiếp
hoặc nếu không được sẽ thực hiện bruteforce mật khẩu qua telnet hoặc ssh.
Trong mã nguồn của Mirai cho thấy Mirai có sử dụng 60 tài khoản, mật khẩu
mặc định để thực hiện tấn công như root:root, admin:admin1234, guest:guest…
Mặc dù có thể truy cập thành công được thiết bị nhưng mã độc này lại sử
dụng một lệnh đặc biệt của Busybox (tiện ích trên các thiết bị Linux nhúng) do
đó bot sẽ không thực hiện lây nhiễm được nếu thiết bị không được cài đặt
busybox.
Môt khi sử dụng được busybox, mã độc sẽ thực hiện quá trình lây nhiễm.
Đặc biệt sau khi lây nhiễm thành công, Mirai thực hiện loại bỏ tất cả các tiến
trình đang sử dụng cổng 22, 23 để ngăn chặn đăng nhập trên thiết bị. Sau khi thực
hiện lây nhiễm thành công, mã độc kết nối tới máy chủ điều khiển và chờ lệnh
tấn công
Với mục đích chính là thực hiện tấn công từ chối dịch vụ do đó botnet này
sử dụng tới 10 kỹ thuật tấn công từ chối dịch vụ từ cơ bản đến nâng cao nhằm
đem lại hiệu quả cao nhất. Trong đó, hình thức tấn công từ chối dịch vụ phổ
biến được áp dụng là thông qua tấn công HTTP, Mirai sử dụng 5 useragent khác
nhau để tránh bị phát hiện.
19
Hình 3.2. Mirai sử dụng 5 useragent khác nhau (mirai/bot/table.h).
Ngoài ra, Mirai có khả năng phát hiện và vượt qua một số cơ chế kiểm tra
bot cơ bản của các dịch vụ giúp ngăn ngừa tấn công từ chối dịch vụ như
cloudflare hoặc dosarrest.
Ngoài những tấn công thông dụng ra, Mirai sử dụng 2 kỹ thuật ít gặp gần
đây là tấn công “DNS Water Torture” và “GRE IP Flood”.
Hình 3.3. Mirai sử dụng 10 kỹ thuật tấn công từ chối dịch vụ (mirai/bot/attack.h).
3.1.1. Thành phần cấu trúc của Botnet Mirai
Các thành phần:
A: Attacker có toàn quyền ra lệnh đối với mạng botnet
B: Những thiết bị sau khi bị nhiễm mã độc.
C: CNC server giữ liên lạc giữa người dùng và mạng botnet.
R: Report server tiếp nhận và lây lan bot về các thiết bị IoT mới.
L: Loader server lấy thông tin từ Report server và lây nhiễm malware.
20
U: Những khách hàng thuê mạng botnet để DDoS Victim.
V: Những thiết bị IoT có lỗ hổng.
Hình 3.4. Mô hình hoạt động logic của các thành phần.
Cấu trúc mã nguồn chính gồm 2 thư mục chính Loader và Mirai, trong đó
Loader chứa các mã nguồn phục vụ cho việc tạo Report server, thư mục Mirai
chứa mã nguồn tạo các con Bot và tạo CNC server.
Hình 3.5. Cấu trúc thư mục mã nguồn
3.1.2. Cách thức điều khiển và lây lan Bots:
Kết nối CNC Server để ra lệnh:
Bước 1: Attacker kết nối tới CNC qua telnet/ssh tới ip CNC qua port
23 bằng lệnh cmd : “telnet <ipCNC> 23”.
Bước 2: Thực hiện đăng nhập bằng Account được cấp bởi Admin
(Attacker).
21
Bước 3: Sử dụng lệnh attack.
Lây lan mã độc:
Bước 1: Các con Bot trong mạng Botnet sẽ thực thiện rà quét các
thiết bị IoT mới và thực hiện brute force vào các thiết bị nếu không
telnet trực tiếp được.
Bước 2: Sau khi brute force thành công thiết bị IoT, Bot gửi các thông
tin gồm IP, Port, Username, Password về Report server.
Bước 3: Lấy thông tin từ Report server cấp cho Loader server để thực
hiện đăng nhập tới thiết bị IoT và load mã độc lây nhiễm thiết bị.
Bước 4: Thiết bị IoT bị lây nhiễm sẽ thực hiện một số chức năng
chính được cài đặt trước như scan, bruteforce và thực hiện kết nối
tới CNC server.
3.2.
Phân tích các thành phần của Botnet Mirai
3.2.1. Máy chủ CNC
a) Chức năng
Thư mục CNC: giám sát, kiểm soát, thực hiện ra lệnh Bot tấn công và quản
lý/cấp quyền cho các Account...
b) Nguyên lý hoạt động
Các mã trong thư mục này được viết trên ngôn ngữ golang nhằm tạo ra một
CNC server có khả năng kết nối giao tiếp giữa attacker và mạng botnet khổng lồ.
CNC server sẽ nghe cổng 23 để nhận telnet từ attacker hoặc thông tin về
Bot mới và 101 thực hiện truyền các lệnh tấn công xuống cho botnet.
22
Hình 3.6. CNC lắng nghe kết nối (mirai/cnc/main.go).
Khi nghe ở cổng 23 chương trình sẽ làm nhiệm vụ khác nhau tùy vào dữ
liệu nhận được. Nếu các dữ liệu nhận được có 4 bytes, mà là “00 00 00 x” (byte
x> 0), chương trình xác định rằng dữ liệu này là từ một Bot mới. Ngược lại
chương trình hiểu là có kết nối từ Attacker qua telnet, Attacker thực hiện đăng
nhập nếu là có quyền quản trị thì họ có thể tạo các username khác với số lượng
Bot cụ thể được phép sử dụng.
23
Hình 3.7. CNC nhận được thông tin là bot hoặc admin (mirai/cnc/main.go).
Trong file Admin.go:
Dòng 39: Nhập user. Nếu không nhập sẽ dừng chương trình.
Hình 3.8. Nhập username từ cmd.
Dòng 47 : Nhập Password. Nếu không nhập sau một khoảng thời gian đã được
thiết lập sẽ dừng chương trình.
Hình 3.9. Nhập password từ cmd.
Dòng 62 : Kiểm tra username/password trong Database. Ở bước này, hàm
TryLogin sẽ sử dụng account để đăng nhập vào Database sau đó kiểm tra
24
username/password có tồn tại hay không? Nếu không tồn tại sẽ hiện thông báo và
thoát.
Hình 3.10. Nhập password từ cmd.
In ra các dòng thông báo sau khi đăng nhập thành công.
Hình 3.11. Thông báo đăng nhập thành công.
Hàm func() sẽ kiểm tra liên tục số lượng Bot connect tới CNC theo Real Time.
Với hàm này hacker sẽ biết được số thiết bị có thể sử dụng tấn công trong thời
điểm hiện tại.
Hình 3.12. Kiểm tra số lượng Bot connect tới CNC.
25