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
Trang 1-
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
Trang 2Danh 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
Trang 3CHƯƠ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
Trang 4tậ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
Trang 5Danh mục các ký hiệu, các chữ viết tắt
STT Từ 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
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
Trang 614 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
Trang 7Danh 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
Trang 8Danh 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
Trang 9MỞ ĐẦ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
Trang 10đ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
Trang 11CHƯƠ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
Trang 12(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
Trang 13Trong 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
Trang 14Cơ 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
Trang 15Hì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), 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
(Peer-to-“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
Trang 16Hì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
Trang 172 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
Trang 18Vớ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ạ
Trang 19tầ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)
Trang 20Hì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
Trang 21(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
Trang 22Mạ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
Trang 23Hì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
Trang 24Hì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
Trang 252 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 line Start line của thông điệp Request (Request- line) mang ý nghĩa “what
start-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
Trang 26khai thác, vì vậy tin tặc có thể tấn công ngay cả những trang web hợp pháp sau đó
sử dụng những trang web này làm kênh điều khiển mạng botnet của chúng
1.2.3.3 Giao thức DNS
DNS (Domain Name System – Hệ thống tên miền) là giao thức tầng ứng dụng cho phép ánh xạ địa chỉ tương ứng giữa địa chỉ IP và tên miền Giao thức DNS hoạt động theo mô hình khách-chủ Các thành phần của giao thức DNS bao gồm:
1 Không gian tên miền (Domain Name Space) và bản ghi tài nguyên (Resource Record): là một cây (không gian) các tên miền Mỗi nút trong cây chứa thông tin liên kết với tên miền
2 Máy chủ tên miền: là chương trình, ứng dụng lưu trữ các bản ghi tài nguyên để ánh xạ giữa tên miền và địa chỉ IP khi có yêu cầu của máy khách
3 Máy khách: gửi yêu cầu phân giải tới máy chủ tên miền khi cần phân giải Trong hoạt động của mạng botnet, giao thức DNS đóng vai trò rất quan trọng Thông trường để truy cập tới các máy chủ điều khiển các bot có thể sử dụng địa chỉ IP hoặc tên miền của máy chủ đó Việc sử dụng trực tiếp địa chỉ IP có một
số nhược điểm:
- Số lượng địa chỉ IP dành cho máy chủ điều khiển là giới hạn
- Dễ bị phát hiện Khi bị phát hiện cần phải sử dụng địa chỉ IP mới Như vậy rất tốn kém và không hiệu quả
Vì vậy tin tặc thường đăng ký một loạt các tên miền, sau đó ánh xạ tên miền này tới một hoặc nhiều địa chỉ IP (một tên miền ánh xạ tới nhiều địa chỉ IP và một địa chỉ IP có thể được ánh xạ cho nhiều tên miền) Khi một tên miền hoặc một địa chỉ IP bị phát hiện hoặc bị chặn thì tin tặc có thể dễ dàng chuyển qua một tên miền khác Hình vẽ dưới đây minh hoạ mối liên hệ giữa địa chỉ IP và tên miền được sử dụng cho một mạng lưới máy chủ C&C của mạng botnet
Trang 27Hình 10: Minh hoạ không gian tên miền và địa chỉ IP của mạng botnet
Như hình trên, địa chỉ IP 86.124.199.55 có thể ánh xạ thành 10 tên miền gồm:
Trang 28IP 112.175.79.57) bằng tên miền moit.conimes.com cần thông qua các bước sau:
1 Client gửi yêu cầu phân giải tên miền tới máy chủ DNS 8.8.8.8
2 Máy chủ DNS thực hiện tìm kiếm, nếu có câu trả lời sẽ trả lời cho client địa chỉ IP (112.175.79.57) tương ứng với tên miền moit.conimes.com Nếu không có câu trả lời nó sẽ gửi về thông tin địa chỉ của máy chủ DNS cấp trên nó mà máy client nên hỏi Sau đó máy client lại tiếp tục hỏi máy chủ DNS này
3 Khi có thông tin về địa chỉ IP của máy chủ điều khiển client sẽ kết nối tới máy chủ điều khiển thông qua địa chỉ IP mà máy chủ DNS cung cấp
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
1.3.1 Các mạng botnet lớn trên thế giới
Một trong những động cơ chính để xây dựng các mạng botnet khổng lồ là sử dụng để phát tán thư rác Việc sử dụng mạng botnet để tấn công DDoS thường dễ bị các cơ quan chức năng của các nước theo dõi và ngăn chặn, tuy nhiên việc sử dụng mạng botnet để phát tán thư rác vô cùng khó khăn trong việc tìm kiếm máy chủ C&C vì tội phạm thường sử dụng các bot từ quốc gia này gửi sang quốc gia khác do
đó việc phối hợp điều tra, tìm kiếm máy chủ vô cùng khó khăn, hơn nữa mục tiêu phát tán thư rác chỉ là người dùng nên không thu hút được sự quan tâm của các cơ quan chức năng, vì vậy những mạng botnet nhỏ rất ít được xử lý, chỉ các mạng botnet quy mô lớn, số lượng phát tán lên đến hàng tỉ thư rác mới được quan tâm xử
lý, và việc xử lý cũng cần có sự quan tâm của nhiều nước và kéo dài đến vài năm Dưới đây là danh sách các mạng botnet có khả năng phát tán thư rác lớn trên thế giới
Trang 291 2009 2010 Bredolab 30.000.000 3,6 triệu/ngày Oficia
2 2008 Conficker 10.500.000 10 triệu/ngày Downup, Kido,
DownAndup, DownAdUp
3 2010 TDL4 4.500.000 N/A TDSS, Alureon
4 N/A Zeus 3.600.000 N/A Zbot, PRG, Wsnpoem,
Gorhax, Kneber
5 2007 Cutwail 1.500.000 74 triệu/ngày Pandex, Mutant
7 2008 Sality 1.000.000 N/A Sector, Kuku
8 2009 Grum 560.000 39.9 triệu/ngày Tedroo
9 N/A Mega-D 509.000 10 triệu/ngày Ozdok
10 N/A Kraken 495.000 9 triệu/ngày Kracken
11 2007 2008 Srizbi 450.000 60 triệu/ngày Cbeplay, Exchanger
12 2010 2012 Kelihos 300.000 4 triệu/ngày Hlux
13 N/A Lethic 260.000 2 triệu/ngày N/A
14 2004 Bagle 230.000 5.7 triệu/ngày Beagle, Mitgliedẻ,
Lodeight
15 N/A Bobax 185.000 9 triệu/ngày Bobic, Oderoor,
Cotmonger, Hacktool, Spammer, Kraken
16 N/A Torpig 180.000 N/A Sinowal, Anserin
17 N/A Storm 160.000 3 triệu/ngày Nuwar, Peacomm,
Zhelatin
18 2006 2011 Rustock 150.000 30 triệu/ngày RKRustock, Costrat
19 N/A Donbot 125.000 0.8 triệu/ngày Buzus, Bachsoy
20 2012 Chameleon 120.000 N/A N/A
21 2008 2010 Waledac 80.000 1,5 triệu/ngày Waled, Waledpak
22 N/A Maazben 50.000 0.5 triệu/ngày N/A
23 N/A OneWordsub 40.000 1.8 triệu/ngày N/A
24 N/A Gheg 30.000 0.24 triệu/ngày Tofsee, Mondera
25 N/A Wopla 20.000 0.6 triệu/ngày Pokier, Slogger, Cryptic
26 N/A Loosky 20.000 5 triệu/ngày Locksky
27 2008 Asprox 15.000 N/A Danmec, Hydraflux
28 2009 Festi N/A 2.25 triệu/ngày Spamnost
30 N/A Spamthru 12.000 0.35 triệu/ngày Spam-DcomSmerv,
Covesmer, Xmiler
Bảng 1 : Danh sách mạng botnet và khả năng gửi thư rác
Trang 30theo báo cáo có khoảng 15.000 đến 2.400.000 máy tính bị lây nhiễm và trở thành bot, mỗi bot có thể gửi 25.000 thư rác/giờ Mạng botnet này gửi thư điện tử đến máy tính nạn nhân để lây nhiễm Trojan vào máy và biến máy tính nạn nhân trở thành bot Sau khi dừng hoạt động của ISP McColo thì số lượng thư rác trên toàn cầu giảm tới 75% vào cuối năm 2008 tuy nhiên trong thời gian ngắn số lượng thư rác lại tăng tới 60% chỉ từ tháng 1 đến tháng 6 năm 2009, trong đó 40% là do mạng Rustock botnet Microsoft đã phải xây dựng một chiến dịch bóc gỡ “B107” mạng botnet này với sự hỗ trợ của cơ quan cảnh sát Mỹ và một khoản tiền thưởng lên đến 250.000 USD cho ai cung cấp thông tin về người đứng sau mạng botnet này
Mạng botnet này sử dụng công nghệ Rootkit Rustock, khi một máy tính bị lây nhiễm nó sẽ tìm cách liên lạc với C&C theo một địa chỉ IP bất kỳ và 2.500 tên miền dự phòng Mạng botnet này được xây dựng để gửi thư rác và thực hiện tấn công DDoS Có tới 96 máy chủ được phát hiện và khi gửi thư rác chúng còn sử dụng mã hóa SSL gây khó khăn cho việc phát hiện thư rác của các máy chủ thư
điện tử
Mạng botnet Conficker
Conficker còn có tên là Downup, Downandup, Conflicker hay Kido là sâu máy tính xuất hiện lần đầu vào 21/11/2008 với biến thể A Và ngay sau đó chúng phát triển và lây lan nhanh chóng với các biến thể B (29/12/2008), biến thể C (20/02/2009), biến thể D (04/03/2009)
Sâu Conficker khai thác lỗ hổng MS08-067 trong dịch vụ Window Server (SVCHOST.EXE) của các hệ điều hành Microsoft
Sâu Conficker có khả năng tự lây lan qua mạng tới các máy tính chưa cập nhật bản vá cho điểm yếu MS08-067 Khi đã bị nhiễm vào hệ thống Conficker tự động tắt một số dịch vụ hệ thống như Windows Automatic Update, Windows Security Center, Windows Defender and Windows Error Reporting và kết nối tới
Trang 31Conficker được cho là sâu máy tính lây nhiễm nhiều nhất kể từ sâu SQL Slammer Việc ước lượng tổng số máy tính bị nhiễm gặp nhiều khó khăn do virut thường xuyên thay đổi việc phát tán và liên tục cập nhật các biến thể Tháng 1/2009 ước lượng có khoảng 9-15 triệu máy tính bị lây nhiễm Tại Việt Nam có tới 73.000 máy tính bị nhiễm Conficker C chỉ trong hai năm 2013-2014
Mạng botnet Conficker dùng công nghệ tinh vi nên đến hiện tại nó vẫn đang hoạt động rất phổ biến và là mối đe dọa mặc dù tháng 2 năm 2009 Microsoft đã khởi xướng chương trình hợp tác với nhiều quốc gia để bóc gỡ Conficker với sự tham gia của nhiều tổ chức gồm Microsoft, Afilias, ICANN, Neustar, Verisign, China Internet Nework Infomation Center, Public Internet Registry, Global Domain Internatinal, Shadownserver
1.3.2 Một số mạng botnet đang được theo dõi tại Việt Nam
1.3.2.1 Mạng botnet Nitol
a Giới thiệu về mạng botnet Nitol
Nitol là tên gọi do Microsoft đặt tên theo chiến dịch bóc gỡ mã độc B70 Nitol có 3 biến thể A, B, C Mạng botnet Nitol được phát hiện lần đầu vào tháng 8 năm 2011 khi một nhóm nghiên cứu của Micosoft tại Trung Quốc đã thực hiện cuộc điều tra tại các cửa hàng máy tính Sau khi kiểm tra các sản phẩm thu được, các nhà nghiên cứu thấy 20% máy tính bị nhiễm phần mềm độc hại và có khả năng lây nhiễm qua USB
Mã độc Nitol cho phép tin tặc đánh cắp thông tin cá nhân (email, tài khoản mạng xã hội, tài khoản ngân hàng của người dùng) và lợi dụng dịch vụ trực tuyến của họ để tiếp tục lừa đảo thông qua các mối quan hệ cá nhân, bán các loại mặt hàng giả mạo và thực hiện các cuộc tấn công DDoS với quy mô lớn Theo các nghiên cứu, mạng botnet Nitol hoạt động chính trên tên miền 3322.org, và tên miền này còn chứa 500 loại mã độc khác nhau Các phần mềm độc hai được lưu trữ trên
Trang 32đổi trên máy tính Ngoài ra nó còn có thể ghi lại thông tin quan trọng của người dùng trong Registry
Nitol lây nhiễm vào máy tính nạn nhân thông qua một loạt các cơ chế thông thường và có thể tự phát triển và lây lan qua các thiết bị di động như: ổ đĩa USB, ổ cứng di động, các tập tin Zip, Zar, các thiết bị hoặc mạng chia sẻ Đặc biệt là Nitol
có khả năng lựa chọn vùng thiết bị lưu trữ để sao chép chính nó và nó thường chọn các thư mục có chứa các tập tin ứng dụng (.exe, dll, ocx) và các tập tin có dạng rar, zip Tuy nhiên để tránh bị phát hiện mã độc này được thiết kế để ẩn các tập tin với các thuộc tính mặc định system/read-only/hidden
b Tình hình lây nhiễm Nitol trên không gian mạng Việt Nam
Microsoft đã đưa ra một chiến dịch bóc gỡ mạng botnet Nitol trên toàn cầu
và sử dụng hệ thống theo dõi để phát hiện, cảnh báo và kiểm soát tình hình lây nhiễm Ở Việt Nam Trung tâm VNCERT đã thiết lập kênh chia sẻ thông tin với Microsoft để hợp tác trong việc bóc bỡ mạng botnet này, hiện có trên 30.000 địa chỉ
IP của Việt Nam nằm trong mạng botnet Nitol trong đó có cả địa chỉ IP thuộc cơ quan nhà nước ở các Bộ Ngành và tỉnh thành phố Đây là một trong những điểm đáng lo ngại về tình hình an toàn thông tin ở Việt Nam nói chung và hoạt động của
mạng botnet nói riêng
1.3.2.2 Mạng botnet Zeus
a Giới thiệu về mạng botnet Zeus
Mạng botnet Zbot sử dụng mã độc Zeus, đây là một loại Trojan Mã độc Zeus được lan truyền thông qua việc tải các chương trình từ các liên kết lừa đảo Mạng Zbot được phát hiện lần đầu tiên vào tháng 7 năm 2007 khi nó được sử dụng
để đánh cắp thông tin từ Sở giao thông vận tải của Hoa Kỳ Năm 2009 theo công ty bảo mật Prevx có hơn 74.000 tài khoản FTP trên các trang web của ngân hàng của
Mỹ, NASA, Monster.com, Oracle, Cisco, Amazon bị xâm nhập bởi mã độc Zeus
Trang 33thập thông qua trình duyệt web, giao thức FTP, POP Tuy nhiên, cách hiệu quả nhất để thu thập thông tin mà mã độc Zeus sử dụng là giám sát tập tin cấu hình trên các trang web, hoặc chuyển hướng các trang web hợp pháp để hướng người dùng đến một trang web giả mạo trong đó yêu cầu người dùng kê khai các thông tin cá nhân liên quan đến mật khẩu và tài khoản người dùng
Máy chủ điều khiển mạng botnet sẽ kiểm soát các máy tính bị lây nhiễm và
ra lệnh cho các máy tính này tải về các tập tin thực thi các công việc mong muốn của tin tặc như thực thi các câu lệnh trên máy tính nạn nhân: tắt máy, khởi động lại máy tính, hoặc thậm chí xóa các tập tin hệ thống khiến máy tính phải cài đặt lại hệ điều hành mới có thể sử dụng được
Một biến thể mới của mã độc Zeus được phát hiện có cùng họ hàng với mã độc Zeus là “Kneber” được phát hiện năm 2010, mã độc này được xây dựng trên
mã nguồn của mã độc Zeus với những hành vi lây nhiễm và mục đích tương tự như tiền thân của nó là mã độc Zeus
b Tình hình lây nhiễm của Zeus trong không gian mạng Việt Nam
Tại Việt Nam theo báo cáo của Trung tâm VNCERT có tới hàng chục nghìn địa chỉ IP của Việt Nam đang nằm trong mạng botnet này, trong đó có tới gần 200 địa chỉ IP của cơ quan nhà nước
Trang 34BOTNET 2.1 Phương pháp kỹ thuật phát hiện và theo dõi botnet
Việc phát hiện đầy đủ hoạt động của một mạng botnet cần phải được bắt đầu
từ hoạt động phát hiện từng thành phần của nó bao gồm: các máy bị nhiễm bot, danh sách máy chủ điều khiển (tên miền, địa chỉ IP) và tin tặc Bot Tuy nhiên trong thực thế rất khó để có được một giải pháp kỹ thuật một cách toàn diện mà hiệu quả,
vì vậy để đối phó với các mạng botnet cần phải tiếp cận theo nhiều hướng (giải pháp kỹ thuật, chính sách pháp luật, đào tạo nâng cao nhận thức cho người dùng Internet) và thực hiện kết hợp nhiều giải pháp kỹ thuật (chủ động, bị động) Trong phần này trình bày tóm lược một số giải pháp kỹ thuật phát hiện, theo dõi và ngăn chặn hoạt động của các mạng botnet
Hình 11: Các cách tiếp cận để chống botnet
2.1.1 Phương pháp chủ động - sử dụng Honeypot
Honeypot còn gọi là “hũ mật” là hệ thống có nhiều điểm yếu được triển khai với mục đích thu thập các tấn công mạng, đặc biệt là các mẫu mã độc Khi triển khai thành phần Honeypot trong hệ thống mạng có thể thu thập được 2 kiểu thông tin chính:
- Mã khai thác (gọi chung là mẫu mã độc) tin tặc sử dụng để khai thác hệ thống
Trang 35Honeypot tương tác thấp thực hiện giả lập, mô phỏng các dịch vụ khác nhau
để tin tặc khai thác Honeypot tương tác thấp có đặc điểm là phát hiện, xác định các truy cập trái phép tới hệ thống Vì các dịch vụ đưa ra đều được mô phỏng nên tính năng sẽ không được đầy đủ so với dịch vụ thật
Honeypot tương tác cao là một công nghệ Honeypot vượt trội cho phép thu thập lượng lớn thông tin về cách thức tấn công của tin tặc tuy nhiên khó cấu hình, triển khai, vận hành và nguy cơ gây mất an toàn đối với các hệ thống lân cận Các dịch vụ, ứng dụng lỗi được triển khai trong hệ thống này là hoàn toàn thật Thông thường các hệ thống này sẽ được đặt trong môi trường cô lập, sau tường lửa và bị khai thác bất cứ lúc nào và hệ thống tường lửa phía trước Honeypot sẽ đảm bảo rằng sau khi các hệ thống này bị khai thác chiếm quyền điều khiển thì không được dùng vào các mục đích tấn công các hệ thống khác
Hình 12: Honeypot tương tác cao