病毒网络攻击基础知识

    2008-05-04 12:00:00           浏览数:0

第一部分:计算机病毒防治

一、什么是计算机病毒

   计算机病毒不同于生物医学上的“病毒”,计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用并能自我复制的一组计算机指令或者程序代码。由于它的所做所为与生物病毒很相像,人们才给它起了这么一个“响亮”的名字。与生物病毒不同的是几乎所有的计算机病毒都是人为地故意制造出来的,有时一旦扩散出来后连制造者自己也无法控制。它已经不是一个简单的技术问题,而是一个严重的社会问题了。目前,全球已有的计算机病毒约7万余种。

   下面我们将生物医学病毒与感染IBM-PC机的DOS环境下的病毒的特征进行对比。

生物病毒

计算机病毒

攻击生物机体特定细胞 攻击特定程序(所有*.COM 和*.EXE文 件[针对MS-DOS环境])
修改细胞的遗传信息,使病毒在被感染的细胞中繁殖 操纵程序使被感染程序能复制病毒程序
被感染的细胞不再重复感染,并且被感染的机体很长时间没有症状 很多计算机病毒只感染程序一次,被感染的程序很长时间可以正常运行
病毒并非感染所有的细胞,并且病毒可以产生变异 程序能够加上免疫标志,防止感染。但计算机病毒能够修改自身使免疫失效

二、网络蠕虫和特洛伊木马程序

   1988年一个由美国CORNELL大学研究生莫里斯编写的蠕虫病毒蔓延造成了数千台计算机停机,蠕虫病毒开始现身网络。而后来的红色代码,尼姆达病毒疯狂的时候,造成几十亿美元的损失。2003年1月26日, 一种名为“2003蠕虫王”的蠕虫病毒迅速传播并袭击了全球,致使互联网网路严重堵塞,互联网域名服务器瘫痪,造成网民浏览互联网网页及收发电子邮件的速度大幅减缓, 同时银行自动提款机的运作中断, 机票等网络预订系统的运作中断, 信用卡等收付款系统出现故障。国外专家估计,造成的直接经济损失在12亿美元以上。

   网络蠕虫(worm)主要是利用操作系统和应用程序漏洞传播,通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序,可以造成网络服务遭到拒绝并发生死锁。“蠕虫”由两部分组成:一个主程序和一个引导程序。 主程序一旦在机器上建立就会去收集与当前机器联网的其它机器的信息。它能通过读取公共配置文件并运行显示当前网上联机状态信息的系统实用程序而做到这一点。随后,它尝试利用前面所描述的那些缺陷去在这些远程机器上建立其引导程序。

   特洛伊木马程序(Trojan horse)是一个隐藏在合法程序中的非法的程序。该非法程序被用户在不知情的情况下被执行。其名称源于古希腊的特洛伊木马神话,传说希腊人围攻特洛伊城,久久不能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马摈弃于特洛伊城,让敌人将其作为战利品拖入城内。木马内的士兵则乘夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。
完整的木马程序一般由两个部分组成:一个是服务器程序,一个是控制器程序。“中了木马”就是指安装了木马的服务器程序,若你的电脑被安装了服务器程序,则拥有控制器程序的人就可以通过网络控制你的电脑、为所欲为,这时你电脑上的各种文件、程序,以及在你电脑上使用的帐号、密码就无安全可言了。木马程序不能算是一种病毒,但越来越多的新版的杀毒软件,已开始可以查杀一些木马了,所以也有不少人称木马程序为黑客病毒。

三、计算机病毒的传播

   计算机病毒的传播途径主要有:

   1、通过文件系统传播;
   2、通过电子邮件传播;
   3、通过局域网传播;
   4、通过互联网上即时通讯软件和点对点软件等常用工具传播;
   5、利用系统、应用软件的漏洞进行传播;
   6、利用系统配置缺陷传播,如弱口令、完全共享等;
   7、利用欺骗等社会工程的方法传播。

   计算机病毒的传播过程可简略示意如下:
 

 

四、计算机病毒的特征

   计算机病毒作为一种特殊的程序具有以下特征:

  (一)非授权可执行性,计算机病毒隐藏在合法的程序或数据中,当用户运行正常程序时,病毒伺机窃取到系统的控制权,得以抢先运行,然而此时用户还认为在执行正常程序;

  (二)隐蔽性,计算机病毒是一种具有很高编程技巧、短小精悍的可执行程序,它通常总是想方设法隐藏自身,防止用户察觉;

  (三)传染性,传染性是计算机病毒最重要的一个特征,病毒程序一旦侵入计算机系统就通过自我复制迅速传播。

  (四)潜伏性,计算机病毒具有依附于其它媒体而寄生的能力,这种媒体我们称之为计算机病毒的宿主。依靠病毒的寄生能力,病毒可以悄悄隐藏起来,然后在用户不察觉的情况下进行传染。

  (五)表现性或破坏性。无论何种病毒程序一旦侵入系统都会对操作系统的运行造成不同程度的影响。即使不直接产生破坏作用的病毒程序也要占用系统资源。而绝大多数病毒程序要显示一些文字或图象,影响系统的正常运行,还有一些病毒程序删除文件,甚至摧毁整个系统和数据,使之无法恢复,造成无可挽回的损失。

  (六)可触发性,计算机病毒一般都有一个或者几个触发条件。一旦满足触发条件或者激活病毒的传染机制,使之进行传染;或者激活病毒的表现部分或破坏部分。触发的实质是一种条件的控制,病毒程序可以依据设计者的要求,在一定条件下实施攻击。这个条件可以是敲入特定字符,某个特定日期或特定时刻,或者是病毒内置的计数器达到一定次数等。

五、用户计算机中毒的24种症状

     一是计算机系统运行速度减慢。
     二是计算机系统经常无故发生死机。
     三是计算机系统中的文件长度发生变化。
     四是计算机存储的容量异常减少。
     五是系统引导速度减慢。
     六是丢失文件或文件损坏。
     七是计算机屏幕上出现异常显示。
     八是计算机系统的蜂鸣器出现异常声响。
     九是磁盘卷标发生变化。
     十是系统不识别硬盘。
     十一是对存储系统异常访问。
     十二是键盘输入异常。
     十三是文件的日期、时间、属性等发生变化。
     十四是文件无法正确读取、复制或打开。
     十五是命令执行出现错误。
     十六是虚假报警。
     十七是换当前盘。有些病毒会将当前盘切换到C盘。
     十八是时钟倒转。有些病毒会命名系统时间倒转,逆向计时。
     十九是WINDOWS操作系统无故频繁出现错误。
     二十是系统异常重新启动。
     二十一是一些外部设备工作异常。
     二十二是异常要求用户输入密码。
     二十三是WORD或EXCEL提示执行“宏”。
     二十四是不应驻留内存的程序驻留内存。

六、计算机病毒防治策略

   计算机病毒的防治要从防毒、查毒、解毒三方面来进行;系统对于计算机病毒的实际防治能力和效果也要从防毒能力、查毒能力和解毒能力三方面来评判。
 
  (一)防毒。是指根据系统特性,采取相应的系统安全措施预防病毒侵入计算机。防毒能力是指通过采取防毒措施,可以准确、实时监测预警经由光盘、软盘、硬盘不同目录之间、局域网、互联网(包括FTP方式、E-MAIL、HTTP方式)或其它形式的文件下载等多种方式的病毒感染;能够在病毒侵入系统时发出警报,记录携带病毒的文件,即时清除其中的病毒;对网络而言,能够向网络管理员发送关于病毒入侵的信息,记录病毒入侵的工作站,必要时还要能够注销工作站,隔离病毒源。
 
  (二)查毒。是指对于确定的环境,能够准确地报出病毒名称,该环境包括内存、文件、引导区(含主引导区)、网络等。查毒能力是指发现和追踪病毒来源的能力,通过查毒能准确地发现信息网络是否感染有病毒,准确查找出病毒的来源,给出统计报告;查解病毒的能力应由查毒率和误报率来评判。
 
  (三)解毒。是指根据不同类型病毒对感染对象的修改,并按照病毒的感染特性所进行的恢复。该恢复过程不能破坏未被病毒修改的内容。感染对象包括内存、引导区(含主引导区)、可执行文件、文档文件、网络等。解毒能力是指从感染对象中清除病毒,恢复被病毒感染前的原始信息的能力。

七、计算机病毒诊断方法

   通常计算机病毒的检测方法有两种:

  (一)手工检测。是指通过一些软件工具(如DEBUG.COM、PCTOOLS.EXE、NU.COM、SYSINFO.EXE等)提供的功能进行病毒的检测。这种方法比较复杂,需要检测者熟悉机器指令和操作系统,因而无法普及。它的基本过程是利用一些工具软件,对易遭病毒攻击和修改的内存及磁盘的有关部分进行检查,通过和正常情况下的状态进行对比分析,来判断是否被病毒感染。这种方法检测病毒,费时费力,但可以剖析新病毒,检测识别未知病毒,可以检测一些自动检测工具不认识的新病毒。

  (二)自动检测。是指通过一些诊断软件来判读一个系统或一个软盘是否有毒的方法。自动检测则比较简单,一般用户都可以进行,但需要较好的诊断软件。这种方法可方便地检测大量的病毒,但是,自动检测工具只能识别已知病毒,而且自动检测工具的发展总是滞后于病毒的发展,所以检测工具对未知病毒很难识别。

八、如何防范特洛伊木马攻击


   特洛伊木马是在执行看似正常的程序时,还同时运行了未被察觉的有破坏性的程序;木马通常能够将重要的信息传送给攻击者,而且攻击者可以把任意数量的程序植入木马,计算机一旦感染上木马程序,后果不堪设想。那么,对于木马的防范我们可以采取以下措施:

  (一)运行反木马实时监控程序

   我们在上网时,必需运行反木马实时监控程序。例如the cleaner,它的实时监控程序TCA,可即时显示当前所有运行程序并有详细的描述信息。另外,也可采用一些专业的最新杀毒软件、个人防火墙进行监控。

  (二)不要执行任何来历不明的软件

   对于从网上下载的软件在安装、使用之前一定要用反病毒软件进行检查,确定没有木马程序再执行、使用。

  (三)不要轻易打开不熟悉的邮件

   现在,很多木马程序附加在邮件附件中,收邮件者一旦点击附件,它就会立即运行。所以,千万不要打开那些不熟悉的邮件,特别是标题有点乱的邮件,往往就是木马携带者。

  (四)不要轻信他人

   不要因为是我们的好朋友发来的软件就运行,因为我们不能确保他的电脑就不会有木马程序。当然,好朋友故意欺骗的可能性不大,但也许他(她)中了木马程序自己还不知道呢!况且今天的互联网到处充满危机,也许是别人冒名给我们发的邮件。

  (五)不要随便下载软件、视频文件

   不要随便在网上下载一些盗版软件和视频文件、特别是不可靠的小FTP站、公众新闻级、论坛或BBS上,因为这些地方正是新木马发布的首先之地。

  (六)将windows资源管理器配置成始终显示扩展名

   因为一些扩展名为:VBS、SHS、PIF的文件多为木马程序的特征文件,一经发现要立即删除,千万不要打开。

  (七)尽量少用共享文件夹

   如果计算机连接在互联网或局域网上,要少用,尽量不用共享文件夹,如果因工作等其他原因必需设置成共享,则最好单独开一个共享文件夹,把所有需共享的文件都放在这个共享文件夹中。注意,千万不要把系统目录设置成共享!

  (八)隐藏IP地址

   我们在上网时,最好用一些工具软件隐藏自己计算机的IP地址。例如,使用ICQ时,可以进入“ICQMenu\Securi-ty&Privacy”,把“IP Publishing”下面的“Do not Publish IP address”选项上。

九、网络病毒的清理和防治

   网络病毒的清理防治方法主要有:

   1、全面地与互联网结合,对网络层、邮件客户端进行实时监控,防止病毒入侵;
  
   2、快速反应的病毒检测网,在病毒爆发的第一时间即能提供解决方案;

   3、病毒防治产品完善的在线升级,随时拥有最新的防病毒能力;

   4、对病毒经常攻击的应用程序提供重点保护(如Office、Outlook、IE、ICQ/QQ等);

   5、获取完整、即时的反病毒咨询,尽快了解新病毒的特点和解决方案。

十、如何防治病毒

   根据计算机病毒的传播特点,防治计算机病毒关键是注意以下几点:

  (一)要提高对计算机病毒危害的认识。计算机病毒再也不是象过去那样的无关紧要的小把戏了,在计算机应用高度发达的社会,计算机病毒对信息网络破坏造成的危害越来越大大。

  (二)养成使用计算机的良好习惯。对重要文件必须保留备份、不在计算机上乱插乱用盗版光盘和来路不明的盘,经常用杀毒软件检查硬盘和每一张外来盘等。

  (三)大力普及杀毒软件,充分利用和正确使用现有的杀毒软件,定期查杀计算机病毒,并及时升级杀毒软件。有的用户对杀毒软件从不升级,仍用几年前的老版本来对付新病毒;有的根本没有启用杀毒软件;还有的则不会使用杀毒软件的定时查杀等功能。

  (四)及时了解计算机病毒的发作时间,及时采取措施。大多数计算机病毒的发作是有时间限定的。如CIH病毒的三个变种的发作时间就限定为4月26日、6月26日、每月26日。特别是在大的计算机病毒爆发前夕。

  (五)开启计算机病毒查杀软件的实时监测功能,特别是有利于及时防范利用网络传播的病毒,如一些恶意脚本程序的传播。

  (六)加强对网络流量等异常情况的监测,做好异常情况的技术分析。对于利用网络和操作系统漏洞传播的病毒,可以采取分割区域统一清除的办法,在清除后要及时采取打补丁和系统升级等安全措施。

  (七)有规律的备份系统关键数据,建立应对灾难的数据安全策略,如灾难备份计划(备份时间表、备份方式、容灾措施)和灾难恢复计划,保证备份的数据能够正确、迅速地恢复。

十一、如何选择计算机病毒防治产品

   一般用户应选择:
   1、具有发现、隔离并清除病毒功能的计算机病毒防治产品;
   2、产品是否具有实时报警(包括文件监控、邮件监控、网页脚本监控等)功能;
   3、多种方式及时升级;
   4、统一部署防范技术的管理功能;
   5、对病毒清除是否彻底,文件修复后是否完整、可用;
   6、产品的误报、漏报率较低;
   7、占用系统资源合理,产品适应性较好。
   对于企业用户要选择能够从一个中央位置进行远程安装、升级,能够轻松、自动、快速地获得最新病毒代码、扫描引擎和程序文件,使维护成本最小化的产品;产品提供详细的病毒活动记录,跟踪病毒并确保在有新病毒出现时能够为管理员提供警报;为用户提供前瞻性的解决方案,防止新病毒的感染;通过基于web和Windows的图形用户界面提供集中的管理,最大限度地减少网络管理员在病毒防护上所花费的时间。

十二、计算机病毒防治管理办法

   为了加强计算机病毒的防治管理工作,2000年公安部发布了《计算机病毒防治管理办法》。规定各级公安机关负责本行政区域内的计算机病毒防治管理工作。

   规定禁止制作、传播计算机病毒,向社会发布虚假计算机病毒疫情,承担计算机病毒的认定工作的机构应由公安部公共信息网络安全监察部门批准,计算机信息系统的使用单位应当履行防治计算机病毒的职责。

第二部分:防范网络攻击

一、保护WEB服务器的关键是什么?

   WEB服务器自身脆弱性:Web服务器软件自身存在安全问题,如Web服务器软件缺省安装提供了过多的不必要功能,密码过于简单遭到破解,当服务器管理员使用了不安全协议的软件(如telnet)进行管理时,被监听而导致信息外泄。

   Web应用程序安全性差:主要是指CGI程序和ASP、PHP脚本等等程序的安全性。这些程序大大扩展了Web服务器的功能,但它们往往只重功能而忽视了安全性。

   保护WEB服务的方法:
  
   1、用防火墙保护网站,可以有效地对数据包进行过滤,是网站的第一道防线;

   2、用入侵监测系统监测网络数据包,可以捕捉危险或有恶意的访问动作,并能按指定的规则,以记录、阻断、发警报等等多种方式进行响应,既可以实时阻止入侵行为,又能够记录入侵行为以追查攻击者;

   3、正确配置Web服务器,跟踪并安装服务器软件的最新补丁;

   4、服务器软件只保留必要的功能,关闭不必要的诸如FTP、SMTP等公共服务,修改系统安装时设置的默认口令,使用足够安全的口令;

   5、远程管理服务器使用安全的方法如SSH,避免运行使用明文传输口令的telnet、ftp等程序;

   6、谨慎使用CGI程序和ASP、PHP脚本程序7、使用网络安全检测产品对安全情况进行检测,发现并弥补安全隐患。

二、如何防范CGI脚本漏洞

   CGI(COMMOM GATE INTERFACE)是外部应用程序与WEB服务器交互的一个标准接口,它可以完成客户端与服务器的交互操作。CGI带来了动态的网页服务,CGI脚本是主页安全漏洞的主要来源,这主要是由于CGI程序设计不当,暴露了未经授权的数据。通过构造特殊字符串给CGI程序就可能得到这种权限。

   防范CGI脚本漏洞主要是:

   1、使用最新版本的Web服务器,安装最新的补丁程序,正确配置服务器;

   2、按照帮助文件正确安装CGI程序,删除不必要的安装文件和临时文件;

   3、使用C编写CGI程序时,使用安全的函数;

   4、使用安全有效的验证用户身份的方法;

   5、验证用户的来源,防止用户短时间内过多动作;

   6、推荐过滤“& ; ` ' \ ” | * ? ~ < > ^ ( ) [ ] { } $ \n \r \t \0 # ../;

   7、在设计CGI脚本时,其对输入数据的长度有严格限制;

   8、实现功能时制定安全合理的策略,CGI程序还应具有检查异常情况的功能,在检查出陌生数据后CGI应能及时处理这些情况。

三、如何保护FTP服务器

  (一)禁止匿名登录。允许匿名访问有时会导致被利用传送非法文件。取消匿名登录,只允许被预定义的用户帐号登录,配置被定义在FTP主目录的ACL[访问控制列表]来进行访问控制,并使用NTFS许可证。

  (二)设置访问日志。通过访问日志可以准确得到哪些IP地址和用户访问的准确纪录。定期维护日志能估计站点访问量和找出安全威胁和漏洞。

  (三)强化访问控制列表。采用NTFS访问许可,运用ACL[访问控制列表]控制对您的FTP目录的的访问。

  (四)设置站点为不可视。如您只需要用户传送文件到服务器而不是从服务器下载文件,可以考虑配置站点为不可视。这意味着用户被允许从FTP目录写入文件不能读取。这样可以阻止未授权用户访问站点。要配置站点为不可视,应当在“站点”和“主目录”设置访问许可。

  (五)使用磁盘配额。磁盘配额可能有效地限制每个用户所使用的磁盘空间。授予用户对自己上传的文件的完全控制权。使用磁盘配额可以检查用户是否超出了使用空间,能有效地限制站点被攻破所带来的破坏。并且,限制用户能拥有的磁盘空间,站点将不会成为那些寻找空间共享媒体文件的黑客的目标。

  (六)使用访问时间限制。限制用户只能在指定的日期的时间内才能登陆访问站点。如果站点在企业环境中使用,可以限制只有在工作时间才能访问服务请。下班以后就禁止登录以保障安全。

  (七)基于IP策略的访问控制。FTP可以限制具体IP地址的访问。限制只能由特定的个体才能访问站点,可以减少未批准者登录访问的危险。

  (八)审计登陆事件。审计帐户登录事件,能在安全日志查看器里查看企图登陆站点的(成功/失败)事件,以警觉一名恶意用户设法入侵的可疑活动。它也作为历史记录用于站点入侵检测。

  (九)使用安全密码策略。复杂的密码是采用终端用户认证的安全方式。这是巩固站点安全的一个关键部分,FTP用户帐号选择密码时必须遵守以下规则:不包含用户帐号名字的全部或部份;必须是至少6个字符长;包含英文大、小写字符、数字和特殊字符等多个类别。

  (十)限制登录次数。Windows系统安全策略允许管理员当帐户在规定的次数内未登入的情况下将帐户锁定。

四、邮件服务器易受哪些攻击,如何保护邮件服务器

   目前互连网上的邮件服务器所受攻击有两类:一类就是中继利用(Relay),即远程机器通过你的服务器来发信,这样任何人都可以利用你的服务器向任何地址发邮件,久而久之,你的机器不仅成为发送垃圾邮件的帮凶,也会使你的网络流量激增,同时将可能被网上的很多邮件服务器所拒绝;另一类攻击称为垃圾邮件(Spam),即人们常说的邮件炸弹,是指在很短时间内服务器可能接收大量无用的邮件,从而使邮件服务器不堪负载而出现瘫痪。这两种攻击都可能使邮件服务器无法正常工作。

   防止邮件服务器被攻击的方法有三种:

   第一种是升级高版本的服务器软件,利用软件自身的安全功能限制垃圾邮件的大量转发或订阅反垃圾邮件服务;
  
   第二种就是采用第三方软件利用诸如动态中继验证控制功能来实现,从而确保接受邮件的正确性;

   第三种是配置病毒网关、病毒过滤等功能,从网络的入口开始,阻止来自互联网的邮件病毒入侵,同时还要防止它们在进出公司内部网络时的传播。

五、DNS服务器易受哪些攻击,如何保护DNS服务器

   由于DNS服务使用UDP协议,因此对于攻击者而言,更容易把攻击焦点集中在DNS服务上。DNS服务面临的威胁包括:

   缓存区中毒:这种攻击是指黑客在主DNS服务器向辅DNS服务器进行区域传输时插入错误的DNS信息,一旦成功,攻击者便可使辅DNS服务器提供错误的名称到IP地址的解析信息;如果使用DNS缓存伪造信息的话,攻击者可以改变发向合法站点的传输流方向,使它传送到攻击者控制的站点上;

   拒绝服务:对某些域名服务器的大规模拒绝服务攻击会造成互联网速度普遍下降或停止运行;

   域劫持:通过利用客户升级自己的域注册信息所使用的不安全机制,攻击者可以接管域注册过程来控制合法的域;

   泄漏网络拓朴结构:设置不当的DNS将泄漏过多的网络拓朴结构:如果你的DNS服务器允许对任何人都进行区域传输的话,那么你的整个网络架构中的主机名、主机IP列表、路由器名、路由器IP列表,甚至包括你的机器所在的位置等信息都会不知不觉的泄露出去。

   为了保护DNS服务器不受攻击,首先应当保护DNS服务器所存储的信息,而且此信息应当由创建和设计者才能修改。部分注册信息的登录方式仍然采用一些比较过时的方法,如采用电子邮件的方式就可以升级DNS注册信息,这些过时的方法需要添加安全措施,例如采用加密的口令,或者采用安全的浏览器平台工具来提供管理域代码记录的方式;其次是正确配置区域传输,即只允许相互信任的DNS服务器之间才允许传输解析数据;还要应用防火墙配合使用,使得DNS服务器位于防火墙的保护之内,只开放相应的服务端口和协议;还有一点需要注意的是使用那些较新的DNS软件,因为他们中有些可以支持控制访问方式记录DNS信息,因此域名解析服务器只对那些合法的请求作出响应。内部的请求可以不受限制的访问区域信息,外部的请求仅能访问那些公开的信息;最后系统管理员也可以采用分离DNS的方式,内部的系统与外部系统分别访问不同的DNS系统,外部的计算机仅能访问公共的记录。

六、路由器面临有哪些威胁,如何保护路由器的安全

   路由器作为互联网上重要的地址信息路由设备,直接暴露于网络之中。攻击路由器会浪费CPU周期,误导信息流量,使网络陷于瘫痪。路由器面临的威胁有:

   将路由器作为攻击平台:入侵者利用不安全的路由器作为生成对其他站点扫描或侦察的平台;

   拒绝服务:尽管路由器在设计上可以传送大量的数据流,但是它同样不能处理传送给大于它传输能力的流量。入侵者利用这种特性攻击连接到网络上的路由器,而不是直接攻击网络上的系统,从而造成对路由器的拒绝服务攻击;

   明文传输配置信息:许多网络管理员未关闭或加密Telnet会话,因此若明文传输的口令被截取,黑客就可以任意配置路由器。
好的路由器本身会采取一个好的安全机制来保护自己,但是仅此一点是远远不够的。保护路由器安全还需要网管员在配置和管理路由器过程中采取相应的安全措施:

  (一)限制系统物理访问:限制系统物理访问是确保路由器安全的最有效方法之一,即将控制台和终端会话配置成在较短闲置时间后自动退出系统;避免将调制解调器连接至路由器的辅助端口也很重要。一旦限制了路由器的物理访问,用户一定要确保路由器的安全补丁是最新的。因为漏洞常常是在供应商发行补丁之前被披露,这就使得黑客抢在供应商发行补丁之前利用受影响的系统,这需要引起用户的关注。

  (二)加强口令安全:黑客常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。另外,一旦重要的网管员工辞职,用户应该立即更换口令。用户应该启用路由器上的口令加密功能,实施合理的验证控制以便路由器安全地传输数据。

  (三)应用身份验证功能:在大多数路由器上,用户可以配置一些加密和认证协议,如远程验证拨入用户服务。验证控制可以将用户的验证请求转发给通常在后端网络上的验证服务器,验证服务器还可以要求用户使用双因素验证,以此加强验证系统。

  (四)禁用不必要服务:拥有众多路由服务是件好事,但近来许多安全事件都凸显了禁用不需要本地服务的重要性,如禁止CDP服务;需要注意的是,禁用路由器上的CDP可能会影响路由器的性能。定时对有效操作网络是必不可少的,即使用户确保了部署期间时间同步,经过一段时间后,时钟仍有可能逐渐失去同步。由此,用户可以利用名为网络时间协议(NTP)的服务,对照有效准确的时间源以确保网络上的设备时针同步;不过,确保网络设备时钟同步的最佳方式不是通过路由器,而是在防火墙保护的网络区段放一台NTP服务器,将该服务器配置成仅允许向外面的可信公共时间源提出时间请求。另外,在路由器上,对于SNMP、DHCP以及WEB管理服务等,只有绝对必要的时候才可使用这些服务。

  (五)限制逻辑访问:限制逻辑访问主要是借助于合理处置访问控制列表,限制远程终端会话有助于防止黑客获得系统逻辑访问。其中SSH是优先的逻辑访问方法,还可以使用终端访问控制,以限制只能访问可信主机。因此,用户需要给Telnet在路由器上使用的虚拟终端端口添加一份访问列表。

  (六)有限使用ICMP消息类型:控制消息协议(ICMP)有助于排除故障,但也为攻击者提供了用来浏览网络设备、确定本地时间戳和网络掩码以及对OS修正版本作出推测的信息。因此,为了防止黑客搜集上述信息,只允许以下类型的ICMP流量进入用户网络:主机无法到达的、端口无法到达的、源抑制的以及超出生存时间(TTL)的。此外,还应禁止ICMP流量以外的所有流量,以防止拒绝服务攻击。

  (七)控制流量有限进入网络:为了避免路由器成为DoS攻击目标,用户应该拒绝以下流量进入:没有IP地址的包、采用本地主机地址、广播地址、多播地址以及任何假冒的内部地址的包。虽然用户无法杜绝DoS攻击,但用户可以限制DoS的危害;另外,用户还可以采取增加SYN ACK队列长度、缩短ACK超时等措施来保护路由器免受TCP SYN的攻击。

  (八)安全使用SNMP/TELNET:如果用户使用SNMP,那么一定要选择功能强大的共用字符串,最好是使用提供消息加密功能的SNMP V3。如果不通过SNMP管理对设备进行远程配置,用户最好将SNMP设备配置成只读;拒绝对这些设备进行写操作,用户就能防止黑客改动或关闭接口。为进一步确保安全管理,用户可以使用SSH等加密机制,利用SSH与路由器建立加密的远程会话;为了加强保护,用户还应该限制SSH会话协商,只允许会话用于同用户经常使用的几个可信系统进行通信。

七、防范缓冲区溢出攻击

   缓冲区溢出(又称堆栈溢出)攻击是最常用的黑客技术之一。这种攻击之所以泛滥,是由于开放源代码程序的本质决定的。Unix本身以及其上的许多应用程序都是用C语言编写的,而C语言不检查缓冲区的边界。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区,这就称作“缓冲区溢出”。一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误;但是,如果输入的数据是经过“黑客”精心设计的,覆盖缓冲区的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。尽管这项攻击的技术要求非常高,而一旦执行这项攻击的程序被设计出来却是非常简单的。

   由于缓冲区溢出是一个编程问题,所以他们只能通过修复被破坏的程序代码来解决问题。从“缓冲区溢出攻击”的原理可以看出,要防止此类攻击,我们可以在开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。经常检查操作系统和应用程序提供商的站点,一旦发现补丁程序就马上下载是最好的方法。

八、防范IP欺骗攻击

   IP欺骗技术就是伪造某台主机的IP地址的技术。通过IP地址的伪装使得某台主机能够伪装另外的一台主机,而这台主机往往具有某种特权或者被另外的主机所信任。假设现在有一个合法用户(1.1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击时,伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务。

   虽然IP欺骗攻击有着相当难度,但我们应该清醒地意识到,这种攻击非常广泛,入侵往往由这里开始。预防这种攻击还是比较容易的,比如删除UNIX中所有的/etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/inetd.conf文件,使得RPC机制无法应用。另外,还可以通过设置防火墙过滤来自外部而信源地址却是内部IP的报文。

九、防范Syn Flood攻击

   SYN Food攻击是利用特殊的程序,设置TCP的Header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。如果你的SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了。其他合法用户的连接都被拒绝掉。此时,服务器已经无法再提供正常的服务了,所以SYN Food攻击是拒绝服务攻击。
对于SYN Flood攻击,目前尚没有很好的监测和防御方法,不过如果系统管理员熟悉攻击方法和系统架构,通过一系列的设定,也能从一定程度上降低被攻击系统的负荷,减轻负面的影响。

   对于Windows系统而言,它的SYN攻击保护机制可以这样考虑:正常情况下,OS对TCP连接的一些重要参数有一个常规的设置:SYN Timeout时间、SYN-ACK的重试次数、SYN报文从路由器到系统再到Winsock的延时等等。这个常规设置针对系统优化,可以给用户提供方便快捷的服务;一旦服务器受到攻击,SYN Half link 的数量超过系统中TCP活动Half Connction最大连接数的设置,系统将会认为自己受到了SYN Flood攻击,并将根据攻击的判断情况作出反应:减短SYN Timeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等等措施,力图将攻击危害减到最低。如果攻击继续,超过了系统允许的最大Half Connection值,系统已经不能提供正常的服务了,为了保证系统不崩溃,可以将任何超出最大Half Connection 值范围的SYN报文随机丢弃,保证系统的稳定性。

十、防范UDP Flood攻击

   UDP Flood攻击是导致基于主机的服务拒绝攻击的一种。UDP 是一种无连接的协议,而且它不需要用任何程序建立连接来传输数据。当攻击者随机地向受害系统的端口发送UDP数据包的时候,就可能发生了UDP Flood攻击。当受害系统接收到一个UDP数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的UDP数据包的时候,整个系统就会瘫痪。
在网络的关键之处使用防火墙对来源不明的有害数据进行过滤可以有效减轻 UDP Flood攻击。此外,在用户的网络中还应采取如下的措施:

(一)禁用或过滤监控和响应服务。

(二)禁用或过滤其它的 UDP 服务。

(三)如果用户必须提供一些 UDP 服务的外部访问,那么需要使用代理机制来保护那种服务,使它不会被滥用。

(四)对用户的网络进行监控以了解哪些系统在使用这些服务,并对滥用的迹象进行监控。

(五)对于一些小型的服务器,可以直接用防火墙添加规则的方法屏蔽掉。

十一、防范Land攻击


   Land攻击发生的条件是攻击者发送具有相同IP源地址、目标地址和TCP端口号的伪造TCP SYN数据包信息流。必须设置好SYN标记。其结果是该计算机系统将试图向自己发送响应信息,而受害系统将会受到干扰并会瘫痪或重启。最近的研究发现Windows XP SP2和 Windows 2003的系统对这种攻击的防范还是非常薄弱的。事实上,Sun 的操作系,BSD 和 Mac对这种攻击的防范都是非常薄弱的,所有这些系统都共享基于 TCP/IP 协议栈的BSD。

   服务供应商可以在边缘路由器的进入端口上安装过滤器对所有入内数据包的IP源地址进行检查,这样就可以阻止发生在会聚点后的LAND攻击。如果该源地址的前缀在预先规定的范围之内,则该数据包被转发,否则被丢弃。

十二、防范Smurf攻击

   Smurf攻击是利用Ping程序中使用的ICMP协议。攻击者首先制造出源地址是受攻击主机的IP地址的包;然后攻击者将这些包发送给不知情的第三方,使它们成为帮凶;如果攻击者发送足够的ICMP包,回应会超过受攻主机的承受能力;因此,Smurf攻击实际上是一种IP欺骗式的攻击,将导致拒绝服务攻击的结果。

十三、防范Fraggle攻击


   Fraggle攻击与Smurf攻击类似,只是利用UDP协议;虽然标准的端口是7,但是大多数使用Fraggle攻击的程序允许你指定其它的端口。
最好的防止系统受到Smurf和Fraggle攻击的方法是在防火墙上过滤掉ICMP报文,或者在服务器上禁止Ping,并且只在必要时才打开ping服务。

十四、防范Ping of Death攻击

   这种攻击通过发送大于65536字节的ICMP包使操作系统崩溃;通常不可能发送大于65536个字节的ICMP包,但可以把报文分割成片段,然后在目标主机上重组;最终会导致被攻击目标缓冲区溢出。
防止系统受到Ping of Death攻击的方法与防范Smurf和Fraggle攻击是相同的,可以在防火墙上过滤掉ICMP报文,或者在服务器上禁止Ping,并且只在必要时才打开ping服务。

十五、防范Tear Drop攻击

   Teardrop泪滴攻击利用UDP包重组时重叠偏移(假设数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的Data,也未超过第一片的尾部,这就是重叠现象。)的漏洞对系统主机发动拒绝服务攻击,最终导致主机菪掉;对于Windows系统会导致蓝屏死机,并显示STOP 0x0000000A错误。
检测这类攻击的方法是对接收到的分片数据包进行分析,计算数据包的片偏移量(Offset)是否有误。反攻击的方法是添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。尽可能采用最新的操作系统,或者在防火墙上设置分段重组功能,由防火墙先接收到同一原包中的所有拆分数据包,然后完成重组工作,而不是直接转发。因为防火墙上可以设置当出现重叠字段时所采用的规则。

十六、防范拒绝服务攻击

   尽管目前没有哪个网络可以免受拒绝服务(DoS)攻击,但如果采取以下几项措施,能起到一定的预防作用。

   1、确保所有服务器采用最新系统,并打上安全补丁。根据计算机紧急响应协调中心的发现,几乎每个受到DoS攻击的系统都没有及时打上补丁。

   2、确保管理员对所有主机进行检查,而不仅针对关键主机。这是为了确保管理员知道每个主机系统在运行什么?谁在使用主机?哪些人可以访问主机?否则,即使黑客侵犯了系统,也很难查明。

   3、确保从服务器相应的目录或文件数据库中删除未使用的服务,如FTP或NFS。

   4、禁止内部网通过Modem连接至PSTN系统。否则,黑客能通过电话线发现未受保护的主机,立刻就能访问极为机密的数据。

   5、禁止使用网络访问程序如Telnet、Ftp、Rsh、Rlogin和Rcp,使用加密的访问程序(如SSH)取代。SSH不会在网上以明文格式传送口令,而Telnet和Rlogin则正好相反,黑客能搜寻到这些口令,从而立即访问网络上的重要服务器。此外,若没有必要使用Rlogin登录,则最好在Unix上应该将.rhost和hosts.equiv文件删除,因为不用猜口令,这些文件就会提供登录访问。

   6、限制在防火墙外的网络文件共享。否则的话会使黑客有机会截获系统文件,并以特洛伊木马替换它,文件传输功能无异将陷入瘫痪。

   7、确保手头有一张最新的网络拓扑图。这张图应该详细标明TCP/IP地址、主机、路由器及其他网络设备,还应该包括网络边界、安全服务器区(SSN)及内部网部分。

   8、应用防火墙系统,在防火墙上运行端口映射程序或端口扫描程序。大多数事件是由于防火墙配置不当造成的,使DoS/DDoS攻击成功率很高,所以定要认真检查特权端口和非特权端口。

   9、检查所有网络设备、主机和服务器系统的日志。只要日志出现漏洞或时间出现变更,几乎可以肯定:相关的主机安全受到了危胁。