• May 2, 2024

【騰訊電腦管家分析】騰訊電腦管家TAV引擎逆向分析 |360殺毒和騰訊電腦管家哪個好 |360殺毒和電腦管家區別分析 |

1、軟件——它能夠指出哪些軟件是惡意軟件、捆綁軟件及常用軟件,您自行決定是否卸載。

2、推薦攔截——識出您電腦中哪些軟件會彈出廣告,並提供一鍵攔截功能。

0x00 背景

about me:寫過外掛,做過破解,電腦管家有時間逆向分析積累,現在整理下投出來,求邀請碼和WB。
TAV有自己優勢和特點,比如殺毒後能夠一部分病毒破壞註冊表和文件。另外它內存查殺,可以掃描內存、創建和病毒一樣互斥,防止病毒運行。
TAV相比其他殺毒軟件還是有很多,缺陷是免殺,於TAV引擎是字符串明文檢測,很通過分析病毒庫或者是MYCCL進行黑盒免殺。另一方面,TAV效率,包括特徵數據結構, 特徵複方面問題,後面會有詳細分析。
值得一説是,逆向TAV特徵庫可以看到,外掛特徵病毒、後門特徵多,排在了特徵數量第二名,説騰訊電腦管家是“外掛殺手”一點誇張。盜號木馬是TAV另一個重點打擊對象,特徵庫佔比。至於感染型病毒、後門、下載者、蠕蟲、惡意腳本其它類型木馬病毒,還需要OEM傘引擎或者雲引擎來補位,否則靠TAV肯定是無能為力。

0x01 結構功能初析

引擎結構和功能如下。看出,TAV引擎屬於基礎傳統特徵引擎。特徵數量,與主流殺相比處於初級階段。

1. 引擎內部功能一覽

內存掃描
匹配指定進程和內存串,如果匹配到終止進程

匹配文件是否存在

創建一個和病毒互斥體,防止病毒運行

內存

解包

字符串多模式匹配

虛擬機:

模擬了ntdll、kernel32、gdi32、user32、advapi32、shell32、wsock32、ole32、oleaut32、msvcrt、version、urlmon這幾個系統DLL
於常用API採用同一個函數統一處理:
於關鍵函數,使用模擬代碼實現:
2. 病毒庫分析:

A).病毒庫算法:
只是ZLIB。

解密後內容如下:

B). 病毒庫結構:
virinfo.def:名稱表,包括殼名、包名、特徵名 c++
structVirInfo
{
DWORD dwID;
BYTE btLength;
char VirName[btLength];
};
C). 病毒庫規模:
特徵數量整體非常少,PE例只有8135條特徵。分佈見下圖。從特徵分佈和類型,TAV主要查殺目標外掛、盜號程序。於百萬級規模程序家族覆蓋了冰山一角,達不到一個殺毒引擎程度,停留在外掛、盜號專殺層面。讓人捉急是TAV維護了大量脱殼解包特徵,直接暴露了開發者框架設計方面缺陷。與此形成對比是國際知名卡巴和BD引擎,一個“膨脹”過程中,維護同家族特徵,隨後“收縮”過程中,一條obj通殺,顯得章法自如、張弛。

D). 病毒庫:
病毒庫有2種方式:
1 直接擴展名.def病毒庫,適用於查殺現有引擎可以支持木馬和病毒。
2 替換tpktt.dll,適用於現有引擎無法解決的複雜本,特徵和查殺方法通過分析員寫代碼實現,然後整個引擎替換,類似於殺方式。
0x02 PE查殺過程逆向分析:

1.病毒庫描述:

virpeXX.def:(PE庫)
#!c++
struct VirpeHeader
{
 WORD wUnknown;
 DWORD dwHeadSize;
 DWORD dwSize;
 WORD wTable1Count;
WORD wdMaskCount;//表示共有多少條PE特徵
WORD wdUnknown4;
DWORD dwTable1Off;
DWORD dwTable2Off;
DWORD dwTable3Off;
DWORD dwTable4Off;
DWORD dwTable5Off;//傳統特徵
DWORD dwTable6Off //多模式特徵
};

#!c++
struct Sig //特徵結構
{
DWORD dwRecordID;//特徵ID,於關聯特徵名
DWORD dwOffset;//特徵偏移,於定位病毒代碼位置
BYTE btLength;//特徵,於掃描匹配病毒代碼長度
BYTE btOffsetBaseAddress;//特徵基地址,於定位特徵起始位置
BYTE btVirMask[btLength];//病毒特徵內容
};

2. 靜態查殺方式:

a). 二進制全文匹配。(二進制特徵存放virpe01.def庫解密後tbl5中)
將數十字節病毒代碼二進制,記錄病毒庫中,待檢測樣本進行全文匹配。
b). 多模匹配。(多徵存放tbl6中)
惡意程序字符串信息提取出,記錄病毒庫中,待檢測樣本進行多模匹配。
3. 靜態掃描流程:

見下圖
4. 設計缺陷分析:

傳統殺出現幾個問題:效率、體積、抗門檻。這幾個問題TAV身上。只是現階段TAV特徵數量,規模展現而已。
a) 體積大。
現有查殺方式設計會導致病毒庫臃腫,二進制數據和字符串數據記錄病毒庫中,特徵增加,病毒庫體積會膨脹。同等特徵數量情況下,TAV病毒庫會卡巴、BD殺上數十倍。
b) 效率。
匹配特徵方式,會病毒庫膨脹而使得效率變得。卡巴、BD殺解決此問題,設計出了多索引方式,只有在後一層匹配幾個特徵,效率。
c) 抗門檻。
匹配代碼內存中明文存在。

使得無論木馬作者通過分析病毒庫來免殺是通過MYCCL黑客工具進行黑盒免殺。
d) 特徵無複。
下圖TAVTOP50特徵,可見出現大量重複二進制。特徵之間基本無複。

例:Virus.Win32.DiskGen
以此家族例,描述TAV設計缺陷導致效率問題。
TAV查殺Virus.Win32.DiskGen病毒a變種到後an變種,多次匹配了這條特徵:
18 8B 8E 30 0A 00 00 03 C8 40 40 8A 11 F6 D2 88 11 3B 05 3F 3F 3F 3F 7C

特徵含義是病毒解密代碼

儘管使用了索引複,但並沒有優化。從病毒庫中可以看到,這條特徵出現了20次。意味着,匹配這個家族所有變種,當前待掃描文件需要掃描20次才行。因為目前TAV特徵只有數千條,效率低下問題感受不明顯,倘若哪天TAV特徵達到競品平均水平數百萬條,想象掃描一個文件會是何等。
0x03 其他類型分析:

virscrXX.def:腳本庫,直接存儲字符串,於掛馬查殺。避免誤報自身內存,採用了方式,特徵加載到內存中。

virdexXX.def:安卓特徵庫

virsrcXX.def:腳本庫,於查殺HTML\JAVA\PDF\OLE\JS\NSIS

vircmpinfo.def:殼、編譯器識


0x04 實戰抗

1.TAV虛擬機抗

當文件加UPX殼後,會調用GetProcAddress動態獲得API地址,TAV可以模擬GetProcAddress結果,並且可以執行到下一條EIP所在位置,使得程序能夠模擬下去,而至於觸發返回。

文件調試結果:

不過TAV虛擬執行能力,適用於壓縮殼進行脱殼,如常見UPX殼,而於動態行為查殺無能力。
比如某個Downloader木馬,作者調用了URLDownloadToFileW下載一個木馬,然後調用WinExec執行木馬。整個過程,只用到2個Windows API,並且有額外代碼來抗虛擬機,而TAV引擎無法查殺:

同樣樣本,掃描對國外知名殺,則可以通過虛擬機動態檢出

2.MYCCL黑盒抗:

某盜QQ木馬測試。

特徵碼地址如下:

使用C32ASM查看特徵碼:

改改:

about me:寫過外掛,做過破解,電腦管家有時間逆向分析積累,現在整理下投出來,求邀請碼和WB。

TAV有自己優勢和特點,比如殺毒後能夠一部分病毒破壞註冊表和文件。另外它內存查殺,可以掃描內存、創建和病毒一樣互斥,防止病毒運行。

TAV相比其他殺毒軟件還是有很多,缺陷是免殺,於TAV引擎是字符串明文檢測,很通過分析病毒庫或者是MYCCL進行黑盒免殺。另一方面,TAV效率,包括特徵數據結構, 特徵複方面問題,後面會有詳細分析。

值得一説是,逆向TAV特徵庫可以看到,外掛特徵病毒、後門特徵多,排在了特徵數量第二名,説騰訊電腦管家是“外掛殺手”一點誇張。盜號木馬是TAV另一個重點打擊對象,特徵庫佔比。至於感染型病毒、後門、下載者、蠕蟲、惡意腳本其它類型木馬病毒,還需要OEM傘引擎或者雲引擎來補位,否則靠TAV肯定是無能為力。

引擎結構和功能如下。看出,TAV引擎屬於基礎傳統特徵引擎。特徵數量,與主流殺相比處於初級階段。

匹配指定進程和內存串,如果匹配到終止進程

於關鍵函數,使用模擬代碼實現:

virinfo.def:名稱表,包括殼名、包名、特徵名 c++
structVirInfo
{
DWORD dwID;
BYTE btLength;
char VirName[btLength];
};

特徵數量整體非常少,PE例只有8135條特徵。分佈見下圖。從特徵分佈和類型,TAV主要查殺目標外掛、盜號程序。於百萬級規模程序家族覆蓋了冰山一角,達不到一個殺毒引擎程度,停留在外掛、盜號專殺層面。讓人捉急是TAV維護了大量脱殼解包特徵,直接暴露了開發者框架設計方面缺陷。與此形成對比是國際知名卡巴和BD引擎,一個“膨脹”過程中,維護同家族特徵,隨後“收縮”過程中,一條obj通殺,顯得章法自如、張弛。

1 直接擴展名.def病毒庫,適用於查殺現有引擎可以支持木馬和病毒。

2 替換tpktt.dll,適用於現有引擎無法解決的複雜本,特徵和查殺方法通過分析員寫代碼實現,然後整個引擎替換,類似於殺方式。

將數十字節病毒代碼二進制,記錄病毒庫中,待檢測樣本進行全文匹配。

惡意程序字符串信息提取出,記錄病毒庫中,待檢測樣本進行多模匹配。

傳統殺出現幾個問題:效率、體積、抗門檻。這幾個問題TAV身上。只是現階段TAV特徵數量,規模展現而已。

現有查殺方式設計會導致病毒庫臃腫,二進制數據和字符串數據記錄病毒庫中,特徵增加,病毒庫體積會膨脹。同等特徵數量情況下,TAV病毒庫會卡巴、BD殺上數十倍。

匹配特徵方式,會病毒庫膨脹而使得效率變得。卡巴、BD殺解決此問題,設計出了多索引方式,只有在後一層匹配幾個特徵,效率。

下圖TAVTOP50特徵,可見出現大量重複二進制。特徵之間基本無複。

        360殺毒軟件和騰訊電腦管家可以説是路人皆知兩款國內殺毒軟件了,360殺毒軟件2008年360奇虎軟件公司研發。它打破了這個行業規則,免費下載、免費使用來時間霸佔了用户電腦,可以説360殺毒軟件中國免費殺事業做出了不可磨滅貢獻。下面小編這兩款老品牌360殺毒和電腦管家區別分析。

  360殺毒是一款奇虎360公司推出功能強、效果、受用户歡迎安全殺毒軟件。360殺毒,主要用來發現病毒並刪除(因為有些病毒查出,刪除徹底)所以需要專門殺毒軟件。(360殺毒官方版下載)

      應用軟件方面比:應用軟件方面來説,360殺毒帶殺毒功能,應用軟件方面騰訊電腦管家要。

      殺毒角度方面比:聽過3Q大戰用户,應該知道360起家史,從病毒庫庫數據上來説,360病毒數據庫於騰訊。所以,騰訊電腦管家其防護能力不及360殺毒。

      佔用內存方面比:於部分電腦來説,內存佔用是個問題。來説電腦管家佔用內存。

延伸閱讀…

軟件分析

騰訊電腦管家TAV引擎逆向分析- Variable

       3、存在全家桶安裝,界面;

       4、能監測各類彈窗軟件、屏蔽廣告,包括自家QQ右下角新聞彈窗;

       5、17層全景防護體系,集合了挖礦木馬防護、反勒索防護、反詐騙防護,同時集合了雲查殺、第二代反病毒、系統修復多種安全防護引擎,主動防護讓電腦安全能力升級;

       6、支持火箭深度加速,提升你電腦速度,卡慢軟件關閉,深度系統內存和垃圾;

       7、支持win10危漏洞殺,win10漏洞掃描工具幫助您電腦安全;

       9、可兑換騰訊遊戲禮包,如LOL/DNF/CF/逆戰/劍靈/天涯明月刀,支持Q幣、騰訊視頻會員兑換;

       11、軟件管理工具裏面,支持Office正版軟件購買入口;

       1、擁有宏病毒掃描,支持掃描office文檔病毒,使電腦辦公安全;

       2、擁有安全沙箱,可沙箱裏面安全且隔離運行可疑程序,讓電腦不受威脅;

        360殺毒軟件和騰訊電腦管家可以説是路人皆知兩款國內殺毒軟件了,360殺毒軟件2008年360奇虎軟件公司研發。它打破了這個行業規則,免費下載、免費使用來時間霸佔了用户電腦,可以説360殺毒軟件中國免費殺事業做出了不可磨滅貢獻。下面小編這兩款老品牌殺毒軟件進行區別分析。

延伸閱讀…

360殺毒和騰訊電腦管家哪個好?360殺毒和電腦管家區別分析

360安全衞士和騰訊電腦管家哪個好用?兩者區別詳細分析

  所有人知道360推動殺傷行業,但知道免費才是。

      應用軟件方面比:應用軟件方面來説,360安全衞士騰訊電腦管家。但同時,360安全衞士審核不如騰訊電腦管家嚴格。所以,360安全管家軟件雖然多,但部分軟件捆綁,於新手來説不是很。

      殺毒角度方面比:聽過3Q大戰用户,應該知道360起家史,從病毒庫庫數據上來説,360病毒數據庫於騰訊。所以,其防護能力不及360安全管家。

      集成功能方面比:集成功能,如電腦系統、右鍵菜單管理、彈窗攔截。這些功能上,兩者高下,能滿足用户需求。

      佔用內存方面比:於部分電腦來説,內存佔用是個問題。來説電腦管家佔用內存。另外兩者遊戲模式,但是騰訊一些。

       3、存在全家桶安裝,界面;

       4、能監測各類彈窗軟件、屏蔽廣告,包括自家QQ右下角新聞彈窗;

       5、17層全景防護體系,集合了挖礦木馬防護、反勒索防護、反詐騙防護,同時集合了雲查殺、第二代反病毒、系統修復多種安全防護引擎,主動防護讓電腦安全能力升級;

       6、支持火箭深度加速,提升你電腦速度,卡慢軟件關閉,深度系統內存和垃圾;

       7、支持win10危漏洞殺,win10漏洞掃描工具幫助您電腦安全;

       9、可兑換騰訊遊戲禮包,如LOL/DNF/CF/逆戰/劍靈/天涯明月刀,支持Q幣、騰訊視頻會員兑換;

       11、軟件管理工具裏面,支持Office正版軟件購買入口;

       1、擁有宏病毒掃描,支持掃描office文檔病毒,使電腦辦公安全;

       2、擁有安全沙箱,可沙箱裏面安全且隔離運行可疑程序,讓電腦不受威脅;