探索中国CIO人才现状 | 第四季调研报告
保护网络安全 企业需要避开这五个漏洞
2015-08-13  来源:techtarget

当下,黑客们最感兴趣的是窃取敏感数据,如公司机密、个人信息、知识产权,等等,当然,也有个别攻击者纯属搞破坏。近年发生的若干事件表明,网络间谍仍被认为是是政府部门和企业的最危险的威胁。高级持续性威胁(APT)仍在疯狂搜寻能够大规模利用的漏洞,其重要目的就是收集敏感信息。

最臭名昭著的黑客针对关键的基础设施(如天然气管道、供水设施、智能电网等)实施攻击。

现代基础架构中的多数过程是由SCADA系统控制的,为了维护方便,SCADA系统暴露在互联网上,但其安全性却鲜有关注。

这并不是一个SCADA组件的维护问题,而是由于缺乏设计的安全性,导致整个基础架构暴露在网络攻击的风险中。本文将着重分析五个最危险的安全漏洞。

1. 注入漏洞

在应用程序将不可信的数据发送给解释器时,就有可能产生注入漏洞。这种漏洞很普遍,会影响到大量方案。最普遍的注入漏洞会影响到SQL、LDAP、XPath、XML解析器和程序参数。

其实,通过分析代码是可以发现注入漏洞的,但是,如果已经将系统部署到了生产环境中了,在测试期间就很难发现这些漏洞。

利用劫持漏洞的网络攻击带来的后果可能有:敏感数据被泄露、拒绝服务等。

攻击者可以运行劫持攻击,从而完全破坏目标系统,并获得其控制权。

注入漏洞可以影响多种软件,其影响依赖于有漏洞的应用程序的传播范围或传播水平。注入漏洞可能带来的一个典型影响就是Bash Bug漏洞。红帽子的安全团队在linux 中的 Bash shell 中发现了一个危险的安全漏洞“Bash Bug”。对于用户的正常访问,该漏洞允许攻击者的代码如同在外壳 中一样被执行,这就为各种各样的攻击打开了方便之门。

这种类型的漏洞可能带来大规模影响,例如,物联网设备(例如,智能仪表,路由器,网络摄像机等设备)就有可能遭受这种漏洞的威胁。

2. 缓冲区溢出

如果应用程序试图将超过缓冲区容量的数据存放在其中时,就产生了缓冲区溢出漏洞的条件。从外部写入到缓冲区可以使攻击者覆盖邻近内存块的内容,从而导致数据遭到破坏,程序崩溃,甚至可以执行任何恶意代码。

缓冲区溢出攻击难以发现,但与注入攻击相比,也更难以利用。攻击者需要了解目标应用的内存管理,并且知道修改其内容运行攻击的方法。

在典型的攻击中,攻击者将数据发送给一个应用程序,而后者是一个将数据存储在小容量的堆栈缓冲区的程序,这会导致覆盖调用堆栈上的信息,其中包括函数的返回指针。通过这种方法,在合法的功能完成之后,攻击者就可以运行自己的恶意代码,并且可以将控制交给包含攻击者数据的漏洞利用代码。

由于针对SCADA的攻击日益增多,所以这种缓冲区溢出漏洞被利用的频率也会越来越高。

3. 敏感数据泄露

数据可以存储在系统中,或在两个实体(如服务器或浏览器)之间传输,如果缺乏足够的保护,就会发生敏感数据泄露的问题。

敏感数据的泄露可涉及到访问静态数据、正在传输数据,其中也包括备份和用户正在浏览的数据。

攻击者有多种选择,例如,如果要窃取或攻击数据存储器,他可以使用基于恶意软件的攻击,通过中间人攻击截获服务器和浏览器之间的数据,或者欺骗Web应用程序做出一些动作(例如,改变电子商务应用程序中购物车的内容,或者提升特权)等。

敏感数据泄露主要是由于敏感数据缺少加密造成的,但是即使实施了加密机制,其他事件也会造成信息泄露。密钥的生成和管理及算法等不够强健在许多行业和应用中是很普遍的事情。

近一年来发生的有许多事件都表明这种漏洞的严重性,特别是在两方面表面尤为突出:一是实施了错误的加密算法,二是移动和云的方案缺乏加密。

去年九月,美国计算机紧急事件响应小组协调中心(CERT/CC)的专家对一些没有能够正确验证SSL证书的安卓应用进行了测试,并发布了测试报告。

CERT的报告认为,许多应用正使用有漏洞的库,如Flurry库。因此,安卓用户就会暴露在这种攻击中,并仅有少量公司采取措施保障其产品的安全。

攻击者往往并不直接破解加密,而是利用敏感数据的泄露缺陷。这就意味着攻击者会窃取加密密钥,运行中间人攻击,从服务器或用户的浏览器上窃取正在传输的明文数据。

注意,敏感数据泄露往往是攻击活动第一阶段的一个组成部分,也就是说攻击者随后会利用其它黑客技术。

管理敏感数据的每家企业都有可能遭受攻击,特别是那些有大量用户的企业,很多用户都有可能为网络攻击打开大门。

4. 认证和会话管理攻击

如果攻击者利用了认证或会话管理过程的漏洞或缺陷(例如,账户、口令、会话ID被泄露等),并假冒其他用户,就会发生认证和会话管理攻击。

这种攻击非常常见,许多黑客组织都利用这些漏洞访问受害者账户,实施网络间谍活动,或者窃取信息用于犯罪活动。

一个主要的威胁问题与认证和会话管理机制的自定义实施有关,在多数情况下,这种机制会导致攻击活动。这种漏洞影响到WEB应用程序,如用户登出、口令管理、超时、网站登录的“记住我”功能等,而且账户的更新也受到认证漏洞攻击影响。

最大的问题是,如果这种漏洞被成功地利用,攻击者就假冒受害者,用其获得的特权从事任何活动。

不幸的是,由于大量的认证机制是由每个不同的受害者实施的,所以认证和会话管理的攻击漏洞是很难对付的。认证和会话管理系统往往并不一致,这就使得大规模地采用最佳方法并非易事。

攻击者有多种方法可以绕过认证机制,其中包括使用SQL注入攻击对目标账户实施蛮力攻击、从URL中恢复会话标志、利用会话超时、重新利用已经使用的会话令牌,或者破坏用户的浏览器,等等。

最常见的攻击依靠会话,而认证机制往往基于服务器上与每个会话有关的的令牌。取得会话标志的攻击者能够假冒受害者而无需再次提供登录凭据。

5. 安全配置错误

这种漏洞其实是最常见也是最危险的。错误配置的服务器和应用程序在网络上数量众多,这为网络攻击打开了大门。

下面是一些典型的安全配置错误:

· 运行过时的软件

· 生产环境中的应用程序和产品仍运行在调试模式,或者仍包含调试模块。

· 在系统中运行不必要的服务。

· 没有配置对服务器资源和服务的访问,导致泄露敏感信息,或者导致攻击者破坏或窃取这些信息。

· 没有改变出厂设置(例如,默认密钥和口令)

· 不正确的异常管理,导致将系统信息泄露给攻击者。

· 使用默认账户。

结语

上述任何一种漏洞被利用都可以使攻击者破坏系统。安全方面的错误配置可以在应用程序堆栈的任何水平上发生。攻击者可以发现目标是否正在使用过时的软件,或者有漏洞的数据库管理系统。

当今的很多自动扫描器可以检测没有正确配置或没有打补丁的系统,因而对攻击者来说,发现这种漏洞是很容易的。

如果攻击者锁定的系统被广泛使用,安全的错误配置就有可能带来严重的影响。例如,有些路由器采用硬编码凭据,也有的网络设备使用默认的SSH密钥,这就使攻击者可以与设备建立未获授权的远程连接。

这种漏洞可能对物联网的新模式产生严重影响,错误配置的物联网设备可能被攻击者利用并破坏其运行的软件,还可以在大型的“僵尸”网络中利用这些设备。

对于任何企业来说,错误的安全配置是很隐蔽的。发现这种漏洞的成本可能会非常高昂,而其对企业的影响也将相当严重。