代码战争:伪装和狙杀,从“壳”到“病毒混淆器 8090安适门户
“壳”(Packer)——在安适范围同APT一样,是一个宽泛的观点,即指代一类对可执行代码及数据进行包装已到达隐藏、压缩或掩护等目的的运行时代码。
在病毒与安适软件的代码反抗过程中,“壳”一直饰演着极为重要的角色。早期反病毒引擎仅能够扫描可执行文件最外层的特征(代码和数据)。“加壳”后的病毒由于原始病毒特征(代码和数据)被“壳”转变(压缩、加密等),则可以遁藏反病毒引擎的查杀。跟着这种反抗的不停成长,虽然很多病毒的核心特征变革并不大,但是“壳”的“免杀”能力在不停增强,不停地更新换代,永劫间与安适软件进行着反抗。所以,在现今互联网大环境中,如果一个反病毒引擎不具备强大的“脱壳”能力,就不能对病毒进行有效查杀,最终掉队于整个安适行业的成长。
早期的“壳”凡是以压缩方针措施为目的,如UPX、PECompact等经典的“压缩壳”等。跟着软件常识产权意识的萌发,以掩护措施代码及数据为目的的“壳”应运而生,此类“加密壳”、“掩护壳”往往会操作花指令、反调试等手段滋扰破解者对被掩护代码和数据的“窥探”(包孕静态和动态分析),Asprotect、VMProtect、Themida等于此中一些经典的“掩护壳”。
上述“压缩壳”、“加密壳”和“掩护壳”由于加壳措施果然(免费或收费),所以安适工程师可以对”加壳“的过程和功效进行分析,从而可以通过代码识别措施是否被“加壳”、加了何种“壳”,进而“脱壳”,并可以将这种“脱壳”逻辑嵌入到反病毒引擎的扫描逻辑中,从而在必然水平上“解决”了“壳”的反抗。
然而近10年来,很多病毒作者通过“壳”和传染型病毒常用的多态、变形等技术编写非果然的“私有壳”对病毒代码进行掩护,这类“壳”往往不只包孕上述果然“掩护壳”的成果,并且外层的“壳”代码还会通过各类手段滋扰、误导、反抗反病毒引擎的识别,对照范例的手段包孕代码变形、入口伪装、高级语言包裹(High-Level Language Wrapper)等。安适范围为此类“壳”起了个更为“高大上”的名字:“病毒混淆器”(Obfuscator)。安适范围较早的关于“病毒混淆器”的详细分析可以参考2010年RECon大会上Pierre-Marc Bureau(来自ESET)和Joan Calvet对付C2Lop病毒外层的Swizzor混淆器的分析(https://recon.cx/2010/slides/Recon2010-UnderStaningSwizzorObfuscation.pdf)。
“病毒混淆器”的呈现使得传统反病毒引擎“认壳”才华“脱壳”的机制完全掉效。更有意思的是,在很长一段时间,很多安适厂商由于一直以来依赖对“壳”和编译器的识别,完全没有意识到“病毒混淆器”的崛起,甚至按照“大数据”的分析发明“加壳”样本的比例不升反降,思忖必然是“此刻反病毒引擎都能‘脱壳’,所以病毒作者也就不再‘加壳’了”。就像曾有人对笔者说的,“‘壳’的问题是个轮回的过程,从2008年以后壳就变得很少了”。然而,按照我们对大量病毒样本的分析,我们坚定的认为“壳”的问题并不是轮回,传统的“壳”早已被“病毒混淆器”这个更为庞大的观点意义上的“儿女”所代替,并连续的进化着。
病毒制造者在“病毒混淆器”的辅佐下,可以在短时间内批量生成大量“伪装”(变形)过的病毒样本并迅速流传。为了应对不停变革的病毒样本,云引擎和大数据人工智能学习的要领逐渐走进了人们的视野。但恒久看来,上述两种反抗计谋从根柢上存在着不成超越的瓶颈和数据资源的限制。而“通用脱壳”技术相较于前两者,虽需要恒久的技术投入,但却可以获得更为长期、有效的查杀回报,无疑将成为未来解决“病毒混淆器”类问题的优选方案。
下面我们针对这三种技术进行详细说明:
1.云查杀和云引擎如今很多安适厂商的“云引擎”,主要是但愿通过缩短反病毒引擎特征更新周期来与病毒作者拼速度,从而到达快速按捺病毒扩散的效果。固然,这显然不是“云安适”的素质,但由于篇幅所限,本文并不同错误“云安适”这一话题进行讨论。
“云引擎”虽然可以实时同步云真个计算功效,但由于网络带宽的限制,在有限的扫描时间内,云引擎只能在本地提取高度抽象的数据特征发送到云端进行匹配,所以一般云引擎会选择哈希类特征(凡是是全文哈希)。而哈希类特征的检出能力与样本根基是1:1的关系,即一条哈希特征凡是只能检出一个样本。
由于“云引擎”给与哈希类特征,所以每个“伪装”过的病毒样本对付云引擎来说都是全新的,都需要进行“鉴定”。我们并不需要进行精确的计算,就可以得出如下结论:“云引擎”从收罗到样本并传到云端分析,到云端分析出功效,再到客户端能够请求到功效,这个周期远远善于病毒作者通过“病毒混淆器”批量生成变形病毒样本的周期。
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/12577.html