随着数字化转型进程的应用不断加快,应用程序安全作为安全防护关键一环,安全日益成为企业安全运营关注的防护焦点,运营人员需要为应用程序提供最佳的探索安全保护 。当前常用的应用安全防护措施被视为一种附加安全层,它通过增加防御机制来保护应用程序 ,安全然而应用程序安全仅仅依靠外部加固安全解决方案和网络安全措施来保护是防护不够的
,总结G行网络攻防演习经验,探索我们开始关注探索运行时应用程序自我保护(RASP)对于应用程序的应用保护
。RASP技术可以实时地检测和阻断安全攻击,建站模板安全确保应用程序的防护运行连续性同时保护其安全性。本文旨在探讨运行时应用程序自我保护的探索工作原理、优势和不足、应用实施和维护方法。安全 G行基于分层分级安全防护原则构建安全防护体系,防护建设信息安全运营指挥中心,纵深部署3大平台:态势感知平台 、安全数据湖和WEB应用防火墙 ,以平台能力 、可视化能力
、安全资产能力、人员能力建设,开展全天候安全威胁监测和运营处置工作,实现及时预警、模板下载瞬时响应处置 ,保障业务和系统安全。 WEB应用防火墙是针对WEB防护、网页保护的安全防护设备,主要防护功能基于流量规则的防御 ,存在一定误报率和绕过风险,而RASP技术防御是根据应用代码运行态请求上下文
,在恶意攻击代码被执行前 ,进行有效识别和拦截。同时,随着应用分布式演进导致应用模块数量不断增加,应用程序和中间件安全运维的源码库压力逐渐增大 ,传统的基于已有规则的应用过滤和安装安全补丁等被动安全防护手段不仅投入大而且效能低,特别是在应对0day漏洞攻击手段时更是收效甚微,应用主动安全防护需求将成为企业安全防护必要补充
。 传统的安全措施通常建立在“最小特权原则”的基础上,这意味着应用程序只能使用它具有的最小权限以避免安全漏洞 。RASP技术是在应用程序层面上对安全事件进行管理 ,能够实时检测到应用程序的亿华云安全事件并对其采取相应措施的技术
。这里的安全事件指在代码级别执行安全检查,类似代码审计,及时检测出异常攻击行为。当检测到安全事件时,RASP技术可以阻止不安全的操作、尝试修复漏洞以及发出告警,从而保护应用程序的安全。 RASP技术可以在几个方面为应用程序提供保护 : 能够实时检测和响应安全事件RASP技术可以在应用程序运行时实时检测并响应安全事件。这可以帮助安全人员在攻击者发起攻击之前便能够阻止攻击事件的发生,从而加强了应用程序的香港云服务器安全性。 能够保护应用程序的数据和用户RASP技术可以通过实时监控应用程序的行为 ,保护应用程序的数据和用户
。例如 ,RASP技术可以检测到SQL注入攻击并阻止攻击
,以保护应用程序的数据 。 能够自主阻断不安全的操作RASP技术可以自主决定何时阻断不安全的操作 ,而不是仅仅依靠网络安全措施 。这可以帮助安全人员为应用程序提供更好的免费模板防御措施,以保护其数据和用户。 各种语言均提供RASP技术实现方式 ,技术原理类似,下面以Java语言为例探讨RASP技术工作方式
。 JVM字节码技术提供了一种实现RASP技术的方法,其可准确捕获应用程序的运行时行为
,可以很好地获取应用程序运行时的所有细节,包括调用的方法、变量值及其他参数,然后使用这些信息可以检测到不安全的行为,并采取相应的措施防止攻击。 JVM字节码使用Java-Agent实现,Agent是一个运行在目标JVM的特定程序
,它的职责是负责从目标JVM中获取数据 ,然后将数据传递给外部进程。从Java SE 5开始,开发者可以使用Java的Instrumentation接口构建⼀个独⽴于应⽤程序的代理程序(Agent),用来监测和协助运行在JVM 上的程序 ,甚至能够替换和修改某些类的定义 。 Java Agent支持目标JVM启动时加载
,也支持在目标JVM运行时加载,这两种不同的加载模式会使用不同的入口函数,如果需要在目标JVM启动的同时加载Agent,那么可以选择实现下面的方法: public static void premain(String agentArgs, Instrumentation inst); public static void premain(String agentArgs); 在premain函数中
,我们可以对字节码进⾏操作 ,编⼊RASP的安全探针
。 public static void premain(String agentArgs, Instrumentation inst){ inst.addTransformer(new ClassTransformer());} 借助ClassFileTransformer接口 ,实现对字节码的修改
,定义一个类
,实现ClassFileTransformer接口,并重写transform方法,在这个方法中,通过ASM 技术修改字节码。 在特定高风险类执行时 ,检查其字段、参数和方法行为:如"eval", "getRuntime().exec()", "/bin/sh", "/bin/bash", "HttpURLConnection", "HttpClient", "SocketChannel" 或者SQL注入类型"select", "from", "insert", "union", ";", "and", "or", "drop", "update", "delete"等高风险行为时进行拦截和告警。 基于JVM字节码底层实现,RASP技术可以针对以下常见的安全漏洞提供保护
: 优势: 不足: 实施RASP技术需要以下步骤
: RASP技术提供了一种可行的方法来为应用程序提供安全保护
。它提供了应用程序安全性更为全面的保护,并且能够更好地识别和响应各种安全事件 。尽管RASP技术仍存在一些缺点,但从根本上来说,RASP技术为应用程序提供了高效
、可扩展和灵活的安全保护。后续我们将继续探索RASP技术实施和维护的有效方案
,以期更好地保护应用程序和信息
,服务好广大客户。现状分析
功能介绍
工作原理
图1 基于JVM的RASP技术实现方法优势和不足
实施和维护
总结