Botnet

**Botnet** là từ chỉ một tập hợp các rô bôt phần mềm hoặc các con bot hoạt động một cách tự chủ. Từ này còn được dùng để chỉ một mạng các máy tính sử dụng phần mềm tính toán phân tán.

Tuy từ "botnet" có thể dùng để chỉ một nhóm bot bất kỳ, chẳng hạn IRC bot, từ này thường được dùng để chỉ một tập hợp các máy tính đã bị tấn công và thỏa hiệp và đang chạy các chương trình độc hại, thường là sâu máy tính, trojan horse hay các backdoor, dưới cùng một hạ tầng cơ sở lệnh và điều khiển. Một chương trình chỉ huy botnet (*botnet's originator* hay *bot herder*) có thể điều khiển cả nhóm bot từ xa, thường là qua một phương tiện chẳng hạn như IRC, và thường là nhằm các mục đích bất chính. Mỗi con bot thường chạy ẩn và tuân theo chuẩn RFC 1459 (IRC). Thông thường, kẻ tạo botnet trước đó đã thỏa hiệp một loạt hệ thống bằng nhiều công cụ đa dạng (tràn bộ nhớ đệm,...); xem thêm RPC (Remote procedure call - gọi hàm từ xa). Các bot mới hơn có thể tự động quét môi trường của chúng và tự lan truyền bản thân bằng cách sử dụng các lỗ hổng an ninh và mật khẩu yếu. Nếu một con bot có thể quét và tự lan truyền qua càng nhiều lỗ hổng an ninh, thì nó càng trở nên giá trị đối với một cộng đồng điều khiển botnet.

Các botnet đã trở nên một phần quan trọng của Internet, tuy chúng ngày càng ẩn kĩ. Do đa số các mạng IRC truyền thống thực hiện các biện pháp cấm truy nhập đối với các botnet đã từng ngụ tại đó, những người điều khiển botnet phải tự tìm các server cho mình. Một botnet thường bao gồm nhiều kết nối, chẳng hạn quay số, ADSL và cáp, và nhiều loại mạng máy tính, chẳng hạn mạng giáo dục, công ty, chính phủ và thậm chí quân sự. Đôi khi, một người điều khiển giấu một cài đặt IRC server trên một site công ty hoặc giáo dục, nơi các đường kết nối tốc độ cao có thể hỗ trợ một số lớn các bot khác. Chỉ đến gần đây, phương pháp sử dụng bot để chỉ huy các bot khác mới phát triển mạnh, do đa số hacker không chuyên (script kiddie) không đủ kiến thức để sử dụng phương pháp này.

Người ta đã tìm thấy và gỡ bỏ một vài botnet trên Internet. Cảnh sát Hà Lan đã tìm thấy một botnet gồm 1.5 triệu nút  và ISP Telenor của Na Uy đã dỡ bỏ một botnet 10.000 nút. Người ta đã khởi động các hoạt động hợp tác quốc tế lớn nhằm dập tắt các botnet.

## Tổ chức
Các server botnet thường liên kết với nhau, sao cho một nhóm có thể chứa từ 20 máy riêng biệt tốc độ cao đã bị phá hoại, các máy này nối với nhau với vai trò các server nhằm mục tiêu tạo môi trường dư thừa lớn hơn. Các cộng đồng botnet thực tế thường bao gồm một hoặc nhiều người điều khiển - những người tự coi là có quyền truy nhập hợp lệ tới một nhóm bot. Những điều khiển viên này hiếm khi có các hệ thống chỉ huy phân cấp phức tạp trong họ; họ dựa vào các quan hệ thân hữu cá nhân. Mâu thuẫn thường xảy ra giữa những điều khiển viên về chuyện ai có quyền đối với máy nào, và những loại hành động nào là được phép hay không được phép làm.

## Xây dựng và khai thác

Ví dụ này minh họa cách thức một botnet được tạo và dùng để gửi thư rác (*spam*).

# Một điều phối viên botnet phát tán virus hoặc sâu máy tính, làm nhiễm các máy tính cá nhân chạy Windows của những người dùng bình thường, dữ liệu của virus hay sâu đó là một ứng dụng trojan—con *bot*.
# Tại máy tính bị nhiễm, con *bot* đăng nhập vào một server IRC nào đó (hay là một web server). Server đó được coi là command-and-control server (C&C).
# Một người phát tán spam mua quyền truy nhập botnet từ điều phối viên.
# Người phát tán spam gửi các lệnh qua IRC server tới các máy tính bị nhiễm, làm cho các máy tính này gửi các thông điệp rác tới các máy chủ thư điện tử.

Các botnet được khai thác với nhiều mục đích khác nhau, trong đó có các tấn công từ chối dịch vụ, tạo và lạm dụng việc gửi thư điện tử để phát tán thư rác (xem Spambot), click fraud, và ăn trộm các số sêri của ứng dụng, tên đăng nhập, và các thông tin tài chính quan trọng chẳng hạn như số thẻ tín dụng.

Cộng đồng điều khiển botnet luôn có một cuộc đấu tranh liên tục về việc ai có được nhiều bot nhất, nhiều băng thông nhất, và số lượng lớn nhất các máy tính "chất lượng cao" bị nhiễm, chẳng hạn như máy tính tại trường đại học, các công ty, hay thậm chí cả trong các cơ quan chính phủ.

## Vòng đời của botnet

* bot-herder (nơi phát tán bot) cấu hình các tham số khởi đầu cho bot chẳng hạn như các vector lây nhiễm, các chi tiết về payload, che giấu, và C&C (điều khiển và lệnh)
* đăng ký DNS động
* bot-herder thả hoặc nhân giống bot mới
* các con bot phát tán
* bị các botnet khác chiếm mất một số bot
* ổn định—không mở rộng thêm
* bỏ botnet 
* bỏ đăng ký DNS động
* vòng đời của một con bot đơn
** thiết lập C&C
** quét tìm các đích có lỗ hổng an ninh để cài đặt bot
** take-down
** phục hồi sau take-down
** cập nhật mã bot mới
** nằm yên

## Các loại tấn công

## Xem thêm
* Lỗi tràn bộ đệm
* Sâu máy tính
* Tấn công từ chối dịch vụ
* Dosnet
* Bot
* Script kiddie
* Spam
* Spambot
* Danh sách các virus và sâu máy tính nổi tiếng
* Máy tính Zombie

## Tham khảo

## Liên kết ngoài
* SwatIt - Bots, Drones, Zombies, Worms  - A gallery of botnet structure
* The Shadowserver Foundation - An all volunteer security watchdog group that gathers, tracks, and reports on malware, botnet activity, and electronic fraud.
* NANOG Abstract: Botnets  - John Kristoff's NANOG32 Botnets presentation
* Lowkeysoft - Intrusive analysis of a web-based proxy botnet (including administration screenshots)
* Honeynet - Know Your Enemy: Tracking Botnets  - German research paper
* Virus Bulletin - Bots and Botnets: Risks, Issues and Prevention - paper on 'Bots and Botnets'
* Intruguard Devices - Whitepapers  - on denial of service attack prevention
* Simplicita zombie remediation system  - An automated botnet and bot remediation system for ISPs
* NetworkWorld - The Botnet Global Economy  - 11/07/05 An article explaining the economy of botnets
* Virus Bulletin 2006 - The World of Botnets  - article on botnets and where they are headed by Dr Alan Solomon and Gadi Evron
* WhiteStar - Botnets discussion mailing list 
* EWeek.com - Is the Botnet Battle Already Lost?
* Wired Magazine - Attack of the Bots - How one company fought the new Internet mafia – and lost