一、什么是零日攻击
要理解零日攻击,就得先来了解零日漏洞。据权威机构统计,现在我们使用的操作系统和应用程序,每一千行代码中就有可能存在四至五个编码漏洞。由于系统和应用程序的开发商不可能对所有的代码进行严格的检查,一般都是在系统和应用程序发行后,不断地进行后期测试才会发现不断发现这些漏洞,然后才会开发相应的漏洞补丁来修补这些漏洞,这就是我们经常说的系统补丁更新。但是,当系统或应用程序发行后,一些技术高超的黑客也会对它们进行反汇编,然后通过阅读代码,来找到编码中的漏洞。而由黑客找到的漏洞,他们并不会对外公布,最多也只是在其熟悉的内部流传。然后黑客就会自己编写此漏洞的利用脚本,对系统或应用程序发动攻击。通常,从系统或应用程序新漏洞的发现到利用,不会超过24
小时,由此就形像地把这种攻击称为零日攻击,将被利用的新漏洞称为零日漏洞。
通常,黑客实施一次零日攻击会按如下的流程来进行:
黑客发现漏洞——编写漏洞利用脚本——寻找目标发动攻击——进入目标网络或系统——安装后门控制系统或得到网络中机密数据——清除攻击痕迹
但是,并不是所有的黑客都会按这样的流程来进行零日攻击的,他们可能在进入系统或控制系统后,会对系统所在网络中的其它目标发动新的攻击,以得到更多的数据;或者将被攻入的系统作为攻击其它网络目标的跳板。
目前,所有的操作系统,包括Windows
、类Linux
、FreeBSD
和UNIX
,以及所有的网络应用程序,包括IIS
、FTP
、IE
和SMTP
等等都存在零日漏洞,也就存在被零日攻击的风险。正是由于零日攻击影响的范围非常广泛,而且,由于操作系统或应用程序在编码过程中不可能做到百分之百的没有错误,因此,零日攻击的风险会在以后相当长的一段时间来都会存在,因而现在我们就必需了解可以通过什么样的方法来解决零日攻击带来的安全风险。
二、为什么零日攻击这么危险