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