Thứ Hai, 22 tháng 7, 2013

Tổng quan về Bots và Botnet

Sử dụng hàng ngàn máy tính ma (zombie machines) để khởi động cuộc tấn công từ chối dịch vụ (distributed denial of service attack) hay còn gọi là DDOS nhằm vào enterprise và goverment internet resources bởi attackers đang trở thành một xu hướng nguy hiểm và đáng báo động. Gần đây, xu hướng này ngày càng tăng, attackers sử dụng Internet Relay Chat (IRC ) networks cho việc điều khiển và quản lý các infected internet hosts. Paper này cung cấp một toàn cảnh về malicious bot được điều khiển từ xa bởi attacker thông qua private IRC channels. Paper này cung cấp...

Tóm tắt
Sử dụng hàng ngàn máy tính ma để khởi động cuộc tấn công từ chối dịch vụ nhắm vào enterprise và gorverment internet resources thực hiện bởi attackers đang trở thành một xu hướng nguy hiểm trong giới tội phạm mạng. Để tạo ra một "lực lượng" zombie internet hosts, attackers thường infect machines của home users có kết nối băng thông rộng đến internet, networks được duy trì bởi các trường đại học và doanh nghiệp nhỏ, với trojans được điều khiển từ xa. Những người chủ sở hữu của các máy tính này được hình dung như là users có nhận thức về bảo mật trên internet tương đối thấp và bị giới hạn resources để bảo vệ hạ tầng của họ. Gần đây, có một xu hướng gia tăng trong giới attacker, sử dụng Internet Relay Chat (IRC) networks để điều khiển và quản lý infected internet hosts. Paper này cung cấp một overview về malicious bot, một trojan được điều khiển từ xa lây nhiễm trên infected internet hosts và được điều khiển từ xa bởi attacker thông qua private IRC channels.

Paper cung cấp kiến thức nền tảng nằm phía dưới IP protocol, IRC (RFC 2810) và covers các thuật ngữ được sử dụng để giải thích các hoạt động của bots, các thành phần được cần đến trong malicious bots infection, hiểu biết về những ứng dụng có thể có của bot infected machines sử dụng bởi attacker. Làm thế nào và tại sao một attacker chọn một hệ thống mục tiêu để infect, mô tả quá trình của malicious bot infecting một hệ thống và attacker điều khiển từ xa infected system thông qua IRC channels, liệt kê và mô tả các đặc điểm của một vài "known" bots, có một cái nhìn vào cách bots có thể được sử dụng như là một phần của chiến lược chiến tranh thông tin, cung cấp những khuyến nghị cho home user và system admin để ngăn chặn, phát hiện và respond đến các hành vi của malicious bot.

Giới thiệu

Internet do đặc tính hiện hữu của nó, bao gồm một lượng hữu hạn tài nguyên và attackers exploit nó thông qua việc làm cạn kiệt (exhauting) các dịch vụ máy tính và mạng với các truy vấn không hợp pháp (illegitimate requests), do đó từ chối truy nhập hợp lệ đến các dịch vụ này. Mô hình của DOS attack cần từ một attacker duy nhất tấn công vào một máy mục tiêu đến nhiều máy attacker flooding requests đến một targer duy nhất. Mô hình DDOS sau này được tinh luyện lại qua việc sử dụng nhiều handlers dành cho việc chuyển hướng và quản lý một số lượng lớn hosts tấn công vào một single target.

Các tools và kĩ thuật phục vụ cho DOS attack đã có sẵn và dễ dàng sử dụng . Trong paper “Trends in Denial of Service Attack Technology” George M.
Weaver & Kevin J. Houle from CERT® Coordination Center đã thảo luận về mô hình, nơi attackers nhiễm một lượng lớn internet hosts với trojans được điều khiển từ xa và direct chúng tấn công DDOS targets thông qua handlers, như là một cách thức tấn công phổ biến nhất. Hấp dẫn thay, việc sử dụng handler để quản lý và điều khiển một số lượng lớn zombie hosts (infected system chịu dưới sự điều khiển của attacker) trong những năm gần đây, được thay thế bằng Internet Relay Chat (IRC) networks, hoạt động như attacker's virtual command and control centers.

Sự phổ biến rộng rãi của IRC network và services giúp attacker ngụy tạo các hành vi và qua mặt các kĩ thuật phát hiện trong vai trò của IRC traffic hợp lệ. Infected hosts kết nối attacker hosted IRC channel được gọi là bots và mạng của những bots này kết nối đến một IRC channel được gọi là "botnet".

'Bots' là tương tự như 'agent' trong mô hình  DDOS truyền thống infect host machine và duy trì access cho attackers để điều khiển chúng thông qua 'handlers' tương tự như là 'botnets', trong khi chúng ta đang nói đến IRC networks. Thông thường, một bot được installed trên một victim machine thiết lập outbound connections đến standard IRC network service port và joins attacker private channel. Public IRC networks như là Efnet, Undernet hoặc DALnet, cung cấp cho attackers một hạ tầng ổn định và có khả năng mở rộng để duy trì, mở rộng, quản lý và điều khiển đội quân bots của họ.

IRC networks cung cấp cho attackers khả năng dễ dàng và mềm dẻo để điều khiển hàng trăm hoặc hàng ngàn bots (malicious program trên từng máy tính bị lây nhiễm). Nó còn giúp họ ngụy trang được những dấu hiệu của mình, việc tạo ra công việc theo dõi nguồn của cuộc tấn công bởi sys-admins và các tổ chức pháp luật trở nên khó khăn hơn rất nhiều.

Tiêu chí attackers sử dụng để lựa chọn victims cho mục đích lây nhiễm bots là những băng thông tốc độ cao và tính có sẵn cao. Các targets tiềm năng không bị giới hạn bởi university servers mà còn mở rộng đến user sử dụng internet băng thông cao tại nhà và ISPs. Thêm vào đó, có sự gia tăng của trojans dựa trên IRC và backdoors dành cho file sharing thông qua IRC channels.

Có cả hàng trăm hoặc hàng ngàn bot packages có thể cấu hình, có thể tinh chỉnh đầy rẫy trên internet và hầu hết là miễn phí. Chúng trải dài từ những code được viết một cách chuyên nghiệp phục vụ cho công việc đến of-the-shelf excutables sử dụng bởi script kiddies. Một sự bảo vệ chống lại bot infection bởi anti-virys packages bị giới hạn đến "known" bot.

Background

IRC là một giao thức internet được phát triển năm 1988 bởi Jarkko Oikarinen, với tính năng cơ bản cho phép con người kết nối ở bất cứ đâu trên Internet để tham gia vào real-time text based discussions. Mỗi discussion ở trên một "channel", và nhiều người có thể join vào cùng một lượt. Theo như RFC 2810, IRC protocol được thiết kế nhiều năm phục vụ cho text based conferencing. IRC Protocol dựa trên mô hình client-server, và  nó phù hợp để chạy trên nhiều máy trong một mô hình hình phân bổ. Một setup thông thường yêu cầu một single process (the server) đóng vai trò trung tâm cho clients (hay servers khác) kết nối đến, thực hiện vận chuyển tin nhắn và các chức năng khác.

Một setup tiêu biểu bao gồm một user running một "IRC client " program những gì kết nối đến một server trong một IRC network. Tất cả servers được liên kết nối và gửi messages từ một user này đến user khác thông qua IRC network. Một server có thể được kết nối đến một vài server khác và lên tới hàng trăm clients. Mặc định TCP service port của IRC là 6667 và IRC servers lắng nghe trên một dải port từ 6000-7000, mặc dù nó có thể được cấu hình để run trên bất cứ port nào.

Trong một trong những chế độ giao tiếp available trên IRC networks nhiều IRC clients kết nối đến IRC servers để form một nhóm luận lý như là một channel. Giao tiếp gửi bởi mỗi client đến IRC server được đưa đến tất cả IRC clients khác được kết nối đến channel đó.

Thuật ngữ 'bot' được lấy ra từ "ro-bot". Bot là một thuật ngữ chung được sử dụng để một tả một script hoặc là một tập hợp scripts được thiết kế để thực hiện các hàm đã được định nghĩa trước một cách tự động. Bots được sử dụng bởi search engines để spider online website content và bởi online games để cung cấp các đối thủ ảo. ví dụ, games thỉnh thoảng chúng ta đấu với máy tính trong khi online, bot hoạt động như là các đối thủ. Chức năng của bot trong channels cung cấp cơ chế quản lý access lists, di chuyển files, chia sẻ users, chia sẻ thông tin channel, bất cứ thứ gì khác nếu scripts được added.

Tổng kết lại, IRC bots được tự động và điều khiển bởi events những gì có thể là command được gửi trong channel bởi IRC hoặc client với đặc quyền cho phép.

Elements of Typical IRC Bot Attack

Bots trong các trường hợp biến thể được sử dụng bởi attackers để infect victim machines sau khi chúng bị compromised hoặc victim machine bị lừa cài đặt phần mềm độc hại. Bots joins vào IRC channel đã được cấu hình và chờ cho attackers command.  Figure phía dưới đây shows typical IRC bot attack và các yếu tố được yêu cầu.

  • Bot thông thường là executable file, có khả năng thực hiện một tập hợp functions, mỗi trong số chúng được kích hoạt bằng một specific command. Một bot khi được cài đặt trên victim machine copies chính nó vào trong một thư mục cài đặt có thể cấu hình và thay đổi thông tin hệ thống để có thể start mỗi lần hệ thống boots. Trên nền tảng Windows bots có thể được add instance của nó đến HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\, kích thước tiêu biểu của một compressed bot là nhỏ hơn 15kb. Một off-the-shelf bot nói chung được sử dụng bởi attacker ít "nguy hiểm" có thể được download từ các diễn đàn trên Internet và được edited để include, remote IRC server mong muốn được kết nối, remote TCP port để sử dụng cho kết nối này, channel để join trên server đó và authentication password được refer như 'key' để có được access đến attackers private channel. attacker nguy hiểm hơn có thể thao tác đến các đặc tính như là files được tạo sau khi cài đặt và thư mục cài đặt nơi bot files được đặt bên trong sau khi cài đặt. Một điểm quan trọng đáng chú ý ở đây là bots không phải exploits trên OS hoặc ứng dụng, chúng là payload vận chuyển bởi worms hoặc được sử dụng để cài backdoor mỗi khi một máy được thêm vào. 
  • Victim machine: là compromised internet host nơi mà malicious bot được cài đặt sau khi attacker đã exploit một lỗ hổng ứng dụng hoặc OS hoặc user bị lừa cài đặt malicious program. Mỗi khi infected target host được biết đến như Zombies. 
  • Attacker: là một người cấu hình bot , nó bao gồm một máy để cài đặt malicious bot, điều khiển và directs bots mối khi nó joins vào IRC channel. 
  • Control channel: Là một private IRC channel tạo bởi một attacker như là điểm tập kết của tất cả bots đê join mỗi khi chúng được cài đặt trên infected machine và đang online, nó bao gồm một channel name và một password 'key' để authenticate.
  • IRC Server: là một server cung cấp IRC services, nó có thể là một nơi cung cấp dịch vụ hợp pháp như DALNET hoặc một máy khác bị attacker chiếm lấy. 
  • Botnet: Tất cả bots mỗi khi được kết nối đến control channel tạo ra một botnet ví dụ như mạng của bots, đang chờ attacker command
Malicious user Bots & Botnet

Các hành vi nguy hiểm dưới đây được thực hiện bởi attacker sử dụng bots và botnets.
  • Distributed denial of service attacks: đây là nguyên nhân trước hết cho việc sử dụng IRC bots của attackers. Attacker có thể command các máy zombies của nó thông qua botnets, để gửi một luồng UDP packets lớn hoặc luồng kích thước lơn ICMP requests hoặc flood TCP sync requests đến target servers. Với hàng trăm thậm chí hàng ngàn bots sẵn sàng nghe lệnh attacker có thể gây tắc băng thông của target server dẫn đến từ chối các requests hợp lệ. 
  • Secondary local infection: với việc cài đặt bots attacker chiếm hoàn toàn quyền điều khiển trên victim machine, attacker có thể download và cài đặt key logger hoặc trojan để thu thập các thông tin có giá trị từ infected host, như là banking password, credit card numbers hoặc bất cứ thông tin cá nhân nào được lưu trên compromised machine. 
  • Trade bandwith: Một ứng dụng khá hấp dẫn khác trên infected machine là kinh doanh bandwith của high speed bots (infected machine sẽ thường xuyên on, kết nối băng thông cao đến internet) giữa cộng đồng hacker. 
  • Backdoor: bots được cài đặt trên compromised machines như là backdoors để duy trì access sau khi exploit, nhất là đã có IRC traffic hợp lệ trong mạng. Attacker có thể cấu hình bots để sử dụng cùng remote TCP port như là được sử dụng bởi legitimate IRC traffic, do đó giảm đi cơ hội phát hiện bởi sys-admins. 
  • Host illegal data:Trong một xu huống attackers đang sử dụng malicious bots để làm cho victim machine là một phần của file sharing network và sử dụng không gian lưu trữ của họ để lưu trữ illegal files, software, pirated movies, nhất là trong trường hợp infected host là server với không gian lưu trữ lớn được kết nối thông qua một đường truyền internet tốc độ cao. IRC bots (như là Iroffer) được thiết kế cho file-sharing qua IRC.
Ngoài ra, việc theo dõi attacker thực sự cài đặt malicious bot lên victim machine và sử dụng nó cho illegal activity là khá khó khăn và hiếm khi được theo đuổi bởi ISPs hoặc sys-admins. Có thể rõ ràng từ đây, mục đích sử dụng phá hoại của bots và botnet bị giới hạn chỉ bởi trí tưởng tượng của attacker và có thể yêu cầu infected machine bên trong host of illegale activities.

Prime Targets/Victims

Điều mong muốn của attacker là host kết nối đến internet, do đó hầu hết các lỗ hổng cho phép lây nhiễm bots ít bị moniterd, high bandwidth, home computers hoặc university servers.

  • High bandwidth: Một trong những việc mà hầu hết attacker thực hiện sau khi lây nhiễm bots là việc tích lũy được lượng bandwidth để tấn công servers mục tiêu thông qua DDOS.
  • Availability: attacker thích machines thường xuyên trong trạng thái on, vì thế tính sẵn sàng là rất cao để thực hiện các mệnh lệnh.
  • Low user awareness & monitoring capability:  Users mà có những hiểu biết hạn chế về security và có số lượng tài nguyên bị giới hạn để đầu tư cho các thiết bị điều khiển là mục tiêu của bots infection. Thiếu đi sự cập nhật cho hệ điều hành và ứng dụng thêm vào đó là sự không tồn tại của các thiết bị điều khiển truy nhập như firewall đem cho attackers cơ hội để bẻ gãy hệ thống và duy trì bots trong một thời gian dài mà không bị nhận dạng hoặc bị truy tìm nguồn gốc. 
  • Location: các máy mục tiêu của attacker, là những máy có vị trí địa lý rất xa so với attacker làm cho việc tìm ra nơi đầu sỏ là rất khó. 

Profile tiêu biểu mà fits tất cả các tiêu chí của một kết nối băng thông rộng trong một khu dân cư rộng hoặc university servers đó là được kết nối đến internet băng thông rộng và hầu như mọi lúc đều available. 

Attackers thường target các kết nối băng thông rộng cung cấp bởi ISP subnets hoặc university subnets mà có ít hoặc không có các thiết bị điều khiển truy nhập, thường thì có rất ít việc monitor kết nối mạng tại đây. 


Bots Infection & Control Process

Phần này mô tả quá trình attackers sử dụng bots, tinh chỉnh nó để phù hợp với nhu cầu của họ, exploiting victim host, infecting nó với malicious bot và điều khiển bots để attack targets khác hoặc sử dụng như là zombies. 

Coding/Editing: Quá trình bắt đầu phụ thuộc vào các kĩ năng của attacker, bởi lẽ họ có thể editing known bots có sẵn trên các diễn đàn phần mềm hoặc viết code của mình với các thành phần có thể cấu hình theo ý của họ, IRC server nơi bot sẽ kết nối mỗi khi được cài đặt trên victim machine, remote IRC TCP service port để kết nối, private channel name để join, password hoặc key để authenticate bots access đến private channel. Thêm vào đó, phụ thuộc vào mục đích cụ thể bot được sử dụng, bot có thể thay đổi location và name của file được đặt infected machine. Thậm chí hơn nữa attacker có thể lựa chọn việc sử dụng dynamic hoặc multiple channels mà một bot joins vì thế có thể duy trì được access đến botnet của họ trong trường hợp chúng bị banned bởi một IRC server cụ thể. Để làm được điều đó, attackers sử dụng các service providers như dyndns.com hoặc no-ip.com để liên kết dynamic ip mapping đến IRC server cho bots để join.

Figure phía trên show một single instance của bot infection, quá trình được lặp lại cho đến khi có một số lượng lớn hosts để tạo một đội quân bots hoặc zombie machines. 

Attacker, cố gắng infect victim machines hoặc thông qua exploiting một vài lỗ hổng hệ điều hành hoặc ứng dụng hoặc lừa user thực thi một malicious program để cài đặt bots. (1) Cách thông thường để attacker infecting một lượng lớn nhóm internet hosts là sử dụng exploit của các lỗ hổng chưa được biết đến,[NDNN] sử dụng nó để có được truy nhập đến victim machine và cài đặt bots như là backdoor để duy trì truy nhập. Quá trình được mô tả có thể được tự động bằng việc sử dụng một worm được định hướng, worm này sẽ scan qua một target subnet để tìm một lỗ hổng, exploit một lượng lớn systems chưa được vá và infect chúng với malicious bot. [ZDNET] theo một cách khác exploit unpatched web applications và lừa user thực thi một vài chương trình nguy hiểm hoặc virus để lây nhiễm bots. User có thể install một IRC client với trojan bên trong, trong khi đang thực hiện các công việc hợp lệ của IRC client nó đồng thời cài đặt một bot trên user machine. 

Sau khi bot installs trên victim machine nó sao chếp chính mình vào thư mục cài đặt và cập nhật registry keys trong trường hợp nền tảng Windows. Trong giai đoạn thứ 2, bot cố gắng kết nối đến IRC server với một nick name được sinh ra một cách ngẫu nhiên ví dụ một tên duy nhất hoặc handle biểu diễn bot nằm trong private channel của attacker. Bot sử dụng 'key', một mật khẩu xác thực để join private IRC channel của attacker. 

Hơn nữa có nhiều lần attackers sử dụng public IRC servers để phục vụ cho các hành vi của chúng và có thể bị banned bởi IRC administrators, do vậy đánh mất đội quan botnet của họ. Để tránh điều đó, attacker thỉnh thoảng sử dụng service providers như dyndns.com hoặc no-ip.com để (3) dynamic map bots của họ đến nhiều IRC servers. 

Mối khi (4) bot được cài đặt trên victim machine, nó joins attackers channel với unique nick name, như là một phần của attacker's botnet army đang chờ instructions. (5)

Thông thường khi nhiều bots join IRC channel attacker sẽ cho chúng đăng nhập vào (6) với một mật khẩu truy nhập phức tạp và bị mã hóa, đảm bảo rằng bots không thể bị điều khiển bởi người khác và làm cho nó khó bị hijack hơn. Sau khi yêu cầu truy nhập được chấp nhận attacker có thể direct và điều khiển từ xa hoạt động của một lượng lớn infected zombies thông qua botnet đso để tấn công các mục tiêu khác (7) hoặc sử dụng nó cho các hành vi gây hại khác.

Botnet Role in Information Warfare

Botnet hay là một đội quân bots với tốc độ cao có thể được sử dụng một cách hiệu quả để duy trì khả năng của DDOS attack và phát động các cuộc tấn công phối kết hợp tại bất cứ thời điểm mong muốn nào theo sự hướng dẫn của control master thông qua attacker. "Cable bots" cụm từ được sử dụng trong cộng đồng hacker để mô tả bots cài đặt trên compromised hosts kết nối đến internet thông qua các đường liên kết băng thông cao hoạt động giống như zombies chực chờ sự kích hoạt từ controller của nó, cung cấp cho attacker một lượng băng thông tích lũy để exploit hoặc deny access đến các dịch vụ trong máy tính mục tiêu. Trong bối cảnh là một tổ chức hoặc các hoạt động gián điệp chính phủ, một attacker có thể thu thập thông tin riêng tư trong một thời gian dài mà không bị cảnh báo.

Defending Against Bots & Botnet

Việc chống lại bots infection và attack có thể được phân ra thành 3 chặng : ngăn chặn, phát hiện và phản hồi như trong paper “ Botnet: Detection and Mitigation “ viết bởi Jim Jones và các giải thích phía dưới đây là dưới vai trò của home user và sys-admin, chi tiết của mỗi chặng như sau:

  • Giai đoạn ngăn chặn: Khuyến nghị các thước đo, tiêu chuẩn user hoặc admin có thể thực hiện để ngăn cho hệ thống hoặc mạng của họ tránh khỏi bots infection. Chặng này phác thảo các thước đo ngăn chặn mà home user và sys-admin có thể implement để chống lại bots infection. 
  • Giai đoạn phát hiện: Mesuares user và sys-admin có thể triển khai để nhận dạng một hành vi gây hại của bots trên máy hoặc là trong mạng. Nó phác thảo guidelines chung mà có thể được sử dụng để quan sát hoặc verify các hành động đáng ngờ. 
  • Giai đoạn phản hồi: recommends hành động mà home-user, sys-admin có thể thực hiện để response đến bots infecting machine hoặc network.
Home User : prevention


  •  Cần có những hiểu biết chung về security và privacy đối với tất cả online users. Có được sự hiểu biết là cách tốt nhất để ngăn malicious bots lây nhiễm vào computers. 
  • Như đã nói từ trước cách phổ biến nhất của việc lây nhiễm là malicious bots đang compromising host thông qua việc exploiting các lỗ hổng trong OS hoặc các ứng dụng được cài đặt. Following vendor guidelines về sử dụng an toàn, patch và updates hệ điều hành và các ứng dụng 


Không có nhận xét nào:

Đăng nhận xét