*报告信息*
标题:对多款杀毒软件和防火墙的SSDT Hook函数的参数验证不严
报告ID: CORE-2008-0320
报告URL: http://www.coresecurity.com/?action=item&id=2249
发布日期: 2008-04-28
最后更新日期: 2008-04-28
包含厂商: BitDefender, Comodo, Sophos和瑞星
发布模式: 协调发布(BitDefender, Comodo, Rising), 用户发布 (Sophos)
*漏洞信息*
类别:无效内存参数
可远程利用:否
可本地利用:是
Bugtraq ID:28741,28742,28743,28744
CVE 名称:CVE-2008-1735, CVE-2008-1736, CVE-2008-1737, CVE-2008 -1738
*漏洞描述*
*漏洞影响版本*
. BitDefender Antivirus 2008 Build 11.0.11
. Comodo Firewall Pro 2.4.18.184
. Sophos Antivirus 7.0.5
. 瑞星杀毒软件19.60.0.0 and 19.66.0.0
. 旧版本未测试,可能会被影响.
*不受影响的版本*
. BitDefender Antivirus 2008版本可以通过自动更新更新至一月18号之 后的版本
. Comodo Firewall Pro 3.0
. 瑞星杀毒软件20.38.20
*厂商信息,解决方案和其他*
1) BITDEFENDER ANTIVIRUS (BID 28741, CVE-2008-1735)
根据BitDefender的说明,这个缺陷尚未被恶意程序利用,并且可通过自 动更新修正。这一问题的信息可以在BitDefender的网站上找到: http://kb.bitdefender.com/KB419-en–Security-vulnerability-in- BitDefender-2008.html
2) COMODO FIREWALL PRO (BID 28742, CVE-2008-1736)
这个漏洞在Comodo Firewall Pro 3.0中被修正,新版本在 http://www.personalfirewall.comodo.com/download_firewall.html下 载
3) SOPHOS ANTIVIRUS (BID 28743, CVE-2008-1737)
厂商声明:“在windows 2000,2003和XP下的Sophos Anti-Virus 7.x将 会受此漏洞影响。”不受影响的SOPHOS产品包括早起的SOPHOS windows杀 毒软件,SOPHOS飞windows平台杀毒软件和其他SOPHOS产品。
这个漏洞只有在实时行为分析开启状态才可以利用。它需要用户将web浏 览器的安全设置调整到默认级别以下或者允许从网页上启动ActiveX或 Java Applet。
可以使用以下方法避免漏洞被利用:
a. 使用默认的安全设置或较高级别的最新版本Web浏览器。作为通用的安 全管理,我们不建议用户下载ActiveX或者Java Applets,除非你信任他 的内容。
b. 关闭Sophos Anti-Virus的实时行为分析功能。(用户仍会受到Sophos 行为遗传分析和其他方式的对抗恶意软件的保护手段的保护。)
N.B. 如果攻击程序被放出,Sophos将会部署保护以对抗攻击程序。
漏洞的修复需要用户重新启动终端。鉴于为非紧急漏洞,为了尽量不打扰 我们的客户,Sophos将会尽早的在一个需要重新启动的产品中包含这个修 正。
4) RISING ANTIVIRUS (BID 28744, CVE-2008-1738)
瑞星杀毒软件的修正版可以在 http://rsdownload.rising.com.cn/for_down/rsfree/ravolusrfree.exe 下载。
所有的瑞星用户都可以通过自动更新更新到修补过的版本。
*荣誉归功于*
这些漏洞(除了瑞星)是被Core Security Technologies的Damian Saura, Anibal Sacco, Dario Menichelli, Norberto Kueffner, Andres Blancoy Rodrigo Carvalho在bugweek 2007时发现的。瑞星漏洞是被Core
Security Technologies exploit writers team的Anibal Sacco发现的。
*技术描述/poc代码*
我们发现BitDefender Antivirus, 瑞星杀毒软件, Comodo
Firewall和Sophos Antivirus并没有在使用hook函数时验证参数,导致程序试图转向无效内存,导致BSOD(Blue Screen of Death)。
在我们的测试中,我们使用了内核hook探测工具BSODhook [5]去寻找任何形式的未被充分验证的SSDT hook参数。从Matousec的文件[6]:
分析部分太长无法贴出。参考:
http://www.scanw.com/blog/archives/162
新闻来源:CoreLabs Advisory(AYANAMI REI的翻译)
对多款杀毒软件和防火墙的SSDT Hook函数的参数验证不严。通过对多款杀毒软件和防火墙的(BitDefender Antivirus [1], Comodo Firewall [2], Sophos Antivirus [3]和瑞星杀毒软件[4])的SSDT hook 函数的粗略检查发现可以导致拒绝服务(DOS),并可能执行代码攻击。 攻击者利用这些缺陷可以本地重启系统,关闭防火墙和杀毒软件保护。然 而,很多情况下它可能利用这些bug导致在特权内核模式下执行任意代码 。