导语 | “安全事件频发却难溯源?性能问题背后暗藏漏洞?腾讯云应用性能监控(APM)的应用安全监测功能重磅升级,通过可观测性的安全信号,实现从代码级漏洞到网络攻击的端到端透视,让安全风险无处遁形。”
“凌晨三点,安全工程师盯着满屏幕的攻击拦截日志抓头发-明明只是大促期间的正常请求,却被误报为SQL注入;主管技术翻遍漏扫报告却越看越慌-Log4j组件高危漏洞波及的服务到底有哪些?版本号到底是多少?安全团队刚刚做完季度攻防演练,开发同学又收到客户投诉:‘你们的网站怎么又无法访问’......
当安全事件与性能问题像两张乱麻,能否找到那根关键的‘线头’?”
一、破局安全新挑战,消减攻防落差
在数据化转型加速的背景下,企业应用早已不是孤立的“信息孤岛”。一个电商APP可能同时有着用户登录、商品浏览、支付下单等数十个核心业务链路,背后串联着数据库、中间件、云服务器等多层架构。复杂的业务和技术架构给企业带来纷繁复杂的安全问题挑战,传统防护措施需要新的应对思路构筑完善的防御体系:
- 生成式 AI 等技术推动应用数量爆发式增长,与此同时大量的应用漏洞等应用安全问题暴露在公网;
- 攻击者利用0day漏洞、加密载荷等新型手段突破传统防御边界;
- WAF 等传统防护手段在应对措施上存在告警多、误报多等诸多问题;
- 而独立部署 Agent 的 RASP 面临成本高、部署难等几大问题,国内一直没有大规模化部署和应用。
对此,基于腾讯 APM (应用性能监控)在应用内的深度可观测性数据识别应用安全风险,以“零 Agent ”部署方式实现的运行态应用安全监测,成为破局关键。该技术通过复用APM探针数据,实现零Agent部署、无损性能的安全检测能力,使应用程序内部安全信号可观测,让问题发现和定位不再“大海捞针”。应用安全信号可观测已成为行业发展新趋势。
2.打破应用防护盲区,弥合协同鸿沟
2.1.组件版本可观测,让安全风险无隙可乘
业务程序代码往往由第三方开发,并嵌套引入不同开发团队或产品的业务代码及组件,当Log4j远程代码执行等组件漏洞爆发时,业务团队很难快速的在大量业务代码中筛查受影响的组件和服务,“就像在黑夜里找钥匙,明明知道它在附近,就是看不见”。腾讯云 APM 应用安全监测,通过动态观测应用组件加载,可实时观测存在已知漏洞利用代码版本的组件,让安全风险无隙可乘。
2.2.漏洞利用可观测,让攻击行为无所遁形
传统WAF和IDS作为企业安全的“哨兵”,是网络安全防御的第一道保护屏障,然而当攻击手段升级、攻击流量伪装变形、攻击链路跨越多层服务的时候,传统防御手段“捉襟见肘”。 腾讯云 APM 应用安全监测作为应用程序最后一道防线,可透视漏洞攻击利用点,当伪装的攻击数据原形彰显的时候,精准捕获攻击信号,让攻击行为无所遁形。
2.3.接口调用可观测,让威胁链路无处藏身
通过传统防御手段拦截到攻击请求后,需要具备一定专业知识的安全工程师花费大量的时间和精力,从网络日志到应用程序日志,从接口调用到程序堆栈,逐层剖析、逐级追踪具有漏洞利用点的服务和方法函数。腾讯云 APM 应用安全监测,以应用内的深度可观测性数据,可精准地捕获受攻击点的服务接口、调用堆栈等应用程序内部的利用点,让威胁链路无处藏身。
检测类型 | 技术实现 | 典型场景 |
组件风险定位 | CVE漏洞库实时同步 SBOM(软件物料清单)分析 | Log4j2漏洞影响面评估 |
漏洞利用检测 | Hook关键函数(如Runtime.exec()) 动态污点追踪(数据流分析) | Fastjson反序列化攻击 |
内存马识别 | 类加载监控+内存特征扫描 结合内存马规则库 | Godzilla/Behinder木马 |
异常业务调用 | 知识图谱比对(上传API规范文档) 链路追踪分析模型 | 非授权用户信息查询 |
3.轻量化贯通应用安全检测能力,均衡性能损耗
腾讯云 APM 应用安全监测功能,以“可观测”为核心,将安全能力深度融入应用性能监控的全链路,将“安全”和“性能”进行融合。
3.1.APM 用户实现一键开启应用安全能力
应用安全监测能力基于 APM 无缝集成,用户只需在 APM 控制台中打开对应的功能开关,即可启动应用安全能力,并自动关联应用链路数据。整个过程无需引入任何探针以及组件,也不需要改造业务代码,极大降低运维负担和跨部门沟通成本。
3.2.联动可观测数据实现全链路追踪
大部分场景下,传统安全防御手段看到的是攻击流量或行为结果,比如“某攻击 IP 对某服务进行扫描探测/攻击”。
基于 APM 可观测数据,在运行态进行攻击行为监测,可以看到漏洞风险组件、受攻击的调用类、接口参数、攻击调用堆栈等攻击利用点,通过这些攻击点的检测,可帮助企业识别漏洞、检测攻击行为,与流量层、主机层形成产品互补。同时可自动关联应用请求、链路追踪、性能剖析、SQL 等 APM 可观测数据,对入侵事件进行综合分析和溯源追踪。
3.3.只监测不拦截,低开销、无感知,业务运行“无干扰”
纯观测模式仅监测不拦截,可有效避免“误杀”业务,规则库可覆盖高危漏洞、隐蔽后门、异常数据流等场景,即使面对0day攻击,也能捕捉攻击载荷。
APM 应用安全监测目前覆盖组件漏洞检测、SQL注入、内存马注入、远程命令执行等 20 多种检测场景,CPU 损耗增比及内存占用率增比均在10%以下,同时支持“一键关闭”功能,真正做到资源消耗低,对业务无影响。
4.APM 用户一键开启“安全透视眼”,降低运维负担
4.1.应用接入 APM
腾讯云应用性能监控(APM)提供零代码侵入的接入方案,参考 Java 应用接入 完成腾讯云增强版 OpenTelemetry Java 探针的安装,就可以接入 APM。
以探针路径为 /path/to/opentelemetry-javaagent.jar,应用名为 myService,业务系统 Token 为 myToken,接入点为 http://pl-demo.ap-guangzhou.apm.tencentcs.com:4317 为例,完整的 JVM 启动命令如下所示:
其中,业务系统 Token 和接入点可以从 APM 控制台获取。
对于部署在 Kubernetes 的应用,APM 提供自动接入方案,可以实现探针自动注入,进一步方便应用快速接入。您可以参考 K8s 应用快速接入 完成接入流程。使用该方案,只需要在应用工作负载的 YAML 文件中添加 2 行,就能完成接入 APM 的全部流程。
以名为 my-app 的应用为例,需要添加至工作负载的 YAML 文件的代码片段如下所示:
接入完成后,进入 APM 控制台,应用性能监控 > 应用列表 中将展示接入的应用。
图:接入的应用列表截图
图: 应用列表查看方式截图
4.2应用安全监测能力接入
接入Opentelemetry增强探针后,进入 应用安全 页面,可选择地区、业务、应用,展示对应的 组件漏洞安全扫描 和 攻击行为分析。
图: 应用安全页面截图
可在 系统配置 页面,找到 应用安全 模块,点击编辑,启停应用安全监测功能。
图: 应用安全监测场景配置页面截图
图: 应用安全监测场景配置截图
5.全链路追踪案例分析,有效定位源头
通过 APM 应用安全监测,用户可实时观测服务应用程序内部的风险状况。在 APM 控制台中可看到组件漏洞风险以及 SQL 注入、 远程命令执行、内存马等几十种攻击行为风险, 基于 APM 的链路追踪能力,可进一步获取攻击行为的调用类、方法、函数以及调用链路信息,有效提升攻击路径溯源和漏洞风险定位能力。
5.1.实战案例:针对Fastjson反序列化漏洞攻击
在一次攻防演练活动中,通过腾讯云APM的应用安全监测,成功发现并定位了一起基于低版本的Fastjson反序列化漏洞攻击的事件,在实时的攻击行为分析中发现了Fastjson反序列化攻击事件,通过组件漏洞扫描的查看,被攻击的服务程序中引入了一个版本为1.2.68的低版本 Fastjson 组件,该版本 Fastjson 存在可被攻击利用的漏洞:
1)基于应用安全的组件漏洞安全扫描,可发现某服务应用中引入了存在反序列化漏洞的低版本Fastjson组件,通过近一步分析 Fastjson 版本为1.2.68,存在CVE编号为“CVE-2022-25845” 的反序列化漏洞。
图: 低版本的 Fastjson 存在反序列化漏洞
图: Fastjson 反序列化漏洞详情
2)在攻击行为分析中,可确认存在基于 Fastjson 反序列化攻击事件。
图: 存在 Fastjson 反序列化漏洞攻击事件
图: Fastjson 反序列化漏洞攻击事件详情
3)在链路追踪中可以追溯调用漏洞利用的调用链:攻击者利用的 API 服务接口对服务进行 Fastjson漏洞攻击,攻击者利用 Fastjson 反序列化机制,通过 TemplatesImpl 加载恶意字节码_bytecodes,从而实现远程执行任意代码的目的。
图: 链路追踪观测到的攻击调用关系及攻击数据等全链路信息截图
6.总结与展望
基于 APM 可观测数据的关联应用请求、链路追踪(Trace)、性能剖析、SQL 等数据,综合分析应用安全监测数据,形成 APM数据 + 安全数据一体化观测,轻量化实现应用安全信息的可观测性。
腾讯云 APM 将积极探索应用安全的可观测性数据,基于持续丰富的应用安全监测场景、可观测性数据、智能分析模型,为云原生应用构建全新的、富有创造性的产品和解决方案,助力企业实现降本增效。
关于腾讯云可观测平台
腾讯云可观测平台(Tencent Cloud Observability Platform,TCOP)基于指标、链路、日志、事件的全类型监控数据,结合强大的可视化和告警能力,为您提供一体化监控解决方案。满足您全链路、端到端的统一监控诉求,提高运维排障效率,为业务的健康和稳定保驾护航。功能模块有:
Prometheus 监控:开箱即用的 Prometheus 托管服务;
应用性能监控 APM:支持无侵入式探针,零配置获得开箱即用的应用观测能力;
云拨测 CAT:利用分布于全球的监测网络,提供模拟终端用户体验的拨测服务;
前端性能监控 RUM:Web、小程序等大前端领域的页面质量和性能监测;
Grafana 可视化服务:提供免运维、免搭建的 Grafana 托管服务;
云压测 PTS:模拟海量用户的真实业务场景,全方位验证系统可用性和稳定性;
......等等