在迈克菲实验室(McAfeeLabs)的威胁警告中,漏洞这个字眼几乎随处可见。无论是发现了一个“漏洞”,还是在某些版本中存在“漏洞”,这样的描述都司空见惯。那么,究竟什么是“漏洞”?漏洞是一种在某些情况下会导致程序错误运行的程序错误(bug)。攻击者常常会利用漏洞来滥用程序实施破坏。
如果把系统比作成一个建筑物,那么在这个建筑物中,操作系统(OS)是基础结构,为系统提供支持,为建筑物提供支撑作用。应用程序则是建筑物中的房间,或者是房间中的各种设施,都是在建筑搭建好的基础架构上实现的,系统用户是建筑物里的住户。门和窗是建筑物里各个房间之间的交互通道,它们是早就设定好的,而漏洞,则是一些本不该存在的门、窗户,或者是墙上莫名出现的一个洞,更有可能是一些会破坏建筑物的危险材料或物品——这些缺陷和问题会使陌生人侵入建筑物,或者使建筑物遭遇安全威胁。这就是漏洞,对于系统来说,若出于安全的考虑,就必须最大限度的减少漏洞的存在,因为它会成为入侵者侵入系统和恶意软件植入的入口,影响我们系统用户的切身利益。
每一个漏洞都是不尽相同的,但根据其入侵方式的不同,可以将它们分为本地漏洞和远程漏洞。
本地漏洞:
本地漏洞需要入侵者利用自己已有的或窃取来的身份,以物理方式访问机器和硬件。在我们的类比中,入侵者要么必须是建筑物中的住户,要么必须假冒成建筑物中的住户。
远程漏洞:
相比本地漏洞,远程漏洞则不需要入侵者出现。攻击者只需要向系统发送恶意文件或者恶意数据包就能实现入侵。这就是远程漏洞比本地漏洞更危险的原因。
将漏洞按照风险级别对其分类,又可分为高风险漏洞、中等风险漏洞或低风险漏洞。风险级别在很大程度上取决于每个人所采用的标准,迈克菲定义风险是为了让客户清楚地预知未来将会发生什么,能提高警惕。
高风险漏洞:
远程代码执行(RCE):攻击者能够充分利用这一风险最高的漏洞来完全控制易受攻击的系统。由于这种漏洞使恶意软件能够在用户尚未得到警告的情况下运行,一些最危险的恶意软件便常常需要利用这种漏洞来发起攻击。若出现针对某一漏洞,系统商提供了安全补丁,这通常意味着这个漏洞就属于高风险漏洞,用户最好不要忽视任何相关警告。
拒绝服务(DoS):作为另一种高风险漏洞,DoS会导致易受攻击的程序(甚至硬件)冻结或崩溃。AnonymousGroup就是利用DoS漏洞发起攻击的。如果遭到攻击的结构是路由器、服务器或任何其他网络基础设施,不难想象局面的混乱程度。DoS漏洞的严重性视被隔离的房间而定。比如和储藏室比起来,浴室或者客厅要重要得多。
中等风险漏洞:
这些漏洞就像“兄弟姐妹”,虽然非常相似,但在具体情况上存在细微差别。中等风险包括权限提升(PrivilegeEscalation)这对“双胞胎”和它们被称为安全旁路(SecurityBypass)的“兄弟”。
权限提升(PE):该漏洞使攻击者通常能够在未获得合法用户权限的情况下执行操作。它们之所以被称为“双胞胎”,是因为可以分为两类:水平PE和垂直PE。水平PE使攻击者能够获得其他同级别用户所拥有的权限,这类漏洞最常见的攻击出现在论坛。攻击者可以从一个用户账户“跳到”另一个,浏览和修改信息或帖子,但通常只拥有同级别权限。而垂直PE则为攻击者提供了更多实际用户希望享有的权限。例如,攻击者从本地用户“跳升”至管理员。从而使攻击者能够部分或完全进入系统中某些受限制区域,进而实施破坏。
安全旁路(SB):广义而言,安全旁路与PE一样,是指攻击者未经许可就可以执行操作。区别在于,旁路之在连入互联网的系统环境中生效。如果程序有安全旁路漏洞,会使不安全的流量能够逃过检测。
中等风险漏洞本身并不太危险,如果系统得到妥善保护,不会造成灾难性的后果。真正的危险在于权限提升和安全旁路产生的连锁反应。如攻击者以普通用户或来宾身份进入,躲过安全措施,然后安装或更改程序,从而会造成大量破坏。相比远程代码执行,虽然攻击者很难利用权限提升和安全旁路的方法进入我们的“建筑物”(指系统),但并不是不可能。
低风险漏洞:
信息泄露(ID):该漏洞使攻击者能够浏览正常情况下无法访问的信息。信息泄露是一种低风险漏洞,攻击者只能浏览信息,无法执行其他实质性操作。如果想使用这里的信息,攻击者必须利用其他漏洞或找到关键信息,如密码文件等。不过,我们必须视具体情况对信息泄露进行分析,因为它的风险级别非常容易发生变化,受攻击的程序、泄露的信息和网络环境的变化都会导致风险等级的变化。比如,如果类似Comodo或DigiNotar的证书颁发机构存在信息泄露显然会导致灾难性后果。信息泄露对存储着非常重要信息的关键网络或机器同样非常危险,即使信息泄露看起来没有那么危险,也不要被表象所迷惑。
尽管中等风险漏洞和低风险漏洞的危险程度不及远程代码执行或拒绝服务风险那么高,但我们同样不可掉以轻心。经验老道的攻击者有时不需要利用这些漏洞就可以造成破坏,如:窃取知识产权。虽然这些攻击都留下了明显的踪迹,但由于存储在活动日志中的信息量过大,用户只能通过缓慢且细致的搜索才能发现可疑行迹,同时,我们的用户通常也不会将其作为一项预防性措施。往往只会在攻击者已造成破坏后才仔细查看。
【编辑推荐】