AntiVirus 板


LINE

在巴哈看一篇關於各家防毒軟體的技術分析文章就轉過來 如果有轉載需求請記得附上以下原始網址 ※本文發佈於巴哈姆特電應板以及部落格 IT Works,轉貼請附上原文連結 https://forum.gamer.com.tw/C.php?bsn=60030&snA=463208&s_author=ts00937488 -- 近年來勒索肆虐猖狂,網路上反而出現不少不學無術、對防毒原理一知半解、毫無專業知 識,卻在論壇上妖言惑眾、散佈錯誤觀念和謠言、肆意販賣恐懼、誤導他人的可惡之徒。 可悲的是,這等神棍的妖言還有不少人信以為真,於是一傳十、十傳百,指鹿為馬居然莫 名成為了真理 為了破除謠言、以正視聽。本篇以實事求是,回歸技術面科普的心態,從最基礎的防毒原 理開始說起。 什麼是0day攻擊? 0day一般指還沒有修補的安全漏洞,但以防毒的觀點來看,0day泛指任何無法被防毒資料 庫識別的惡意軟體、掛馬網頁。很多人對防毒的認識還停留在十年前單純靠病毒庫比對惡 意軟體的階段;時代在進步,防毒廠商也不是吃素的,現今的防毒透過各種技術,例如: 啟發法、行為攔截(Behavior Blocker)、主動防禦、雲分析、沙盒(SandBox),當然 還有傳統的 HIPS,來預防尚未入庫的未知威脅 以下針對這些預防0day的技術做介紹 啟發式:現代防毒幾乎都有用到啟發式技術,然而多數人並不知道這是什麼意思。在牛津 詞典中對於“啟發式”的解釋是“使一個人能自主發現並學習某個東西”,然而這段描述 實在過於籠統。所以下面我用一張圖來舉例 https://i.imgur.com/NMhYDjy.jpg 假設您被要求從上圖找出一種從來沒聽過的犬類(加泰霍拉豹犬 Catahoula),以下是可 能的推理過程: 因為要找的是哺乳動物,首先會把魚類排除掉。排除魚類下方的杜賓犬則類似,因為不少 人都熟悉杜賓犬這個品種。排除熊的照片則有意思得多:試想如果一個人從未見過熊,怎 樣才能不把熊認成犬類?對電腦來說更是這樣,因為電腦的程式語言需要精確的描述,這 種情況下啟發識別就相當困難。可能有些人會被貓迷惑,因為加泰霍拉豹犬 Catahoula 包含了 cat 這個英文單字 最後剩下右邊的兩隻狗,右上角是許多人熟悉的米格魯,加上目標的犬種名”豹犬”讓人 聯想到豹紋,通過排除法得出了右下角的照片 在偵測病毒的過程中,面對未知的威脅傳統特徵碼將完全失效;而啟發式通過一系列的規 則試圖推理出可能的目標。其中又分成 "靜態啟發”以及 "動態啟發” 靜態啟發:與傳統將文件的 MD5 與病毒庫中的數據比對不同,啟發式試圖通過一系列手 段還原出可執行檔案的實際行為,並將其與記錄病毒行為的啟發特徵庫相比對。而靜態啟 發就是在可疑文件讀入到記憶體執行前,先行一步反編譯,根據得到的代碼分析出程式可 執行的命令種類和順序,再與啟發特徵庫中的行為比較,近似者報毒。因為只是讀取程式 指令來“預測”是否有惡意行為,所以過程中程式不需要執行。實際上這是模擬了工程師 分析病毒的過程,典型的就是 ESET 的啟發引擎 理想情況下,一個啟發特徵就可以殺一整類病毒,大大節省病毒庫的體機和防毒性能 動態啟發:防毒建立一個隔離的虛擬環境預先執行要掃描的程式幾十毫秒。通過監控程式 最初的幾條或幾十條指令來判斷程式是否可疑(正常程式一般會先調用圖形 API 繪製界 面等,但病毒通常直接開始讀寫硬碟,注入其他程序);這項技術有嚴重缺陷,不僅資源 佔用高、誤報嚴重、檢測率還低(只要在病毒中加一個延時等100~200ms之後再執行惡意 指令就可以完美避過),一般作為預判斷手段(先通過動態啟發確認可疑程度來調整進行 靜態啟發時引擎的敏感度)。雖然各大防毒引擎都俱備這個功能,但平時沒有存在感。這 種技術可以看作主動防禦的前身 HIPS:主機入侵防禦的英文縮寫,分為 AD 應用程式防護、RD 註冊表防護、FD 文件防護 三塊。在程式執行時攔截所有行為並詢問用戶是否放行,一般通過預先設定好的規則來減 少彈窗,規則的嚴密程度也決定了防護能力。是一種把系統控制權交給用戶的安全工具, 會用的高手可以裸奔毒網,小白用這個只是徒增煩惱。 另外所謂的智能 HIPS 就是根據雲端白名單識別程式並建立相應的規則以減少彈窗,可說 是自動預設規則的 HIPS 主動防禦:可以當作是有啟發能力的 HIPS,與啟發式的不同在於,擁有主動防禦的防毒 可以在程式正常執行(不隔離)的情況下不間斷地監視程式的行為,發現與啟發特徵庫匹 配的動作便終止該程序(BD ATC 有些特殊,稍後再說明);有不少防毒的主防(Sonar、 IDP、SW)還會在程式執行時記錄下執行過的指令,發現惡意行為並終止後便按照記錄逐 一撤銷程式的操作,這就是回滾能力。主防既有像靜態啟發一樣檢測未知病毒的能力,又 很難被花指令所矇騙(畢竟靜態啟發只能進行簡單的反編譯不能讀出程式中所有指令); 但主防既要求防毒能在程式執行過程中攔截指令,又要在確認為惡意程式後有足夠權限將 其終止,實現難度相比啟發式困難,也來得不穩定。對於未知威脅,主動防禦是目前最有 效的手段。 要注意的是,主防和 HIPS 都屬於執行後保護,在其運作時,可疑程式已經在記憶體中執 行,可以說是防毒軟體的最後一道關卡 行為攔截:BB 在技術上並沒有被嚴格定義,只要有惡意行為,不管程式是正常不正常, 有簽名或無簽名,只要防毒判定為惡意就終止程序。譬如開著 IDM 下載病毒,數次後防 毒會提示 IDM 似乎是個未知威脅,對於這種正常程式下載惡意文件會提示操作,並記錄 程式行為是打開網絡連接和多次下載惡意文件。它可以是基於本地主防或者是雲端甚至是 智能 HIPS,例如紅傘雖然沒有主防但它的雲 APC 對於未知威脅可以有效阻斷攔截 人工智慧(AI):包含雲啟發或本地 AI,詳見 BD ATC 和 360 QVM。另外像 BD 或者是 AVG 雖然是本地 AI,但是其規則是分析雲端的大量資料,機器學習後再下放到本地( BD 是主防帶 AI,AVG 是掃毒帶 AI,這也是 AVG 2016年檢測率飆升的原因。AI 的一大 好處是提高檢測的同時節省人工成本,防毒廠商的病毒分析師只需進行簡單的後期除錯, 其餘工作都能仰賴 AI 進行分析) 廣譜/基因:通過衡量某個未知的文件和已知惡意文件的相似度來進行判別。如果一個未 知文件在關鍵的地方和已知惡意威脅高度相似則判為有害 https://i.imgur.com/UT3BdcL.jpg 例如上圖中,假設你已經熟悉了左邊的黑褐色長毛獵犬,那麼即使沒見過右圖的犬種,也 能通過相似度推斷出是某個品種的長毛獵犬 有些人把基因當成啟發的一種手段(但啟發不等於基因)更詳細的介紹見紅傘、ESET 兩 欄的解說 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.185.3
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AntiVirus/M.1495823940.A.EA7.html
1F:推 sismiku: 好文 05/27 03:41
2F:→ bajiqa: 我很討厭他第一段的說詞。 05/27 09:16
3F:推 Klauhal: 有看過巴哈防毒分類的文就知道第一段只是講述事實 05/27 09:57
4F:→ Klauhal: 巴哈很多不裝防毒派的,以為行為良好就沒事 05/27 09:57
5F:→ Klauhal: 有人肯在那種地方發科普該鼓勵,我早就逃來ptt防毒版了.. 05/27 09:59
6F:→ hn9480412: 巴哈那種一堆只會玩遊戲的小朋友就算了吧 顆顆 05/27 11:39
7F:→ miamodo: HEURISTIC,https://goo.gl/QfKsj2 05/27 13:11
8F:推 kipi91718: 推整理 05/27 15:43
9F:→ sakasiaga: 好喜歡第一段的說詞 05/27 17:32
10F:→ APM99: 第一段的說法很正確阿 跟風的本來就一堆 05/27 17:34
11F:→ sate5232: 第一段是個連結 請看原文 05/27 19:48
12F:→ sate5232: 他就是在指那篇文章 05/27 19:49
13F:推 atrix: 沒辦法,第一段是事實, 05/28 11:34
14F:→ atrix: 看看FB有多少人在喊「只有不去上XX網站,保持良好行為,不 05/28 11:34
15F:→ atrix: 裝防毒也沒關係」 05/28 11:34
16F:→ atrix: 就是不知道什麼是良好行為才問人啊! 05/28 11:34
17F:→ atrix: 良好行為也包括了裝防毒啊 05/28 11:34
18F:→ waterblue85: 正常網站都可能不小心上架了藏有惡意軟體的廣告了? 05/28 17:22
19F:推 HGJman: 自己中一次就知道行為良不良好,自己的資料自己備份~ 05/28 21:39
20F:→ HGJman: 自己的電腦自己維護,不會備份不會維護,自食惡果剛好~ 05/28 21:40
21F:推 hms5232: 我自己也是不額外裝防毒的阿 內建的Defender+真正好習慣( 05/29 00:21
22F:→ hms5232: 定期更新系統、備份檔案等)八成都能避掉 05/29 00:21
23F:→ hms5232: 不過有資源的話裝一下不會吃虧 05/29 00:22
24F:→ tinlans: 這文應該不是巴哈那邊原創的 05/31 18:34
25F:→ tinlans: 滿口大陸用語,應該是對岸哪裡複製來簡轉繁的 05/31 18:35
26F:→ sate5232: 阿就是作者原創的呀 他在噗浪說的 06/04 18:20
27F:推 H264: 現在大家很常用對岸用語 回滾這詞 台灣有嗎?我還真不知 06/05 16:52
28F:→ louis925: 原作應該是大陸人吧 06/15 16:12
29F:→ tinlans: 默認、數字簽名、模塊、數據庫、哈希 << 這些說不過去 06/20 03:03
30F:→ tinlans: 重點是他大陸、台灣、英文用語交叉用,很像術語自動轉換 06/20 03:06
31F:→ tinlans: 沒有轉好或判斷失誤等等的,process 也各有程序跟進程。 06/20 03:07
32F:→ tinlans: 要不就是分不同網站複製貼上整理出來的吧。 06/20 03:08
33F:推 Fizban: 我是原作者,樓上少在那亂猜 06/20 22:44
34F:→ Fizban: 最近才辦PTT帳號,原本懶得回的 06/20 22:44
35F:→ Fizban: 我的確常逛對岸論壇,用語可能多少受到影響 06/20 22:44
36F:→ Fizban: 但默認、數據庫、模塊←這些詞我不覺得有什麼問題 06/20 22:44
37F:→ Fizban: 台灣人就不會講默認、數據庫? 06/20 22:45
38F:→ Fizban: 還是一定要改成預設、資料庫才可以? 06/20 22:45
39F:→ Fizban: 說真的我寫文章根本沒考慮太多,又不是政治文章 06/20 22:45
40F:→ Fizban: 在文字上搞政治正確沒意義 06/20 22:45
41F:→ Fizban: 寫這篇文章花了我一年時間,酸民毀一篇文章也不用一分鐘 06/20 22:46
42F:→ Fizban: 有意見請到巴哈留言,PTT基本上我是不用的 06/20 22:46
43F:→ tinlans: 不是政治正確的問題,只是有違常理,而且你術語雙邊交雜 06/21 20:33
44F:→ tinlans: 因此提出合理的懷疑。對,台灣人不會講,所以才合理猜。 06/21 20:38
45F:→ tinlans: 你找十個資工系助教來讀這文章,十個都會這樣懷疑。 06/21 20:46
46F:→ tinlans: 畢竟抓學生抄作業的經驗大都是這樣累積過來的,非亂猜。 06/21 20:47
47F:→ tinlans: 當然你要說裡面有大都是你整理跟親自寫的我也相信就是。 06/21 20:50
48F:→ tinlans: 而且既然你本人都敢這樣宣稱,那我就不多說了。 06/21 20:50
49F:→ tinlans: http://i.imgur.com/GZPqVv1.png 06/21 22:02
50F:→ tinlans: http://i.imgur.com/AQMZ8Wn.png 06/21 22:02
51F:→ tinlans: 我個人能給的建議就是,既然你都希望別人轉載你的文能標 06/21 22:03
52F:→ tinlans: 明出處,那麼做類似的事情時也應該標一下。儘管你的確有 06/21 22:03
53F:→ tinlans: 花上大把的時間做整理已經加上自己的註解和看法等等。 06/21 22:04
54F:→ tinlans: 不然這些小小的瑕疵就會讓你自己毀了你一年的心血。 06/21 22:04
55F:→ tinlans: 我跟大陸高手交流的時間不會比你少,所以才對這些更敏銳 06/21 22:06
56F:→ tinlans: 其中一張圖裡的複製 -> 複制也是一大破綻。 06/21 22:07
57F:→ tinlans: 總之,你的貢獻絕對不可以否認,只是給些建議。 06/21 22:09
58F:→ tinlans: 我不知道你多大了,有沒有讀過研究所,或者有沒有打算讀 06/21 22:15
59F:→ tinlans: 。但是你這樣的做法在學術論文裡,已經觸犯死罪。 06/21 22:15
60F:→ tinlans: 所以講出來也是為了你將來好。 06/21 22:16
61F:→ Fizban: 我在文末的QA有說為了寫文章收集了不少資料 06/22 07:39
62F:→ Fizban: 例如官方白皮書 06/22 07:39
63F:→ Fizban: 你第一張圖就是FS官方白皮書的內容 06/22 07:41
64F:→ Fizban: 既然你有針對文章內容去搜尋 06/22 07:42
65F:→ Fizban: 應該知道並不是隨便抓幾篇26的文去簡轉繁 06/22 07:42
66F:→ Fizban: 我不是防毒專業,要寫這種文免不了要收集資料 06/22 07:42
67F:→ Fizban: 像第二張圖,為了粗淺解釋什麼是基於統計學的機器學習 06/22 07:42
68F:→ Fizban: 就找了貝葉斯算法當例子 06/22 07:42
69F:→ Fizban: 但除此之外,關於360的功能介紹,完全出自我本人之手 06/22 07:43
70F:→ Fizban: 如果說這篇文章完全沒有引用,那的確不是 06/22 07:43
71F:→ Fizban: 但要說整篇都是抄別人的、東拼西湊,這種指控我也很難接受 06/22 07:43
72F:→ Fizban: 以論文的角度看這篇是很不嚴謹 06/22 07:44
73F:→ Fizban: 但這篇不是論文,我的目的是對已知防毒原理作介紹 06/22 07:44
74F:→ Fizban: 我不太清楚資工系的情況 06/22 07:44
75F:→ Fizban: 我本身是資管研究所畢業,當年搞的是影像演算法 06/22 07:44
76F:→ Fizban: 所謂的論文就是要自己想出的一個新的演算法(idea) 06/22 07:44
77F:→ Fizban: 然後發表出來 06/22 07:45
78F:→ Fizban: 這篇則是對已知的東西做介紹,其實不管內容多嚴謹 06/22 07:45
79F:→ Fizban: 都無法達到論文的高度 06/22 07:45
80F:→ Fizban: 最後謝謝你的指教,我不太習慣PTT 06/22 07:46
81F:→ Fizban: 希望這樣解釋你可以接受 06/22 07:46
82F:→ tinlans: 我只是給建議而已,沒什麼接受的問題。我知道你的東西是 06/22 10:06
83F:→ tinlans: 有些是來自對岸的白皮書翻譯,不過對譯者就不是很尊重。 06/22 10:07
84F:→ tinlans: 你的介紹是很好的,圖也看得都自己截的,只是替你擔心。 06/22 10:08
85F:→ tinlans: 當然最理想是吸收後轉換成你自己的話重寫出來,不過就如 06/22 10:09
86F:→ tinlans: 你所說的這不是論文,大致上就是類似報告,註明出處即可 06/22 10:10
87F:→ tinlans: ,畢竟你也希望轉你文的人能註明出處。 06/22 10:15
88F:→ tinlans: 實際上你的文我全部都有讀完,所以你出來說明時,我也沒 06/22 10:24
89F:→ tinlans: 否定這裡面大都是你自己的東西,因此才說不希望這些小瑕 06/22 10:25
90F:→ tinlans: 疵毀了你整篇。而且前言其實就是給人一種偏高的期待,突 06/22 10:27
91F:→ tinlans: 然讀到一些用詞突兀的片段、專有名詞用法跟你前面有些出 06/22 10:27
92F:→ tinlans: 入的地方,就會鮮明感受到這段文字不是你的東西。又因為 06/22 10:29
93F:→ tinlans: 前言給人的期待真的稍微偏高,就容易產生一種失望感。 06/22 10:30
94F:→ tinlans: 其中一個失望感就有點像是「立志寫文章出來教育人的卻沒 06/22 10:32
95F:→ tinlans: 有把自己想寫的東西都搞懂 (沒變成自己的話及例子),直接 06/22 10:33
96F:→ tinlans: 貼別人的混過去」那種感覺。現在你是作者可能不太理解這 06/22 10:33
97F:→ tinlans: 感覺,有一天你讀別人的就會懂了。這個不是什麼指責,你 06/22 10:34
98F:→ tinlans: 就當成是讀者給的 feedback 吧。 06/22 10:34
99F:→ tinlans: 另外,提到論文的原因是因為論文也有提到相關研究的章節 06/22 11:00
100F:→ tinlans: 但是依然不允許裡面的字句和他人的寫作雷同,因此科技英 06/22 11:00
101F:→ tinlans: 文寫作要練的一個技巧就是重新構句,避免變成抄襲。 06/22 11:01
102F:→ tinlans: 至於大學報告的訓練則是允許學生這麼做,但要註明出處。 06/22 11:02
103F:→ tinlans: 至於有的研究生可以拿學長的論文改一改就發一篇,是因為 06/22 11:03
104F:→ tinlans: 作者欄有交集做保險,教授會讓低年級的在學長的論文掛名 06/22 11:03
105F:→ tinlans: 做保險,而最終保險是教授都有掛名,所以才能那樣玩。 06/22 11:04
106F:推 tinlans: 嗯,總而言之,整理貢獻跟付出還是遠高於那些小瑕疵的。 06/22 11:06







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP