【问题标题】:Runtime Application Self Protection (RASP)运行时应用程序自我保护 (RASP)
【发布时间】:2016-05-26 07:33:47
【问题描述】:

我在一家从事网络安全领域的公司工作。给我一个关于 Rasp 的任务。 我知道 rasp 方法是什么,但我不明白 rasp 如何使用 Java 虚拟机或 .Net 公共语言运行时 (CLR)。

根据一些消息来源,它通过将代理加载到 JVM 或 CLR 来处理此问题。

谁能告诉我,代理怎么能做到这一点?代理如何将自己加载到 JVM 或 CLR?

【问题讨论】:

  • 我查看了这个网站,但他们没有解释这一点。只是“代理加载本身”这句话。
  • 基本上,他们拥有 Oracle 的许可,并重新编写了允许检查被调用代码的 JVM。有一些规则可以防止调用某些代码,防止 SQL 注入等。
  • 我相信他们开始为多租户的 JVM 容器编写这个 - 想想 libvirt 但对于 JVM

标签: java .net security jvm clr


【解决方案1】:

据提出这一概念的 Gartner 所说:

RASP 是一种安全技术,内置或链接到 应用程序或应用程序运行时环境,并且能够 控制应用程序执行和检测和预防 实时攻击。

换句话说,它意味着应用程序环境内部的安全性,如果我们与其他外部应用程序保护解决方案(例如 Web 应用程序防火墙 (WAF))进行比较,这是一种不同的方法。因此从理论上讲,来自应用程序或应用程序内部的任何保护方法或技术组合都可以被视为 RASP。

从应用程序保护这一基本概念开始,有不同的 RASP 实现技术,例如插桩(使用与原始 JVM 不同的 JVM,但会转换我们加载的类)或集成在应用程序中的库作为一个过滤器。

许多 RASP 供应商仅基于检测技术(在 JVM 或应用程序级别),其他供应商仅基于应用程序内部的库,在我们的案例(Hdiv 安全性)中,我们在同一个 RASP 解决方案中使用这两种方法:

  • 检测:检测代码中的安全漏洞并保护 如有必要,反对剥削尝试。例如一个sql 注入漏洞、XSS、命令注入等 在 Java 平台中,您可以查看 Java Instrumentation API 以了解 how it works。基本上,此 API 允许转换已编译代码以包含附加行为,而无需更改应用程序的原始源代码。在安全示例的情况下例如:数据库查询、命令执行等。

  • :最重要的目标是保护业务逻辑缺陷 或设计缺陷 (例如:OWASP A4、OWASP A7、绑定攻击等)并在 这种情况下,我们执行一个信息流控制系统,控制 不同请求之间的数据流,为了阻塞这种 AST 工具无法检测到的业务逻辑攻击。

【讨论】:

    猜你喜欢
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 2010-12-15
    相关资源
    最近更新 更多