Internet攻击防范技术完全解析
来源:枯木安全小组 更新时间:2012-04-13

Internet已经成为一些人日常工作和生活的一部分。给人类社会信息化提供前所未有的机会。然而互联网是一个面向大众的、开放的网络,对于信息的保密和系统的安全考虑得并不完备,对于非法侵入、黑客攻击、保密性信息泄露等安全问题难以维护,而由Internet派生演变而来的Intranet同样也会遇到来自内部的侵扰,由于计算机网络不断地遭到非法入侵,重要情报资料不断地被窃取,甚至由此造成网络系统的瘫痪等,已给各个国家以及众多公司造成巨大的经济损失,甚至危害到国家和地区的安全,出于上述原因,一些重要部门和企业对于使用Intranet顾虑重重,以致不能充分享受到信息革命带来的巨大益处。这给网络发展提出了一个严峻的挑战,可以预见,计算机网络的安全问题是一个关系到人类生活的大事情,必须充分重视并设法解决它。

  安全性之所以显得如此脆弱,除了使用“自由”、缺乏有效的集中式统一管理外,其根本原因是与Internet 上信息传输的广域性和自身网络协议的开放性密切相关。

  一方面,当信息穿越Internet从一台计算机流向另一台计算机时,通常要经过很多中继结点,即主机或交换机。在整个传输过程中,信息的发送者和接收者只能对发送和接收端加以控制,而中间穿越Internet的过程则无法加以有效控制。如果穿越路由中存在假冒结点,信息很容易被截获和篡改,线路窃听所造成的信息泄露更是难以避免。因此,信息最终到达接收端后,其完整性和保密性当然也就无法保证。 另一方面,Internet自身的运行机制是一种开放型的协议机制。网络结点之间的通信是按照固定的机制,通过交换协议数据单元来完成的,以保证信息流按“包”或“帧”的形式无差错地传输。那么,只要所传的信息格式符合协议所规定的协议数据单元格式,那么,这些信息“包”或“帧”就可在网上自由通行。至于这些协议数据单元是否来自源发方,其内容是否真实,显然无法保证。这是在早期制定协议时,只考虑信息的无差错传输所带来的固有的安全漏洞,更何况某些协议本身在具体的实现过程中也可能会产生一些安全方面的缺陷。

  1988年发生在美国的Internet蠕虫(worm)事件,是涉及安全问题的典型例子。在蠕虫爆发后的一至两天内,使用BSD UNIX及变种SUNOS操作系统的主机受其影响的数目达到几千台。许多网络主机的管理员发现他们的机器中出现大量的命令解释器(shell)进程,甚至管理员也无法启动其他进程以清除它们,只好关闭电源以求恢复正常。但一旦机器重新启动,很快便重新充满大量的异常进程,使得用户原有工作不能完成。蠕虫侵入系统的方法大致有三种,其中之一是利用BSD UNIX电子邮件程序中的一个调试后门以及一个关于串处理函数的错误首先侵入系统,然后将蠕虫的主要代码引导进入系统。这次蠕虫事件一般被认为是计算机病毒开始受到广泛研究的标志,影响极其深远。

  针对不同的网络入侵和攻击手法,根据Internet网上不同子网的网络性能和不同用户具体的安全需求,可以采用以下成熟的安全防范策略。

  通讯数据加密

  可防止信息被非法窃听,使公开信道变为保密信道。密码技术的不断发展,为选择加密算法提供了多种可能。常用算法如:DES、RSA、IDEA、SAFERK64等,有的算法强度不够(如DES,密钥长度及复杂度相对不够),易受攻击;有的算法强度很高,但耗费时间也长,可能成为整个系统的瓶颈,降低了系统的运行效率,不能满足像在Inter net上进行多媒体影像传输等高速传输的要求。因此,可靠的安全性与网络的高效性往往是矛盾的,需要在安全风险与网络性能上折中考虑,可根据Internet上不同的实际应用来选择相适应的算法,对来自高层的会话实体进行加密。 现在常见的网络加密方式有下面三种:

链路加密:链路加密是对网中两个相邻节点之间传输的数据进行加密,在受保护数据所选定的路径上,任一对节点或相应的路由器之间安装有相应的加解密装置及相应的密钥。

  端-端方式加密:它对一对用户之间的数据连续地提供保护。它要求用户(而不是各节点采用相应密钥)对于传送信道的各中间节点,数据是保密的。

  混合加密:在此方式下,报文被两次加密(链路加密和端-端加密),而报头只由链路方式进行加密。

数据签名

  如RSA等公开密钥算法。信息的接收者利用信息发送者的公开密钥对签名做解密运算,以验证发送方的身份,排除非法冒充者。当收、发双方就某条消息来源发生纠纷时,根据签名还可裁定消息源是否为发方。抗否认机制在许多系统中(如证券交易、商业谈判等)经常采用。为了提高网络运行的效率,在实际的信息传输时,可连续传送多“包”数据后,再通过一个IP“包”进行一次签名验证。
  
  保护数据完整性


  虽然Internet网上的低层通信协议在数据传输过程中,通过使用序号、控制“包”、校验码等差错控制机制,能够有效地防止传输过程中的突发错误,但对网上“黑客”们的主动攻击(如对信息的恶意增删、修改)则显得无能为力。通过加入一些验证码等冗余信息,用验证函数进行处理,以发现信息是否被非法修改,避免用户或主机被伪造信息所欺骗。保护数据完整是对抗网上主动攻击者必不可少的一项功能。

  密钥管理

  虽然以密文的形式可以在相对安全的信道上传递信息,但万一密钥泄露或网上攻击者通过 积累大量密文而增加密文的破译机会,都会对安全通信造成威胁。因此,为了对密钥的产生、存储、传递和定期更换进行有效的控制而引入密钥管理机制,对增加网络的安全性也是至关重要的。已有的密钥管理方案很多,不仅与所采用的密码体制和算法有关,而且在强度、安全性、密钥更换的频度、效率等方面也各有利弊。例如,如果网上两端的用户或主机都高度信任,则拥有共同的密钥即可对付敌方的攻击,但若互不信任或有一方被怀疑为假冒,则不能拥有相同的密钥,而需要采用更复杂的密钥分配和管理策略。

  跟踪审计和包过滤

  不断地收集和积累有关的安全事件记录,并有选择地对其中的某些进行跟踪审计,以便对可能的破坏性行为提供有力的证据,根据这些消息,采取相应的安全策略和机制。例如,通过信息过滤机制,拒绝接收一切来自黑名单上的IP地址的信息,以杜绝网上的特定结点所产生的信息垃圾(如过时消息、广告、淫秽图片等)对正常用户的信息干扰和信息轰炸。

  访问控制

  安全系统对所有的被保护资源(主机、通道设备、服务程序等)结合所采用的密钥管理机制,预先规定各级访问权限、能力表及密钥等级,每一个经安全系统验证后的合法用户或主机,只能使用与其访问权限或密钥等级相匹配的系统资源。安全系统还利用跟踪审计功能对任何企图越权访问的行为进行监视、记录、提出警告或产生报警,以杜绝对所保护的资源的非法使用。 但过多地采用访问控制机制,势必降低了网上一些资源的共享程度和用户对其访问的自由度。因此,需要在安全性、共享性和方便性之间进行平衡。

  信息流控制

  只有在网络负荷、控制复杂度都允许的条件下,才能使用信息流控制机制。它通过填充报文长度、增发伪报文等方式,扰乱网上攻击者对信息流量的分析,进一步增加线路窃听的难度。

  综合计算机网络的开放性、共享性和高效性来构造一个绝对安全的网络环境是很难的,必须从整体和系统的角度对诸多因素进行折中。

  Internet网自身的复杂性也导致了其安全问题的复杂性,而安全问题产生的根本原因是由于其网络协议的开放性和信息传输的广域性所引起的,我们应使用多项安全技术以对抗Internet上所潜在的各种威胁。