A会首先查询自己的ARP缓存表,如果没有,则向局域网中所有的主机发送一个查询请求,正常情况下,只有B才会回复,并将自己的物理地址通报给A。这个过程中,如果有C恶意冒充B,将B的IP和一个错误的物理地址回复给A,则A与B所有的通信都将无法进行,这就是ARP欺骗攻击。
ARP欺骗攻击是常用的针对局域网的攻击方式。客户端主机是ARP欺骗攻击的主要发源地,同时也是ARP欺骗攻击的受害者。防范ARP攻击主要有两种途径:一是在客户端主机安装AntiARPSniffer、ARPKill等针对ARP欺骗工具的防护软件,360安全卫士等系统维护软件也有类似功能;二是采用静态的ARP缓存,在各主机上绑定网关的IP和MAC地址,同时在网关上绑定各主机的IP和MAC地址。
50.如何防范会话劫持攻击?
会话劫持(SessionHijack)是一种结合了嗅探(一种在网络上进行数据窃听的技术)以及欺骗技术在内的攻击手段。广义地说,会话劫持攻击就是在两台主机正常会话过程中,第三方攻击者在正常数据包中插入恶意数据对双方会话进行监听,甚至将双方的通信模式暗中改变,从而干涉两台机器之间的数据传输。由于攻击者介入其中,因而能轻易知道双方传输的数据内容,还能根据自己的意愿去左右它。会话劫持攻击有被动劫持、主动劫持两种形式,被动劫持在后台监视双方会话的数据流,从中获得敏感数据;主动劫持则是将会话中的某一台主机“踢”下线,然后由攻击者取代并接管会话。主动劫持让攻击者避开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的访问状态,危害严重。
会话劫持必须在适用MAC寻址的网络环境中才能发挥作用,必要时还要配合ARP协议欺骗,能同时满足这两个条件的只有局域网。
对个人用户而言,最有效的解决办法就是对数据进行加密,这样攻击者就根本没有机会进行会话劫持。另外,如果能阻止攻击者进行ARP欺骗,会话劫持攻击也无法进行。
51.什么是SQL注入攻击?如何防范?
SQL注入攻击是利用网站应用程序未对用户输入的合法性进行判断的缺陷,恶意构造SQL语句,执行权限之外的数据库操作,达到获取网站数据甚至控制主机的目的。
SQL注入攻击是目前网络攻击的主要手段之一,在一定程度上其安全风险高于缓冲区溢出漏洞,目前防火墙不能对SQL注入漏洞进行有效的防范。
防范SQL注入攻击,应注意对服务器端软件(如ServU等)及时升级,同时对数据库加强限制。一是要根据最小权限原则限制数据库连接权限;二是要加强对用户输入数据的验证,对分号、逗号、引号等特殊字符进行转换或过滤;三是要使用强数据类型,不要使用小数,限制用户输入的强度。
52.什么是跨站脚本攻击?如何防范?
跨站脚本攻击又称XSS攻击,攻击者通过在Web页面中插入HTML恶意代码,使用户在浏览该页面时,恶意代码被执行,达到窃取、修改用户信息,传播木马等目的。
图5.8跨站脚本攻击发展趋势防范XSS攻击,从网站管理员角度来说,应注重过滤特殊字符,限制输入长度,在代码层面上杜绝XSS漏洞出现的可能性;从个人角度来说,对于重要的网站特别是付费网站,应注意尽量手工输入URL地址,不要随意点击别人留在论坛留言板里的链接,不要打开来历不明的邮件、邮件附件、帖子等。
53.如何防范文件上传漏洞攻击?
很多网站都提供了文件上传功能,增强了网站的互动性,丰富了站点功能。然而如果不对上传文件进行严格的限制,就有可能造成文件上传漏洞。攻击者可以利用这个漏洞上传一些特定的文件,比如木马程序等,从而控制服务器。
造成文件上传漏洞的主要原因有两个:①网站程序没有对上传的文件进行类型检测,用户可以上传任意类型的文件;②对文件路径字符串过滤不严密,导致攻击者可以构造特定字符串绕过文件类型检查(如在路径中插入“\0”终止符)。
网站管理员应注意做好上传文件的检查,严格限定许可文件类型,过滤文件路径中的特殊字符,防止文件上传漏洞的出现。
54.如何防止页面篡改?
网站页面被篡改存在两种可能:一是网站被入侵,页面确实被篡改了;另一种是网站被劫持,攻击者通过劫持网络访问并发送欺骗页面给来访者,造成页面被篡改的表象,实际上页面并没有被篡改。
预防页面篡改,应做好技术防范,主要可采取以下手段:
①及时给操作系统、应用程序、数据库等打上最新的安全补丁。
②按照服务最小化的策略,关闭系统未使用的服务和端口。
③合理设计网站程序。代码编写中要严格对用户的输入进行过滤和审核,尽量不要采用第三方不明开发插件。
④加强用户管理,细分用户权限。普通的维护工作应使用独立的受限账户完成,不能使用拥有最高权限的系统管理员账户。
网站权限设置应包括网站目录文件的权限和网站虚拟目录的权限。
⑤设置复杂的管理员密码并定期更换。无论是系统管理员Administrator和Root,还是FTP及网站管理员的密码,都要设置为复杂密码。
⑥采用页面防篡改设备。现在防篡改技术已经比较成熟,大多数依靠数字水印的模式鉴别网页来源,一旦发现非法页面就会报警并将非法页面还原。
55.什么是入侵检测系统?有什么功能?
入侵检测(IntrusionDetection)是识别未经授权的系统访问或操纵的监督过程。网络管理员日常的系统检测、日志审核等工作,事实上就是在进行入侵检测。入侵检测系统(IDS,IntrusionDetectionSystem)是根据已有规则,对计算机网络进行入侵检测的软件或硬件系统。它可以智能化地完成入侵检测任务,减轻网络管理员的工作负担,防范具体的安全事件,给网络安全管理提供了一个集中、方便、有效的工具。
入侵检测系统能够识别口令破解、协议攻击、缓冲区溢出、恶意命令、漏洞扫描、未授权的文件操作、恶意代码、拒绝服务攻击等入侵行为,并进行记录形成日志。入侵检测日志可以帮助管理员明确网络攻击来源、评估入侵损失、判断攻击部位、完善网络安全管理。
入侵检测系统主要有基于主机(图5.9)和基于网络(图5.10)两类。基于主机的入侵检测系统在重要的系统服务器、工作站或用户机器上运行,它根据审计数据监视、寻找系统中的可疑活动。这类系统需要定义哪些属于不合法的活动,然后将这种安全策略转换为入侵检测规则。基于网络的入侵检测系统则是被动地在网络上监听整个网段上的信息流,通过捕获网络数据包来进行分析,从而检测出网络中发生的入侵现象。
56.什么是入侵防御系统?它与入侵检测系统有哪些区别?
入侵防御系统(IPS,IntrusionPreventionSystem)是指能对计算机网络系统中检测到的入侵行为进行自动处理(包括通报网络管理员、丢弃入侵数据报文、切断通信等)的软件或硬件设备。这种设备智能程度很高,大大减少了网络管理员的工作量,但是它也有一些缺陷:一是网络性能损耗。IPS要对流经的数据进行深度扫描和处理,因此它很容易造成网络性能的额外损耗,造成延时。
二是可能会因误判导致不良后果。IPS会自动对攻击动作进行防御,比如断开通信、关闭设备等。如果误判,将对系统运行造成不同程度的影响。
入侵检测与入侵防御系统是完全不同的两种产品。首先是功能不同。入侵检测系统是一种监管设备,用于监视网络环境,注重搜集攻击行为,健全网络安全策略;而入侵防御系统是一种防御设备,用于弥补防火墙防御的疏漏,注重主动拦截攻击行为,进一步过滤网络攻击。其次是部署位置不同,入侵检测系统作为旁路监听设备,不需要跨接在任何链路上;入侵防御系统作为防御设备,必须串接在网络上。
因此,用户在考虑系统安全方案时可根据需要灵活选择。如用户仅仅需要对网络安全状况进行了解监控(如行业监管部门),只需要部署IDS设备;如果用户希望得到一个充分安全的网络环境可以同时部署防火墙、入侵检测和入侵防御系统。