作者KotoriCute (Lovelive!)
看板AntiVirus
標題[討論] 2017各款防毒軟體技術原理剖析 (70分組)
時間Sat May 27 02:43:44 2017
在巴哈看一篇關於各家防毒軟體的技術分析文章就轉過來
如果有轉載需求請記得附上以下原始網址
※本文發佈於巴哈姆特電應板以及部落格 IT Works,轉貼請附上原文連結
https://forum.gamer.com.tw/C.php?bsn=60030&snA=463208&s_author=ts00937488
--
https://i.imgur.com/75XGgWn.png
Qihoo 360(75分):聲名狼藉,卻也是被最多人誤解的一款防毒軟體。解說原理前,必
須先替360澄清幾點:
1.360國際版沒有任何流氓和廣告,甚至連彈窗都沒有(在這個意義上比免費3A乾淨多了
)。真的不放心,可以從微軟的市集上下載,有通過微軟認證
國際版地址:
https://www.360totalsecurity.com/zh-tw/features/360-total-security-essential/
2.2015年傳出360在國際評測中作弊,導致許多不明事理的台灣鄉民落井下石。如果對360
的防毒技術稍有研究以及翻閱正反兩面的文章,會發現 AV-C 對360的指責有可議之處。
簡單來說,360內建三種查殺引擎,分別是自家的 QVM、Avira、Bitdefender,使用者在
安裝後可以自行設定要選擇哪些引擎。
AVC 撤銷360認證的理由是:「360僅在測試版本默認開啟 BitDefender 引擎」
再來看看360的解釋:「我們配備多引擎的目的,是為了針對不同國家和地區的特點,可
以進行引擎的靈活選擇使用,以保證防護效果的最大化,比如 BD 是歐洲引擎,在歐洲病
毒木馬的查殺有優勢,而 QVM 和我們自己的雲引擎針對中國地區比較好。三個引擎都配
置,在不同國家和地區有不同的默認配置,用戶自己也可以選擇。因為 AV-C 的評測標準
偏向歐美,所以我們的參測版本默認開啟 BD 引擎,而對於中國用戶我們推薦 QVM 引擎
」
一個簡單的例子:遊戲外掛、破解器在中國有上億人使用,一些外掛甚至是遊戲官方許可
的,如果這些軟體本身無害,中國的防毒不會對其查殺。但是在歐洲,外掛和破解器統一
被定義為惡意軟體,中國防毒在參加歐洲地區評測時,必須根據當地標準調整引擎和雲查
殺策略
再來就是360並不是第一天參加 AVC 的評測,早在2010年時就有參賽紀錄,而且對於參加
評測的版本與中國的版本略有差異也早就告知。五年的時間不見 AVC 有任何異議卻在
2015年4月30日突然就取消認證,不給360任何答辯機會(5月1日是中國的五一假期,AVC
撤銷認證後只給奇虎40分鐘的答覆時間,一般來說對於評測有異議,都會給予參選企業24
小時作出回應,再考慮到中國與奧地利的時差,等於根本不給360任何答覆機會),此舉
不符合國際評測機構的常規。總之這件事有太多弔詭之處,不能只看一方面的說法
還有就是,360只退出了AVC,另外兩家評測 VB100、AV-Test 依然有360最新的成績(中
國版)
https://i.imgur.com/GJbx5zl.png
https://i.imgur.com/5CSvqNT.png
這邊有一段影片是測試360全引擎與單純自家的雲掃成績的差別,可以看出其實相差不大
,奇虎絕對不是因為自家的 QVM 上不了臺面才會在 AVC 只開 BD 引擎
https://www.youtube.com/watch?v=6jVoIauQYRY
全引擎 v.s 純雲掃
並不是我要幫360護航,以上兩點說明是希望,評價防毒應該從技術面的角度去切入,盡
量減少先入為主的主觀意識。下面就來剖析我為什麼覺得360值得大家一試
https://i.imgur.com/xVrAh79.png
當發現威脅時,360會將文件由四種掃描引擎做檢查。在本地有 Avira、Bitdefender 引
擎基於特徵庫的查殺;同時雲端也會做初步的 MD5、Hash 判斷,若在白名單直接放行,
黑名單拉黑;除了上述的雲拉黑以及兩個本地 OEM 引擎,第四種就是 QVM 人工智慧引擎
,它不利用特徵庫以及傳統啟發判斷,也不像主防會持續監控程式行為,而是一套智能算
法,會從雲端收集到的資料不斷「自我學習」最新病毒的行為模式。聽起來很神奇吧?其
實目前基於大數據發展 AI 的廠商越來越多,像卡巴斯基的 KSN 就是一例。但 QVM 推出
的時間是在2010年,遠比任何防毒使用 AI 的時間點都還要早,也是第一套在個人版防毒
以人工智慧為主要查殺手段的廠商
上面介紹了這麼多種識別病毒的方式,從傳統的特徵碼、複合式特徵碼、靜態動態啟發、
主防行為判斷。我們先跳出這些技術上的思維限制,從根本上思考一下:
區分病毒和正常
文件,靠的究竟是什麼?
其實答案很簡單,那就是
difference,也就是差異、不同。只有發現病毒和正常文件的
difference 才能識別出病毒。綜觀特徵碼、啟發、行為判斷,實質上都是在找出差異。
所謂的特徵碼也就是在找病毒和正常文件在代碼上的差異罷了
找到了問題本質,解決問題的方法也就千變萬化了
於是有人想到,既然是找出差異,那能不能利用搜尋引擎廣泛使用的一些智能算法來完成
目標呢?搜尋引擎需要完成的任務和防毒有很多相似之處:1.都是海量文件的分析;2.都
是去尋找特定特徵的目標
為了解說更淺顯易懂,先介紹一個廣泛用於攔截垃圾郵件的人工智慧算法 — 貝葉斯算法
。貝葉斯是基於統計學的一種自我學習過濾器,它能夠區分正常郵件和垃圾郵件之間的差
別,我舉一個例子:
一封含有 “ 法輪功 ” 字樣的垃圾郵件 A 和一封含有 “ 法律 ” 字樣的非垃圾郵件
B 。根據郵件 A 生成哈希表(壞),該表中的記錄為
法: 1 次
輪: 1 次
功: 1 次
計算得在本表中:
法出現的概率為 0.3
輪出現的概率為 0.3
功出現的概率為 0.3
根據郵件B生成哈希表(好),該表中的記錄為:
法: 1 次
律: 1 次
計算得在本表中:
法出現的概率為 0.5
律出現的概率為 0.5
綜合考慮兩個哈希表,共有四個字符串:法 輪 功 律
當郵件中出現“法”時,該郵件為垃圾郵件的概率為:
P = 0.3/ ( 0.3 + 0.5 ) = 0.375
出現“輪”時,該郵件為垃圾郵件的概率為:
P = 0.3/ ( 0.3 + 0 ) = 1
出現“功”時,該郵件為垃圾郵件的概率為:
P = 0.3/ ( 0.3 + 0 ) = 1
出現“律”時,該郵件為垃圾郵件的概率為:
P = 0/ ( 0 + 0.5 ) = 0
由此可得第三個哈希表 hashtable_probability (也就是數據庫文件),其數據為:
法: 0.375
輪: 1
功: 1
律: 0
當一封含有“功律”的新郵件寄到時,我們可得到兩個字符串:功 律
查詢哈希表 hashtable_probability 可得:
P (垃圾郵件 | 功) = 1
P (垃圾郵件 | 律) = 0
此時該郵件為垃圾郵件的可能性為:
P= ( 0*1 ) /[0*1+ ( 1-0 ) * ( 1-1 ) ] = 0
由此可推出該郵件為非垃圾郵件
我們可以從上看出貝葉斯算法是先通過對垃圾郵件和正常郵件的“學習”得出模型數據(
即上例中的哈希表 hashtable_probability),然後利用模型數據去區分新的垃圾郵件。
學習量越多,模型數據越大,則最終的鑑別結果也就越準確
QVM 也是使用類似的技術(當然不是貝葉斯算法,而是360自己研發的算法),海量學習
病毒和一般正常檔案之間的行為差異,得出數據模型,再將模型分發到用戶端,防毒軟體
再根據模型區分病毒
優點:
1.對新變種病毒識別率高。 QVM 一個月不更新,檢出率降幅不會超過10%,半衰期為6個
月
2.模型數據由雲端推送保存到本地,不怕斷網(僅中國版有完整離線 QVM 模型;國際版
只有簡單的索引庫,依然需要連網才能發揮 QVM 的效果)
3.不怕加殼、免殺。傳統特徵都是用 MD5 做匹配,可以被輕易修改;QVM 是直接對樣本
做全局運算,較難被規避
4.俱備自我學習機能,維護成本低
缺點:
1.算法的優劣影響到效果,不好的算法將大打折扣
2.不易區分正常文件和 PUA、PUP 之間的差別
3.沒有完美的算法,不可避免存在學習死區,造成誤報可能
這類 AI 也算是啟發式技術,我們知道所謂的啟發就是反編譯、模擬人工分析病毒的過程
,通常本地掃毒引擎的啟發都是通過 PE 識別法、入口點監測、API 調用等等,只能算是
淺層的啟發應用;而人工智慧顧名思義,會從樣本不斷的累積學習、自我進化,技術含量
與傳統啟發不在一個檔次。除了QVM,卡巴的 KSN、紅傘的 APC、邁克菲的月神都是雲啟
發。然而不代表 AI 就一定好過傳統啟發,現階段 AI 局限於算法的精度和樣本數量,都
會帶有一定的誤報;相對的本地啟發技術成熟、誤報少也不依賴雲,不少防毒都是本地+
雲啟發相互配合達到最大的查殺效果
QVM 是 Qihoo Support Vector Machine (奇虎支持向量機)的縮寫,具體細節可以參見
Vapnik 著作的機器學習經典《Statistical Learning Theory》
統計學習理論 WIKI
https://zh.wikipedia.org/wiki/统计学习理论
支援向量機 WIKI
https://zh.wikipedia.org/wiki/支持向量机
機器學習 WIKI
https://zh.wikipedia.org/wiki/机器学习
當病毒通過了網頁防護到達了本地,又過了含 QVM 在內的引擎掃描,是不是就沒辦法阻
止了?現在要談的就是最後一道防線360的智能 HIPS
當執行360無法識別的程式時(不在黑白名單+QVM 不殺),就會開始記錄這個程式一切行
為動作,然後將這些數據上傳到雲端的規則分析器來判斷是不是惡意行為。至於為什麼說
它智能,要知道360全球有近5億的用戶數,面對這些龐大的使用者,當然不可能跟
Comodo 一樣讓用戶自己打磨規則
首先白名單是不可避免的,凡是在白名單內的程式多數行為都會放行,減少誤報率;再來
360的規則是基於海量的雲端數據分析出來的一套智能判斷邏輯,只有高風險的行為才會
提示阻止;最後是易用性,如果有用過手動 HIPS 應該知道 services.exe 添加服務是一
件鬱悶的事,所有程式添加服務都會呼叫 services.exe 寫入對應的註冊表,要不要阻止
只能看到底創建了什麼服務項目,如果判斷錯誤就會導致添加失敗或無法攔截。360使用
RPC 解析技術可以精準的報出到底是哪個程式添加了什麼服務,服務指向的執行檔又是
哪一個,而且用簡單的白話告訴你這些動作是在做什麼:例如 chrome.exe 修改預設瀏覽
器、增加開機啟動項。使用者不用去理解註冊表的內容,只要從程式的行為來判斷即可
https://i.imgur.com/KME0m3m.png
360是少數有網頁防護以及下載防護的免費防毒,憑藉著360在中國有4億的裝機量,它的
信譽庫可謂是亞洲最大,對亞太區的惡意網站有相當好的攔截率;但是有一些缺點,你必
須安裝它的瀏覽器套件才能發揮防護作用,不像部分防毒是直接對全局進行流量掃描,不
需依賴套件;另外它的 Firefox 套件已經很久沒更新了,在64位元的火狐上不起作用
https://i.imgur.com/l5Yer75.png
做個總結,360的防禦系統由三道防線構成
1.全亞洲最大的網頁信譽防禦
2.四種引擎(含QVM)的特徵庫+啟發掃描
3.智能化的 HIPS
與80分以上的防毒相比缺點也很明顯:沒有主防無法回滾(中國版360支持回滾,國際版
不確定)、沒有 Exploit Prevention 模塊、沒有防火牆、沒有流量掃描。但不要忘了它
只是款免費防毒,在兼顧易用性的前提下依然有相當出色的防護能力,而且程序輕巧不卡
機
你不相信?來跟付費最強的比特梵徳比較看看
https://www.youtube.com/watch?v=JqP2bwor27E
BitDefender v.s Qihoo 360
網頁防護、釣魚網站攔截率都是360小贏比特梵徳,文件掃描更是大勝1.4倍(201:139)
,直到本地雙擊 BD 才扳回一城(歸功於鬼畜的 ATC 主防)
https://i.imgur.com/sijKWsD.png
https://i.imgur.com/d261SLS.png
https://i.imgur.com/BwgY5qB.png
它還有一個沙箱,但因為不俱備自動入沙功能就不介紹了
個人私心認為,360是目前免費智能防毒首選之一
https://i.imgur.com/ayR9rLQ.png
ESET(75分):過去 ESET 給人輕巧但查殺強大的印象,雖然隨著改版功能的增加不再小
巧,卻同時提供了豐富的自訂性。ESET 的優勢在於高啟發和基因庫,進階的使用者可以
用 HIPS 和防火牆自訂規則,達到不下於 CIS、BD 的防護水準
關於啟發已經講解多次了,不再贅述。我們只要知道 ESET 是最早使用啟發的防毒廠商之
一,雖然時到今日每家防毒都帶有啟發技術,可是水平各不相同,多數還是必須配合傳統
病毒碼才能有水準以上的檢測率;而 ESET 號稱「啟發之王」,在啟發上投入的心血、累
積的經驗都比其他廠商多,甚至有自己獨創的啟發式—進階啟發式,針對高階語言(Java
、C、C++、C#)編寫的程式優化過的反編譯器,能更準確的讀出程序指令
ESET 另一個強項是基因檢測,所謂的基因就是防毒分析多種同類病毒後,提取出相似特
徵,只用一條定義就可以殺多個樣本。通常來說俱備基因功能的防毒都有獨立的基因庫,
ESET 厲害在於它直接用病毒庫代替基因庫,利用演算法識別出相似病毒。若開啟了「進
階啟發式/DNA/智慧型簽章」選項會同時用進階啟發、基因來監控系統提升檢測率。ESET
很少有拉黑報法,真的要說只有雲殺 Suspicion Object 才是 ESET 的拉黑,所以 ESET
本地病毒庫體積很小,只要啟發和基因能辨別出來的樣本都是不入庫的
https://i.imgur.com/D35i9bd.jpg
「潛在的不安全應用程式」「潛在的不需要應用程式」這兩個項目建議一般人關閉,如果
開了就會出現 PUP/PUA 報法(potentially unwanted Program/Application)。像是
CCleaner、格式工廠都會被攔阻,因為 CC 安裝程式裡面有 Google 瀏覽器的推廣,雖
然不是強制安裝,但是捆綁推廣就屬於可能不需要的程式 。這裡給出 ESET 對 PUA 的定
義:
.以前沒見過的新視窗(彈出視窗、廣告)
.啟動並執行隱藏的進程
.系統資源的使用增加
.搜索結果發生改變
.應用程式會與遠端伺服器通訊
而潛在不安全通常都是報破解軟體,因為多數破解會帶有類似間諜軟體的行為
報 PUP/PUA 不代表就是病毒,然而一般使用者看到防毒彈窗大概都會覺得有毒或者誤報
,所以這邊建議關閉
https://i.imgur.com/CifnJfH.jpg
ESET 沒有主防,但是有 HIPS 可以自訂義規則,預設共有五種模式:自動模式、智慧型
模式、互動模式、原則型模式、學習模式
.自動模式,基本的系統保護規則+自定義規則根據阻止>允許>詢問的順序執行,若遇到
規則中沒有的項目則會默認放行
.智慧型模式,大體同自動模式,除此之外還會查詢 ESET 雲信譽和監控 HOST 文件修改
,彈窗稍多
.互動模式,除了規則外的一率彈窗詢問
.原則型模式,規則外的默認全部阻止
.學習模式,所有行為放行並將目前操作創建白名單規則
確認自己電腦是乾淨的前提下,可以開啟學習模式一至兩天,把常用的程式執行一遍,之
後再轉互動模式(適合有經驗的使用者);至於自動模式和智慧型模式說實在沒多大用處
,預設的規則只保護重要系統文件,其它行為基本不攔,雖然有雲信譽但資料規模不如卡
巴之流,無法做到智能分組。小白用戶開自動模式就好,但不要期待有多大的防護效果
https://i.imgur.com/Gzv7EyE.jpg
https://i.imgur.com/O7WR6yO.png
“進階記憶體掃描(AMS)”類似主防,用啟發式掃描已在記憶體中執行的程序。但仍然
稱不上真正的主防,主要差異在於這項功能沒有記錄程式行為的能力,所以沒辦法回滾或
進行較徹底的清毒。另外像 Sonar 這樣的主防都有自己的啟發定義庫,當程序觸發複數
的規則時才予以攔截;ESET 的”記憶體掃描”並沒有專門的定義庫,而是與一般啟發式
通用規則,對於執行中的程式只要啟發檢測到就會報毒,相對來說比較不嚴謹
本質上 AMS 也是一種靜態啟發,利用特殊手法調用啟發引擎掃描可疑程式申請的記憶體
位置,對載入到其中的組合語言數據進行啟發分析,其實技術層面並不會比真正的主防差
,但組譯層的安全近幾年無重大突破,實測中也可以發現 ESET 這項技術還不成熟
https://i.imgur.com/KeY2Ydu.jpg
“程式漏洞防護”等同於卡巴的 AEP 或諾頓 PEP 組件,會特別監控利用 Browser、PDF
、Java、Office 等程式行為,當發現典型的漏洞攻擊會立刻阻止,並且將事件記錄上傳
到 LiveGrid 雲端伺服器分析,以利於增添新的漏洞行為簽名
https://i.imgur.com/Ua7aRWn.jpg
Web 防護方面 ESET 有兩種檢測方式:
.依黑名單封鎖(使用流量掃描)
.依內容封鎖
之前有提過卡巴斯基會利用啟發式偵測網頁內容,ESET 的內容封鎖也是這樣。例如正常
的網址是 www.youtube.com,釣魚網站可能會改成 www.youutube.com,這時後 ESET 就
會先封鎖網頁內容,並傳送到 LiveGrid 雲端分析是否有危害。比起其它防毒,ESET 可
能更依賴啟發式作為分析手段
https://i.imgur.com/7GAERNC.jpg
防火牆的過濾模式,分為自動模式、互動模式、原則型模式、學習模式,大致上與 HIPS
差不多,這邊不贅述
https://i.imgur.com/Oj0829R.jpg
ESET 的防火牆提供詳盡的自定義規則,除此之外還有兩個重要的功能:
.網路攻擊防護(IDS)
.殭屍網路防護
IDS 會分析所有對內的網路流量,封鎖可能有害的網路攻擊。它還包含了
Vulnerability shield—這是一個附加在防火牆下的擴展,透過檢測常用的通訊協議,
例如 SMB、RPC 與 RDP 協議,阻止利用網路層的漏洞行為。概念有點像諾頓的 IPS
https://i.imgur.com/YoSBTMk.jpg
殭屍網路防的則是對外網路,在電腦受到感染且 Bot 嘗試通訊時,它會識別已知惡意特
徵並與遠端站點惡意軟體黑名單互相比對。一旦檢測到惡意通訊,將立即阻止並通知用戶
https://i.imgur.com/vXXkJmx.jpg
ESET 的雲系統 LiveGrid 包含了拉黑和信譽,當掃描時檔案的 Hash 會傳送到黑白名單
比對,白名單上的項目將被標住日後不再掃描,以提高效率;黑名單會依據威脅性質採取
相應措施;若都不匹配則會上傳至雲伺服器後台系統處理,凡認定為惡意樣本,自動生成
病毒特徵碼在下次更新時發送給用戶。不過 ESET 主要還是以本地掃描為主,雲拉黑報法
相對罕見
另外就是信譽功能,會收集該檔案的共有率,主要體現在 HIPS 以及防火牆的彈窗
https://i.imgur.com/OVWOjjX.jpg
整體而言,ESET 有幾個比較大的缺點
對於活動威脅對抗能力偏弱
ESET 的引擎模塊為非驅動級的 DAT 格式(至少在九版以前是如此),而且跟 AVG 一樣
組件是模塊化設計,這樣的好處是各個組件互相獨立,每次改版添加新功能相對容易(例
如 ESET 3版到現在都還可以更新,只是少了 Exploit Blocker、AMS、Botnet
Protection、IDS....等一堆功能)。但也因為架構的關係,常發生發現病毒,但清除不
了的狀況,包含它的”進階記憶體掃描”也是如此,只能報毒卻無法終止病毒程序。AVG
雖然也是模塊化,然而 Anti-Rootkit 是驅動級文件,還有可回滾的 IDP,相對來說
ESET 在這方面實在做得不好,只能”查”卻不能”殺”
精簡的病毒庫
這其實不算缺點,我們已經知道 ESET 的病毒庫相當小巧,多虧了啟發和基因,不用像其
他廠商逐條入庫。再者,ESET 每次更新都會把沉余病毒代碼刪除,譬如一些不流行的化
石包,或者現代作業系統無法執行的軟體。但如果是 Windows XP、Server 2003 的用戶
,ESET 比較沒辦法防護針對這些老舊作業系統的病毒
中文版不殺易語言
只要是中文版(不管簡體/繁體)都排除了易語言病毒碼,而英文版易語言一律通殺,報
法是 a variant of win32/flystudio unwanted application(PUA 報法)。主要影響的
是一些對岸的軟體,關於易語言詳見:易語言 WIKI
ESET 的防護流程如下
.網路入口防護(含 Web、IDS)
.本地特徵碼、基因、啟發檢測
.HIPS(含 AMS、Exploit Blocker)
預設情況 ESET 主要靠基因和啟發防禦病毒,只要過了前兩關,有害程式一但於記憶體中
執行 ESET 基本上是手無縛雞之力,甚至我認為預設設定的防護能力比360還差(360至少
是智能 HIPS);但得益於 HIPS 以及防火牆豐富的自訂選項,高手使用 ESET 可以達到
不下於 Bitdefender、Comodo 的強度。不過小白用戶也不必過於擔心,能過 ESET 啟發
和基因殺的病毒其實相當罕見,只要習慣良好也不至於中毒
https://i.imgur.com/YTADsXf.jpg
Avira Pro(75分):如果說 ESET 是啟發和基因技術的先驅,那紅傘就是進一步將兩者
發揚光大,而且加入雲啟發的概念。在本地加上雲的雙重檢測下,使得紅傘的查殺率在國
際評測中獨佔鰲頭,是高檢測率的防毒代表之一
https://i.imgur.com/srndpDc.png
早期紅傘曾被人認為誤殺嚴重,而且只要是加殼都殺,原因在於廣譜特徵。我們先回過頭
談最基本的特徵碼,首先「特徵碼」只是一段特徵,每家防毒對同一個文件取樣方法都不
一樣,例如一般雲殺是直接計算整個病毒文件的 MD5 或 SHA-256;而本地特徵為了減少
誤報和縮減毒庫體積,提高查殺效率,會先分析文件的結構尋找特定的內容代碼段,一般
提取兩個以上的代碼段來製作特徵碼,但是這種方法有其侷限性,就是很難分類同種的不
同文件,於是「廣譜」的概念就被提出來
所謂廣譜簡單的講就是分段,像是將某文件進行分塊,計算每一塊的哈希值,再將一系列
哈希值利用比較函數進行相似度比較。以加殼文件為例,紅傘可能從檔案標頭(加殼後的
共通部位)取一段,程式本體再取一段做為 CryptGen。口語概念大概可以表達成:這個
程式加了殼(可疑),而又包含某段特定程式碼(確定為威脅)。這種方法對於變種病毒
有奇效,但也使得誤報率大大增加,所以很快又發展了基因技術,從多點特徵值取樣轉變
為共通特徵值取樣,從廣大的樣本數量建立病毒家族的 DNA 體系,現在廣譜和基因的定
義已經逐漸模糊。至於為什麼要殺帶殼文件,因為紅傘脫殼很弱,才會採取帶殼入庫的措
施,這的確也導致了誤報(但正常軟體沒事不會加殼)
https://i.imgur.com/p01Nalu.png
紅傘沒有主防,但無論免費或付費版皆有強大的 Avira Protection Cloud(簡稱 APC)
。APC 的工作原理可以參考360 QVM,大致上非常相似,卻也有不同的地方。當年360研發
QVM 時紅傘也有派人來觀摩學習(QVM 08年開始研發,10年推出;APC 11年開始,首次
出現在13年),從這點來看,360在雲 AI 上無疑是紅傘的”老大哥”
與一般的雲殺一樣,APC 在偵測到未知文件時,會上傳 Hash 比對,白名單放行,黑名單
封鎖,如果依然未知再上傳整個文件分析,整個過程只有幾秒鐘的時間
https://i.imgur.com/saq04Kk.png
文件上傳後會在雲端上進行行為模擬,APC 用了凸優化(Convex optimization),通過
凸函數和凸集細節分析未知文件的共性,並將未知文件分類為“白(good)”亦或是“黑
(bad),而且俱有自我學習的能力
所謂的 SVM 就是把分類問題抽象化為凸優化問題,因為凸優化的解一定是全局最優解,
本質上 QVM 和 APC 可說是同門師兄弟,但是局部算法不同,觸發條件也不一樣。360是
把規則下放到本地,不怕斷網直接阻止;APC 要把文件傳上雲端跑行為。在雲端模擬行為
有相當多的好處,除了不佔用系統資源,也可以避免樣本在沙箱中被規避,不少樣本在沙
箱或 VM 中並不會展現出惡意行為,所以防毒無法檢測到(像 Comodo sandbox 就不先進
,檢查執行路徑和 Memory Size 就可以被簡單規避了)
當然 APC 有缺點,首先它不是實時啟發,觸發時機有三種:
1.雙撃時 Trigger APC 開關
2.快速系統掃描
3.執行隔離區的檔案掃描
為何不中斷地在即時防護上監控掃描,原因在於 Windows Kernel 容許由其他程式負責的
期限只有十秒鐘,而 APC 的上傳及分析速度相比 Windows Kernel 慢,如果超過十秒,
Windows Kernel 就會自動取替有關檔案的處理,這樣會過份拖慢系統速度,所以只有手
動掃描和首次雙擊觸發 APC
現在我們知道 APC 分析時間是有限的,而且尷尬的是如果上傳前跳出 UAC 也算在秒數裡
,使得分析失敗的可能性增加,再來 APC 的檢測也不是萬無一失,難免有漏網之魚。在
實測中 APC 對於勒索病毒相對是比較弱勢的
https://i.imgur.com/TwsyHyo.png
https://i.imgur.com/HAZOgb3.png
https://i.imgur.com/ymDxFkc.png
APC 觸發過程
付費版和免費版最大的差別,在於有無 Web Guard 網頁防護,它是以掛載 LSP Winsock
的型式去過濾所有 http 流量。白話一點講,就是在系統裡設置一個代理伺服器,讓所有
經過 Browser 的信息都先經過代理伺服器進行掃描,這樣做的好處在於,可以使攔截入
口前移,只要網頁內存在病毒,WG 會直接攔阻整個網頁。我們把一般的防毒防護和網頁
防護的具體流程做個比較:
一般防護:來自網路的數據下載到硬碟→防毒檢測→系統
網頁防護:來自網路的數據→代理服務器檢測→硬碟→系統
也就是說網頁防護會先在記憶體裡掃描一遍才允許存取到硬碟,沒有網防的防毒,則要病
毒到達本地端後才會有動作。有時後惡意網頁並不止包含單一木馬,如果完全倚靠本地特
徵庫,難免會有漏網之魚;而網頁防護除了用特徵庫比對,也包含了 URL 黑名單和
exploits 檢測,就算毒網含有多個掛馬,甚至是未入庫的病毒,只要符合特徵庫
/URL/exploits 其中一項定義就通通封殺,達到多重防護效果
https://i.imgur.com/J3YB8Hv.png
https://i.imgur.com/kmRjpvn.png
網頁含可疑 JS 腳本直接將整個頁面封鎖
https://i.imgur.com/ZCVYCny.png
免費版當腳本下載到本地時,才會移除
免費版雖然沒有完整的流量掃描,卻可以安裝 Avira Broswer Safety(非紅傘用戶也可
使用),一定程度上可以彌補網頁防護的不足
https://www.avira.com/en/avira-browser-safety
ABS 的核心功能是雲端網址辨識技術 Avira URL-Cloud,它相當於 WG 的 Web Filter,
只是把整個資料庫都放在雲端,不再依賴 WG 的 Webcat
ABS 有以下的優點:
1.所有運算都在雲端中完成,對性能影響降到最低。因為 ABS 不再經過本地流量掃瞄才
可以截停,其截停方式完全依賴瀏覽器本身提供的附加元件 API,相容性較好。相較於
WG 需要多個步驟(下載→分析→截停),卡網現像會有所改善
2.由於資料庫在雲端的關係,不再需要等侯新的 Webcat 資料 WG 才可以截停(所謂的入
庫),病毒網址的滯後時間大大縮短,惡意網站資料將永遠處於最新狀態
3.Web Guard 對於 Https:// 的網頁無法掃瞄,因為連線是加密的;但 ABS 因為是建基
於瀏覽器的 API 不存在此問題
另外 ABS 也提供了 Tracking Protection(防追蹤功能),由 abine 的 DNT/DNTME 技
術合作提供
ABS 看似完美,但實際上無法取代 WG,理由如下:
1.附加元件會降低瀏覽器的效能和穩定性
2.ABS 並沒有提供下載防護,它是一個網址辨識功能。假設網址安全,但被人惡意注入木
馬,ABS 將無法預防這種情況
也就是說 ABS 只包含了 URL 黑名單;而 WG 有病毒特徵庫/URL/exploits。個人實測
ABS 的攔截率其實不高,紅傘對於掛馬網頁的偵測相當倚賴啟發,這只有 WG 才能做到
在本機應用上,APC 也有用到 Avira URL-Cloud。例如一個未知程式被 APC 發現可疑的
連線行為,這時就會調用URL Cloud 對該程式所連線的網站進行掃瞄並反饋結果,如果為
Malware 立刻封鎖
https://i.imgur.com/TAvCU7G.png
ABS 封鎖頁面
紅傘的整體防禦流程如下:
WG/ABS 網頁防護→本地病毒檢測→APC
可以發現相較於卡巴、諾頓這些”重武器”紅傘少了很多東西。首先它沒有 HIPS、主防
這些本地行為防護;也沒有專門的防火牆、Exploit Prevention 模塊(WG 含有一部分
exploits 檢測,但只針對網頁腳本),對於巨集病毒和本地的漏洞利用紅傘可說是無能
為力。更要命的是 Anti Rootkits 並不是驅動級的,跟 ESET 一樣,對抗活動中威脅能
力偏弱,最後一道關卡 APC 被過就完了
幸好紅傘的啟發/基因/APC 三者加在一起的檢測率不俗,只要病毒沒活動起來,紅傘的防
護能力還是不錯的;雖然沒有回滾,但紅傘的修復流程相當完整(不是清毒,這邊是指被
破壞後的系統重建),除了通用的修復,還有一套實時更新的腳本修復特徵庫(Script
base),只要符合腳本上的內容就會根據其定義來修復你的系統,整套技術叫做 Avira
Intelligent Repair System Technology(AIRS)。AIRS 主要針對 PUA 和多態病毒造成
的破壞,就算是未知的變種因為行為相通,修復 Script(Repair.rdf)也可以相通
上面說了紅傘沒有主防,RD、FD 只是單純把重要系統文件鎖住,單奔紅傘建議搭配 HMPA
、EMET 來防止本地的漏洞利用和注入行為
AVG Free(75分):跟付費版相比,少了 Online Shield、電子郵件和防火牆,入口防禦
能力較差
Avira Free(70分):
https://i.imgur.com/6OgPJtl.png
免費版即時防護少了自動處理模式,雖說不影響安全性,但遇到多隻病毒,會產生過多的
彈窗打擾使用者
https://i.imgur.com/4LIm5cO.png
付費版更新間隔最短可達15分鐘
https://i.imgur.com/kbtHw9i.png
付費版才有網頁防護
https://i.imgur.com/EuLGCWC.png
付費版才有 Mail 掃描
另外就是付費版才有遊戲模式
以安全性來說最大的差別還是在 WG 的流量掃描,入口防禦力決定這五分的差異
https://i.imgur.com/KxoLmMm.jpg
Avast(70分):Avast 是一款極度依賴雲端的防毒軟體,它在全球有2.3億的安裝數量(
加上 AVG 破五億)提供了龐大的樣本數據庫。首先收集到的文件由威脅分析引擎
Scavenger 以及即時分析資料庫 Medusa 追蹤和解析樣本,它們的任務性質相似,都是
分類器(Classifier)用以分辨惡意軟體,只是後者使用 GPU 做即時的分類運算,可以
大幅減少病毒入庫的滯後時間;再來,被 Avast 初步檢測過的會被歸類為 FileRep(文
件信譽,見第一張圖中的選項),監控和掃描會調用雲端中的黑白名單做比對,降低誤報
率,並與 CC 等新技術結合連動
在紅傘和360的介紹,我們已經大致了解機器學習在防毒中的運用。而 Avast 比較特別的
是每個 Medusa 結點採用2到4個 nVIDIA GPUs 進行計算,他們選擇了資料樣本學習法(
Instance-Based Learning),所使用的多種分類器中,其中一種是漢明距離(Hamming
Distance)。簡單說就是兩個等長度的字串對應的不同字符個數,例如 1011101與
1001001之間的漢明距離是2、2143896與2233796之間的漢明距離是3、"toned"與"roses"
之間的漢明距離是3。將每一個樣本都以約100個靜態或是動態的屬性描述,構成一個唯一
且長度固定的向量,並計算兩兩向量之間的的漢明距離,,便能分類出安全檔案(Clean
)、惡意程式(Malware)以及未知(Unknown)
除了漢明距離外,他們還有四種距離的計算方法,不過大致上的概念都相同,都是利用函
數達到分類的目的
https://i.imgur.com/C6QmNhW.png
早期的 Avast 對於未知文件,會丟入到 Sandbox 運作,後來改名為 DeepScreen 加入了
行為判斷功能,在沙盒裡執行的程式如果表現出惡意行為,將會被終止執行
觸發沙盒的條件有以下情況:
.靜態分析的可疑文件,通常是不在特徵庫,但啟發認為有威脅性的程式
.文件流行度,信譽度低
.文件產生點,來源可疑
.文件從移動設備或遠端啟動
.程式沒有簽名或無效的簽名
.名稱可疑
.and more...
但是沙盒有其限制,受限於 Windows API 許多程式無法在其中跑完整的行為,造成軟體
沒辦法使用或部分功能失常,間接影響到行為判斷的能力(沙盒中沒有展現出病毒特徵,
結果防毒自己加白或使用者放出來造成漏毒),所以又加入了基於 Virtual Machine 的
NG 技術;NG 是一個完整的虛擬機,病毒可以在裡面做任何事,包括加載內核攻擊、攻
擊內核漏洞、重寫 MBR,甚至是硬碟格式化
但它也不是沒有缺點:
1.NG 用了 VirtualBox 的引擎,開了就不能用 VirtualBox、VMware 等其它虛擬環境
2.頗耗系統效能,不適用老爺機,在資源吃緊時會退回使用 Sandbox
3.必須在 BIOS 開啟硬體虛擬化才能啟用
4.它只允許程式在其中執行很短的時間,約為10~15秒,大幅降低了決測算法的精度
於是在2016下半年的大改版中,DeepScreen 被徹底廢除,行為偵測的功能移入到了雲端
,重新取名叫 CyberCapture。這套系統類似於紅傘的 APC,遇到無法判斷的文件,先鎖
定後上傳到雲端分析,由雲端的超級電腦脫殼、解密,直到確定文件安全後才予以放行。
由於本地少了傳統的分析組件(由雲端取代),新版的 Avast 變得相當輕巧、速度更快
https://i.imgur.com/zBP2NQ8.png
小巧的佔用量
然而 CyberCapture 同樣有缺陷
1.它只能檢測 http/https 下載的檔案,來自 USB、FTP、E-Mail、P2P 下載的均不在囊
括範圍內
2.分析時間過長,短的幾分鐘、長的可能數十小時甚至一天以上。這期間使用者可以主動
放行,但這樣等於讓電腦暴露在風險之中(由於 Windows Kernel 的限制,分析時間過長
會先結束程式)
Avast 在主防技術上一路來走走跌跌,一直無法有重大的突破,所以在2016年收購了 AVG
,預計2017年 AVG 的主防 IDP 將融入於 Avast,這點從 Avast CTO(首席技術官)獲得
了証實
https://i.imgur.com/I1H6FT7.png
Avast 首席技術官 VLK 親自証實將融入 IDP 技術
回到圖一中 CyberCapture 下方有個選項叫「堅固模式」,這個模式開啟後,每個程式的
執行都依靠雲信譽判斷。在積極模式下,只有高信譽的檔案被允許執行;溫和模式只攔截
信譽不良的文件。CC 和堅固模式兩者只能擇一啟用,若使用堅固模式 CC 將被取代
CC 也有用到信譽做判斷,例如高信譽放行,不良信譽阻止,而未知的文件鎖住後上傳到
雲端分析;與「堅固模式」不同之處在於,後者只有「放」與「不放」兩種選擇,不會上
傳到雲端分析。這個模式與趨勢的「最高安全性」項目非常相似,但因為 Avast 的信譽
庫沒有趨勢來得齊全,堅固模式下雖然安全誤判卻相對嚴重,而且由於信譽殺無法防白加
黑(例如白名單軟體混入了木馬 DLL,CC 反而可以探查到),一般人不建議使用
https://i.imgur.com/7XjgwpK.png
免費版無法取消快顯廣告,但可以把持續時間改成1秒,或者禁用 avastUI.exe 連網也可
以屏蔽廣告
https://i.imgur.com/X0Ilf1v.png
參與社群建議勾選,影響到信譽
https://i.imgur.com/quV2XGK.png
程式碼模擬就是動態啟發
勾選 PUP 殺會檢測廣告程式,但會增加誤判率
HIPS 是輕量級的 AD+RD,無法自定義但可以記憶規則,老實說沒啥鳥用,可以取消沒關
係
https://i.imgur.com/w8TMk15.png
在早些前的版本,Avast 的 HTTPS 掃描是一種類似 SSL 中間人攻擊的方式,將所有網頁
的證書改成 Avast 自己的 CA,後來被第三方機構爆出漏洞後,現在是通過注入瀏覽器內
核的方式完成掃描,不再需要更換證書
智慧型串流掃描是指將待掃描的文件分割成小塊,將 block 逐一檢查後再合併成原始文
件。這個選項不要關
封鎖惡意 URL,幾乎是所有誤報的來源,黑名單通過 avast CommunityIQ 共享。開啟後
經常會看到 URL:Mal 的報法,像是廣告連接、可疑 XML、甚至是圖片和隱私相關的內容
等。它報的是訪問地址,不是訪問該地址的程式,例如部分的 ISP 會將一些檔案緩存到
自己的伺服器上,而 Avast 發現不是原文件地址就有可能拉黑,所以報感染 URL 並不代
表中毒。
強烈建議關閉,對安全性影響小
指令碼掃描等於腳本掃描,保持開啟
https://i.imgur.com/SSni2CT.png
壓縮包掃描選擇常用的就行(例如 RAR, ZIP),被壓縮的檔案不具有威脅性,解壓縮監
控一樣會報毒,其實可以不用勾
https://i.imgur.com/zI7MoUA.png
如果前面取消了 URL 拉黑,網頁啟發可以調高一點
檔案系統 PUP 有勾的話,網頁 PUP 不用勾,下載下來一樣會報
https://i.imgur.com/INnKgIu.png
串流更新是指病毒庫就像流水一樣,源源不絕的流入你的電腦,更新頻率約為1次/3.75分
鐘、300~400次/天,斷網的情況下以最後收到的毒庫版本為主,類似的有諾頓的脈動更新
。比起一些對免費版限制更新次數的防毒,Avast 慷慨多了
https://i.imgur.com/szjN2Oc.png
程式版本建議手動更新,Avast 其實不是很穩定,功能常常變動,當前版本沒有什麼問題
可不更新
https://i.imgur.com/RGwAcPf.png
Avast 沒有實時 Rootkits 掃描,也沒有與活動中 Rootkits 對抗的能力。第一個選項是
指開機時的 Rootkits 靜態掃描,可以檢測到一些尚未活化或死 Rootkits
https://i.imgur.com/Rc9GwYl.png
若只需要防毒功能安裝時勾選這三項即可
Avast 雖然有雲 AI,但檢測率表現平庸,病毒庫的資料量不大,幾乎是靠機器學習分析
出的基因碼(報法 Trojan-gen、Malware-gen、Evo-gen)作規則性的通殺;網頁防護誤
報略高;更要命的是沒有主防,CyberCapture 看起來有向 APC 借鏡的味道,可惜剛起步
效果不彰
不過2017年 Avast 計劃加入 AVG 的主防技術。同時擁有網頁掃描和主防的免費防毒非常
罕見,除了 BD 外可說僅此一家,所以未來的改款相當令人期待
※目前已加入 IDP,但效果不如原版的 AVG(不是很穩定),在 Avast 完美融入 AVG 的
技術以前,暫時還是推薦 AVG
值得一提的是,相對於它款防毒企業版多數都要收費,Avast 的小型企業版 Business
Security 免費提供給中小企業和教育單位,但大企業版 Endpoint Protection 依然要授
權費用就是了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.185.3
※ 文章網址: https://www.ptt.cc/bbs/AntiVirus/M.1495824232.A.0ED.html
※ 編輯: KotoriCute (1.165.185.3), 05/27/2017 02:58:01
→ sismiku: 謝謝 05/27 03:54
推 purplvampire: Avast免費企業版功能限制頗多,需要進階功能付錢開通 05/27 12:57
→ purplvampire: 相關中毒資料統計當然不如其他防毒企業版 05/27 12:59
推 atrix: 推 05/30 11:00