网络安全 频道

零日攻击的原理与防范

   零日攻击,一个新鲜的词语,微软IE7暴出重大的Zero-day attack漏洞的事件。由于现在还有许多的网络用户对零日攻击还不太了解,对零日攻击感到既害怕,又不知所措。因此,本文就和大家一起来剖析零日攻击的原理,然后根据其攻击原理,来了解应当使用哪些安全防范措施来减少零日攻击带来的安全风险。

  零日攻击的原理

  一、什么是零日攻击

  要理解零日攻击,就得先来了解零日漏洞。据权威机构统计,现在我们使用的操作系统和应用程序,每一千行代码中就有可能存在四至五个编码漏洞。由于系统和应用程序的开发商不可能对所有的代码进行严格的检查,一般都是在系统和应用程序发行后,不断地进行后期测试才会发现不断发现这些漏洞,然后才会开发相应的漏洞补丁来修补这些漏洞,这就是我们经常说的系统补丁更新。但是,当系统或应用程序发行后,一些技术高超的黑客也会对它们进行反汇编,然后通过阅读代码,来找到编码中的漏洞。而由黑客找到的漏洞,他们并不会对外公布,最多也只是在其熟悉的内部流传。然后黑客就会自己编写此漏洞的利用脚本,对系统或应用程序发动攻击。通常,从系统或应用程序新漏洞的发现到利用,不会超过24小时,由此就形像地把这种攻击称为零日攻击,将被利用的新漏洞称为零日漏洞。

  通常,黑客实施一次零日攻击会按如下的流程来进行:

  黑客发现漏洞——编写漏洞利用脚本——寻找目标发动攻击——进入目标网络或系统——安装后门控制系统或得到网络中机密数据——清除攻击痕迹

 但是,并不是所有的黑客都会按这样的流程来进行零日攻击的,他们可能在进入系统或控制系统后,会对系统所在网络中的其它目标发动新的攻击,以得到更多的数据;或者将被攻入的系统作为攻击其它网络目标的跳板。

  目前,所有的操作系统,包括Windows、类Linux、FreeBSD和UNIX,以及所有的网络应用程序,包括IIS、FTP、IE和SMTP等等都存在零日漏洞,也就存在被零日攻击的风险。正是由于零日攻击影响的范围非常广泛,而且,由于操作系统或应用程序在编码过程中不可能做到百分之百的没有错误,因此,零日攻击的风险会在以后相当长的一段时间来都会存在,因而现在我们就必需了解可以通过什么样的方法来解决零日攻击带来的安全风险。

  二、为什么零日攻击这么危险

  现在,存在的网络攻击有许多种,但为什么大家偏偏对零日攻击问题都感到非常的棘手呢?这主要是存在下列所示的两个原因:

  原因一:零日漏洞是由攻击者自己发现的,并且不会公布,而存在零日漏洞的系统或应用程序的开发商却并不一定知道这个新的漏洞,因此也就不会开发相应的漏洞补丁包来修补它。其实,就算开发商与攻击者同时发现了这个漏洞,但是,开发商发布漏洞补丁必需经过开发——测试——发布这三个阶段,速度再快也需要几天时间。而攻击者在发现零日漏洞后,会立即编写相应的漏洞利用脚本来攻击所有存在此漏洞的目标系统。在时间上,漏洞补丁发布速度就不可能赶上攻击者对此漏洞的利用速度。

  原因二:现在大多数网络用户使用的安全防范设备,如防火墙,UTM网关,以及入侵检测防御系统(IDS/IPS),主要还是利用网络攻击行为的攻击特征来检测恶意的网络流量。而由攻击者编写的零日漏洞利用脚本,由于在网络上是第一次使用,安全设备开发商就不可能知道这种零日攻击行为的攻击特征,因而这些安全防范设备的攻击特征库中也就不会存在这种攻击特征,安全设备也就不会检测到这种零日攻击行为了。

 其实,就算现在那些宣布具有主动防御功能的安全设备,由于目前的主动防御技术还不太完善,都存在漏报和误报的可能,并且,攻击者在编写攻击脚本时,还会通过一些手段来逃避这些安全设备的检测,因此,主动防御设备也不可能做到百分之百地完全防御零日攻击行为。

  正是由于存在上述这两个因素,而且由于目前所有的操作系统和应用程序都会存在零日漏洞,发现它们只是早晚的问题,才使得零日攻击每次都会攻击成功,并且每次都会造成非常广泛的影响,因而零日攻击已经是目前不折不扣的最棘手的网安全威胁之一。

0
相关文章