按照對目標地址空間的選擇方式的不同,可以將蠕蟲的掃描方式分為以下幾種類型。
選擇性隨機掃描(selective random scan)
蠕蟲在對目標主機進行掃描時,如果遍歷所有的主機在Internet環境中幾乎是不現實的,最可行的方式是有選擇性地進行掃描。如果采取隨機掃描方式,會對整個地址空間的IP隨機抽取進行掃描,而選擇性隨機掃描將最有可能存在漏洞主機的地址集作為掃描的地址空間。選擇性隨機掃描也是隨機掃描方式的一種。在選擇性隨機掃描中,所選的目標地址按照一定的算法隨機生成,如互聯網地址空間中未分配或者保留的IP地址塊可排除在掃描范圍之外。選擇性隨機掃描具有算法簡單、易實現的特點,如果與本地優先原則結合,則能達到更好的傳播效果。但選擇性隨機掃描容易引起網絡阻塞,使得網絡蠕蟲在爆發之前易被發現,隱蔽性差。
順序掃描(sequential scan)
順序掃描是指被感染主機上蠕蟲會隨機選擇一個C類網絡地址進行傳播。根據本地優先原則,蠕蟲一般會選擇它所在網絡內的IP地址段。如果蠕蟲掃描的目標主機IP地址的主機ID為n,則掃描的下一個地址IP為n+1或者n-1。
目標地址列表掃描(hit-list scan)
目標地址列表掃描是指網絡蠕蟲在尋找受感染的目標之前預先生成一份可能易傳染的目標列表,然后對該列表進行攻擊嘗試和傳播。目標列表生成方法有兩種:一種是通過小規模的掃描或Internet的共享信息產生目標列表;另一種是通過分布式掃描生成全面的列表數據庫。
基于路由的掃描(routable scan)
基于路由的掃描是網絡蠕蟲根據網絡中的路由信息,對IP地址空間進行選擇性掃描的一種方法。采用隨機掃描的網絡蠕蟲會對未分配的地址空間進行探測,而這些地址大部分在Internet上是無法路由的(保留的私有IP地址),因此會影響到蠕蟲的傳播速度。如果網絡蠕蟲能夠知道哪些IP地址是可路由的,它就能夠更快、更有效地進行傳播,并能逃避一些對抗工具的檢測。基于路由的掃描極大地提高了蠕蟲的傳播速度,以CodeRed(紅色代碼)為例,路由掃描蠕蟲的感染率是隨機掃描蠕蟲感染率的3.5倍。基于路由掃描的不足是網絡蠕蟲傳播時必須攜帶一個路由IP地址庫,蠕蟲代碼量大。
基于DNS掃描(DNS scan)
基于DNS掃描是指網絡蠕蟲從DNS服務器上獲取IP地址來建立目標地址庫。由于該方式中被掃描的對象是為Internet提供實時域名解析服務的DNS服務器,所以該掃描方式的優點是獲得的IP地址塊具有針對性,且可用性強。基于DNS掃描的不足是較難得到DNS記錄的完整地址列表,而且蠕蟲代碼需要攜帶較大的地址庫,傳播速度慢,同時目標地址列表中的地址數受公共域名主機的限制。
分治掃描(divide-conquer scan)
分治掃描是網絡蠕蟲之間相互協作、快速搜索易感染主機的一種方式。網絡蠕蟲發送地址庫的一部分給每臺被感染的主機,然后每臺主機再去掃描它所獲得的地址。主機A感染了主機B以后,主機A將它自身攜帶的地址分出一部分給主機B,然后主機B開始掃描這一部分地址。分治掃描方式的不足是存在“壞點”問題,即在蠕蟲傳播的過程中,如果一臺主機死機或崩潰,那么所有傳給它的地址庫就會丟失。“壞點”問題發生得越早,影響就越大。常用的解決“壞點”問題的方法有3種:在蠕蟲傳遞地址庫之前產生目標列表;通過計數器來控制蠕蟲的傳播情況,蠕蟲每感染一個節點,計數器加1,然后根據計數器的值來分配任務;蠕蟲傳播的時候隨機決定是否重傳數據庫。
被動式掃描(passive scan)
被動式傳播蠕蟲不需要主動掃描就能夠傳播。這類蠕蟲會等待潛在的攻擊對象來主動接觸它們,或者依賴用戶的活動去發現新的攻擊目標。由于這類蠕蟲需要用戶觸發,所以傳播速度很慢,但這類蠕蟲在發現目標的過程中并不會引起通信異常。這類蠕蟲自身有更強的安全性。例如,CRClean會等待CodeRedII的探測活動,當它探測到一個感染企圖時,就發起一個反攻來回應該感染企圖,如果反攻成功,它就刪除CodeRedII,并將自己安裝到相應的機器上。
蠕蟲利用系統漏洞進行傳播。在傳播前首先要進行對攻擊目標主機的探測,設計良好的掃描策略能夠加速蠕蟲傳播。在Internet中,理想狀態下一個通過精心設計的掃描策略能夠使蠕蟲在最短時間內找到全部可以感染的主機。
通過以上對7類蠕蟲掃描方式的介紹,有4個關鍵因素影響著網絡蠕蟲的傳播速度:目標地址空間選擇、是否采用多線程搜索易感染主機、是否有易感染主機列表(Hit-list)及傳播途徑的多樣化。各種掃描策略的差異主要在于目標地址空間的選擇。網絡蠕蟲感染一臺主機的時間取決于蠕蟲搜索到易感染主機所需要的時間。因此,網絡蠕蟲快速傳播的關鍵在于設計良好的掃描方式。一般情況下,采用DNS掃描傳播的蠕蟲速度最慢,選擇性掃描和路由掃描比隨機掃描的速度要快。分治掃描目前還沒有找到易于實現且有效的算法。
回答所涉及的環境:聯想天逸510S、Windows 10。
按照對目標地址空間的選擇方式的不同,可以將蠕蟲的掃描方式分為以下幾種類型。
選擇性隨機掃描(selective random scan)
順序掃描(sequential scan)
目標地址列表掃描(hit-list scan)
基于路由的掃描(routable scan)
基于DNS掃描(DNS scan)
分治掃描(divide-conquer scan)
被動式掃描(passive scan)
蠕蟲利用系統漏洞進行傳播。在傳播前首先要進行對攻擊目標主機的探測,設計良好的掃描策略能夠加速蠕蟲傳播。在Internet中,理想狀態下一個通過精心設計的掃描策略能夠使蠕蟲在最短時間內找到全部可以感染的主機。
通過以上對7類蠕蟲掃描方式的介紹,有4個關鍵因素影響著網絡蠕蟲的傳播速度:目標地址空間選擇、是否采用多線程搜索易感染主機、是否有易感染主機列表(Hit-list)及傳播途徑的多樣化。各種掃描策略的差異主要在于目標地址空間的選擇。網絡蠕蟲感染一臺主機的時間取決于蠕蟲搜索到易感染主機所需要的時間。因此,網絡蠕蟲快速傳播的關鍵在于設計良好的掃描方式。一般情況下,采用DNS掃描傳播的蠕蟲速度最慢,選擇性掃描和路由掃描比隨機掃描的速度要快。分治掃描目前還沒有找到易于實現且有效的算法。
回答所涉及的環境:聯想天逸510S、Windows 10。