bots是機器人的縮寫字,是聽從和應答互聯網中繼頻道指令的程序。一組bots一起工作便組成了一個botnet。它可以在任何操作系統平臺上運行。不過,bots最常見的是在Windows平臺上運行。
1.掃描主機和網絡通信查找bot感染泄漏的痕跡
許多bot是混合威脅工具的一部分。這些威脅工具包括bot、FTP文件服務器、代理服務器、身份識別服務器和后門兒等。bot用來遠程控制計算機和提供文件(如盜版軟件)。FTP服務器經常用來向系統發送文件或者用來提供文件。代理服務器通過在中間主機中來回轉移為攻擊者隱藏其連接,或者用來繞過反垃圾郵件過濾器。身份識別服務器提供身份識別協議應答,識別賬號與進入網絡的連接的關系。這是IRC(網上聊天)服務器要求的。后門能夠遠程連接計算機以便控制計算機,可繞過正常的登錄系統和賬戶子系統。
有些bot在一個程序中擁有上述所有功能。bot主機通常在網絡端口上進行監聽,以發現那些回應的端口或者開放的端口進行深入探測。監視異常的網絡連接,例如,一臺臺式電腦接收進入網絡的HTTP或者FTP連接(也就是像服務器一樣工作)或者對你的內部網絡進行計算掃描,能夠讓你檢測到被攻破的主機或者許多系統的行為(如十幾臺計算機突然同時聽取一個端口的信號)。還有,在邊界進行流量分析或者數據包內容分析能夠讓你檢測到botnet攻擊的招募階段以及發現活動的bot。例如,你的網絡中的十幾臺計算機與一臺東歐國家的IRC服務器通信,或者你的DNS服務器顯示在編號較高的TCP端口有IRC聊天通信,這些都是對網絡中的主機產生懷疑的明顯的跡象。了解一個主機什么樣的通信是正常的和合法的并且跟實際觀察到的情況進行比較可以加快你調查的速度。然后,你可以選擇封鎖通信,阻止攻擊者繼續訪問你的主機或者清除正在向第三方網站積極發送惡意軟件的被感染的主機。
2.調節路由器、防火墻和入侵檢測/防御系統,以監測和封鎖botnet通信
入侵檢測系統/入侵防御系統(IDS/IPS)旨在檢測攻擊然后報告或者封鎖這些主機。例如,利用網絡安全漏洞進入網絡對一臺主機實施攻擊的跡象可以表明一種蠕蟲或者bot的存在。防火墻進入控制列表可以用來封鎖攻擊。這些攻擊也可以記錄下來。例如,如果你按照最佳做法操作并且隔離這些服務,你就可以封鎖除了UDP和TCP 53端口以外的所有的通向你的DNS服務器的網絡訪問活動,限制對SSH(安全外殼)、RPC(遠程過程調用)等其它服務的攻擊。大多數企業都有各種各樣的這種類型的網絡安全防御系統。即使沒有邊界防火墻來限制進出網絡的連接,你還可以調節IDS/IPS來觀察在IRC端口上或者非標準端口上的可疑的bot指令和控制信號。當然,你必須知道要找什么,以便調節這些系統進行尋找。這就意味著用你的IDS利用簽名查找惡意軟件。在開源軟件數據庫、電子郵件列表或者惡意軟件分析庫中可以得到這些簽名。另一方面,新的bot具有加密功能使這種檢測毫無用處,因此不要指望這種檢測可以找到一切。
3.加密主機 防止botnet利用漏洞
一些常用的和廉價的軟件能夠有效地為主機加密,防止botnet利用安全漏洞。例如,系統完整性檢查、加密軟件、個人防火墻和殺毒/反垃圾郵件工具等能夠幫助增強用戶計算機的防御能力。服務器方面也有類似的軟件。這些措施減小了主機系統運行bot惡意軟件的機會,但是,對于保護你的系統不受大規模拒絕服務攻擊的作用很小。由于bot最近整合了SMTP代理功能和直接發送大量垃圾郵件和進行網絡釣魚攻擊的功能,使用反垃圾郵件過濾器也許有助于消除垃圾郵件和釣魚攻擊的電子郵件。但是,這還不能解決全部的問題。一個經常忽視的問題和相對來說花費比較少的防御手段是對用戶進行培訓。讓用戶了解他們在維護信息系統的完整性和保密性方面的任務并且了解攻擊者是如何設法欺騙他們的,能夠把這種社會工程學攻擊的風險減小到最低限度。
4.應用逆向工程對付bot代碼
逆向工程是是一種高級的學科,需要詳細了解編程語言、編譯器/連接器/裝載器、軟件工程和調試。由于這項工作有很多步驟需要手工完成,因此需要高級的技能和要花費很多時間,大多數企業對于在他們主機上發現的惡意軟件都沒有充足的資源來做逆向工程的工作。然而,了解惡意軟件分析的基礎知識有助于了解攻擊者是如何利用你的主機的,甚至可以關閉活動的botnet。例如,如果你充分了解如何使用反匯編程序,你就可以從Stacheldraht DDoS拒絕服務攻擊的病毒中提取處理器IP地址,在匯編程序中找到子程序調用設置并且進行decimal數據向ASCII數據的轉換。
5.與執法部門合作 起訴botnet的制造者
不管你的主機是如何被卷入botnet攻擊的(作為一個中介、實施指揮與控制或者只是擔當一塊墊腳石、或者是作為最終的攻擊目標),你的主機會看到涌入的海量數據或者看到在登錄服務上對整個網站進行字典攻擊,你要搜集和保留這些攻擊的證據。你在什么地方和如何收集這些證據取決于你的主機在botnet攻擊中扮演的角色。例如,海量數據攻擊的受害者只需要收集從網絡上發來的數據的樣本,或者路由器統計的拒絕服務攻擊的數據類型、嚴重性和持續的時間。受控制(非法的IRC服務器)的網站或者bot代理將在網絡上發送指令和控制通信。這些通信以及安裝在主機內部的惡意軟件都應該鏡像和保留。
執法部門需要適當保留的證據和準確描述攻擊行為的報告。重要的是需要指出日期、時間、攻擊的時段以及這些時間是否與可信賴的時間來源同步。使用網絡時間協議讓時鐘同步。并非所有的網絡日志都包含所有的證據。因此,把各種網絡日志聯系起來就可以提供更詳細的數據,產生精確的攻擊時間表。
執法部門必須要優先安排他們的資源,因此另一個重要的因素就是準確的損失評估。這項內容包括你的組織與事件反應部門協調工作所花費的時間、系統管理員將系統恢復到可信賴的網站水平所花費的時間、你的工人生產力的損失和客戶收入的損失等。
未來的前景并不樂觀,因為受到bot影響的軟件功能越來越強大,隱蔽性越來越強。找到這些bot軟件是非常困難的。計算機用戶面臨的壓力就是要更多地了解安全,機構面臨的壓力就是要投入更多的資金用于增強預先防御措施、檢測和反應能力。執法部門還需要應付數量日益增多的犯罪活動。這種網絡犯罪活動每一次要涉及到數千臺計算機。