计算机病毒

计算机病毒

隱蔽

编辑

病毒會藉由攔截防毒軟體對作業系統的呼叫來欺騙防毒軟體。當防毒軟體要求作業系統讀取檔案時,病毒可以攔截並處理此項要求,而非交給作業系統執行該要求。病毒可以返回一個未感染的檔案給防毒軟體,使得防毒軟體認為該檔案是乾淨未被感染的。如此一來,病毒可以將自己隱藏起來。現在的防毒軟體使用各種技術來反擊這種手段。要反擊病毒匿蹤,唯一完全可靠的方法是從一個已知是乾淨的媒介開始啟動。

自修改

编辑

大部分防毒軟體透過所謂的病毒特徵碼來偵知一個檔案是否有被感染。特定病毒,或是同屬於一個家族的病毒會具有特定可辨識的特徵。如果防毒軟體偵測到檔案具有病毒特徵碼,它便會通知使用者該檔案已被感染。使用者可以刪除或是修復被感染的檔案。某些病毒會利用一些技巧使得透過病毒特徵碼進行偵測較為困難。這些病毒會在每一次感染時修改其自身的代碼。換言之,每個被感染的檔案包含的是病毒的變種。只能重灌或下載防毒軟體.

隨機加密

编辑

胡搞更甚者是對病毒本身進行簡單的加密。這種情況下,病毒本身會包含數個解密模組和一份被加密的病毒拷貝。如果每一次的感染,病毒都用不同的密鑰加密,那病毒中唯一相同的部分就只有解密模組,常會附於檔案尾端。防毒軟體無法直接透過病毒特徵碼偵測病毒,但它仍可以偵知存在解密模組,這就可以間接偵測病毒。因為這部分是存放在宿主上面的對稱式密鑰,防毒軟體可以利用密鑰將病毒解密,但這並不必要。因為自修改代碼很少見,防毒軟體可以先將這類檔案標記成可疑。

一個古老但簡潔的加密技術將病毒中每一個位元組和一個常數做逻辑异或,欲將病毒解密只需簡單的逻辑异或。一個程式若可修改自身程式碼就十分可疑,因此許多病毒定義中,將加解密部分視為病毒特徵碼的一部分。

多態

编辑

多態是第一個對防毒軟體造成嚴重威脅的技術。就像一般被加密的病毒,一個多態病毒以一個加密的自身拷貝感染檔案,並由其解密模組加以解碼。但是其加密模組在每一次的感染中也會有所修改。因此,一個仔細設計的多態病毒在每一次感染中沒有一個部分是相同的。這使得使用病毒特徵碼進行偵測變得困難。防毒軟體必須在一模擬器上對該病毒加以解密進而偵知該病毒,或是利用加密病毒其統計樣板上的分析。要使得多態代碼成為可能,病毒必須在其加密處有一個多態引擎(又稱突變引擎)。關於多態引擎的技術細節請參閱Polymorphic code。

有些多態病毒會限制其突變的速率。例如,一個病毒可能隨著時間只有一小部分突變。或是病毒偵知宿主已被同一個病毒感染,它可以停止自己的突變。如此慢速的突變其優點在於,防毒專家很難得到該病毒具有代表性的樣本。因為在一輪感染中,誘餌檔案只會包含相同或是近似的病毒樣本。這會使得防毒軟體偵測結果變得不可靠,而有些病毒會躲過其偵測。

變形

编辑

為了避免被防毒軟體模擬而被偵知,有些病毒在每一次的感染都完全將其自身改寫。利用此種技術的病毒被稱為可變形的。要達到可變形,一個變形引擎是必需的。一個變形病毒通常非常龐大且複雜。舉例來說,Simile(英语:Simile (computer virus))病毒包含14000行匯編語言,其中90%都是變形引擎。

相关数据

365bet体育在线滚球 街篮手游pf和c哪个好 pf和c最强推荐
365bet资讯网 电脑版客户端下载速度太慢
bat365app官网入口登录 5分钟快速申请一个EDU教育邮箱