如何应对恶意软件新技术(四)

  恶意代码的编写者需要知道用来对付自己的各种工具。攻击者逃避逆向工程的最好的一种方法是使恶意代码执行一些类似于突破或破坏反恶意工具的操作。我们将看一下恶意软件作者如何使安全分析工具变成"睁眼瞎".

  检测虚拟测试环境 反恶意软件的研究者在过去几年中广泛使用的工具之一就是虚拟化。在虚拟环境中执行恶意软件的分析有很多好处,包括:易于维护多个虚拟机(配置不同的操作系统和补丁等级),使用快照/复位机制等。 对此,恶意软件的作者们也开始准备应对,已经开始检测虚拟化,进而调整其行为,或者拒绝运行(如果检测到了虚拟机,恶意代码就会拒绝解包)等。 对于反恶意软件的厂商来说,最好的方法是使用自己私有的虚拟化机制,以此作为一种避免虚拟机检测的方式。

  JavaScript的模糊代码 在过去的几年中,将JavaScript的模糊代码用于对浏览器的攻击已经成为一种魔法。随着安全厂商强化其自动分析Web威胁的技术(例如,使用脱机的签名开发),恶意软件厂商也日益使用智能技术来粉碎这种分析。 下面我们分析安全分析师如何破解JavaScript模糊代码,以及恶意软件作者如何应对。

   正邪较量 以前,反恶意软件的分析师无需费很大劲就可以找出模糊的JavaScript代码。例如,在下面的例子中,可以找到多行模糊化的 JavaScript部分。分析师解码这些部分的诀窍,就是允许脚本将模糊化的代码解码为变量"txt",然后再用其它的东西来替 换"eval(txt)".反病毒的厂商们能够快速地开发出自动分析工具来对付这种模糊代码。

如何应对恶意软件新技术(四)

  问题在于,分析师必须在执行代码并捕获它之前就对解码部分做出改变。而恶意软件的作者对这个漏洞会迅速做出响应。

  例如,依赖于JavaScript的内部特性,恶意代码的作者能够将解码函数自身的特性用作解码过程的一部分,所以对解码函数的任何变更都会使其停止运行。

  自查是某些编程语言的特性,即潜在地具有修改用此语言编写的软件的能力。在JavaScript中,解码函数能够检查其自身的字符长度,甚至 可以用这个值作为解码算法的一部分,所以对调整其长度功能的任何改变都会破坏其解码的能力。此外,脚本还可以利用更广泛的自查功能来监视对其自身的修改。

(责任编辑:)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

如何使用Direct Console User Interface解

如何使用Direct Console User Interface解决棘手问题

对于管理员来说,很少会遇到不能使用vCenter Server管理主机的情况,但是即便真的出现...[详细]

如何解决物联网应用难题

如何解决物联网应用难题

2003年,全球仅有5亿多台联网设备,人均只有0.08台,也就是说平均每人只有0.02台设备...[详细]

网络攻击检测:五大致命弱点和解决办法

网络攻击检测:五大致命弱点和解决办法

IT安全如今已不再是保卫(不存在的)边界,而是保护公司的受攻击面。而云、移动性、BYOD...[详细]

企业客户应该对安全厂商提出的三个问题

企业客户应该对安全厂商提出的三个问题

作为一个安全行业的客户,怎么知道什么样的技术、产品和服务将会满足自身的需求?本文...[详细]

企业面临的六大安全问题及解决方案

企业面临的六大安全问题及解决方案

本文中,IT安全专家讨论安全漏洞的主要原因,并建议企业如何规避风险。 事实上,根据T...[详细]

返回首页 返回顶部