Bot & Botnet (phần 1)
Link: http://www.vnsecurity.vn/index.php?option=com_content&view=article&id=48:bot-botnet-phan-1-&catid=40:botnet&Itemid=59
1. Lời nói đầu
Internet ngày càng phát triển, cùng với nó các mạng botnet được sinh ra một cách bí mật và tiềm ẩn những nguy cơ lớn đối với an ninh mạng. Số lượng và kích cỡ botnet ngày càng tăng. Người ta đã tìm thấy và gỡ bỏ nhiều 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. Ở Việt Nam điển hình là vụ tấn công từ chối dịch vụ Flash-DDoS bằng botnet vào trang thương mại Việt Cơ (2006) và gần đây nhất là vụ tấn công DDoS hàng loạt các site như 5giay.vn, nhatnghe.vn,bkav.com.vn (của BKIS – Trung tâm an ninh mạng ĐHBKHN) ( tháng 09/2008 ) bằng botnet với số lượng máy bị kiểm soát lên đến hàng ngàn. 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. Vậy botnet là gì ? Botnet hình thành và hoạt động như thế nào? Các nguy cơ của botnet ? Bài viết này tôi sẽ đề cập đến IRC botnet và trả lời các câu hỏi trên.
2. DoS và DDoS
Một cuộc tấn công từ chối dịch vụ (tấn công DoS) hay tấn công từ chối dịch vụ phân tán (tấn công DDoS) 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ác không xác định. Thủ phạm tẩn công từ chối dịch vụ nhằm vào các mục tiêu site hay server tiêu biểu như ngân hàng, cổng thanh toán thẻ tín dụng và thậm chí DNS root servers.
Một phương thức tấn công phổ biến kéo theo sự bão hoà máy mục tiêu với các yêu cầu liên lạc bên ngoài, đến mức nó không thể đâp ứng giao thông hợp pháp, hoặc dáp ứng quá chậm. Trong điều kiện chung, các cuộc tấn công DoS được bổ sung bởi ép máy mục tiêu khởi động lại hoặc tiêu thụ hết tài nguyên của nó đến mức nó không cung cấp dịch vụ, hoặc làm tắc nghẽn liên lạc giữa người sử dụng và nạn nhân.
Tấn công từ chối dịch vụ đựoc lưu ý sự vi phạm chính sách sử dụng đúng internet của IAB(Internet Architecture Board). Chúng cũng cấu thành sự vi phạm luật dân sự.
Phương pháp DoS truyền thống sử dụng một máy tính đơn gửi một số lượng lớn các yêu cầu (flooding requests) đến máy tính đơn khác. Mô hình DDoS sử dụng nhiều máy tính tấn công một mục tiêu đơn nhất. DDoS sử dụng mạng botnet để tấn công, về mặt lý thuyết khi mạng botnet này đủ lớn thì mục tiêu không thể chống đỡ nổi hơn nữa phương pháp này tạo ra các truy nhập hợp lệ khiến việc xác định nơi phát động tấn công là một khó khăn rất lớn.
3. Internet Relay Chat (IRC)
IRC được sáng tạo ra bởi Jarkko Oikarinen (bí danh "WiZ") vào khoảng cuối tháng 8 năm 1988 để thay thế một chương trình có tên là MUT (MultiUser Talk) trên một kênh BBS gọi là OuluBox tại Phần Lan. Ông tìm được cảm hứng cho dự án của mình từ hệ thống Bitnet Relay Chat của mạng Bitnet.
IRC được nhiều người chú ý đến từ khi nó được dùng sau tấm màn sắt (Iron Curtain) để viết phóng sự trực tuyến về sự sụp đổ của Liên Bang Xô Viết trong khi tất cả các phương tiện truyền thông khác không hoạt động được. Thời gian gần đây, nó cũng được dùng một cách tương tự để viết phóng sự trong trận chiến giữa Kuwait và Iraq.
IRC là chữ viết tắt từ cụm từ Internet Relay Chat trong tiếng Anh. IRC là một dạng liên lạc cấp tốc qua mạng Internet. Nó được thiết kế với mục đích chính là cho phép các nhóm người trong một phòng thảo luận (channel) liên lạc với nhau. Tuy nhiên, nó cũng cho phép hai người dùng liên lạc riêng nếu họ thích.
Hiện nay IRC là mạng trò chuyện trực tuyến lớn, có vài triệu kênh trên máy phục vụ trên khắp thế giới. Giao thức viễn thông này cũ hơn IM; IRC từng là hoàn toàn đựa vào nhập thô ASCII. Tuy nhiên, hiện thời có mốt số ứng dụng đồ họa làm cho dễ sử dụng IRC hơn, gần bằng dùng IM.
Hình 01. Mô hình mạng IRC
Ngoài chát, IRC còn dùng để chia sẻ tập tin và tư liệu theo hình thức mạng ngang hàng.
Có nhiều ứng dụng khách IRC cho người dùng trên bất kỳ hệ điều hành. Một ứng dụng phổ biến là XChat. XChat là phần mềm tự do trên Linux/BSD, mặc dù phiên bản trên Windows là phần mềm dùng thử (30 ngày), cũng đã dịch sang tiếng Việt.
Conversation là một thí dụ của ứng dụng khách IRC mới, dễ dùng, đựa vào đồ họa. Không cần học hiểu lại cách sử dụng lệnh IRC.
Các ứng dụng khách Jabber cũng có khả năng trò chuyện qua IRC, nhưng chưa có truyền tải hữu hiệu.
Chương trình thông dụng khác để truy cập vào các máy chủ IRC là KVIrc và mIRC. mIRC là một phần mềm chia sẻ (shareware) dành cho người sử dụng IRC trên Windows (không hoạt động trên các hệ điều hành khác như Linux, Mac OS, PalmOS, Epoc, Atari's...), được sáng tạo, phát triển và đăng kí bản quyền bởi Khaled Mardam-Bey.
4. Bot và botnet
Bot hay rôbôt mạng là các ứng dụng phần mềm chạy các tác vụ tự động hóa trên mạng. Thông thường, bot thực hiện các tác vụ đơn giản và có cấu trúc lặp đi lặp lại với một tần suất cao hơn nhiều so với khả năng của một soạn thảo viên là con người. Ứng dụng rộng lớn của bot là trong duyệt tự động Web theo kiểu bò loang (web spidering), trong đó một chương trình tự động tìm kiếm, phân tích và sắp xếp thông tin từ các máy chủ web với tốc độ cao hơn nhiều lần tốc độ của con người. Mỗi máy chủ có một file có tên robots.txt chứa các quy tắc cho việc bò loang tự động tại máy chủ đó, đây là các quy tắc mà con bot cần tuân theo.
Bot là viết tắt của robot, tức các chương trình tự động hoá (chứ không phải là người máy như nghĩa chúng ta vẫn gọi) thường xuyên được sử dụng trong thế giới Internet. Một ví dụ về bot đó là search enginer Người ta định nghĩa spider được dùng bởi các công cụ tìm kiếm trực tuyến, ánh xạ website và phần mềm đáp ứng theo yêu cầu trên IRC (như eggdrop) là robot.
Bên cạnh các ứng dụng kể trên, bot còn có thể được cài đặt tại nơi đòi hỏi tốc độ phản ứng cao hơn tốc độ của con người (chẳng hạn bot trò chơi điện tử và bot tại các trang web bán đấu giá) hoặc trong các tình huống cần đến sự bắt chước các hoạt động của con người (chẳng hạn các chatbot - bot nói chuyện).
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 cửa hậu, 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, ...). 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.
Một xu hướng rất nguy hiểm trong thời gian gần đây là kẻ tấn công sử dụng botnet gồm hàng ngàn máy tính ma (máy tính đã bị khống chế hay còn gọi là zombie) để tấn công từ trối dịch vụ, nhằm vào các hệ thống của doanh nghiệp, tổ chức, chính phủ. Để tạo ra đội quân zombie hùng hậu này, chúng sử dụng virus, spyware hay các trojan lây nhiễm qua Internet, khi máy tính bị nhiểm máy tính đó sẽ bị kiểm soát một cách bí mật, từ xa bởi các Trojan. Có rất nhiều phương pháp điều khiển và quản lý zombie từ xa. Trong khuôn khổ bài viết này tôi chỉ đề cập đến việc điều khiển và quản lý bằng Trojan thong quan các kênh riêng Internet Relay Chat (IRC).
5. IRC botnet
Mỗi một máy bị kiểm soát,bị cài một phần mềm nguy hiểm bí mật kết nối đến kênh IRC của kẻ tấn công gọi là một bot. Mạng các các kết nối tới một kênh IRC gọi là một botnet.
Bot cũng đồng nghĩa với agent (tác tử) trong phương thức DDoS truyền thống. Các bot này được điều khiển thông qua kênh IRC nó kết nối đến. Một bot khi được cài lên máy của nạn nhân, nó sẽ kết nối ra ngoài theo các cổng của dịch vụ IRC và tham gia vào các kênh riêng do kẻ tấn công tạo ra. Các kênh này năm trên các mạng phổ biến như Efnet, Undernet hay DALnet. Các mạng này là một công cụ miễn phí, ổn định để kẻ tấn công dễ dàng mở rộng, quản lý, duy trì và điều khiển đội quân bot.
Mạng IRC cung cấp cho kẻ tấn công khẳ năng dẽ dàng và mềm dẻo để điều khiển hàng trăm thậm trí hàng ngàn bot.
Theo Australian CERT, điểm cực kỳ nguy hiểm là các bot hiện nay có thể tân dụng được băng thông rộng và tài nguyên dư thừa của máy nạn nhân, những bot này sẽ có khả năng cực kỳ mạnh mẽ. Botnet với nhiều bot mạnh này sẽ tạo ra một sức mạnh vô cùng ghê gớm, có khả năng đánh sập bất kỳ hệ thống nào.
(Còn nữa)