孫 超
(中國人民大學 信息學院,北京 100872)
隨著社會經濟的發展和科學技術的進步,信息化時代背景下,人們的生活與工作已經離不開計算機技術和互聯網技術,網絡蠕蟲屬于智能化和自動化產物,是一種綜合了網絡攻擊和計算機病毒的技術,網絡蠕蟲不需要計算機的使用者去干預,而是直接可以運行的攻擊程序或者攻擊代碼,網絡蠕蟲可以掃描網絡中系統存在的漏洞,攻擊節點主機,通過網絡從一個節點中傳播到另一個節點,并且在幾分鐘之內將區域內數以萬計的主機感染,導致網絡出現擁堵,甚至操作受到感染的主機開始攻擊行為[1]。
蠕蟲軟件仿真技術是蠕蟲傳播特性研究的手段之一,也能夠引起有關研究人員的注意力,這種方法從網絡帶寬以及網絡流量等方面加以考慮,分析蠕蟲軟件仿真技術對蠕蟲傳播行為的影響,也引起了國內外研究機構的重視,美國國防高級研究計劃局與國家科學基金會積極參與到蠕蟲軟件仿真技術的研發中,并深入研究蠕蟲傳播特性。從一般情況上來講,蠕蟲傳播特性研究也是網絡模型研究方法,蠕蟲只是網絡的一種特殊應用,節點指的是終端主機與路由器。從現有的互聯網中對蠕蟲傳播特性進行實驗,這種方法更加真實有效,但是考慮到網絡中的蠕蟲不僅傳播范圍廣,且具有突發性和破壞性,所以從真實的網絡環境中將蠕蟲重新播放,這種對蠕蟲傳播特性的方法研究是不可行的,當前的研究人員會采用多種方法對蠕蟲進行傳播特性的研究。
硬件測試床可以在有限制的環境中釋放出真實的代碼,這個環境不僅有限制,還要獨立存在,代碼不僅真實,還能夠實現自我復制,并通過這種方式觀察其中的行為表現,近年來硬件測試床的規模逐漸擴大,節點數目增加,如今已經達到了幾百甚至上千,但是硬件測試床也有問題存在,最大的問題就是硬件測試床的使用規模沒有辦法與互聯網的規模相互比較,得到的結果往往是比較局限性的,只能顯示出局部效果,而且硬件測試床需要通過自我復制代碼,但是這些代碼無論是編制還是使用,都會涉及一些法律問題。
軟件仿真的出現,能夠仿真規模比較大的網絡,隨著技術的革新,大規模分布式網絡軟件仿真器因此出現,仿真網絡規模在大規模分布式網絡仿真器的影響下變大,目前已經出現了仿真百分級的網絡。軟件仿真可以輕松根據蠕蟲軟件仿真技術的定義,結合參數,仿真出任意規模的網絡,為蠕蟲的特性研究帶來方便。蠕蟲軟件仿真技術可以在任何時候觀察蠕蟲傳播特性,而且在研究的過程中也不用等待任何特殊現象的發生。由此可見,軟件仿真無論是仿真規模還是仿真準確度方面都已經有了較好的平衡點,在保持準確與靈活的基礎上,仿真規模從過去的幾百幾千,已經到了百萬級。復雜蠕蟲可以被建模,這種蠕蟲軟件仿真技術如今引起了國內國外相關研究機構的注意力,并逐漸得到了他們的重視,美國國防高級研究計劃局與國家科學基金會也開始積極加入蠕蟲傳播特性研究中,并以此為根據推動蠕蟲軟件仿真技術的進一步發展[2]。
蠕蟲軟件仿真技術應用中,蠕蟲可以被看成是互聯網環境下的特殊應用,想要重現蠕蟲在互聯網中進行傳播的形態,就會涉及關于蠕蟲建模的實際問題,怎樣準確描述互聯網也是蠕蟲軟件仿真技術成功的決定性因素。由此可見,蠕蟲軟件仿真技術的展開需要從網絡建模以及蠕蟲建模這兩個角度加以考慮,其中網絡建模更是蠕蟲軟件仿真技術發展的基礎。
通過蠕蟲軟件仿真技術的研究得知,蠕蟲可以依靠當前網絡結構實現動態模式的傳播,例如自制系統與路由器拓撲、帶寬延遲,這些都會影響到蠕蟲的實際傳播情況,蠕蟲自身通過掃描很有可能導致路由器因此而失效,這種情況下路由因此而改變。通常情況下,蠕蟲軟件仿真技術中網絡拓撲需要從拓撲流量以及協議3個方面進行,也就是說,網絡建模中拓撲網絡節點之間進行協議執行,隨后形成了流量,拓撲模型也是蠕蟲軟件仿真技術應用中成功建立網絡模型的基礎。蠕蟲軟件仿真技術下,蠕蟲的特性情況也決定了蠕蟲軟件仿真技術不僅有著網絡模型仿真的共性,還會對蠕蟲傳播有影響,人們在這期間會對網絡拓撲和傳輸協議加以考慮。
蠕蟲會利用傳輸控制協議和用戶數據報協議進行大規模的傳播,其中蠕蟲對用戶數據報協議的仿真比較簡單,但是傳輸控制協議在仿真的時候比較復雜,會涉及超時或者擁堵等因素,協議的仿真過程中會有大量近似情況容易被忽略,因此,人們將UNIX BSD主要代碼移植到仿真器中,這樣仿真的準確度有所增加,卻降低了研究的實際效率。網絡節點之間的流量是背景流量以及蠕蟲傳播流量的綜合,其中蠕蟲傳播流量能夠在仿真協議中考慮,人們將節點之間的背景流量認為是常量或者簡單分布。
蠕蟲軟件仿真技術研究中,除了網絡建模以外,還有蠕蟲建模,其中在進行蠕蟲建模的時候會有以下兩種方法:建立純數字模型;根據蠕蟲的工作機制以及功能結構情況,將蠕蟲表現為若干特征參數集合。其中純數字模型建立已經有了較大的進展,雙因子模型和AAWP模型的出現印證了蠕蟲軟件仿真技術的有效性;人們在對第二種方法加以分析的時候,會將蠕蟲分解成若干參數,這個時候也會有一定要求存在,即減少網絡軟件仿真環境給蠕蟲建模帶來的負載;尋找能夠影響蠕蟲建模傳播與感染速度的因素;對蠕蟲活動加以分析和研究,使其具有靈活性,只有這樣才能建立起符合蠕蟲傳播特性的蠕蟲建模。
蠕蟲軟件仿真技術應用中,蠕蟲主要是通過用戶數據報協議尋找到目標主機,在進行掃描的時候如果找到了一臺目標主機,先確定這臺主機是不是蠕蟲傳播速度的關鍵,最科學的蠕蟲掃描策略就是能夠在最短的時間內將蠕蟲找到,并且在互聯網中尋找到所有被蠕蟲干擾的主機。隨著蠕蟲軟件仿真技術的發展,人們不僅對蠕蟲的掃描策略進行分析,還對掃描的速度加以探究,對用戶數據報協議蠕蟲而言,每一秒發出的數據數量就是其速率,對傳輸控制協議而言,就是蠕蟲連接到目標主機以后的數量情況,也就是在掃描過程中線程的數目,蠕蟲的掃描速率可以結合當時情況,選擇科學合理的掃描策略,這樣基本可以確定蠕蟲傳播的速度。
美國波士頓市麻省理工學院的研究人員宣稱,事實上,蚯蚓可能是幫助他們解決許多機器人問題的鑰匙。現在,美國麻省理工學院、哈佛大學和韓國首爾國立大學研究人員設計出一種模仿蠕動機制的機器人。它靠蠕動移動,通過收縮身體體節,在各種表面上爬行,看起來更像一條蚯蚓,這種幾乎全用軟材料制造的機器人有很強的彈力。軟機器人的一個重大挑戰是設計為這類機器人提供動力的軟制動器,人們使用的解決方案是將壓縮空氣泵入機器人體內,使其運動。
蠕蟲軟件仿真技術下有蠕蟲軟件仿真系統的支持,蠕蟲軟件仿真系統有兩種情況:分析模型;數據包級模型。這是從蠕蟲軟件仿真中蠕蟲建模角度得到的,但是卻沒有辦法成功反映出蠕蟲軟件仿真系統網絡建模的方式,通過研究表明,網絡建模中可以將數據包級蠕蟲軟件仿真系統詳細劃分為以下3種形式:高度抽象的蠕蟲軟件仿真、數據包級的蠕蟲軟件仿真以及大規模分布式蠕蟲軟件仿真。通過分析得知,這3種模式中,網絡建模與蠕蟲建模在蠕蟲軟件仿真系統的發展中變得越來越細致,仿真得到的結果也更加真實。
高度抽象的蠕蟲軟件仿真中,有ETH Zurich TIK蠕蟲仿真器的存在,這個仿真器最早是蘇黎世聯邦理工大學計算機工程與網絡實驗室聯合開展的項目,人們也稱之為蘇黎世聯邦與網絡實驗室蠕蟲仿真器,該仿真器主要是根據蠕蟲傳播的特性來分析蠕蟲的供給情況。系統中會將互聯網主機劃分為多個小組,每一個小組中都會有帶寬與延遲這兩參數,連續的帶寬與延遲可以取最小值,因此人們可以得到互聯網模型,這個系統可以對蠕蟲的大小、傳輸協議進行分析,通過有效的配置實現蠕蟲的掃描。
2018年3月23日,全球信息安全行業的最高盛會Black Hat Asia 2018在新加坡舉行,全世界的安全專家聚集于此,圍繞當下熱門的安全議題開展討論并分享最新研究成果。大會由騰訊安全聯合實驗室反病毒實驗室安全專家楊經宇、耿琛介紹的一種基于LOT設備的全新通用型攻擊方式,引起在場安全專家強烈反響,并獲得大會主辦方“特別推薦”,該攻擊方式不僅能夠繞開設備的安全防御手段,還能形成“蠕蟲”式攻擊,造成更大的安全威脅。設備飛速發展的同時,其安全問題也逐漸顯現。據國家信息安全漏洞共享平臺公開數據顯示,2017年共收錄智能設備通用型漏洞有2 440個,同比增長高達118%。其中,針對路由器及網關、攝像頭及視頻系統、機頂盒等類型設備的攻擊活動頻發,成為不法分子的重要攻擊目標。大會現場,騰訊安全反病毒實驗室發布最新研究成果,在Black Hat Asia 2017上,實驗室攜哈勃分析系統開源項目HaboMalHunter就已亮相Arsenal展臺,是當屆BlackHat唯一入選的中國開源項目;2017年11月,哈勃分析系統成為全球首家接入VirusTotal的動態分析系統,將自身豐富的環境仿真、虛擬執行和深度分析能力接入VirusTotal,并得到了對方在亞洲反病毒大會等多個場合中給予的高度評價和致謝。
蠕蟲軟件仿真系統中數據包級軟件仿真尤為重要,SSFNet/NS2蠕蟲仿真器的出現使系統有了較大的發展,這是基于SSF在數據包級對網絡協議與建模的一套組件,并形成了數據包級仿真器的SSF,互聯網因此被抽象成傳染病傳播模型,被蠕蟲軟件仿真系統選定的部分可以進行仿真,所有的通信由偽協議會話提供,通過這種數據包級軟件仿真將整個網絡刻畫出來,從而加強蠕蟲軟件仿真系統對網絡的影響。
近年來,隨著各種分布式技術的發展,蠕蟲軟件仿真系統中有了大規模分布式軟件仿真,其中GTNetS/PDNS分布式蠕蟲仿真器就是典型案例。這種仿真器的出現在蠕蟲軟件仿真系統中,無論是從網絡建模還是蠕蟲建模中都使用了一定有效措施,通過有效措施提高結果的準確程度,對TCP協議的仿真節點已經達到128 000,對UDP協議傳播的節點已經達到了75 000,利用這種方式在蠕蟲軟件仿真系統中將蠕蟲的模型可以分為以下4個組件,第一個組件是蠕蟲節點,用來表示換聯網中可以傳播蠕蟲的終端節點;第二個組件是脆弱服務器,服務器中存在的漏洞很有可能會被蠕蟲利用;第三個組件是供給代理,蠕蟲軟件仿真系統應用中,一臺受到感染的主機會將蠕蟲傳播到另外一臺十分脆弱的主機中;第四個組件是后門代理,指的是在蠕蟲感染的過程中有可以打開的后門,在必要條件下傳輸比較大的蠕蟲代碼,蠕蟲軟件仿真系統開始仿真的時候會去標記一個節點,將這個節點看作是受到污染的節點,攻擊代理尋找主機然后進行傳播,當一個新的主機受到感染后也會去尋找新的目標主機,以此循環。
在理論上,所有的大腦活動都可以變為電信號,因此映射出這些信號無異于映射出一個大腦。并且由于它們的電信號,它們可以被數字化、存儲和仿真。現在,這種之前經常出現在科幻片里的場景已經被科學家們實際應用,已經模擬出蛔蟲大腦,并且將其上載到樂高機器人當中。這些科學家正在研究一個所謂的“蠕蟲項目”,蠕蟲大腦規模顯然遠遠小于人類大腦。科學家們能夠繪制出蠕蟲相當簡單的302個腦神經元,并且進行軟件仿真。當然,他們不得不削減在少數復雜神經元,比如放電神經元。科學家們在研究中使用傳感器和輪轂取代實際的蠕蟲身體部位,而這項實驗的初步結果是相當令人印象深刻和有希望的,因為這種機器“蠕蟲”根本無需編程就可以自動活動。將來人們甚至可以通過這項技術制造出虛擬蠕蟲,來探索進一步的實際應用。
總而言之,隨著社會經濟的發展和科學技術的進步,蠕蟲軟件仿真技術有了較大的研究進展,蠕蟲軟件仿真技術在當前屬于后知后覺形式的研究方法,人們只有不斷加強對蠕蟲軟件仿真系統的研究,通過理論進行實踐,掌握網絡蠕蟲的實際傳播規律,尋找傳播特點,只有這樣才能夠為蠕蟲軟件仿真的防治系統提高科學有效的對策,分析當前蠕蟲傳播情況與蠕蟲軟件仿真技術使用情況,加強對未來蠕蟲發展趨勢的探索。