求一篇《计算机病毒论文》

求一篇《计算机病毒论文》,第1张

【我试下 ,O(∩_∩)O~,还请多指教】

提纲

一,计算机病毒的产生(分为 1, 2 3 点,第二点分为1 2 3 4小点)

二,计算机病毒的特征(分五小点a b c d e)

三,计算机病毒的种类(无害型,无危险型,危险型,非常危险型)

四,计算机病毒介绍(熊猫烧香,红色代码)

五,坚决抵制病毒,共创安全网络

《计算机病毒论文》

一,计算机病毒的产生

新的计算机病毒在世界范围内不断出现,传播速度之快和扩散之广,其原因决不是偶然的,除了与计算机应用环境等外部原因有关以外,主要是由计算机系统的内部原因所决定的

1.计算机系统自身的缺陷

计算机系统及其网络是一个结构庞大复杂的人机系统,分布地域广,涉及的系统内部因素及环境复杂。这无论在物理上还是在使用环境上都难以严格地统一标准、协议、控制、管理和监督。

2.人为的因素

计算机病毒是一段人为制造的程序。可以认为,病毒由以下几个原因产生:

①某些人为表现自己的聪明才智,自认为手段高明,编制了一些具有较高技巧,但破坏性不大的病毒;

②某些入偏离社会、法律或道德,以编制病毒来表示不满;

③某些人因受挫折,存有疯狂的报复心理,设计出一些破坏性极强的病毒,造成针对性的破坏;

④在美国等发达国家,计算机深入家庭,现在的青年一代被称作“在计算机中泡大”的一代,他们了解计算机,以编制并广泛传播病毒程序为乐,他们非法进入网络,以破获网络口令,窃取秘密资料为荣,这都给计算机系统带来了不安定因素;

3.计算机法制不健全

各国现有的法律和规定大都是在计算机“病毒’尚未肆虐和泛滥之前制定的,所以法律和规定中“病毒”均没有作为计算机犯罪而制定应有的处治条款,因此各国开始研究和制定或修走已有的计算机法规。

二,计算机病毒的特征

(a) 自我复制的能力。它可以隐藏在合法程序内部,随着人们的操作不断地进行自我复制。

(b) 它具有潜在的破坏力。系统被病毒感染后,病毒一般不即时发作,而是潜藏在系统中,等条件成熟后,便会发作,给系统带来严重的破坏。

(c) 它只能由人为编制而成。计算机病毒不可能随机自然产生,也不可能由编程失误造成。

(d) 它只能破坏系统程序,不可能损坏硬件设备。

(e) 它具有可传染性,并借助非法拷贝进行这种传染。三,计算机病毒的种类

根据病毒破坏的能力可划分为以下几种:

无害型

除了传染时减少磁盘的可用空间外,对系统没有其它影响。

无危险型

这类病毒仅仅是减少内存、显示图像、发出声音及同类音响。

危险型,这类病毒在计算机系统操作中造成严重的错误。

非常危险型

这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。这些病毒对系统造成的危害,并不是本身的算法中存在危险的调用,而是当它们传染时会引起无法预料的和灾难性的破坏。由病毒引起其它的程序产生的错误也会破坏文件和扇区,这些病毒也按照他们引起的破坏能力划分。一些现在的无害型病毒也可能会对新版的DOS、Windows和其它操作系统造成破坏。例如:在早期的病毒中,有一个“Denzuk”病毒在360K磁盘上很好的工作,不会造成任何破坏,但是在后来的高密度软盘上却能引起大量的数据丢失。

下面着重介绍一两种病毒。

【熊猫烧香】

其实是一种蠕虫病毒的变种,而且是经过多次变种而来的。尼姆亚变种W(Worm.Nimaya.w),由于中毒电脑的可执行文件会出现“熊猫烧香”图案,所以也被称为“熊猫烧香”病毒。用户电脑中毒后可能会出现蓝屏、频繁重启以及系统硬盘中数据文件被破坏等现象。同时,该病毒的某些变种可以通过局域网进行传播,进而感染局域网内所有计算机系统,最终导致企业局域网瘫痪,无法正常使用,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除扩展名为gho的文件,该文件是一系统备份工具GHOST的备份文件,使用户的系统备份文件丢失。被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。

病毒会删除扩展名为gho的文件,使用户无法使用ghost软件恢复操作系统。“熊猫烧香”感染系统的.exe .com. f.src .html.asp文件,添加病毒网址,导致用户一打开这些网页文件,IE就会自动连接到指定的病毒网址中下载病毒。在硬盘各个分区下生成文件autorun.inf和setup.exe,可以通过U盘和移动硬盘等方式进行传播,并且利用Windows系统的自动播放功能来运行,搜索硬盘中的.exe可执行文件并感染,感染后的文件图标变成“熊猫烧香”图案。“熊猫烧香”还可以通过共享文件夹、系统弱口令等多种方式进行传播。该病毒会在中毒电脑中所有的网页文件尾部添加病毒代码。一些网站编辑人员的电脑如果被该病毒感染,上传网页到网站后,就会导致用户浏览这些网站时也被病毒感染。据悉,多家著名网站已经遭到此类攻击,而相继被植入病毒。由于这些网站的浏览量非常大,致使“熊猫烧香”病毒的感染范围非常广,中毒企业和政府机构已经超过千家,其中不乏金融、税务、能源等关系到国计民生的重要单位。江苏等地区成为“熊猫烧香”重灾区。

这是中国近些年来,发生比较严重的一次蠕虫病毒发作。影响较多公司,造成较大的损失。且对于一些疏于防范的用户来说,该病毒导致较为严重的损失。

由于此病毒可以盗取用户名与密码,因此,带有明显的牟利目的。所以,作者才有可能将此病毒当作商品出售,与一般的病毒制作者只是自娱自乐、或显示威力、或炫耀技术有很大的不同。

另,制作者李俊在被捕后,在公安的监视下,又在编写解毒软件。

红色代码 面对“美丽莎”、“爱虫”等蠕虫病毒,媒体曾经大喊“狼来了”,然而人们感觉好像什么也没有发生———但是这次确实是真实的。红色代码II是大规模破坏和信息丢失的一个开始,而这种程度是我们前所未见的。对于我们所依赖的互联网结构而言,这是第一次重大的威胁—— 红色代码及其变异的危害

7月16日,首例红色代码病毒被发现,8月4日红色代码Ⅱ又被发现,它是原始红色代码蠕虫的变异,这些蠕虫病毒都是利用“缓存溢出”对其它网络服务器进行传播。红色代码及其变异红色代码Ⅰ和红色代码Ⅱ均是恶意程序,它们均可通过公用索引服务漏洞感染MicrosoftIISWeb服务器,并试图随机繁殖到其它MicrosoftIIS服务器上。最初原始的红色代码带有一个有效负载曾致使美国白宫网站服务器服务中断。红色代码Ⅱ比原来的红色代码I危险得多,因为它安装了通路可使任何人远程接入服务器并使用管理员权限执行命令,且行踪无法确定。红色代码Ⅱ带有不同的有效负载,它允许黑客远程监控网站服务器。来自主要网络安全厂商———赛门铁克公司的安全响应中心的全球请求救援信号表明,大量的网站服务器(IIS)受到了感染。这进一步说明,红色代码Ⅱ的危害性很强。令人恐怖的是,人们还发现这种蠕虫代码程序如此成功:一旦受到感染,人们只需扫描计算机的80端口就能发现大量危及安全的文件包,而无需已公布的病毒列表。尽管红色代码的危害性令人恐惧,但仍未引起舆论的深层重视。

值得注意的是,由于前一段时间媒体的报道并没有深层剖析原始红色代码蠕虫及其变异间的区别,媒体对报道这类病毒的深度也不够,这可能会使用户有一种已经安全的错觉,使得他们集中精力对付红色代码变种的劲头减弱,但是这种变异的危险性远远大于原始蠕虫。如果用户没有对其WindowsNT或Windows2000服务器进行完全评估,它们可能更容易被入侵,从而导致瘫痪。这些Web服务器有良好的带宽,我们可以想象分布的服务机构中断会对带宽造成多么恶劣的影响。而且这些Web服务器与其它重要的系统如信用卡交易服务器和秘密文件等也有潜在的依赖关系,这将危及其它机器的安全。还要明确的是,一个易被红色代码攻击的系统不一定是运行之中的IIS。客户必须了解,当一个标准操作环境安装网站服务器时,微软操作环境默认安装,这一系统也因此容易受蠕虫攻击。除非用户明确设定关掉此类服务,或命令不初始安装IIS。测定一台服务器是否容易被攻击的唯一办法是评估其是否安装了IIS,假如是的话,最好采用修补方法或移开IIS予以补救。

红色代码可怕的原因揭秘

受红色代码Ⅱ感染的成百上千台机器都在互联网上做过广告,这使得黑客很容易就能得到大批受感染的机器名单,然后远程登陆到这些机器上,得到一个命令提示符,随后黑客便可在这些机器上任意执行所需命令了。此时,黑客极有可能利用这次机会来全面替代这些文件包。他们可能会使用自动录入工具退出并安装根源工具包(root包),发布拒绝服务代理到易感染红色代码的文件包,并对它们进行修改。实现这些非常简单,红色代码Ⅱ文件包宣布它们是易于攻入的,黑客不需要非法进入,他只需远程登录该进程并获得一个命令提示符,那么他便可为所欲为。所有这些黑客都可以用自己的电脑就能帮他完成———不断连接到存在安全隐患的文件包,安装根源工具包,进行修改,然后转向另一台机器。黑客可以堆积上千个根源文件包,每一个进程都是一个分布式的“拒绝服务”代理。一组300至500个分布式“拒绝服务”代理足以使一个大型互联网站点瘫痪。通常情况会看到黑客每次可以攻击10,000或更多的服务代理,这就意味着黑客可以使互联网的主要部分如ISP、主要供应商和多重互联网电子商务站点同时瘫痪。

由此可见,红色代码的真正危害在于单个流窜的黑客。拿暴动作为比喻,暴动中群众的心理是,一旦暴动展开,都想参与进去,因为人们可以用他自己以往不能独立采取的方式做想做的事情。有了红色代码Ⅱ蠕虫病毒,黑客会更加厚颜无耻,他们可以对更多的机器直接取得控制,因为文件包已经是易于攻入的了,并且被红色代码Ⅱ蠕虫病毒暴露在那里,安装根源工具包和拥有这些文件包也不再感觉是违背伦理的。总而言之,他们不用“破门而入”,只是“进入”而已。因为最艰苦的部分已经由蠕虫病毒完成了。而对防范者而言,一般用户都感觉旁若无人,因为我们所有的注意力都放在蠕虫病毒上,而没有放在到处流窜安装root包的单个黑客上。可以说,面对“美丽莎”、“爱虫”等蠕虫病毒,媒体曾经大喊“狼来了”,然而什么也没有发生———但是这次确实是真实的。红色代码II是大规模破坏和信息丢失的一个开始,而这种破坏程度是我们前所未见的。这对于我们所依赖的互联网结构而言,堪称是第一次重大的打击。

如何解除红色代码的武装

现在,广大的受害者都陷于未能对这些成百上千台机器进行修补而是进行操作系统重新安装的尴尬境地。此时受害者还不知道自己的机器上运行着什么。他们面临的选择只有两种:要么重新安装操作系统并进行修补;要么进行非常详尽的分析并安装补丁。但是是否我们肯定必须要这么做吗?修补这些文件包需要花费多长的时间?这样做的意义何在……这些问题烦之又烦。任何处身在互联网环境中并享受服务的人都有责任采取合理的步骤来保护他们的系统,确保各种基础设施的完好以及开销的合理。网络安全专家赛门铁克主张使用最佳实施方案作为控制风险的最有效途径。这意味着您的系统要与一整套基于80-20规则被验证后的系统设置保持统一。无论其是否通过最佳标准的审核,或是在实际设置过程中参照其它标准,每一个构造项目都会有一个业务成本。这也是80-20规则为何显得格外重要的原因,因为它能够识别一个系统所需的最重要转变是什么,比如说赛门铁克的ESM最佳实施策略。它将着重审核最关键的能够为您的安全投入带来收益的系统设置。80-20规则对于信息安全十分适用,它强调了您系统中80%危及安全的问题有20%来自于您系统的不合理构造。用学术的语言来说,这意味着保证补丁的及时更新、消除不必要的服务,以及使用强大的密码。对于消除红色代码病毒的举措方面,安全厂商大都是在病毒发作后,才开始对其围追堵截。与之相反的是只有赛门铁克一家在2001年6月20日发布了EnterpriseSecu�rityManager(ESM)可对IIS弱点做风险管理,利用它可阻止红色代码蠕虫。由于ESM的发布几乎正是在红色病毒被发现前一个月(在7/16/01),这使得ESM的用户能够在6月———红色蠕虫通过网络传播之前就可以评估和修补他们的系统而最终逃过了一劫。红色代码只是互联网威胁的一个开始,但是否每一次都能有厂商未雨绸缪推出最新产品,是否用户都能对即将到来的重大威胁保持高度警惕而提前防范,这就需要用户与厂商共同努力。

四,坚决抵制病毒,共创安全网络

自人类诞生的那一刻起,人类便拥有了一项本能的思想——欲望。起初,人类为了满足自己的生存欲望,便残杀了一些不属于同类的生命;接着,人类在满足自己生活的欲望后,便想着去建立自己的势力、拥有自己的土地,从而引发了一场又一场的战争;人类在拥有了自己的土地和钱财后,便对身心上的享受产生了兴趣,从而推进了科技的发展...随着经济的日益发展、科技取得的极大成就,人类在属于自己的世界里便开始得不到满足,从而便创造了另一个空间——网络。

经历过这个空间内的各种风雨,才渐渐感觉到文明、道德的重要,只有让所有游览者共同维护空间内的安宁,共同创造空间内的诚信,才能在满足自己欲望的同时也促进社会的快速发展。网络文明,你我共创。

几乎所有当前市场上的网络入侵检测系统都是基于一种被动数据收集方式的协议分析

,我们可以预见,这种方式在本质上是有缺陷的。

毫无疑问,这样的入侵检测系统会监视整个网络环境中的数据流量,并且总是与一种

预定义的可疑行为模式来进行对照,甚至所谓的入侵行为分析技术也只是简单地从单位时

间状态事件技术上做了些组合工作,事实上离真正实用的复杂黑客入侵行为的剖析和理解

还有很远的距离。

对于这种检测技术的可靠性,我们可以通过自定义的三种可行性很强的攻击方式来验

证――插入攻击、逃避攻击和拒绝服务攻击。我们可以看到,当一个入侵者实施了这样的

入侵策略以后,所谓的入侵检测系统便妥协了。我们的结论是这种入侵检测系统不是放之

四海而皆准的,除非它们从根本上被重新设计过。

入侵检测系统的作用及其功能

真正实用的入侵检测系统的存在价值就是能够察觉黑客的入侵行为并且进行记录和处

理,当然,人们也会根据自己的需求提出需要强大的日志记录策略、黑客入侵诱导等等。

不同的入侵检测系统存在不同的入侵分析特征。一个企图检测Web入侵的系统可能只会

考虑那些常见的恶意HTTP协议请求;同样道理,一个监视动态路由协议的系统可能只会考

虑网络是否存在RIP欺骗攻击等等。目前国内市场上的大部分入侵检测系统使用同一个入侵

行为定义库,如著名的SNORT特征库,这说明我们在技术挖掘方面的投入还不够,事实上我

国在基础研究设施的投入上也存在严重不足。

入侵检测系统现在已经成为重要的安全组件,它有效地补充和完善了其他安全技术和

手段,如近乎快过时的基于协议和端口的防火墙。入侵检测系统为管理人员提供相应的警

告信息、报告可能发生的潜在攻击,从而抵挡了大部分“只是对系统设计好奇”的普通入

侵者。

世界上已经开发出了很多种入侵检测系统,我们可以用通用的入侵检测体系结构(CI

DF:Common Intrusion Detection Framework)来定义常见的入侵检测系统的功能组件。这

些功能组件通常包括事件产生器、分析引擎、存储机制、攻击事件对策。

许多入侵检测系统在设计之时就仅仅被考虑作为警报器。好在多数商业化的入侵检测

系统配置了可用的防御性反攻击模块,起码可以切断TCP连接或动态地更改互动防火墙过滤

规则。这样就可以阻止黑客沿着同一路径继续他的攻击行为。一些入侵检测系统还配置了

很好的攻击诱骗模块,可以为系统提供进一步的防护,也为进一步深入研究黑客行为提供

了依据。

IDS到底有那些不足

IDS的基本原理

对于比较普遍的两种入侵检测模式--基于网络的入侵检测和基于主机的入侵检测,我

们可以这样考虑:基于主机的入侵检测系统对于特定主机给予了定制性的保护,对于发生

在本地的、用户级的、特征性比较明显的入侵行为有防范作用。但是,这种模式对于发生

在网络传输层的入侵通常是无可奈何的,想让应用级特征比较强的系统同时把系统级和网

络底层技术实现得比较完善是不太现实的。虽然我们可以看到在伟大的Linux系统上实现了

Lids,毕竟象Solaris,NT这样的系统,我们能够了解的只是皮毛。

基于网络的入侵检测系统需要监视整个网络的流量,匹配可疑行为特征。它的技术实

现通常必须从网络和系统的底层入手,而且它同时保护的是网络上的一批主机,无论它们

使用的什么系统。基于网络的入侵检测系统显然不会关心某一台主机之上正在进行着什么

操作,只要这些操作数据不会扩散到网络上来。因为网络入侵检测系统是以行为模式匹配

为基础的,我们可以断定它有匹配失误的可能,有因为不能确定某种行为是入侵而将其放

行的可能。那么当一个“聪明”的入侵者骗过了这种系统,顺利地进入一台主机,该系统

的厄运开始了。

被动的网络监视器通常利用网络的混杂模式工作,它们直接从网络媒介获得网络中数

据包的拷贝,而不考虑这些包本来是不应该被它们接收的。当然,这种被动的网络底层协

议分析总是“安静地”存在于网络的某个地方,它只是根据网络媒介提供的这种特征,在

其他主机不知不觉的时候将网络数据拷贝一份。同时,需要考虑到,根据引擎端实现平台

的不同,各平台实现的网络数据包捕获机制的不同,在混杂模式下丢包的程度是不同的。

事实上,对于大多数还需要从内核读取数据的应用级包过滤系统,只能考虑以更快的方式

把数据读取到用户空间,进而发送给其它进程。 这样处理的化,要求从技术上增加用户空

间的缓冲区尺寸,如在BSD(BPF)的系统上,能够利用BIOCSBLEN ioctl调用来增加缓冲区尺

寸。

攻击IDS的原理

入侵检测系统地最重要的特征莫过于其检测的“精确性”。因此IDS要对捕获到的数据

包进行详细的分析,所以对IDS的攻击就是针对IDS在分析数据时的弱点和漏洞。

网络IDS捕获到网络上传输的数据包并进行分析,以便知道一个对象对另一个对象做了

什么。IDS总是通过网络上交换的数据包来对终端系统上发生的信息行为进行判断。假设一

个带有错误UDP校验和的IP数据包,大多数操作系统会丢弃这样的数据。某些比较陈旧的系

统也可能会接受。IDS需要了解每一个终端系统的具体情况,否则IDS按照自己的方式构造

出来的逻辑在终端系统上的应用会有不同。某些操作系统有可能会接受一个明显存在问题

的数据包,如允许一个有错误的校验和的IP包。当然,IDS如果不进行分辨,必然会丢掉这

些本来终端系统会接受的数据。

就算IDS系统知道网络都有些什么操作系统,它也没有办法通过查看一个包而知道是否

一个终端系统会接受这个包。原因很简单,CPU耗尽、内存不足都可能导致系统发生丢包现

象。

IDS全部的信息来源就是它捕获到的数据包。但是,IDS应该多了解一些关于终端系统

的网络行为,应该了解终端系统如何处理各种网络数据。但是,实际上,这是不可能的。

在处理所谓的拒绝服务攻击时,存在两种常见的情况:某些IDS系统在自己处于停机状

态时,可以保持网络正常的信息流通,这种属于“fail-open”型;另一种则是“fail-cl

osed”型,即当IDS系统出现问题时,整个网络也随之瘫痪了。

网络检测系统是被动的。它们不控制网络本身,也不会以任何方式维护网络的连接。

如果一个IDS系统是fail-open的,入侵者通过各种手段使IDS资源不可用了,那时IDS就没

有任何防范入侵的作用了。正是因为这样,IDS系统加强自身抗拒绝服务攻击的能力显得极

为重要。

当然,许多攻击方式讨论的都是针对基于嗅探模式的IDS系统。这些类型的攻击都企图

阻止协议分析,阻止特征模式匹配,阻止IDS获得足够信息以得出结论。

针对入侵检测系统弱点的攻击探讨

有时IDS系统会接受终端系统丢弃了的数据包。因为IDS认为终端系统接受并且处理了

这些数据,而事实上终端系统由于种种原因丢弃了这些数据包。一个入侵者就可以利用这

一点,制造那种他所想要入侵的主机会丢弃而IDS系统将接受并作出判断的数据包,以使I

DS与终端系统得到不同的结论。

我们可以把这种攻击称为“插入式”攻击。道理很简单,假设一个入侵者发往终端系

统的数据是attack,但是,他通过精心构造在数据流中加入了一个多余的t。对于终端系统

而言,这个t是被丢掉不被处理的;而对于IDS系统而言,它得到的最终上下文关系是attt

ack,这个结论使IDS认为这次行为并没有对终端系统形成攻击而不作处理,事实上,终端

系统已经接受了attack数据。

现在让我们来分析一下这种方式的攻击如何阻止特征分析。特征分析通常的方式是根

据固定模式判断某个特定的字串是否被存在于一个数据流中,例如,对待一个phf的HTTP攻

击,IDS通常检查这个字串的存在与否,“GET /cgi-bin/phf?”, IDS系统判断这种情况很

容易,只需要简单的子串搜索功能便可以做到,然而,但是,如果一个入侵者通过插入式

攻击的思想在这次HTTP请求中增加了这样的内容,GET /cgi-bin/pleasedontdetectthisf

orme?,里面同样包含了phf,但是在IDS看来,味道已经不一样了。

插入式攻击的的结果就是IDS系统与终端系统重组得到了不一样的内容。通常,插入式

攻击在IDS没有终端系统处理数据那么严格的时候都存在。可能好的解决方法就是让IDS系

统在处理网络中需要重组的数据的时候,作出严格的判断和处理,尽可能地与终端系统处

理地效果一个样。可是,引来了另外一个问题,这便是另一种攻击方式,相对地叫做“逃

避式“攻击模式。

相对的,有些数据包是IDS不会接受的,而终端系统却会对这些数据作出处理。当然,

IDS由于不接受某些包,而会导致与这些数据相关的上下文关系无法了解。

问题的现象是因为IDS在对数据包进行审核处理的时候过于严格,使得往往某些数据在

终端系统而言,是要进行接受重组处理的,而在IDS本身,仅仅是不作处理,导致许多攻击

在这种严格的分析引擎的鼻子地下躲过。

逃避式攻击和插入式攻击都有效地愚弄了模式匹配引擎系统。结果都是入侵者使得ID

S与终端系统接受处理了不同的数据流,在逃避式攻击中,终端系统比IDS接受了更多的内

容而遭受攻击。

还是上面的phf的例子,入侵者发送了一个HTTP请求,使得原本的GET /cgi-bin/phf?

在IDS处理的结论中变成了GET /gin/f,当然,这个结论对于大多数IDS系统来说,几乎没

有任何意义。

从技术上来看, 插入式和逃避式这两种对付检测系统的方式也不是这容易就被入侵者

所利用,因为实现这种攻击要求入侵具备相当的知识面和实践能力。

现在的许多网络协议是简单的并且容易分析的。比如一个普通的网络分析器就能够容易的

判断一个UDP DNS请求的目的。

其它的一些协议则复杂的多,在得出实际传输的内容之前,需要对许多单个的数据包

进行考虑。这样的话,网络监视器必须总是监视内容的数据流,跟踪包含在数据流中的信

息。例如,为了解析出一个TCP连接中发生了什么,必须重组这次连接中的整个数据流。

象TCP这样的协议,允许在IP最大包尺寸范围内的任意大小的数据被包含于每一个分散

的数据包中,数据可以无序地到达目的地,每个数据包都具有一个序列号来表明自己在数

据流中的位置。TCP数据流的接受者有责任重新按照序列号进行数据包的重新排序和组合,

并解析出数据发送者的意思。这有一套TCP的数据重组机制来完成。在IP层,IP也定义了一

种自己的机制,叫做“碎片“,这种机制允许主机把一个数据包切分为更小的数据分片。

每一个片都有一个标记,标记自己原来属于原始数据包的什么相对位置,叫做”偏移值“

。IP实现允许接受这样的IP碎片包,并且根据偏移值来重组原始数据包。插入式攻击通过

增加一些数据包到数据流中导致终端系统重组很困难。被插入的数据包能够改变数据流的

先后顺序,进而阻止IDS正确地处理紧跟着的正确的数据包。包的插入重叠了老的数据,在

IDS系统上重写了数据流。某些情况下,插入数据包,改变了数据流原来的意思。

逃避式攻击则是导致IDS系统在进行流重组的时候错过了其中的部分关键内容,被IDS忽略

的数据包可能对于数据流的顺序来说是至关重要的;IDS系统可能在逃避式攻击之后不知道

该如何对这些数据下结论了。许多情况下,入侵者产生整个躲避IDS系统检测的数据流是相

对简单的。

“插入式”和“逃避式”IDS攻击都不是很容易防范的,除非IDS通过了第二信息源的配合

,能够对当前监视的网络拓扑结构以及对作为被监视对象的终端系统所能够接收什么样的

数据包进行跟踪分析,否则问题依然存在,这是目前必须要提出来的对被检测网络的诠释

技术,尽可能通过配合第二信息源的方式,让IDS对它所检测的网络中的终端系统以及网络

实际环境有一个成熟的了解。如果一个攻击能够造成实现插入任意的IP数据包,那么,插

入一个UDP或者ICMP也是没有问题的。所以可以看出IDS系统在IP层实现对这两种入侵手段

的免疫将是很重要的。一个最容易的让终端系统丢弃IP数据包的方式是让数据包具有不正

确的IP头部信息。如RFC731定义。入侵者所使用的这些头部信息有问题的数据包在现实中

可能会遇到问题,除非攻击对象IDS系统处在同一个局域网之内,例如如果version域不是

4,而是其他的值,这种数据包实际上是不会被路由的。当然,对于其他的一些域值,比如

IP包长度或者IP头长度,一个不规范的长度将阻止IDS系统正确定位IP中的传输层的位置等

在IP头域信息中,最容易被忽略的是校验值。似乎对于一个IDS系统去校验每一个捕获的I

P数据包的校验是没有必要的。然而,一个带有病态的校验值的数据报对于大多数IP实现来

说都是不会被处理的。一个IDS系统在设计的时候考虑到有问题的校验了么?如果没有考虑

到校验的必要性,那么很难避免“插入式“攻击。TTL域表示了一个数据包在到达目的系统

的过程中需要经过多少路由器。每一次,一个路由器转发一个数据包,数据包所带的TTL信

息将会被消耗。TTL消耗尽时,包也被丢弃了。所以,入侵者可以构建一个TTL的值,使得

发送的数据包刚好可以到达IDS系统,但是TTL刚好耗尽了,数据本来应该到达的目标却没

有到。相类似的另一个问题与IP头部的DF标志有关。DF标志置位使得转发设备即便是在包

超出标准大小尺寸的时候也不要对数据进行IP分片,紧紧通知简单的丢弃掉这些包。

这两个不明确的问题的解决要求IDS系统能够了解它所监视的网络拓扑结构。

IP校验和问题很好解决;一个IDS系统可以假设如果校验和是错误的,那么数据包将会被目

标系统所不接受。而IP的选项域的存在又导致一些不同的可能性。许多操作系统可以配置

为自动拒绝源路由数据包。除非IDS了解是否一个源路由数据包的目标主机拒绝这样的数据

包,否则不可能正确处理这样情况。

对IP数据包中的源路由项进行检查或许是一个明显的必要。然而,其他的一些选项也是必

须应该考虑的。例如,“timestamp“选项要求特定的数据包的接受者在数据包里放置一个

时间戳标记。如果这个选项出现问题,处理事件戳选项的代码将强迫丢弃这个包。如果ID

S没有如同终端系统那样核实时间戳选项的话,便存在问题。

同一个LAN上的入侵者能够指引链路层的数据帧到IDS系统,不必允许作为IP目标的主机看

到这个包。如果一个入侵者知道了IDS的MAC地址,他便能将他的欺骗包发往IDS系统,LAN

上的其他系统不会处理这个数据包,但是,如果IDS不检查接受到的数据包的MAC地址,它

是不会知道发生了什么情况的。

逃避式攻击则是导致IDS系统在进行流重组的时候错过了其中的部分关键内容,被IDS忽略

的数据包可能对于数据流的顺序来说是至关重要的;IDS系统可能在逃避式攻击之后不知道

该如何对这些数据下结论了。许多情况下,入侵者产生整个躲避IDS系统检测的数据流是相

对简单的。

因为终端系统将重组IP碎片,所以IDS系统能够进行IP碎片重组也是重要的。一个不能正确

的重组碎片的IDS系统将是容易受到攻击的,入侵者仅仅通过人工生产碎片便可以愚弄IDS

。IP碎片的数据流通常有序到达。但是,协议允许碎片以任何次序到达。一个终端系统必

须能够重组无序到达的数据包分片。 IDS系统如果不能处理IP碎片无序到达这种情况的话

,也是存在问题的;一个入侵者能够故意捣乱他的碎片来逃避IDS检测。而且IDS必须在全

部的碎片都被接收到以后才进行碎片重组。当然了,接收到的分片必须被存储下来,直到

分片流可以被重组为一个完整的IP数据包。一个入侵者如果利用分片的形式来对网络进行

flooding攻击,那么IDS系统通常会资源耗尽。

每个终端系统也必须处理这个问题。许多系统根据TTL来丢弃分片,而避免这种由于大量碎

片请求造成的内存不足。许多入侵者能够刻意地通过构造病态的IP分片躲避传统的包过滤

器,他们使用的是尽可能小的分片包,因为单个的分片所包含的数据不足以达到过滤规则

的长度。另外,出现的问题是重叠的分片处理问题,可能性是这样的,具有不同尺寸和分

片先后到达系统,并且分片的数据位置处于重叠状态,既是说,如果一个分片迟于另外一

个分片达到系统,两个分片对于重组参数来说是同一个,这时新到的数据可能会覆盖掉已

经先到达的老的一些数据。这便又提出了一个问题,如果一个IDS系统没有能够以它所监视

和保护的终端系统处理分片的方式处理分片包的话,可能面对同一个数据分片流,IDS系统

将重组出于终端系统得到的安全不同的数据包。一个了解这种IDS与终端系统之间矛盾的入

侵者可能会采用这种入侵方式。对于重叠分片的取舍是更加复杂的,对于这些又冲突的分

片数据是否被采纳往往取决于他们所在的位置,而根据不同的操作系统的对IP碎片重叠情

况的不同处理也不一样。有些情况,新的数据被承认而有的时候是旧的被承认,而新的被

丢弃。当然,IDS不能正确分析这种情况,将面临“逃脱”式攻击。

IDS系统并不是处理这种重叠分片出现问题的唯一IP实现,终端系统的IP驱动程序同样会有

问题。或许正是因为IP碎片重组的困难和复杂才使得出现了那么多不正确的处理。所以,

除非一个IDS系统准确的知道它所监视的系统都是什么不同的IP驱动,否则精确地重组每一

个系统接受地数据是不可能的。

例如:Windows NT在处理重叠分片时,总是保留已有的数据。这与BSD4.4刚好相反。

IP包的选项域是应该考虑到的。当一个IP包被分片时,来自于原始数据包的选项是否应该

被携带到全部的分片中去。RFC791声明某些IP选项如(security)将出现在每一个分片里

,而其它的一些必须只出现在第一个分片中。对于严格的IP实现将丢弃那些具有不正确选

项的分片。但是IDS许多系统不是这样的。如果IDS没能象终端系统那样精确的处理这种情

况的话,将面临前面提到的两类攻击。

对于IP第四代协议,现实是任何人都可以进行IP地址伪造。使IDS系统判断出来好像是来自

多处的攻击。对于无连接的协议来说,更为严重。

在面向连接的协议中,关于一次连接回话的起源问题基于是否一个可用的连接被产生了;

象TCP这样的连接协议使用了序列号机制,这种机制提供了一种确认方法, 可是,对于无

连接协议,这种相对严格的确认机制却是没有的;可以看到,一个入侵DNS的破坏者其实可

以是来自任何地方。看来,IDS系统的管理者对于IDS系统给出的网络地址的准确性是应该

仔细考虑的。事实上,被IDS检测到的大部分攻击是通过TCP连接的。所以,IDS对TCP会话

数据流的重组能力成为关键。而假如IDS没有能够使用与它所检测的网络中的终端系统同样

的重组规则的话,将是脆弱的。对于正常的TCP连接,就像一次由远程登录发起的连接,这

很容易做到的。也存在许多实现TCP连接监视的方法。对于IDS而言,没有一个对捕获到的

TCP数据流如何进行处理的标准规范成了最主要的问题。

IDS系统为了能够重建TCP连接的信息,TCP片段使用的序列号信息是必须知道的。我们可以

把这种IDS去判断当前连接的可用序列号的过程叫“同步”。当然,在判断序列号时出现问

题,可以叫“失去同步”。当IDS系统在一次TCP连接中失去序列号同步了,就不能够对这

次连接的信息数据进行有效的重组了。在许多情况下,IDS系统由此变得不再处理这一次连

接中的任何数据信息。所以,入侵者通常把让IDS系统失去同步作为一个主要目标。

TCP标准定义了一个流控制机制,用来阻止建立连接的一方发送过多的数据到连接的另外一

方;IDS追踪TCP连接的每一方的window域的值。TCP也允许数据流中发送所谓的OOB数据(

带外数据),它利用了定义的紧急指针。

对于网络中的终端系统,与之相关的每次连接的状态信息的收集处理是没有问题的,每种

TCP实现必须管理自己的TCB――TCP控制块,以便理解那一次建立的连接情况。一个网络I

DS系统也必须能够维护它所监视的每一次连接对应的TCB。

任何网络IDS系统都定义了针对所探测到的新的TCP连接而产生TCB的机制,同时也对那些不

再有关的连接进行释放和消除工作。在讨论IDS的TCP问题中,我们独立地分析三个方面,

可以看到,在IDS处理这三种情况时可能出现问题。首先是TCP creation,通过它IDS决定对

一个新探测到地TCP连接产生TCB;其次是数据流重组,IDS根据它所维护地TCB信息对数据

流进行重组,当然这一步受到上一步地关联;再者是TCB拆卸,IDS通过它撤销一个TCB。通

过分析可以看到,“插入式”攻击的实现将影响到以上提到的几个方面,插入式攻击使得

IDS系统分不清到底什么数据事实上到达了终端系统。比如在数据流重组上下文关系中,数

据插入式攻击使得一次可靠的TCP会话监视几乎成为不可能的事;所以说IDS能够针对插入

式攻击做处理是非常重要的也是很难实现的。

对于IP协议,可以有几种不同的方法可以实现往IDS系统中插入数据包,而对于TCP,问题

会复杂一些,但是同样有一些手段能够导致IDS去主动丢弃某些特定的数据包,以达到入侵

者的目的,无论如何,如果一个IDS系统不能够以它所监视的终端相同的方式来处理TCP包

的话,对待”插入式“将受到威胁。

在一次TCP交互中,如果接收方对应回应了一个信息,那么一个TCP片段就是被认可的,我

们进一步可能分析回应的是RST信息还是ACK信息。IDS能够通过对这些认可信息的辨识判断

一个片段是否是存在问题的。包含在TCP包里面的数据能够被提取出来进行重组,而不去考

虑TCP的头域的某些部分。这种不严格的处理情况使得容易做出对于“插入式“攻击手段显

得脆弱的TCP会话监视器,所以,在处理TCP数据的时候,先严格考虑TCP头域的信息可用性

显得很重要了。一个极易被忽略的头域是“CODE“,这个头域决定了TCP片段中发送的信息

的类型。这个域是一系列二进制标志位。可以看到,某些标志位的组合是不正常的,通常

在网络中导致包被丢弃掉。另外,许多TCP实现就不去接收没有ACK位被设置的TCP片段中的

数据信息。

根据TCP的标准定义,TCP实现应该接受包含在SYN类型片段中的数据信息。而对这种定义的

理解却变成了多种味道,导致一些TCP实现没有正确地处理这类信息。如果一个IDS系统没

能考虑SYN数据,那么一个随便的“逃避式”攻击就可以对它进行威胁;反之,如果这个I

DS系统能够很好地考虑SYN数据了,在针对某些没有正确实现这种定义的终端系统的时候,

它显得当不住入侵者刻画的“插入式”攻击。

另外的经常被忽略的TCP输入处理问题是校验和,全部的TCP实现被强制性地要求验证网络

校验,许多IDS系统不能做这种检查;所以通过构建有错误校验值的TCP片段就可以简单地

插入数据包到IDS系统。

就像处理IP的选项域一样,IDS能够正确的处理TCP的选项域也是十分重要的。可是不幸的

是,由于TCP的选项域某些内容被产生和利用的时间还比较短,如timestamp、windows sc

ale这些选项;另外对于何时TCP的选项能够出现在连接的上下文中,TCP有专门的规定。某

些选项在某些连接状态或许就是不可用或者是非法的。RFC1323[13]中介绍了两个TCP的选

项,这两个选项被设计来增加TCP在高速环境下的可靠性和性能。但是规定这些选项仅仅可

以出现在非SYN的分段之中。

因为某些TCP实现会拒绝包含了这些没有见过的选项的非SYN片段,所以IDS也不可盲目的都

接受这些有选项的数据包。另外,也有一些终端系统通过忽略这些选项,继续处理这些数

据包;所以,可见IDS必须清楚地知道终端系统是如何处理各种数据包的,才能以相对于特

定的终端系统正确的处理方式来进行处理而避免如插入和逃避式攻击。

RFC1323 定义了的另外一个叫做PAWS的概念,全称是“protection against wrapped seq

uence numbers”。使用PAWS的系统将会跟踪分段中的timestamps选项;根据分段中的tim

estamps响应值判断数据包是否被丢弃,一个入侵者可以很简单的产生一个人工的timesta

mp值,目的是使得支持PAWS的TCP堆栈不用作出进一步的处理就丢弃这个数据包。IDS不仅

仅需要知道是否终端系统支持PAWS,而且还需要知道终端系统对于timestamps的threshol

d的值是什么。如果没有这些信息,IDS将会错误地处理不正确地TCP片段,或者对一个片段

的合法性作出错误的猜测。如前面提到的三点,其中TCB creation(可以叫作TCB创造)是

第一点。一个IDS系统TCB创造策略决定了IDS如何开始记录一次给定的TCP连接的数据信息

,比如象序列号等。这使得IDS可以同步一次需要监视的TCP会话。然而TCB创造是个麻烦的

问题。可以用多种方法可以被利用来判断何时打开一个TCB,但是,这些方法中的每一个似

乎证明都是有问题的。TCB创造建立一次连接的初始化状态,包括了连接序列号等信息;通

过对IDS的TCB的欺骗行为,入侵者能够破坏那些与这一次被利用的连

感染该蠕虫病毒后网络带宽被大量占用,导致网络瘫痪,该蠕虫是利用SQL SERVER 2000的解析端口1434的缓冲区溢出漏洞,对其网络进行攻击。

网络常见攻击及防范手册(上)

(上) 一、前言 在网络这个不断更新换代的世界里,网络中的安全漏洞无处不在。即便旧的安全漏洞补上了,新的安全漏洞又将不断涌现。网络攻击正是利用这些存在的漏 洞和安全缺陷对系统和资源进行攻击。 也许有人会对网络安全抱着无所谓的态度,认为最多不过是被攻击者盗用账号,造不成多大的危害。他们往往会认为"安全"只是针对那些大中型企事业单位和网站而言。其实,单从技术上说,黑客入侵的动机是成为目标主机的主人。只要他们获得了一台网络主机的超级用户权限后他们就有可能在该主机上修改资源配置、安置"特洛伊"程序、隐藏行踪、执行任意进程等等。我们谁又愿意别人在我们的机器上肆无忌惮地拥有这些特权呢?更何况这些攻击者的动机也不都是那么单纯。因此,我们每一个人都有可能面临着安全威胁,都有必要对网络安全有所了解,并能够处理一些安全方面的问题。 下面我们就来看一下那些攻击者是如何找到你计算机中的安全漏洞的,并了解一下他们的攻击手法。 二、网络攻击的步骤 第一步:隐藏自已的位置 普通攻击者都会利用别人的电脑隐藏他们真实的IP地址。老练的攻击者还会利用800电话的无人转接服务联接ISP,然后再盗用他人的帐号上网。 第二步:寻找目标主机并分析目标主机 攻击者首先要寻找目标主机并分析目标主机。在Internet上能真正标识主机的是IP地址,域名是为了便于记忆主机的IP地址而另起的名字,只要利用域名和IP地址就可以顺利地找到目标主机。当然,知道了要攻击目标的位置还是远远不够的,还必须将主机的操作系统类型及其所提供服务等资料作个全面的了解。此时,攻击者们会使用一些扫描器工具,轻松获取目标主机运行的是哪种操作系统的哪个版本,系统有哪些帐户,WWW、FTP、Telnet 、SMTP等服务器程序是何种版本等资料,为入侵作好充分的准备。 第三步:获取帐号和密码,登录主机 攻击者要想入侵一台主机,首先要有该主机的一个帐号和密码,否则连登录都无法进行。这样常迫使他们先设法盗窃帐户文件,进行破解,从中获取某用户的帐户和口令,再寻觅合适时机以此身份进入主机。当然,利用某些工具或系统漏洞登录主机也是攻击者常用的一种技法。 第四步:获得控制权 攻击者们用FTP、Telnet等工具利用系统漏洞进入进入目标主机系统获得控制权之后,就会做两件事:清除记录和留下后门。他会更改某些系统设置、在系统中置入特洛伊木马或其他一些远程操纵程序,以便日后可以不被觉察地再次进入系统。大多数后门程序是预先编译好的,只需要想办法修改时间和权限就可以使用了,甚至新文件的大小都和原文件一模一样。攻击者一般会使用rep传递这些文件,以便不留下FTB记录。清除日志、删除拷贝的文件等手段来隐藏自己的踪迹之后,攻击者就开始下一步的行动。 第五步:窃取网络资源和特权 攻击者找到攻击目标后,会继续下一步的攻击。如:下载敏感信息;实施窃取帐号密码、信用卡号等经济偷窃;使网络瘫痪。 三、网络攻击的原理和手法 1、口令入侵 所谓口令入侵是指使用某些合法用户的帐号和口令登录到目的主机,然后再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的帐号,然后再进行合法用户口令的破译。获得普通用户帐号的方法很多,如 利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上; 利用目标主机的X.500服务:有些主机没有关闭X.500的目录查询服务,也给攻击者提供了获得信息的一条简易途径; 从电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的帐号; 查看主机是否有习惯性的帐号:有经验的用户都知道,很多系统会使用一些习惯性的帐号,造成帐号的泄露。 这又有三种方法: (1)是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大。监听者往往采用中途截击的方法也是获取用户帐户和密码的一条有效途径。当下,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户帐户和密码信息都是以明文格式传输的,此时若攻击者利用数据包截取工具便可很容易收集到你的帐户和密码。还有一种中途截击攻击方法更为厉害,它可以在你同服务器端完成"三次握手"建立连接之后,在通信过程中扮演"第三者"的角色,假冒服务器身份欺骗你,再假冒你向服务器发出恶意请求,其造成的后果不堪设想。另外,攻击者有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码;或者编制有缓冲区溢出错误的SUID程序来获得超级用户权限。 (2)是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但攻击者要有足够的耐心和时间。如:采用字典穷举法(或称暴力法)来破解用户的密码。攻击者可以通过一些工具程序,自动地从电脑字典中取出一个单词,作为用户的口令,再输入给远端的主机,申请进入系统;若口令错误,就按序取出下一个单词,进行下一个尝试,并一直循环下去,直到找到正确的口令或字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,因而几个小时就可以把上十万条记录的字典里所有单词都尝试一遍。 (3)是利用系统管理员的失误。在现代的Unix操作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后专门存放在一个叫shadow的文件中。黑客们获取口令文件后,就会使用专门的破解DES加密法的程序来解口令。同时,由于为数不少的操作系统都存在许多安全漏洞、Bug或一些其他设计缺陷,这些缺陷一旦被找出,黑客就可以长驱直入。例如,让Windows95/98系统后门洞开的BO就是利用了Windows的基本设计缺陷。 2、放置特洛伊木马程序 特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知攻击者,来报告您的IP地址以及预先设定的端口。攻击者在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改你的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。 3、WWW的欺骗技术 在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。 一般Web欺骗使用两种技术手段,即URL地址重写技术和相关信关信息掩盖技术。利用URL地址,使这些地址都向攻击者的Web服务器,即攻击者可以将自已的Web地址加在所有URL地址的前面。这样,当用户与站点进行安全链接时,就会毫不防备地进入攻击者的服器,于是用记的所有信息便处于攻击者的监视之中。但由于浏览器材一般均设有地址栏和状态栏,当浏览器与某个站点边接时,可以在地址栏和状态样中获得连接中的Web站点地址及其相关的传输信息,用户由此可以发现问题,所以攻击者往往在URLf址重写的同时,利用相关信息排盖技术,即一般用javascript程序来重写地址样和状枋样,以达到其排盖欺骗的目的。 4、电子邮件攻击 电子邮件是互联网上运用得十分广泛的一种通讯方式。攻击者可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪。相对于其它的攻击手段来说,这种攻击方法具有简单、见效快等优点。 电子邮件攻击主要表现为两种方式: (1)是电子邮件轰炸和电子邮件"滚雪球",也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被"炸",严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪; (2)是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序。 5、通过一个节点来攻击其他节点 攻击者在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。 这类攻击很狡猾,但由于某些技术很难掌握,如TCP/IP欺骗攻击。攻击者通过外部计算机伪装成另一台合法机器来实现。它能磙坏两台机器间通信链路上的数据,其伪装的目的在于哄骗网络中的其它机器误将其攻击者作为合法机器加以接受,诱使其它机器向他发送据或允许它修改数据。TCP/IP欺骗可以发生TCP/IP系统的所有层次上,包括数据链路层、网络层、运输层及应用层均容易受到影响。如果底层受到损害,则应用层的所有协议都将处于危险之中。另外由于用户本身不直接与底层相互相交流,因而对底层的攻击更具有欺骗性。

愿这里能成为我们共同的网上家园

2005-01-08 11:52

举报帖子

复制贴子

加为精华

单贴屏蔽

帖子评价

使用道具

风影

等级:管理员

威望:1500

文章:453

积分:3056

注册:2004-06-07 QQ第 2 楼

网络常见攻击及防范手册(下)

6、网络监听 网络监听是主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接收方是谁。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而攻击者就能在两端之间进行数据监听。此时若两台主机进行通信的信息没有加密,只要使用某些网络监听工具(如NetXRay for Windows95/98/NT、Sniffit for Linux、Solaries等)就可轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。 7、利用黑客软件攻击 利用黑客软件攻击是互联网上比较多的一种攻击手法。Back Orifice2000、冰河等都是比较著名的特洛伊木马,它们可以非法地取得用户电脑的超级用户级权利,可以对其进行完全的控制,除了可以进行文件操作外,同时也可以进行对方桌面抓图、取得密码等操作。这些黑客软件分为服务器端和用户端,当黑客进行攻击时,会使用用户端程序登陆上已安装好服务器端程序的电脑,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,黑客软件的服务器端就安装完成了,而且大部分黑客软件的重生能力比较强,给用户进行清除造成一定的麻烦。特别是最近出现了一种TXT文件欺骗手法,表面看上去是一个TXT文本文件,但实际上却是一个附带黑客程序的可执行程序,另外有些程序也会伪装成图片和其他格式的文件。 8、安全漏洞攻击 许多系统都有这样那样的安全漏洞(Bugs)。其中一些是操作系统或应用软件本身具有的。如缓冲区溢出攻击。由于很多系统在不检查程序与缓冲之间变化的情况,就任意接受任意长度的数据输入,把溢出的数据放在堆栈里,系统还照常执行命令。这样攻击者只要发送超出缓冲区所能处理的长度的指令,系统便进入不稳定状态。若攻击者特别配置一串准备用作攻击的字符,他甚至可以访问根目录,从而拥有对整个网络的绝对控制权。另一些是利用协议漏洞进行攻击。如攻击者利用POP3一定要在根目录下运行的这一漏洞发动攻击,破坏的根目录,从而获得超级用户的权限。又如,ICMP协议也经常被用于发动拒绝服务攻击。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络操作。 9、端口扫描攻击 所谓端口扫描,就是利用Socket编程与目标主机的某些端口建立TCP连接、进行传输协议的验证等,从而侦知目标主机的扫描端口是否是处于激活状态、主机提供了哪些服务、提供的服务中是否含有某些缺陷等等。常用的扫描方式有:Connect()扫描。Fragmentation扫描 四、攻击者常用的攻击工具 1、DOS攻击工具: 如WinNuke通过发送OOB漏洞导致系统蓝屏;Bonk通过发送大量伪造的UDP数据包导致系统重启;TearDrop通过发送重叠的IP碎片导致系统的TCP/IP栈崩溃;WinArp通过发特殊数据包在对方机器上产生大量的窗口;Land通过发送大量伪造源IP的基于SYN的TCP请求导致系统重启动;FluShot通过发送特定IP包导致系统凝固;Bloo通过发送大量的ICMP数据包导致系统变慢甚至凝固;PIMP通过IGMP漏洞导致系统蓝屏甚至重新启动;Jolt通过大量伪造的ICMP和UDP导致系统变的非常慢甚至重新启动。 2、木马程序 (1)、BO2000(BackOrifice):它是功能最全的TCP/IP构架的攻击工具,可以搜集信息,执行系统命令,重新设置机器,重新定向网络的客户端/服务器应用程序。BO2000支持多个网络协议,它可以利用TCP或UDP来传送,还可以用XOR加密算法或更高级的3DES加密算法加密。感染BO2000后机器就完全在别人的控制之下,黑客成了超级用户,你的所有操作都可由BO2000自带的"秘密摄像机"录制成"录像带"。 (2)、"冰河":冰河是一个国产木马程序,具有简单的中文使用界面,且只有少数流行的反病毒、防火墙才能查出冰河的存在。冰河的功能比起国外的木马程序来一点也不逊色。 它可以自动跟踪目标机器的屏幕变化,可以完全模拟键盘及鼠标输入,即在使被控端屏幕变化和监控端产生同步的同时,被监控端的一切键盘及鼠标操作将反映在控端的屏幕。它可以记录各种口令信息,包括开机口令、屏保口令、各种共享资源口令以及绝大多数在对话框中出现过的口令信息;它可以获取系统信息;它还可以进行注册表操作,包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作。 (3)、NetSpy:可以运行于Windows95/98/NT/2000等多种平台上,它是一个基于TCP/IP的简单的文件传送软件,但实际上你可以将它看作一个没有权限控制的增强型FTP服务器。通过它,攻击者可以神不知鬼不觉地下载和上传目标机器上的任意文件,并可以执行一些特殊的操作。 (4)、Glacier:该程序可以自动跟踪目标计算机的屏幕变化、获取目标计算机登录口令及各种密码类信息、获取目标计算机系统信息、限制目标计算机系统功能、任意操作目标计算机文件及目录、远程关机、发送信息等多种监控功能。类似于BO2000。 (5)、KeyboardGhost:Windows系统是一个以消息循环(MessageLoop)为基础的操作系统。系统的核心区保留了一定的字节作为键盘输入的缓冲区,其数据结构形式是队列。键盘幽灵正是通过直接访问这一队列,使键盘上输入你的电子邮箱、代理的账号、密码Password(显示在屏幕上的是星号)得以记录,一切涉及以星号形式显示出来的密码窗口的所有符号都会被记录下来,并在系统根目录下生成一文件名为KG.DAT的隐含文件。 (6)、ExeBind:这个程序可以将指定的攻击程序捆绑到任何一个广为传播的热门软件上,使宿主程序执行时,寄生程序也在后台被执行,且支持多重捆绑。实际上是通过多次分割文件,多次从父进程中调用子进程来实现的。 五、网络攻击应对策略 在对网络攻击进行上述分析与识别的基础上,我们应当认真制定有针对性的策略。明确安全对象,设置强有力的安全保障体系。有的放矢,在网络中层层设防,发挥网络的每层作用,使每一层都成为一道关卡,从而让攻击者无隙可钻、无计可使。还必须做到未雨稠缪,预防为主 ,将重要的数据备份并时刻注意系统运行状况。以下是针对众多令人担心的网络安全问题,提出的几点建议 1、提高安全意识 (1)不要随意打开来历不明的电子邮件及文件,不要随便运行不太了解的人给你的程序,比如"特洛伊"类黑客程序就需要骗你运行。 (2)尽量避免从Internet下载不知名的软件、游戏程序。即使从知名的网站下载的软件也要及时用最新的病毒和木马查杀软件对软件和系统进行扫描。 (3)密码设置尽可能使用字母数字混排,单纯的英文或者数字很容易穷举。将常用的密码设置不同,防止被人查出一个,连带到重要密码。重要密码最好经常更换。 (4)及时下载安装系统补丁程序。 (5)不随便运行黑客程序,不少这类程序运行时会发出你的个人信息。 (6)在支持HTML的BBS上,如发现提交警告,先看源代码,很可能是骗取密码的陷阱。 2、使用防毒、防黑等防火墙软件。 防火墙是一个用以阻止网络中的黑客访问某个机构网络的屏障,也可称之为控制进/出两个方向通信的门槛。在网络边界上通过建立起来的相应网络通信监控系统来隔离内部和外部网络,以阻档外部网络的侵入。 3、设置代理服务器,隐藏自已的IP地址。 保护自己的IP地址是很重要的。事实上,即便你的机器上被安装了木马程序,若没有你的IP地址,攻击者也是没有办法的,而保护IP地址的最好方法就是设置代理服务器。代理服务器能起到外部网络申请访问内部网络的中间转接作用,其功能类似于一个数据转发器,它主要控制哪些用户能访问哪些服务类型。当外部网络向内部网络申请某种网络服务时,代理服务器接受申请,然后它根据其服务类型、服务内容、被服务的对象、服务者申请的时间、申请者的域名范围等来决定是否接受此项服务,如果接受,它就向内部网络转发这项请求。 4、将防毒、防黑当成日常例性工作,定时更新防毒组件,将防毒软件保持在常驻状态,以彻底防毒。 5、由于黑客经常会针对特定的日期发动攻击,计算机用户在此期间应特别提高警戒。 6、对于重要的个人资料做好严密的保护,并养成资料备份的习惯。DOS攻击原理及方法介绍已经有很多介绍DOS(Denial of Service,即拒绝服务)攻击的文章,但是,多数人还是不知道DOS到底是什么,它到底是怎么实现的。本文主要介绍DOS的机理和常见的实施方法。因前段时间仔细了解了TCP/IP协议以及RFC文档,有点心得。同时,文中有部分内容参考了Shaft的文章翻译而得。要想了解DOS攻击得实现机理,必须对TCP有一定的了解。所以,本文分为两部分,第一部分介绍一些实现DOS攻击相关的协议,第二部分则介绍DOS的常见方式。1、 什么是DOS攻击DOS:即Denial Of Service,拒绝服务的缩写,可不能认为是微软的dos操作系统了。好象在5·1的时候闹过这样的笑话。拒绝服务,就相当于必胜客在客满的时候不再让人进去一样,呵呵,你想吃馅饼,就必须在门口等吧。DOS攻击即攻击者想办法让目标机器停止提供服务或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。比如:* 试图FLOOD服务器,阻止合法的网络通?br>* 破坏两个机器间的连接,阻止访问服务* 阻止特殊用户访问服务* 破坏服务器的服务或者导致服务器死机 不过,只有那些比较阴险的攻击者才单独使用DOS攻击,破坏服务器。通常,DOS攻击会被作为一次入侵的一部分,比如,绕过入侵检测系统的时候,通常从用大量的攻击出发,导致入侵检测系统日志过多或者反应迟钝,这样,入侵者就可以在潮水般的攻击中混骗过入侵检测系统。2、有关TCP协议的东西TCP(transmission control protocol,传输控制协议),是用来在不可靠的因特网上提供可靠的、端到端的字节流通讯协议,在RFC793中有正式定义,还有一些解决错误的东西在RFC 1122中有记录,RFC 1323则有TCP的功能扩展。我们常见到的TCP/IP协议中,IP层不保证将数据报正确传送到目的地,TCP则从本地机器接受用户的数据流,将其分成不超过64K字节的数据片段,将每个数据片段作为单独的IP数据包发送出去,最后在目的地机器中再组合成完整的字节流,TCP协议必须保证可靠性。发送和接收方的TCP传输以数据段的形式交换数据,一个数据段包括一个固定的20字节头,加上可选部分,后面再跟上数据,TCP协议从发送方传送一个数据段的时候,还要启动计时器,当数据段到达目的地后,接收方还要发送回一个数据段,其中有一个确认序号,它等于希望收到的下一个数据段的顺序号,如果计时器在确认信息到达前超时了,发送方会重新发送这个数据段。 上面,我们总体上了解一点TCP协议,重要的是要熟悉TCP的数据头(header)。因为数据流的传输最重要的就是header里面的东西,至于发送的数据,只是header附带上的。客户端和服务端的服务响应就是同header里面的数据相关,两端的信息交流和交换是根据header中的内容实施的,因此,要实现DOS,就必须对header中的内容非常熟悉。下面是TCP数据段头格式。Source Port和 Destination Port :是本地端口和目标端口Sequence Number 和 Acknowledgment Number :是顺序号和确认号,确认号是希望接收的字节号。这都是32位的,在TCP流中,每个数据字节都被编号。Data offset :表明TCP头包含多少个32位字,用来确定头的长度,因为头中可选字段长度是不定的。Reserved : 保留的6位,现在没用,都是0接下来是6个1位的标志,这是两个计算机数据交流的信息标志。接收和发送断根据这些标志来确定信息流的种类。下面是一些介绍: URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断ACK:(Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,CK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送。知道这重要的6个指示标志后,我们继续来。16位的WINDOW字段:表示确认了字节后还可以发送多少字节。可以为0,表示已经收到包括确认号减1(即已发送所有数据)在内的所有数据段。接下来是16位的Checksum字段,用来确保可靠性的。16位的Urgent Pointer,和下面的字段我们这里不解释了。不然太多了。呵呵,偷懒啊。我们进入比较重要的一部分:TCP连接握手过程。这个过程简单地分为三步。在没有连接中,接受方(我们针对服务器),服务器处于LISTEN状态,等待其他机器发送连接请求。第一步:客户端发送一个带SYN位的请求,向服务器表示需要连接,比如发送包假设请求序号为10,那么则为:SYN=10,ACK=0,然后等待服务器的响应。第二步:服务器接收到这样的请求后,查看是否在LISTEN的是指定的端口,不然,就发送RST=1应答,拒绝建立连接。如果接收连接,那么服务器发送确认,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据发送给客户端。向客户端表示,服务器连接已经准备好了,等待客户端的确认这时客户端接收到消息后,分析得到的信息,准备发送确认连接信号到服务器第三步:客户端发送确认建立连接的消息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1。即:SYN=11,ACK=101。这时,连接已经建立起来了。然后发送数据,<SYN=11,ACK=101><DATA>。这是一个基本的请求和连接过程。需要注意的是这些标志位的关系,比如SYN、ACK。3、服务器的缓冲区队列(Backlog Queue)服务器不会在每次接收到SYN请求就立刻同客户端建立连接,而是为连接请求分配内存空间,建立会话,并放到一个等待队列中。如果,这个等待的队列已经满了,那么,服务器就不在为新的连接分配任何东西,直接丢弃新的请求。如果到了这样的地步,服务器就是拒绝服务了。 如果服务器接收到一个RST位信息,那么就认为这是一个有错误的数据段,会根据客户端IP,把这样的连接在缓冲区队列中清


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/590057.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-08
下一篇2023-07-08

发表评论

登录后才能评论

评论列表(0条)

    保存