I. Giới thiệu về Botnet.
1. Botnet là gì?
- Botnet thuật nghữ đầ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. Botnet cũng có thể hiểu là một tập hợp các bot hoặc các con bot hoạt động một cách tự chủ.
Thông thường, một hệ thống botnet thường bao gồm các thành phần sau:
- Botmaster: là kẻ nắm quyền điều khiển các máy chủ C&C đưa ra lệnh cho các bot trong botnet.
- Command and Control Server (C&C Server): là máy chủ điều khiển các bot. Máy chủ này được dùng để phát ra các lệnh cho các bot trong mạng.
- Bot: 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.
2. Các dạng botnet.
- Để phân loại botnet thì có thể phân loại dựa theo theo kiến trúc (kiến trúc tập trung, kiến trúc P2P, không cấu trúc), theo giao thức truyền thông (IRC, HTTP, P2P, DNS) hoặc theo cấu trúc liên kết (Topology).
- Ở đây, mình sẽ phân loại botnet dựa trên cấu trúc liên kết Topology. Các topology khác nhau sẽ có những ảnh hưởng khác nhau đến độ phức tạp, độ trễ tin nhắn hay khả năng bị phát hiện của botnet. Ngoài ra, các topology có thể được tổ chức tập trung quanh một hoặc nhiều máy chủ C&C hoặc được tổ chức theo cơ chế phân tán không sử dụng máy chủ C&C. Các dạng botnet topology điển hình bao gồm: Star, Mutile-Server, Hierarchical và Random.
* Star Topology
- Dạng botnet này bao gồm một trung tâm C&C ở trung tâm giao tiếp với toàn bộ các bot. Mỗi bot sẽ nhận các chỉ thị trực tiếp từ server. Khi một máy tính bị xâm nhập, nó sẽ tự đăng ký với server C&C trung tâm và trở thành một phần của botnet.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDBoXjN66sg1TVXUHvUa7X7pdyjuV4KUHXQOdBX8rb2jpGyLB2A3DQR4j0ic7M2EhWYT0e1pQh7Wu3WmHCoP3tB5iOJApzl45F56Nx1-tLr18onDaSYi9BOsJsohsMv9RF1yTgqlhaPLQ/w400-h335/mo_hinh_star.png)
- Ưu điểm:
+ Thiết kế đơn giản.
+ Tốc độ trao đổi thông tin nhanh chóng giữa trung tâm CnC và các bot do chúng được kết nối trực tiếp với nhau.
- Nhược điểm:
+ Botmaster mất quyền kiểm soát trung tâm C&C thì nó sẽ mất quyền kiểm soát toàn bộ botnet.
+ Tất cả các bot đều kết nối với cùng một máy chủ C&C sẽ tạo ra rất nhiều lưu lượng truy cập đến một điểm duy nhất. Điều này rất dễ thu hút sự chú ý của cơ quan phát luật.
* Mutile-Server Topology
- Multi-Server có thể được xem như một cấu trúc mở rộng của dạng Star. Thay vì sử dụng một máy chủ duy nhất, thì trong Multi-Server, nhiều máy chủ sẽ được botmaster sử dụng để quản lý botnet. Những máy chủ này cũng liên lạc với nhau trong quá trình quản lý botnet.
- Ưu điểm:
+ Giảm khả năng bị phát hiện: việc phân bố các máy chủ C&C làm giảm lưu lượng truy cập tới cùng một địa chỉ, điều này sẽ giúp botmaster tránh khỏi sự kiểm soát của các cơ quan pháp luật.
+ Nếu bất kỳ một máy chủ C&C nào bị tấn công và vô hiệu hóa, botmaster vẫn có thể giữ được quyền kiểm soát botnet.
+ Đem lại hiệu quả cho mục đích kinh doanh: một số tội phạm mạng sẽ bán hoặc cho thuê một số phần của botnet cho các hoạt động bất hợp pháp.
- Nhược điểm:
+ Phức tạp khi triển khai, tốn chi phí, thời gian và công sức hơn.
* Hierarchical Topology
- Trong cấu trúc này, thay vì sử dụng nhiều máy chủ C&C để quản lý botnet, botmaster chỉ sử dụng một máy chủ C&C duy nhất và kèm theo đó là một số bot khác hoạt động như proxy. Mỗi bot này đóng vai trò như một máy chủ C&C thứ cấp, cho phép các bot con khác kết nối tới nó và thông qua nó để giao tiếp với máy chủ trung tâm C&C.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSZH7ThL9K716gB0bf9go1oUWObA27PpArbCKdqqt5yOKzGFXsVB_uvEcyEcyWg_G1g_EkAu__u0Kz5rl1rGXImhys5zuYCv-3ZMnxuA5Npeh2FJkW1ex7R5jfYOpVH6yqVySOFwDOT-Q/w400-h335/mo_hinh_topology.png)
- Ưu điểm:
+ Máy chủ C&C khó bị phát hiện hơn do không có bot nào nhận biết được tất cả các bot khác trong mạng botnet, địa chỉ của máy chủ C&C chỉ được một số bot biết đến.
+ Việc ước tính kích thước thực của mạng botnet trở nên khó khăn, khó kiểm soát và chiếm giữ mạng botnet hơn, vì chỉ có thể truy cập được một phần của nó và địa chỉ của máy chủ C&C chỉ được một số bot biết đến. Hơn nữa, cấu trúc liên kết này làm cho nó phù hợp với điều chỉnh các chiến thuật lan truyền khi số lượng botnet lan rộng.
+ Dễ dàng trong việc bán hoặc thuê botnet con.
- Nhược điểm:
+ Độ trễ cao, khó triển khai các hoạt động theo thời gian thực.
* Random Topology
- Các cấu trúc liên kết được trình bày phía trên tập trung vào các mạng botnet có máy chủ C&C hoặc nhiều máy chủ C&C để kiểm soát botnet. Nhưng khác với dạng trước. Cấu trúc ramdom là cấu trúc không tồn tại máy chủ C&C. Các bot hoạt động theo hình thức ngang hàng (P2P). Bất kỳ bot nào cũng có thể gửi hoặc nhận lệnh từ các bot khác. Khi một bot nhận được lệnh, nó sẽ truyền lệnh đến các bot hàng xóm của nó.
- Ưu điểm:
+ Khó để xác định kích thước tổng thể của botnet.
+ Không tốn chi phí đầu tư cho máy chủ C&C.
- Nhược điểm:
+ Nếu một bot bị phát hiện, rất dễ dàng truy ra vị trí của các bot khác liên lạc với nó.
+ Các lệnh truyền giữa các bot sẽ có độ trễ.
II. Vòng đời và phương thức hoạt động của Botnet
- Thông thường, các giai đoạn hoạt động trong vòng đời của một botnet gồm: lây lan; tương tác và điều khiển; tấn công; và cập nhật và duy trì. Phần tiếp theo của mục này sẽ mô tả chi tiết từng giai đoạn hoạt động kể trên của botnet.
1. Lây lan
- Khi thiết kế một mạng botnet, kẻ tấn công phải xem xét các cách để lây nhiễm máy của nạn nhân. Kẻ tấn công sẽ cố gắng tìm hiểu và khai thác các lỗ hổng bảo mật trên máy tính nạn nhân (các lỗ hổng này có thể được gây ra bởi các phần mềm độc hại trước đó, các ứng dụng, hoặc lỗi của hệ điều hành…). Botmaster sẽ cố gắng lừa người dùng tải xuống, cài đặt một số phần mềm hoặc tệp tin độc hại, từ đó tấn công vào lỗ hổng bảo mật trên thiết bị của nạn nhân. Bên cạnh đó, việc lây nhiễm cũng có thể được tiến hành một cách tự động bằng cách quét các mạng cho các lỗ hổng đã được biết đến trước đó.
- Một máy tính nạn nhân có thể có rất nhiều lỗ hổng khác nhau, vì thế cũng có nhiều phương pháp khai thác khác nhau. Tùy vào mục đích cũng như các yếu tố liên quan, kẻ tấn công sẽ lựa chọn triển khai các biện pháp khai thác và lây nhiễm khác nhau. Bảng dưới đây tóm tắt một số phương pháp lây nhiễm được botmaster sử dụng và các yếu tố liên quan.
Mục tiêu
|
Độ phức tạp thiết kế
|
Khả năng bị phát hiện
|
Tốc độ lây nhiễm
|
Số lượng thiết bị lây nhiễm
|
Hệ điều hành
|
Trung bình
|
Cao
|
Thấp
|
Lớn
|
Ứng dụng
|
Trung bình
|
Trung bình
|
Trung bình
|
Trung bình
|
Dịch vụ
|
Cao
|
Thấp
|
Cao
|
Nhỏ
|
Con người
|
Thấp
|
Trung bình
|
Thấp
|
Lớn
|
2. Tương tác và điều khiển
- Sau khi máy tính nạn nhân trở thành bot, nó sẽ giao tiếp với botmaster qua kênh truyền thông được sử dụng bởi botnet đó. Botmaster sẽ nhận được thông báo về sự lây nhiễm thành công cho một bot mới, và bot đó sẽ chờ đợi các hướng dẫn đến từ botmaster.
3. Tấn Công
- Mục đích cuối cùng của một botnet chính là thực hiện một cuộc tấn công. Tính chất của một cuộc tấn công botnet chính là số lượng kẻ tham gia tấn công rất lớn. Một số cuộc tấn công phổ biến do các botnet tạo ra là:
+ Tấn công DDoS: Bằng cách ra lệnh cho các bot gửi đồng loạt các yêu cầu tới hệ thống, mục đích của những cuộc tấn công DDoS là nhằm phá vỡ tính sẵn dùng của dịch vụ, hệ thống đó.
+ Gửi thư rác (spam): Các botnet được sử dụng để gửi thư rác bởi khả năng thay đổi nhanh chóng và dễ dàng từ các địa chỉ IP hợp pháp khác nhau.
+ Phishing: Tương tự như mục đích gửi thư rác, phishing là việc tội phạm mạng dựa vào tính linh hoạt của địa chỉ IP được cung cấp bởi botnet để thực hiện hành vi lừa đảo. Nếu một trang web lừa đảo bị gỡ xuống, ngay lập tức một bản sao của nó sẽ nhanh chóng được dựng lại.
+ Click Fraud: Dạng tấn công này liên quan tới việc tăng doanh thu cho bên thứ 3 bằng hành vi kích chuột vào trang quảng cáo trực tuyến hoặc truy cập vào trang web.
+ Đánh cắp thông tin: Các bot có thể đánh cắp thông tin trên mạng và cả trên máy tính nạn nhân (bot). Điều này sẽ giúp cho botmaster có thể thu thập được các thông tin quan trọng và nhạy cảm của người dùng.
+ Lây nhiễm các phần mềm độc hại.
4. Cập nhật và duy trì
- Sau khi thực hiện tấn công, các bot trở về trạng thái chờ lệnh. Botmaster sẽ cập nhật cho các bot thường xuyên để tránh các kỹ thuật phát hiện mới, hoặc vá các lỗi hay bổ sung thêm tính năng mới cho bot. Trong suốt thời gian này, các bot cần được giám sát thường xuyên để đảm bảo cho hệ thống hoạt động bình thường.
Cảm ơn mọi người đã đọc bài viết mình nhé!
0 Comment: