楔子
安全總是口水最足的行業,這至少能說明兩點,一是這個領域的利潤還足,二是這個領域的競爭過于激烈。競爭的核心是概念的推陳出新、炒作手法的嫻熟與技術的真正進步。自趨勢和瑞星首次提出云安全概念以來,已然成為安全軟件的最大亮點,大有不談云安全你就不是真正的安全之勢。
在3Q大戰之后,360迅速上市,成為IT領域里一匹黑馬,本以為上市后360會沉默,結果前一段時間又因為秒級云鑒定與金山打得火熱。事情起因是這樣的,金山2012版推出,打出3D防御概念,并推出99秒云鑒定的說法,同3Q大戰如出一輒,360立刻推出自已的新版,打出Pro3D全面防御體系,并推出1秒云鑒定,矛頭直指金山。
揭秘云鑒定
以往云安全采用全文HASH的方式來進行云鑒定,這種技術的致命缺陷就是無法更好地識別病毒樣本變種,制造者只需改動一個字節就能輕松繞過云安全系統。這次兩家打出的秒級云鑒定概念,都是基于上述問題的改進版。兩家共同點是摒棄了以往文件全文HASH方式而采用局部特征。
金山采用微特征加文件掃描的技術。微特征本質是對每個程序文件選取幾個關鍵位置點,用這些關鍵位置點來標識每種類型的文件,每種類型的文件有不同的局部HASH提取算法,當匹配到相應的類型后,再選取一段數據來算局部HASH,然后傳到云端去做黑白名單的匹配,當匹配不成功時,則會上傳文件到云端,利用云端的后臺掃描系統對文件進行二次鑒定。這種先判斷關鍵點再取HASH的方式可以排除掉大量的文件,起到了加速作用。
360的云鑒定則采用模糊向量技術。模糊向量的本質是基于文件結構特征,即將文件分解成若干結構,按每個結構取特征,然后將特征分類,形成結構特征庫,下發到本地,大部分文件通過這種通配的方式即可被鑒定,這是360聲稱可以1秒云鑒定的原因。
99秒 VS 1秒 VS 0秒,謊言還是炒作?
拋開廠商的自說自話,我們來分析一下當下最大的安全威脅是什么。經過20多年的發展,病毒已經進入泛技術時代,它們已不再追求技術實現的可能性,而是更加關注如何獲得非法收入。在這種情況下,木馬就成了最流行的病毒類型,而網站掛馬則成了最流行的傳播方式,每天會有成千上萬的惡意鏈接和惡意程序產生,有些惡意鏈接甚至以秒為單位動態變換。
不幸的是,盡管每個主流安全廠商都有自己的捕獲系統和交換渠道,仍然無法及時捕獲所有樣本,這些沒有被任何廠商識別的樣本就成了一種新的威脅群體--ODAY病毒。在云安全大行其道的今天,這種ODAY病毒則是最大的威脅,它們每多存活一天,就能給用戶帶來更多的經濟損失。
無論是99秒、1秒抑或是0秒,講的都是文件鑒定的速度,廠商在炒作這個概念的時候已經誤導了用戶,給他們形成一種文件鑒定速度高云安全就有效的心理預期。事實上云安全對用戶真正的價值在于病毒樣本的獲取速度而不在于鑒定的速度,在最短的時間內將ODAY病毒變成可識別的病毒,才能真正意義上減免用戶的損失。
下面我們做個小測試來看一下“秒殺”級云安全引擎對樣本的捕獲速度。我們通過跟蹤掛馬網站獲得了768個0day樣本,先掃描一次,然后每隔一天再掃描一次,病毒識別曲線如下圖所示:
1小時后,金山和QQ的識別率在20%以下,360可以達到40%,24小時后,金山和QQ對樣本的查出率在30%左右, 360達到60%, 而樣本的全部查殺,則都在三天以后。也就是說,三天以后,這些病毒對用戶的危害才能減少到0。 如果大量的ODAY病毒無法及時捕獲,后端分析再強大也形同虛設,普通用戶中毒后,是很難找到可疑文件并上傳云端系統去鑒定的,因此如何建立更強大的樣本捕獲系統,比大家拼云鑒定的速度更為重要。
重塑動態虛擬技術,扼制ODAY病毒
目前主流安全廠商都是用主動防御的思想來找到未知樣本,即設定寬泛的規則,將觸發這些規則的文件上傳到云端分析。這種思路會產生幾個問題:用戶損失大量流量;廠商得到大量無效樣本;只能通過龐大的客戶端來進行動態監控并上報。
而事實上,應對ODAY病毒最有效的方式就是基于動態虛擬技術的啟發式查毒。提到動態虛擬技術,可能專業人士會立刻想到瑞星的虛擬機技術,其實這兩者有相同的地方,也有不同。
瑞星的虛擬機技術就是基于這個原理,它虛擬了CPU常用的X86指令,將文件加載到這個虛擬機上去執行,然后分析和判斷文件的行為。這種技術在感染式病毒的時代,還十分有效,但是到了木馬橫行的今天就毫無用處了。原因在于目前大部分的病毒是木馬形式,木馬里大量使用了操作系統提供的API,操作系統的API是一個相對封閉的指令集,需要做輸入、輸出和堆棧的處理,情況非常復雜,而瑞星的虛擬機并沒有對此做處理,因此對木馬的查殺和殼的處理效果很不好。
我們今天提到的動態虛擬技術,是指除了CPU指令,還要模擬病毒常用的的系統API,以及對病毒常用的反跟蹤與調試手段的識別,我們在研究病毒的過程中,發現很多病毒采用浮點MMX指令來做加密與變形手段,因此動態虛擬機不但要支持X86指令集,還要支持多媒體擴展的MMX浮點指令集,而在未來,還要支持非X86架構的指令以及其它操作系統的API,這是一個苦差事,現在已經很少有安全廠商愿意在這上面上功夫。
動態虛擬技術已經脫離了監控的概念,任何文件不需要真實運行就能看到它的行為,如果把這一點應用到爬蟲系統中,就能夠直接判斷鏈接的末端是否是病毒而直接收集過來,無須再進入云端分析系統。另一方面,動態虛擬技術天生對ODAY病毒有良好的防御作用,就像電影《少數派報告》里描繪的那樣,可以在虛擬的空間里先再現犯罪行為,然后在真實的空間里去防御它,這其實要比先讓病毒運行,然后看動作,然后再防御的主動防御思想,要先進很多。
編者后記:
當安全流于市場炒作的技巧時,往往會使廠商失去繼續研究技術的踏實心態,使用戶失去判斷真偽的能力。安全需要包裝,但是安全更需要拋棄那些浮燥,靜下心來踏實做技術的學究式心態。從跟百銳信息安全實驗室主創人員接觸的過程中,小編感覺到百銳是一個專注做技術的團隊,而在內部測試時,小編也驚嘆于百銳產品所表現出來的專業水準,我們事實上希望的是,在安全的道路上,多給用戶一些辨別是非的能力而自己少些是非,因為用戶需要的是真正的安全。