僵尸網絡(botnet)是指一組受到惡意軟件感染并遭到惡意用戶控制的計算機。術語“僵尸網絡”由“機器人(bot)”和“網絡(network)”兩個詞組合而成,每臺受感染設備被稱為“機器人”。僵尸網絡可用于完成非法或惡意的任務,包括發送垃圾郵件、竊取數據、投放勒索軟件、欺詐性點擊廣告或發動分布式拒絕服務(DDoS)攻擊。
雖然某些惡意軟件(如勒索軟件)會對設備所有者產生直接影響,但 DDoS 僵尸網絡惡意軟件的可見性可能各不相同;一些惡意軟件用于完全控制設備,另一些惡意軟件則以后臺進程的形式偷偷運行,同時默默等待攻擊者或“僵尸牧人”發出指令。
自我傳播的僵尸網絡通過各種不同的渠道招募額外的機器人。感染途徑包括利用網站漏洞、木馬惡意軟件和破解弱身份驗證以獲得遠程訪問。一旦獲得訪問權限,所有這些感染方法都會導致在目標設備上安裝惡意軟件,從而允許僵尸網絡的操作員進行遠程控制。一旦設備被感染,它可能會嘗試通過在周圍網絡中招募其他硬件設備來自我傳播僵尸網絡惡意軟件。
雖然無法確定特定僵尸網絡中機器人的確切數量,但根據估算,復雜僵尸網絡的機器人總數從幾千一直延伸到百萬以上。
僵尸網絡因為什么原因而誕生?
使用僵尸網絡的原因多種多樣,包括激進主義和國家贊助的破壞活動,許多攻擊純粹是為了牟利。在線招募僵尸網絡服務所需的費用相對較低;特別是,對比可能造成的損失,價格優勢尤為顯著。另外,創建僵尸網絡的門檻也足夠低,因而成為某些軟件開發人員的牟利手段,在監管和執法力度有限的地區應用尤其廣泛。綜合以上,提供招募出租的在線服務迅速風靡全球。
如何控制僵尸網絡?
僵尸網絡的核心特征是能夠接收僵尸牧人(bot herder)發出的更新指令。由于能夠與網絡中每個機器人進行通訊,攻擊者可改變攻擊手段、更改目標IP 地址、終止攻擊或進行其他自定義行動。僵尸網絡設計各不相同,但控制結構可分為兩大類:
客戶端/服務器僵尸網絡模型
客戶端/服務器模型模擬傳統遠程工作站的工作流程,其中每臺機器都連接到集中式服務器(或少數集中式服務器),以便訪問信息。在這種模型中,每個機器人將連接到命令和控制中心(CnC)資源(例如 Web 域或 IRC 通道),以便接收指令。通過使用這些集中式存儲庫向僵尸網絡傳達新命令,攻擊者只需修改每個僵尸網絡從命令中心獲取的原始資源,即可向受感染機器傳達最新指令。控制僵尸網絡的集中式服務器可以是攻擊者自有及操控的設備,也可以是一臺受感染的設備。
目前已發現大量流傳甚廣的集中式僵尸網絡拓撲,包括:
星形網絡拓撲
多服務器網絡拓撲
分層網絡拓撲
在以上各類客戶端/服務器模型中,每個機器人均連接命令中心資源(如 Web 域或 IRC 通道)以接收指令。鑒于使用這些集中式存儲庫向僵尸網絡傳達新命令,攻擊者只需從一個命令中心修改各個僵尸網絡占用的原始資源,即可向受感染機器傳達最新指令。
同時,利用有限數量的集中來源即可向僵尸網絡發送最新指令,這種簡便性成為此類機器的又一漏洞;若要移除使用集中式服務器的僵尸網絡,只需中斷這臺服務器便可。在這一漏洞的驅使下,僵尸網絡惡意軟件創建者不斷發展,探索出一種不易受到單一或少量故障點干擾的新模型。
點對點僵尸網絡模型
為規避客戶端/服務器模型漏洞,最近惡意用戶一直使用分散式對等文件共享組件設計僵尸網絡。在僵尸網絡中嵌入控制結構,消除采用集中式服務器的僵尸網絡的單點故障,緩解攻擊的難度隨之提高。P2P 機器人可以同時是客戶端和命令中心,協同相鄰節點傳播數據。
點對點僵尸網絡會維護受信任的計算機列表,僵尸網絡可根據列表往來通信并更新其惡意軟件。限制機器人連接的其他機器數量,使每個機器人僅對相鄰設備公開,這使得跟蹤和緩解難度相應增高。由于缺乏集中式命令服務器,點對點僵尸網絡更容易受到僵尸網絡創建者以外的其他用戶的控制。為防止失控,分散式僵尸網絡通常經過加密以限制訪問。
IoT 設備如何變身為僵尸網絡?
沒有人會通過后院用來觀察喂鳥器的無線 CCTV 攝像頭操作網上銀行業務,但這并不意味著此類設備無法發出必要的網絡請求。IoT 設備的強大能力,加上安全防護薄弱或配置不當,為僵尸網絡惡意軟件招募新機器人加入攻擊隊伍創造了機會。IoT 設備持續增長,DDoS 攻擊隨之掀開新篇章,因為很多設備配置不當,很容易受到攻擊。
如果 IoT 設備漏洞硬編碼到了固件中,更新難度將進一步加大。為降低風險,應更新裝有過期固件的 IoT 設備,因為自初始安裝設備開始默認憑證通常保持不變。很多廉價硬件制造商并不會因提高設備安全性而獲得獎勵,因而僵尸網絡惡意軟件用于攻擊 IoT 設備的漏洞始終存在,這項安全風險仍未消除。
如何禁用現有的僵尸網絡?
禁用僵尸網絡的控制中心:
如果可以識別控制中心,禁用按照命令和控制模式設計的僵尸網絡也會變得更加輕松。切斷故障點的頭節點可以使整個僵尸網絡進入離線狀態。因此,系統管理員和執法人員可集中精力關閉這些僵尸網絡的控制中心。如果命令中心所在的國家/地區執法力度較弱或不愿做出干預,實施難度將進一步加大。
避免個人設備感染:
對于個人計算機,若要重新獲得對計算機的控制權,可以采用以下策略:運行防病毒軟件、使用安全備份重新安裝軟件,或者在重新格式化系統后使用初始狀態的計算機重新啟動。對于 IoT 設備,則可采用以下策略:刷新固件、恢復出廠設置或以其他方式格式化設備。如果這些方案不可行,設備制造商或系統管理員有可能提供其他策略。
如何保護設備,防止其加入僵尸網絡?
創建安全密碼:
對于許多易受攻擊的設備,減少對僵尸網絡漏洞的暴露可以像將管理憑據更改為默認用戶名和密碼以外的其他內容一樣簡單。創建一個安全密碼會使暴力破解變得困難,創建一個非常安全的密碼會使暴力破解幾乎不可能。例如,感染Mirai惡意軟件的設備將掃描 IP 地址以尋找響應設備。一旦設備響應 ping 請求,機器人將嘗試使用預設的默認憑據列表登錄找到的設備。如果更改了默認密碼并實施了安全密碼,機器人將放棄并繼續尋找更易受攻擊的設備。
僅允許通過可信方式執行第三方代碼:
如果采用手機的軟件執行模式,則僅允許的應用可以運行,賦予更多控制來終止被認定為惡意的軟件(包括僵尸網絡)。只有管理軟件(如內核)被利用才會導致設備被利用。這取決于首先具有安全內核,而大多數 IoT 設備并沒有安全內核,此方法更適用于運行第三方軟件的機器。
定期擦除/還原系統:
在過了設定的時間后還原為已知良好狀態,從而刪除系統收集的各種垃圾,包括僵尸網絡軟件。如果用作預防措施,此策略可確保即使惡意軟件靜默運行也會遭到丟棄。
實施良好的入口和出口過濾實踐:
其他更高級的策略包括網絡路由器和防火墻的過濾實踐。安全網絡設計的一個原則是分層:您對可公開訪問的資源的限制最少,同時不斷加強您認為敏感的事物的安全性。此外,任何跨越這些邊界的東西都必須受到審查:網絡流量、USB 驅動器等。質量過濾實踐增加了 DDoS 惡意軟件及其傳播和通信方法在進入或離開網絡之前被捕獲的可能性。