新加坡信息安全公司COSEINC最近对17种主要防病毒引擎进行了一系列的研究后, 发现其中14种存在通过本地或者远程可以利用的漏洞。 COSEINC建议企业在部署防病毒产品前一定要经过严格的安全测试。
COSEINC负责此项目的安全研究员Joxean Koret还发现, 很多防病毒产品厂商的产品要求很多不必要的权限, 对安全升级包不进行签名, 或者通过不安全的HTTP协议传输安全升级包。 此外, 还有产品存在大量的旧代码, 并没有进行正确的代码审阅以及模糊测试。
这些产品包括Avira, BitDefender, ESET以及Panda. 他们的产品中存在这不同的远程或本地漏洞,其中一些后来打上了补丁, 还有一些至今还是0day漏洞。 尽管这些杀毒引擎采用了地址空间随机布局(ASRL)的方式进行了防护, 很多其它功能如用户界面和一些库函数并没有这样作。 有些产品甚至还禁用了数据执行保护(DEP)的功能。
杀毒软件的引擎通常都是用C语言编写的, 而C语言则很容易产生如缓冲区溢出,整型溢出等漏洞, 或者由C语言编写的系统驱动可能会导致本地提权之类的安全威胁。 而杀毒引擎的功能越强大, 就越有可能给恶意攻击者以可乘之机。 因此, 拥有很多附加功能的杀毒产品应该被隔离在企业网外。
“如果你的应用是用最高权限在运行, 或者你安装了内核驱动, 或者是数据包过滤等等。 你的受攻击面就会迅速加大。 ” Joxean Koret说。 “杀毒引擎会导致系统性能的降低, 同样, 它对于0day漏洞来说也是无能为力的。 而且在某些情况下甚至会降低操作系统在缓解漏洞攻击的能力。有些杀毒软件根本就没有提供安全保护。“
他说;“那些要求过多权限的杀毒引擎对于攻击者来说是一个很好的目标, 因为这些软件往往运行在管理员权限上。对于那些没有进行升级包签名或者没有通过HTTPS传输升级包的杀毒软件产品来说, 攻击者可以利用“中间人”攻击来取得最高权限, 从而控制机器。”
Joxean Koret说:”对于攻击者而言, 攻击杀毒引擎与攻击其它的客户端的应用没有什么不同。 这些杀毒引擎没有对自身进行一些特殊的保护, 而是依赖于操作系统的功能, 比如地址空间随机布局(ASRL)和数据执行保护(DEP)。 而有的时候, 它们甚至禁用这些功能。这里是Joxean Kore关于此次研究的PPT[wpdm_file id=43]。