殺軟及免殺原理
VSole2021-12-02 06:21:50
0x01 殺軟原理
1、掃描技術
1、特征碼掃描
將內存、文件掃描出的特征信息與病毒特征數據庫進行對比。(存在黑白名單)
2、文件校驗和法
每次掃描完計入各個文件哈希值,定期或使用當前文件前檢測哈希值是否改變,從而判斷是否被感染病毒。
2、主動防御技術
分析并掃描目標程序的行為,并根據預先設定的規則,判定是否應該進行清除操作。
3、監測技術
1、內存讀取監測
監控所有進程,掃描內存。
2、寫入文件監測
對于寫入磁盤的文件進行掃描。
3、網頁安全監測
檢測是否存在網絡攻擊和不安全下載。
4、郵件附件監測
對于電子郵件的附件進行病毒掃描。
5、進程行為監測
沙盒模式即為進程行為檢測,監測進程各種行為,對于敏感操作進行警報。
4、機器學習識別技術
通過深度學習技術來識別病毒特征,不僅可以做靜態樣本的二進制分析,也可以運用到沙盒動態行為分析中。
0x02 免殺原理
1、源頭特征修改
特征包括特征碼和行為特征,只要破壞了病毒固有的特征,一次免殺就算完成了。
不同殺軟的特征庫不同,定位修改后并保證正常運行是一件費時費力的事情。特征對比點找起來很累,修改后保證運行更累,我放棄。
2、花指令免殺
花指令就是一段垃圾指令,可用于干擾反匯編程序,使的殺軟掃描到的特征碼因偏移受到影響。
3、加殼免殺
軟件加殼即軟件壓縮\加密,直接影響特征碼的掃描,殺軟針對性對殼特征碼進行掃描,可防范常見的加殼。
4、內存免殺
內存掃描和硬盤文件掃描一樣,會對特征碼進行對比,對于有殼選手,讀入內存時是解密后的,擁有和文件本身完全不同的特征碼,兩個特征碼必須全部混淆才能躲過特征碼查殺,內存免殺同樣需要能混淆原代碼的殼。
5、二次編譯
借助于C、C#、python等語言對shellcode進行二次編碼從而達到免殺的效果。
6、分離免殺
采用分離法,即將ShellCode和加載器分離。
7、資源修改
對于版本、圖標、簽名等信息替換、添加,對于部分殺軟白名單生效。特征對比點找起來很累,我放棄。
8、底層接口干擾
對于行為分析進行干擾,具體比較復雜,等我出文章(如果我不懶的話會有流程圖分析)。
VSole
網絡安全專家