java - 运行时应用程序 self 保护 (RASP)

标签 java .net security jvm clr

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

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

有人可以告诉我,代理如何做到这一点?代理如何将自身加载到 JVM 或 CLR?

最佳答案

据 Gartner 称,该概念的作者:

RASP is a security technology that is built or linked into an application or application runtime environment, and is capable of controlling application execution and detecting and preventing real-time attacks.

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

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

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

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

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

关于java - 运行时应用程序 self 保护 (RASP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37454347/

相关文章:

sql-server - SQL Server 用户与角色

java - 如何在 Java 中加密/解密文件中的文本

java - 在Java Priority Queue 实现remove at 方法中,为什么它在筛选后进行筛选?

java - 如何使用启用了 Websphere SSL 的 MQ 配置 JBOSS 连接?

.NET 扩展事件

.net - 如何获取 WPF Canvas 上字符串的文本大小?

c# - 创建一个列表,其中元素计数与另一个列表相关

java - 带或不带前导零的时间戳的正则表达式?

security - 为什么色情网站会出现在我的 Google Analytics(分析)数据中?

security - 密码经过哈希处理时帐户故障排除