应用威胁现状正在迅速发展。多年来,用户一直利用Web浏览器等常用工具使用互联网应用。任何时候,都需要支持2-5个Web浏览器,应用开发和测试框架的多样性也相对有限。例如,几乎所有的数据库都是使用SQL语言创建的。令人遗憾的是,就在不久前,为了窃取、删除并修改数据,黑客已经开始滥用应用了。他们以不同方式利用应用,主要是欺骗应用用户、注入或远程执行代码。不久之后,名为Web应用防火墙(WAF)的商业化解决方案出现了,该团体为此创建了开放Web应用安全项目(OWASP),用于设置并维护安全应用的标准和方法。
基本应用防护措施
OWASP十大攻击列表为防御最常见和最致命的威胁和可能导致漏洞的应用配置错误的防护措施提供了出发点、检测战术和缓解措施。此列表可以作为应用安全行业的行业标杆,并定义了WAF所需的基本功能。
此外,还有其他针对Web应用的常见攻击,如:CSRF、点击劫持、Web抓取和文件包含(RFI/LFI)。
确保现代应用安全的挑战
目前,应用不仅仅只是基于Web的。还有许多云应用、移动应用、API,甚至是最新架构中的单个功能,都可以创建、修改并处理数据,因此必须进行同步和监督。新技术和框架为应用生命周期带来了新的挑战。包括DevOps、容器、物联网(IoT)、开源工具和API等。
各种技术位置的分散为信息安全专业人员和不能再依赖“一刀切”方法的解决方案厂商都带来了非常复杂的挑战。为了最大限度地减少误报并优化客户体验,解决方案必须了解所保护的应用所处的业务环境。
一个黑客的最终目标通常是窃取数据或中断应用服务。他们也会受益于技术进步。首先,他会创建更多潜在的漏洞和薄弱点,其次,他们可以采用更多的工具和知识来克服传统的安全探试程序。企业将面临更大的攻击面和更大的暴露风险。随着应用的不断变化,安全策略必须与时俱进。
因此,应用必须得到充分保护,防御不断增多的攻击方法和攻击源,并且必须能够在缓解自动攻击时实时做出有把握的决策。其结果就是增加了人工劳动和运维成本,同时降低了整体的安全性。对安全厂商而言,需要克服的挑战更多。
挑战1:机器人程序管理
根据Radware Web应用安全报告,几乎60%的互联网流量都是机器人程序生成的,其中一半流量是由“不良”机器人程序造成的。企业不得不增加网络容量来满足这些虚拟需求。准确区分人为流量和机器人程序生成的流量以及准确区分“良性”机器人程序(如搜索引擎和比价服务)和“不良”机器人程序可以极大地节省成本并提高客户体验。
现在,机器人程序并不会放你一马,他们可以模仿人类行为,绕过CAPTCHA和其它质询。此外,动态IP攻击会让基于IP的防护措施失效。通常情况下,可以处理客户端JavaScript的开源开发工具(如Phantom JS)会被滥用,发起暴力破解、证书填充、DDoS和其它自动的机器人程序攻击。
为了有效管理机器人程序生成的流量,就需要对流量源进行唯一标识(就像指纹)。由于机器人程序攻击采用了多个事务,指纹就可以帮助企业追踪可疑活动,确定违规分数,并以最小的误报率做出有把握的拦截/允许决策。
挑战2:保护API
许多应用可以从与API交互的服务中采集信息和数据。当通过API传输敏感数据时,50%以上的企业在检测网络攻击时既不会检查API也不保护API。
常见的API用例有:
• IoT集成
• 机器对机器通信
• 无服务器环境
• 移动应用
• 事件驱动应用
API漏洞类似于应用漏洞,包括注入、协议攻击、参数篡改、无效重定向和基于机器人程序的攻击。专用API网关可以确保通过API进行交互的应用服务的安全互操作性。然而,他们不能提供WAF所提供的端到端应用安全以及必要的安全控制,如HTTP解析、L7层ACL管理、JSON/XML有效负载的解析和验证、模式执行和对OWASP十大漏洞的全面覆盖。这可以通过采用主动和被动安全模型提取并检查关键API值来实现。
挑战3:拒绝服务
DoS是一种比较陈旧的攻击矢量,但在攻击应用时仍非常有效。犯罪分子可以采用一些吸引人的技术来中断应用服务,如HTTP或HTTPS洪水、低速慢速攻击(SlowLoris、LOIC、Torshammer)、动态IP攻击、缓冲区溢出、暴力破解攻击等。在IoT僵尸网络的驱动之下,应用层攻击已经成为首选的DDoS攻击矢量。多数WAF都是有状态的设备,他们只能保留一定的容量。然而,他们能够检查HTTP/S流量流(一些WAF创建基线,对于未知威胁非常有效),检测攻击和恶意尝试。一旦检测到攻击,就不会让攻击流量再次进入。专用的边界解决方案可以补充WAF缓解容量的限制,自动拦截下一个错误数据包。为了实现这一点,两个解决方案必须能够互相传送消息:
Radware WAF向外围攻击缓解设置发送攻击信息
挑战4:持续安全
应用会频繁变化。开发和推出方法,如持续交付,就意味着会不断地对应用进行修改,不需要人工干预或监督。在动态环境中维持有效的安全策略,保护敏感数据安全,而不产生大量的误报,这是极其困难的。与Web应用相比,移动应用修改更多,用户如何得知所使用的第三方应用何时发生了变化?
一些人力求获取更大的可见性,因此他们意识到了风险。然而,这并不总是可行的,强劲的应用防护措施必须利用可以映射应用资源的机器学习功能分析可能的威胁,并在进行应用修改时创建和优化安全策略。
总结
由于应用在我们的日常生活中扮演着越来越重要的角色,它们也成为了黑客的首选目标。黑客的潜在收益和企业的潜在损失是庞大的。现在,鉴于应用和威胁的数量和种类,保护这些应用的安全极为困难。
幸运的是,现在人工智能可以助我们一臂之力。基于机器学习的算法提供了实时的适应性防护措施,可以防御针对应用的最复杂威胁。他们还可以自动更新安全策略,保护Web应用、移动应用、云应用以及API的安全,同时不会产生误报。
我们无法确定下一代应用威胁会是什么样子(可能也是基于机器学习的),但可以确定的是,我们可以现在就采取行动,进一步保护具有巨大商业价值的客户数据、知识产权和服务可用性。