在51CTO安全频道特别策划的CISSP的成长之路系列的上一篇文章《复习访问控制(2)》里,J0ker给大家介绍了访问控制CBK里面一些常见的破坏信息资产保密性的威胁类型,那么什么类型的威胁会破坏信息资产的完整性和可用性?这便是本文将要介绍的两种具体威胁类型——拒绝服务(Denied of Services)和恶意代码(Malicious Code)。

  一、攻击类型介绍

  随着信息系统存在与外界进行数据交换的需求的增长,针对数据的传输过程的特定类型威胁也随着发展起来,并成为信息系统安全越来越严重的问题。我们可以按照这些威胁的作用形式,将它们分成两个攻击类型:主动攻击(Active Attack)和被动攻击(Passive Attack),它们的定义分别如下:

  主动攻击:指攻击者对正常的数据传输进行修改,或插入伪造的数据传输。主动攻击类型的威胁会破坏数据传输的完整性。

  被动攻击:指攻击者不对正常的数据传输的内容进行修改,而使用技术手段来获取数据传输的具体内容。被动攻击类型会破坏数据传输的保密性。

  关于属于这两种攻击类型的具体威胁及信息,有兴趣的朋友可以在CISSP CBK中的电信和网络安全章节找到,J0ker在后面的文章中也会进行详细介绍。

  1、拒绝服务攻击

  并不是所有的攻击行为都能划分到主动或被动攻击这两个类型中,下面J0ker要介绍的拒绝服务攻击就不属于主动或被动攻击类型。拒绝服务攻击是所有破坏资料可用性的攻击的总称,它通常的表现是由服务系统接受到恶意或意外输入的错误数据而导致崩溃,进而导致其他合法用户也无法使用服务系统的资源。发起拒绝服务攻击的攻击者不会尝试去偷取或损害信息系统中的敏感信息,而只是要使系统中的合法用户无法使用系统的信息资源。我们在日常生活中最常遇到的垃圾邮件就属于拒绝服务攻击的一种,在垃圾邮件很多的情况下,用户的邮箱就会充斥着垃圾邮件,用户正常的邮件就无法收发。

  拒绝服务攻击还包括其他的一些特例:

  分布式拒绝服务攻击(DDoS,Distributed Denied of Service):攻击者控制成百上千台机器同时向目标服务器发送数据包,导致目标服务器因为处理能力不足而响应缓慢或直接当机。攻击者所控制的机器网络称之为“僵尸网络”,也即我们经常能在媒体上看到的Botnet。

  

  图1

  死亡之Ping(Ping of Death):Ping常用来在网络上确定指定系统是否在线,它使用ICMP包来询问目标系统是否在线,目标系统在收到Ping程序所发送的ICMP包后,会向发送者返回一个ICMP包已收到的状态报告。如果攻击者在短时间内同时向目标系统发送大量的Ping ICMP包,目标系统就会因为忙于处理ICMP包而无法响应合法用户的信息资源请求。死亡之Ping是流行于1996-1997年间的拒绝服务攻击类型,由于它攻击成功的关键在于攻击者的带宽,因此随着通讯和软件技术的发展,近年来死亡之Ping这种拒绝服务攻击方式已经消亡,但作为CISSP了解拒绝服务攻击历史和来源的材料还是相当不错的。

  Smurfing:同样是使用Ping ICMP包所实施的拒绝服务攻击类型。攻击者向一组系统或一个内部网络发送包含有源地址为目标系统的伪造Ping ICMP包,接收ICMP包的存活系统就都会向目标系统反馈信息,目标系统就有可能因为处理数量巨大的反馈信息而无法响应合法用户的信息资源请求。Smurfing攻击可以看作是死亡之Ping的升级版,近几年互联网上还出现过类似Smurfing的邮件拒绝服务攻击,也即攻击者以目标系统名义伪造大量的邮件发送给许多服务器,导致目标系统的邮件服务被大量的退信所淹没。

  SYN洪水(SYN Flooding): SYN洪水是互联网上最流行的拒绝服务攻击方式,它利用了TCP协议需要进行三次握手的特点,向目标服务器发送了大量伪造源地址的SYN连接请求,占满目标服务器的连接队列,导致目标服务器无法响应合法的用户的信息资源请求。SYN洪水所需的网络资源不多,发起攻击的节点也不需要很多,因此这种拒绝服务攻击方式被攻击者广泛的使用在互联网上。下图是SYN洪水的示意图:

  

  图2

  2、恶意代码

  恶意代码是破坏信息完整性和可用性的主要威胁之一,它也是我们日常最常碰到的威胁之一。根据各种恶意软件的表现形式不同,可以分成以下几种类型:

  病毒(Virus):计算机病毒是一段可以附加到系统内已有可执行文件的可执行代码,它不能独立存在,只在程序被启动时随之启动,实施感染或破坏。病毒在发作时可能只显示一些玩笑信息,也可能会破坏系统文件,造成严重损失。

  蠕虫(Worm):蠕虫是通过网络自动复制、传播自身的恶意软件,它是一个独立的程序。早期有名的蠕虫有1980年代的莫里斯蠕虫事件,当时的蠕虫只有自动复制传播的功能。现代蠕虫已经和密码盗取、敏感信息获取等犯罪行为相结合,并使用了多种高级的编程技术。

  木马(Trojan Horse):木马是一种隐藏在用户系统中,并提供给攻击者访问到用户系统所有资源的恶意程序,它是一个或多个独立程序。木马不会像病毒那样将自己附加到系统内的可执行文件,也不会像蠕虫那样会自动复制传播,它通常通过网页浏览或电子邮件附件传播,是危害仅次于蠕虫的恶意软件。

  逻辑炸弹(Logical Bomb):逻辑炸弹是一种隐藏在系统中,在特定条件(日期、时间、操作等)会激活并执行破坏行为的恶意程序。

  下面我们来看看近几年造成较大经济损失的恶意软件事件:

  

  图3

  2003-2004年间的冲击波蠕虫以及2006-2008年的Storm蠕虫在扩散范围和造成经济损失的方面已经远远超越了它们的前辈。下面是来自SecureComputing的最新恶意软件分类。

  

  图4

  除了在上一个文章和本文提到的威胁之外,和访问控制相关的威胁还包括密码威胁。密码作为使用最广泛部署成本最低的访问控制手段,常常会面临以下的威胁:

  针对密码文件的攻击:攻击者常常会试图获取和破解存储有密码列表的密码文件,并获取其中的可用密码以进行非授权访问。

  弱口令:用户常常使用容易被猜到或破解的强度很弱的密码,比如和用户名相同的密码、生日、姓名等。

  社会工程学:攻击者可以通过欺骗用户获取有效的密码

  嗅探器:攻击者可以使用嗅探器获取在网络上明文或加密传输的密码信息

  硬件或软件记录器:攻击者可以使用键盘监听器(硬件)或Key logger(软件)这样的技术直接截获包含有用户密码的击键记录

  木马程序:攻击者使用带有密码拦截功能的木马程序来获取用户的密码。