Norton如何实现邮件的病毒过滤

blueskystone 上海神兵 技术总监/研发总监  2002-04-29 10:09:20
现在很多杀毒软件都有邮件病毒过滤功能,如金山独霸、Norton AntiVirus等就我知道我金山是通过修改邮件的pop3指向本地地址,由独霸负责去接收邮件,过滤后再发送给邮件客户端来达到过滤功能。小弟不明白像Norton AntiVirus这样的软件是如何达到过滤功能的。另外还有一个问题,有什么办法可以达到对所有的端口的请求的保护。愿意的话小弟可以继续加分,反正可用分用不完:)
...全文
67 点赞 收藏 24
写回复
24 条回复
hello008 2002年05月08日
用ipfilter或hookapi啊,太简单啦。

参见http://www.programsalon.com/
回复 点赞
warton 2002年05月08日
协议分析,对ip包进行分析,对某些包不许通过!!
回复 点赞
zhc 2002年05月06日
你所指的DLL库是wsock32.dll文件么,我看了一下我的winnt/system目录下的wsock32.dll文件,好像没有被NAV替换掉。
回复 点赞
GreenStuff 2002年05月06日
这个问题我来说一下吧:

邮件过滤一共有两种方法,最初,各杀毒软件公司用的都是代理检测法。即在本机建立一个SMTP及POP3代理,将邮件客户端的设置都指向本机代理,无论收发邮件都要通过本机代理去干,当然可以截获所有邮件内容了。

但这么做有不少敝病,主要有这几点:一、杀毒程序要自动去改用户使用的邮件客户端的设置,邮件客户端软件有很多种,象Outlook、Foxmail、iMail等等,这就要杀毒程序针对每种客户端软件去做一套方法,费力不讨好,而且一旦杀毒程序自己损坏,还会把用户的邮件设置都给弄没了,使得用户无法收发邮件。

一般早期的杀毒软件用的都是上述方法,象瑞星2002、nav2001、金山毒霸等,现在这种方法基本上已经被淘汰了,现在最流行的邮件过滤方法是:将原有的Winsock库改名,用自己写的DLL替换Winsock原有的DLL库,如果用户调用的这个Socket API不是自己“感兴趣”的,就直接调用原有API,如果是自己“感兴趣”的就进行分析处理,这样就可以拦截所有的Socket API的调用。

象nav2002、瑞星2002增强版(号称邮件病毒终结者)用的都是这种方法。一部分的防火墙用的也是这种方法,象XFilter、木马克星等,但就个人观点来看,用这种方法做防火墙并不是最合适的,所以大部分的防火墙用的还是网络层过滤的方法,写驱动,直接去截IP包。象天网、金山网镖等。

要问我怎么知道的这么多,俺现在在国内某著名杀毒软件公司工作,自然也长进了不少。

欢迎与大家探讨各种技术问题:www.greenstuffsoft.com

我对Winsock网络通讯比较感兴趣。
回复 点赞
CoolRay 2002年05月05日
正好,我想向各位高手请教一下,zhc提到的“修改客户端的pop3及smtp服务器地址,以指向它自己的代理服务器”,请问这点如何实现?如果以outlook为例,基本的编程流程是怎样的?
回复 点赞
ljhnew 2002年05月04日
我建议你们去认真地看看TCP/IP中的相关协议尤其是SMTP就会明白了,再加上norton的help,你就没有搞不清楚的。
回复 点赞
Ruike_Matrix 2002年05月04日
To liaokuo(辽阔)
狭隘……
回复 点赞
bearbaba 2002年05月03日
liaokuo(辽阔) 有话不说者,你傻的可以
回复 点赞
zhc 2002年05月03日
nav2001版确实是修改了部分email客户端的pop3及smtp服务器地址,以指向它自己的代理服务器,这样做的缺点是兼容性低,只能与部分知名的email客户端软件兼容,其它email软件(例如foxmail)只能由用户手工更改pop3、smtp服务器地址,操作难度大。在nav2002中,改变了方法,nav不再去修改email端的服务器地址,自动实现监控收发email,同时与所有的email客户端兼容,我估计它是通过监控底层的tcp/ip端口,来实现查杀email病毒的。这样做编程难度较大,但是极大地提高了兼容性。
不过我发现nav在查杀email病毒时还有一个缺点:当我接收或发送一个较大的email时,如果中途我中断了操作,不想再接收或发送,email客户端软件虽然终止了操作,但是nav在底层还会继续操作,不会终止,因此占用了部分带宽,妨碍了用户下面的工作,我建议下一代的nav应该能够做得更智能化,或提供一个接口,让用户终止操作。
回复 点赞
liaokuo 2002年05月03日
To bearbaba(儿子笨苯)
我下个帖子就说了!
回复 点赞
Linux_VS_Win32 2002年05月03日
To: zhc(zhc) 赞同!

nav2001我不知道,但是nav2002在我的机器上能很好的控制包括outlook express ,foxmail之类,我想这不应该是修改地址做到的。看foxmail增加了hotmail接受也是通过自己的Foxmail-Hotmail proxy 实现的,nav2002应该也是一样,只不过没有在前台表现出来。
回复 点赞
Anaki 2002年05月02日
哦,Outlook是用接口实现的吗?我没注意到...

那它无法监测别的邮件客户端了...
回复 点赞
liaokuo 2002年05月02日
不做pop代理
是用com做的
outlook提供com接口
很方便的
回复 点赞
chnfz 2002年05月01日
其实诺顿也是跟毒霸一样的,你看outlook在发邮件时,很快就发完了,而诺顿这时
开始接手发邮件了,就是这样.你自己想想是不是
回复 点赞
Davidyj 2002年05月01日
我也想询问一下,如何扫描本机所有端口是否打开??
回复 点赞
Anaki 2002年05月01日
hosts 文件在公司,现在放假了...
内容大概是:
127.0.0.1 pop3.norton.local #norton email protect
...

然后修改了outlook express 的设置, 连接pop3服务器全部都用代理, 也就是pop3.norton.local ,然后有一个进程监听来自本机的pop3请求...

你明白?!!
回复 点赞
liaokuo 2002年05月01日
1群傻瓜
我也实现了,我94不说
回复 点赞
Ruike_Matrix 2002年05月01日
或者等到Email客户软件接收到Email后,再杀。
这样就要求杀毒软件对Email客户软件很了解!
回复 点赞
Ruike_Matrix 2002年05月01日
收发Email使用SMTP协议。端口号:SMTP-25,POP3-110。
我设想:收Email时,根据端口号、IP地址,以及根据邮件本身的格式,过滤IP数据包,得到Email,再对Email进行查毒!

To davidyj(发动机):使用软件Superscan。
回复 点赞
eion 2002年04月30日
兄弟,借你的可用分以下:

金山网镖可以控制每一个窗口的打开和关闭,不知是如何做的,我想知道

还有:如何过滤每一包数据?
回复 点赞
发动态
发帖子
安全技术/病毒
创建于2007-08-02

8485

社区成员

2.9w+

社区内容

Windows专区 安全技术/病毒
社区公告
暂无公告