当前位置: 首页>>韩国发布 >>专家建议Java应用程序安全性的温度

专家建议Java应用程序安全性的温度

添加时间:    

当前的Java应用程序保护方法将安全性置于应用程序或网络层,这两者都是有问题的。第一种方法已经被证明是太复杂,太耗时,太冒险 - 换句话说,太“太热”。

同时,由周边设备组成的网络级安全性缺乏了解应用程序内部正在发生的事情的智能,以便有效。这个方法“太冷”了。

第三种方法是将安全性置于Java虚拟机内部。

应用程序层保护过于耗时,因为唯一现实的防御是开发人员的培训和再培训,以及使用自动化工具进行的重复代码测试。在今天的快速软件开发中,几乎没有时间。

自动化代码测试同时适用于查找已知的漏洞,但不提供防范措施,以防止漏洞或将来发明的漏洞。

在理想的世界中,应用程序的安全性将在开发过程的每个阶段被烘焙。理论上,这听起来不错。在实践中,匆忙的Java程序员经常从第三方代码库中导入大量的代码。

没有人可以说如果给定的代码行已经测试了漏洞。为了实现真正的安全性,开发人员必须跟踪每个代码片段的出处。

风险太大,因为风险太高。由于企业经常使用Java应用程序来控制对敏感信息的访问,而且由于过去15年来开发的所有企业应用程序中有一半是用Java或Java衍生的语言编写的,因此Java是攻击者的流行目标。

SQL注入攻击尤其流行,并且依靠执行故意格式错误或损坏的输入,这通常是由代码漏洞造成的。

基于边界的应用程序安全解决方案(包括防火墙,入侵检测系统,入侵防御系统或Web应用程序防火墙等)缺乏了解应用程序内部情况的智能,因此永远不会真正有效。

他们必须允许通过授权的流量,同时阻止恶意流量。但是,由于这些工具不能在应用程序层运行,因此无法辨别在给定时刻什么样的授权流量应该看起来像。

同时,如果他们无意中阻止了授权流量,网络安全产品可能会严重中断用户对应用程序的访问。

最后,管理员必须选择使用松散的安全参数,以防止入侵风险,或者花费数月的时间寻找不会“破坏应用程序”的紧密参数。他们往往选择前者,造成重大风险。

但还有第三种选择。就Java应用程序安全而言,这意味着分析公司Gartner称之为“运行时应用程序自我保护”或RASP。它在运行时环境内执行持续的安全分析 - 即时响应检测到的威胁 - 作为本机功能,而不必更改单行应用程序代码。

实现RASP的一种方法涉及利用Java虚拟机的强大功能。运行在操作系统之上但在应用程序之下,JVM位于编译的Java代码和运行Java代码的服务器/ OS基础结构之间。

JVM具有本地功能,可以随时修改应用程序的运行时行为,而无需更改其源代码或二进制代码。这意味着,除其他外,它可以控制Java应用程序的I / O,因此可以阻止未经授权的操作和执行受损代码而不会崩溃应用程序。

在JVM中放置应用程序安全功能可以保护Java代码,而无需对Java应用程序本身进行任何更改或影响应用程序性能。通过对关键系统行为进行细粒度的监视和控制,基于JVM的安全性可以自动提供攻击缓解。

它可以阻止与恶意软件相关的活动,而不管哪个代码触发它。这种覆盖范围不仅可以消除已知的漏洞,还可以打败零日漏洞 那些利用糟糕的输入验证。

除了防止非法系统行为,JVM安全还可以包含一个规则引擎,用于防范整个类别的攻击,例如SQL注入或其他已知的漏洞,如最近在Apache Struts 2开源Web应用程序框架中报告的漏洞。

安全弱点和漏洞的整个类别只能通过少量规则进行处理,即使在应用程序运行时也可以实时应用。等待供应商提供的补丁不再是问题。与此同时,传统Java应用程序可以覆盖覆盖范围,否则可能会成功。启用安全性的JVM甚至可以将数据传递给开发人员以用于编码或测试,或安全信息事件管理(SIEM)工具。

基于JVM的安全性既不是太热,也不太冷,无法识别威胁。

John Matthew Holt 是Waratek的创始人兼首席技术官。

随机推荐

网站导航 福利地图