一、背景介绍
自如是一家提供高品质居住产品与生活服务的科技公司。租客可以享受在线看房、WiFi覆盖、双周保洁等服务;业主可享受更增值、出租快、租务省的资产管理服务。
自如不管是在服务上,还是在产品安全上都希望给用户最大的保障,自如信息安全部从公司安全架构层面逐步实践“安全左移”,在云原生应用安全建设中,从单点到系统安全推进,构建了一个贯穿了从研发到运维过程的安全模型。
自如产品安全架构采用的是Spring Cloud、Dubbo等微服务分布式架构,整个公司的微服务的数量大概在2000个。由于这种微服务架构的特殊性,导致应用安全漏洞检测工作量加大,检测难度升级。
所以,自如安全部门一直寻求一种项目覆盖度全、误报率较低、不产生脏数据,且能实现全链路、跨服务、跨语言的安全检测工具。
二、自如为什么选择洞态?
IAST是最近几年,在安全领域比较新型的技术和产品,自如安全也一直在跟踪研究,但是其他家的产品在跨服务之间检测有一定的缺失。
自如最先了解到的是火线的众测服务,后来通过一些安全技术公众号,看到洞态和一些互联网公司的落地合作介绍案例,并开始详细调研洞态。跟洞态技术人员深入了解和探讨后,觉得洞态的技术非常先进,主要功能有高可用,全链路,集成等,这非常符合自如目前的需求。
由于自如采用的微服务分布式架构,所以传统IAST在检测过程中无法跨服务检测,正好洞态的全链路功能可以很好的解决跨服务、跨语言检测难题,另外有强大的开源社区支持也能很好的满足自如对IAST产品快速迭代,快速响应的需求,所以最终选择了洞态。
三、洞态在自如落地实践
洞态是如何在自如落地实践的呢?我们对自如的信息安全负责人进行了采访。
点击观看采访视频
1、洞态帮助自如解决了哪些痛点?
洞态团队人员协助我们进行了分布式部署,目前洞态已经嵌入了我们内部的项目部署发布平台,在QA环境应用服务挂载集成洞态agent,实现全链路、跨服务、跨语言的安全检测。较好的解决了自如目前安全测试资源紧张,项目覆盖度不完全,检测工具误报率较高和脏数据的问题。
2、部署洞态agent时,自如开发人员是否难以接受?又是怎么克服的?
我们的开发和测试人员都还是比较配合的,我们主要是集成在了部署发布平台里,进行自动化的agent挂载,大大减少了落地运营的成本,也非常感谢我们基础架构同事的支持和配合。
3、对于洞态的使用和推进,目前还存在哪些难点,是否有需要洞态团队协助的地方?
在现阶段的实际使用过程中,我们发现在实际的漏洞闭环运营上还有一定的缺失,例如版本的对应、漏洞联动推送及管理等。希望洞态团队能协助我们开发更适合自如业务的配置方案与良好的熔断降级效果。
4、自如对于洞态的下一步推动计划是什么?
目前我们已经引入了洞态优秀的全链路追踪功能,帮助我们在全链路,多语言,跨服务安全检测的同时,解决了很多安全问题,也很好的提高了工作效率,后续我们也会继续推进更多的项目和业务线接入洞态,这不管是对研发业务方,还是安全团队,洞态都起到了很大的帮助.
5、根据自如实际应用场景,最期待洞态未来会研发的新功能是什么?
我认为洞态的技术在全球都是比较先进的,在云原生应用场景下,它能够帮助很多企业发现并解决问题,期待把洞态的熔断降级,版本管理等功能集成到我们的流程中,帮助自如安全团队更好的实现推进落地,运营和高效产出。
四、落地实践测试
为了检验洞态的漏洞检测效果和漏洞检测能⼒,自如使⽤了多个测试⽤例,通过持续的功能测试和性能测试,发现洞态能覆盖常⻅⾼危漏洞,初步符合自如的预期。
这里为了保护自如业务的安全性,本文只展示其中部分测试过程和结果。
1.测试环境
Agent 版本:
DongTai-java-agent v1.5
IAST Sever端硬件配置:
4 Intel Core, 8 GB Memory
测试项⽬搭建平台\Agent部署平台:
Windows11、centos7
2.测试⽤例
策略管理:开启全策略检测
3.测试过程
- 应用漏洞
在进⾏请求验证时,洞态报告⼀个⾼危漏洞:SSRF服务端请求伪造。
△漏洞污点流图
- api导航功能
展示来源样例为:SSRF请求伪造漏洞的污点调用链和函数调用的详细流程导图。
在下图中可以看到,展示了已经经过测试的API接口。
- 性能测试
洞态灰度测试,选取企业信息平台,共6个应⽤进⾏灰度测试,在QA环境下开启检测。
- agent对应⽤的性能损耗
选取安全中台应⽤,⼯具jmeter,模拟在不同并发数量下进⾏性能测试,得到应⽤在安装agent前后的响应时间。
- agent主动熔断降级
agent检测到应⽤的内存或是CPU占⽤率超过预先设定的阈值,会进⾏⾃动降级熔断,停⽌⼯作。 agent在⾃动熔断降级后,会在40秒(该值可⾃⾏设定)后进⾏⾃检,如果应⽤内存和cpu占⽤率数值降低到阈值以内,agent会重新⾃启动,继续检测;如果应⽤数值持续在⾼位运⾏,agnet保持休眠,等待下次⾃检判断。
内存超过设定的阈值,agent会⾃动熔断降级agent.log⽇志展⽰
Java
1 2022-04-25 18:16:41 [io.dongtai.iast.agent] [INFO] Engine performance fallback is open, Engine shut down successfully
2 2022-04-25 18:16:41 [io.dongtai.iast.agent] [INFO] performance is over max threshold! metrics:{"metricsKey":"MEM_USAGE","collectDate":"2022-04-25 18:16:41","metricsValue": {"init":2147483648,"used":133195304,"committed":2120679424,"max":2120679424,"m emUsagePercentage":93.71921552627843}}
cpu超过设定的阈值,agent⾃动降级熔断agent.log⽇志展⽰
Java
1 2022-04-25 13:44:21 [io.dongtai.iast.agent] [INFO] Engine performance fallback is open, Engine shut down successfully
2 2022-04-26 13:44:21 [io.dongtai.iast.agent] [INFO] The current CPU usage is 67%, higher than the threshold 60%,and the detection engine is stopping
五、结果总结
经过多轮的功能测试,性能测试,洞态在对常规漏洞的检测和组件风险检测上都有及时的漏洞告警,对小部分代码缺陷检测和不安全的请求参数配置检测可以做到针对性的覆盖。
1)根据实际测试效果,洞态可以解决通过在应⽤测试阶段发现应⽤中存在的漏洞或缺陷,进⾏ 实时检测,可覆盖web漏洞、三⽅组件漏洞、敏感信息泄露、API漏洞等维度,可以更早的反馈研发修复,安全左移,降低安全成本,整体测试结果符合预期。
2)现阶段sever端部署,在测试环境三台虚拟中部署,进⾏分布式部署,数据库、检测引擎、前端展⽰都是独⽴模块部署,并⽀持扩容机制。
3)检测功能主要基于数据流的检测,后续再进行自定义的规则配置和产品的优化,能够有效的覆盖全部的信息检测。
4)SCA能够有效的发现组件可能存在的风险,并对其识别和管理。
5)主要覆盖在QA环境,检测⽬标是利⽤功能测试⽤例产⽣的流量进⾏安全检测分析,不会影响⽣产环境应⽤。
6)根据性能测试结果,agent对应⽤服务的性能影响可控,符合预期。agent对应⽤的请求响应的性能损耗很⼩,损耗控制在10%左右,测试⼈员在进⾏功能测试时基本⽆感知。若质量同事对应⽤服务进⾏⾼并发等压测作业,洞态⽀持⾃动熔断降级机制,同时⽀持⼿动停⽌/卸载agent服 务,也可在omega上关闭IAST检测agent⾃动挂载,故原则上不会影响质量作业,并且最⼩成本⼊侵测试环境应⽤。
关于火线
火线安全是基于社区的云安全公司,主要运营洞态、火线安全平台、火线安全云和火线Zone云安全社区。
火线安全通过自主研发的自动化测试工具和海量的白帽安全专家,为企业提供可信的安全服务,助力企业解决应用生命全周期的安全风险。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.