- 最新动态
- 功能总览
- 服务公告
- 技术画册
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 产品咨询
-
Agent相关
- 购买HSS会自动安装Agent吗?
- Agent是否和其他安全软件有冲突?
- 如何卸载Agent?
- Agent安装失败应如何处理?
- Agent状态异常应如何处理?
- Agent的默认安装路径是什么?
- Agent检测时占用多少CPU和内存资源?
- 购买不同版本HSS,可以共用同一Agent吗?
- 如何查看未安装Agent的主机?
- Agent如何升级?
- 企业主机安全升级失败怎么处理?
- 服务器安装Agent后会访问哪些资源?
- 如何使用镜像批量安装Agent?
- 无法访问Windows或Linux版本Agent下载链接?
- 升级Agent失败,提示“替换文件失败”
- 批量安装Agent失败,提示“网络不通”
- 如何验证主机与HSS服务端的网络是否打通成功?
- 防护相关
- 漏洞管理
- 检测与响应
- 异常登录
- 账户暴力破解
- 基线检查
- 网页防篡改
- 容器安全
- 勒索防护
- 区域和可用区
- 安全配置
- 防护配额
- 其他
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
应用防护概述
应用防护功能基于RASP(Runtime Application Self-Protection)技术,为运行时的应用提供安全检测和防护。用户无需修改应用文件,只需将探针注入到应用,即可为其提供强大的安全防护能力。
技术原理
通过动态代码注入技术在运行时将监控&保护代码(即探针)注入到应用程序的关键监控&保护点(即关键函数),探针根据预定义规则,结合通过保护点的数据、以及上下文环境(应用逻辑、配置、数据和事件流等),识别出攻击行为。
检测能力
表1中介绍应用防护功能支持检测的攻击类型。
攻击类型 |
说明 |
应用防护检测规则名称 |
检测说明 |
---|---|---|---|
SQL注入 |
SQL注入(SQL Injection)是一种攻击技术,攻击者利用Web应用程序中构建动态SQL查询的漏洞缺陷,在用户输入字段中插入恶意代码,欺骗数据库执行SQL命令,从而窃取、篡改或破坏各类敏感数据,甚至是在数据库主机上执行危险的系统级命令。由于绝大多数网站和Web应用都需要使用SQL数据库,这使得SQL注入攻击成为了最古老、分布最广的网络攻击类型之一。 |
SQLI |
检测防御SQL注入攻击,检测Web应用是否存在对应漏洞。 |
OS命令注入 |
OS命令注入(OS Command Injection)是一个Web程序漏洞,这种漏洞通常出现在需要用户输入命令的应用程序中,如果用户输入没有有效的过滤和验证机制,就可能导致该漏洞。它允许攻击者在运行应用程序的服务器上执行任意的操作系统命令。 |
CMDI |
检测防御远程OS命令注入攻击,同时检测web应用是否存在对应漏洞。 |
XSS |
XSS(Cross-Site Scripting,跨站脚本攻击)是一种典型的Web程序漏洞利用攻击。攻击者利用Web程序对用户输入检查不足的漏洞将可执行恶意脚本注入网站或Web应用,当用户访问网页时触发恶意脚本的执行,从而达到窃取用户个人数据、弹出广告,甚至篡改网页内容等攻击目的。 |
XSS |
检测防御存储型跨站脚本注入攻击。 |
Log4j RCE漏洞 |
Log4j RCE是指Apache Log4j 2.x中的一个严重安全漏洞,该漏洞使得攻击者可以通过JNDI(Java Naming and Directory Interface)注入执行远程代码。 |
Log4jRCE |
检测防御远程代码执行的控制攻击,并支持对攻击行为进行阻和拦截。 |
上传Webshell |
上传WebShell是一种网络攻击手段,攻击者通过漏洞或其他方式将Webshell这种恶意代码上传到服务器,从而获得对服务器的控制权限。 |
WebShellUpload |
检测防御上传危险文件的攻击或将已有文件改名为危险文件扩展名的攻击,同时检测web应用是否存在对应漏洞。 |
内存马注入 |
内存马注入是一种高级的网络攻击技术,攻击者利用特殊的技术手段将恶意代码直接注入到内存中,可以有效绕过传统的安全防御机制,实现对目标系统的控制。 |
FilelessWebshell |
检测防御内存马注入攻击。 |
XXE |
XXE指XML外部实体注入(XML External Entity Injection)漏洞。如果应用程序在解析XML文件时,没有禁用外部实体引用,攻击者可通过构造恶意的XML内容,读取任意文件、执行系统命令等。 |
XXE |
检测防御XXE注入攻击,检测web应用是否存在对应漏洞。 |
反序列化输入 |
反序列化指的是将序列化的数据(字符串、字节流等)恢复为原始对象的过程。在生成反序列化对象过程中,攻击者可以通过构造特定的序列化数据输入,控制生成的对象,从而实现一些恶意攻击。 |
UntrustedDeserialization |
检测使用了危险类的反序列化攻击。 |
文件目录遍历 |
文件目录遍历指的是攻击者通过修改URL或使用特殊字符绕过应用程序的安全检查,访问或读取服务器上的任意文件或文件夹。 |
FileDirAccess |
获取访问文件的路径或目录,匹配是否在敏感目录或敏感文件下。 |
Struts2 OGNL |
Struts2 OGNL指的是Java Web框中Struts2中的对象图导航语言(Object-Graph Navigation Language),当OGNL表达式外部可控时,攻击者可以通过构造恶意的OGNL表达式让程序执行恶意操作。 |
Struts2OGNL |
OGNL代码执行检测。 |
JSP执行操作系统命令 |
JSP(Java Server Pages)是一种开发动态网页的技术。攻击者可能利用JSP的安全漏洞执行非法的操作系统命令,导致数据泄露、服务中断等问题。 |
SuspiciousBehavior |
检测可疑行为—通过JSP请求执行操作系统命令。 |
JSP删除文件 |
攻击者可能利用JSP的安全漏洞删除服务器上的文件。 |
SuspiciousBehavior |
检测可疑行为—通过JSP请求删除文件失败。 |
数据库连接异常 |
数据库连接异常包括但不限于网络异常、配置错误、权限异常等,这些异常可能意味着应用程序正在遭受攻击。 |
SuspiciousException |
检测可疑异常—数据库连接抛出的认证和通讯异常。 |
0 day漏洞 |
0 day漏洞(零日漏洞),又称零时差攻击,通常指还没有补丁的安全漏洞。如果这类漏洞被发现,黑客利用这些漏洞进行网络攻击,即零日攻击。 |
|
|
SecurityManager权限检测异常 |
SecurityManager是Java的一个安全管理器类,负责管理和控制应用程序的安全性。当SecurityManager检测到代码执行不允许的操作时,会抛出异常。 |
SuspiciousException |
检测可疑异常,即SecurityManager抛出的异常。 |
JNDI注入 |
当应用使用JNDI的lookup方法时,如果查询的URL可以由外部控制,攻击者可以构造恶意的URL,使得服务器加载恶意载荷,从而实现远程代码执行。 |
JNDI |
检测防御JNDI注入攻击,检测web应用是否存在对应漏洞。 |
表达式(Expression)注入 |
即EL表达式注入(EL Injection),当EL表达式外部可控时,攻击者可以通过构造恶意的EL表达式让程序执行恶意操作。 |
ExpressionInject |
检测防御表达式注入攻击,检测web应用是否存在对应漏洞。 |
应用场景及优势
- 上下文感知:应用防护功能可以利用应用程序的上下文环境,提供更准确的检测结果。
- 与WAF互补:应用防护技术在应用程序运行时检测内存中写的数据和检测未经授权的数据库访问,与WAF互补。
- 0 day漏洞防御:应用防护功能能够在应用程序运行时进行动态检测和防护,实时检测攻击行为,可有效拦截0 day漏洞攻击。
约束与限制
- 应用防护功能仅企业主机安全旗舰版、网页网页防篡改版、容器版支持。购买和升级企业主机安全的操作,请参见购买主机安全防护配额和升级防护配额。
- 应用防护功能仅支持防护满足以下条件的Web应用:
- JDK:JDK 8、JDK 11、JDK 17
- Web应用:
- Windows(64位):Tomcat
- Linux(64位):Tomcat、Weblogic、Netty、Jetty
具体版本要求如下:
- Tomcat 7.0.55版本及以上
- Weblogic 12C版本及以上
- Netty 4.1.0.Final版本及以上
- Jetty 9.3.19版本及以上