※黑客攻防指南※=>系统漏洞=>NAV2001 POP3 代理服务程序的本地 DoS 缺陷
NAV2001 POP3 代理服务程序的本地 DoS 缺陷    

NAV2001 POP3 代理服务程序的本地 DoS 缺陷 (MS,补丁)

涉及程序:
Norton AntiVirus 2001 version 7.07.23D

描述:
NAV2001 POP3 代理服务程序的本地 DoS 缺陷

详细:
诺顿防病毒2001(Norton AntiVirus 2001)是赛门铁克的非常简单易用,功能强大防病毒软件。它能自动实时地扫描用户从web下载的文件及电子邮件。

Norton AntiVirus 2001 是使用一个叫做 POPROXY.EXE 的POP3代理服务程序对接收的邮件进行病毒检测。POPROXY.EXE 服务程序在这里履行一个中间人的职能, 即在将邮件发送给客户端之前进行必要的防病毒检查。

Norton AntiVirus 2001 能够自动配置邮件客户端以"username/server"形式的用户名登陆到"pop3.norton.antivirus"(指向回环地址127.0.0.1,即服务器本身)。这样的话,代理服务程序 POPROXY.EXE 就知道客户端是登陆到了哪一台服务器,以及是使用什么用户名进行登陆的。具体表示如下:

Email Client -> username="user/POP3SERVER" -> POPROXY
POPROXY -> username="user" -> POP3 SERVER

但是如果客户端在提供的用户名中故意添加多个斜杠("/"),由于设计上的原因,服务程序只会将最后一个斜杠("/")看作分隔符(Seperator)。如当递交的"username"(用户名)为"user/POP3SERVER/localhost"时,POPROXY.EXE 代理服务程序是这样逐个解析的:

Email Client -> username="user/POP3SERVER/localhost" -> POPROXY(1)
POPROXY(1) -> username="user/POP3SERVER" -> POPROXY(2)
POPROXY(2) -> username="user" -> POP3 SERVER

从以上我们可以看出,此缺陷给了攻击者一个使 POPROXY.EXE 代理服务程序进入死循环的机会。如通过打开多个连接或在"username"中添加大量的"/localhost",由于每处理一个"/localhost"将会消耗超过57K的内存,多个的"/localhost"处理将会使处理器连续保持被使用白分之百的状态很长一段时间。如果攻击者使用一个足够大的用户名打开足够多的网络连接(测试过的: 2x22K,3x8K,5x4k,...)将有可能使服务或系统崩溃,究其原因可能是运行已超出了系统的内存范围,指针回零了。

需要注意的是:

1.由于 POPROXY.EXE 代理服务程序只接受本地的连接,因此攻击者不能轻易地利用此缺陷直接地进行远程攻击。
使用 IP 欺骗,POPROXY 有可能会接受远程数据,从而进行远程攻击。但是目前我们暂时还没有找到有效的远程攻击方法,只是从理论上估计而以。

2.如果运行没有超出系统的内存范围,指针没有回零,那么等代理服务程序 POPROXY.EXE 缓慢的处理过程完成后,系统又会恢复正常。

3.如果机器上的 POPROXY 进程已经死掉了,就不可能对邮件进行病毒检查了。此时只有用户手工地重新启动 POPROXY.EXE 代理服务程序或干脆重启计算机(NAV2001不能够手工重启服务程序,只能重启计算机)。

------------
受影响产品:
Norton AntiVirus 2001 version 7.07.23D
POPROXY.EXE version 7.7.7.23


攻击方法:
如通过打开多个连接或在"username"中添加大量的"/localhost",由于每处理一个"/localhost"将会消耗超过57K的内存,多个的"/localhost"处理将会使处理器连续保持被使用白分之百的状态很长一段时间。如果攻击者使用一个足够大的用户名打开足够多的网络连接(测试过的: 2x22K,3x8K,5x4k,...)将有可能使服务或系统崩溃,究其原因可能是运行已超出了系统的内存范围,指针回零了。


解决方案:
目前厂商还没有提供补丁或者升级程序,建议用户随时关注厂商的站点以获取最新版本:

http://www.symantec.com

主目录 分目录

Copyright By「黑白网络工作室」2002 All Rights Reserve