国外服务器

洞态在陌陌的最佳落地实践

关于陌陌

MOMO是挚文集团推出的一款基于地理位置的移动社交应用,是中国领先的开放式社交平台之一。

在MOMO,你可以通过视频、文字、语音、图片来展示自己,基于地理位置发现附近的人,加入附近的群组,建立真实、有效、健康的社交关系。

挚文集团的使命愿景是“连接人,连接生活”。

和洞态的结缘

为什么在上线前做IAST安全检测?

陌陌是去年十月份开始接触IAST技术,因为陌陌现有的自动化安全测试体系,并不能满足我们的需求。目前除了IAST技术之外,SAST、DAST这两项技术在陌陌都已经有了落地的实践,我们在上线前有针对源码层面的白盒扫描器,也有对线上业务进行扫描的黑盒扫描器,这两项技术都有自己的用武之地,当然也有一些弊端。

白盒扫描器最让人诟病的一点是高误报,在一个企业当中,可能安全人员的占比本来就不高,这种高误报让安全人员没有精力一条一条处理。

黑盒扫描器的实验原理,是对同一个接口发送大量Payload,根据响应来判断是否存在漏洞,从实现原理可以看出,第一个弊端就是流量大;第二个弊端,有些接口会把测试用的Payload代入数据库中,这就导致可能会有脏数据的产生。正是由于这两个弊端,导致黑盒扫描器不能覆盖到比较敏感的业务,就导致它的覆盖率会低一点。

所以我们就在想有没有一个解决方案,既可以保证漏洞的高检出率,而且覆盖面还不错,并且没有脏数据,所以我们把矛头瞄准在IAST这项技术。

陌陌为什么选择洞态?

了解到洞态,最开始是通过朋友圈的口口相传,洞态的开源间接促进了陌陌对IAST技术的落地实践,因为陌陌内部大量使用了自研的RPC框架,这就导致无论我们选择哪一款IAST产品,都得自己动手改造来适配我们的框架。

所以洞态的开源优势一下就体现出来了,我们可以直接拿到代码,直接可以开始改造,从而省去多余的沟通环节。

开始因为洞态的开源选择了它,但是在我们使用一段时间过后,我们发现洞态的优势不仅仅是代码开源。

开源社区很活跃

洞态开源社区很活跃,我们有时候在群里反馈一个bug或者是一个新的特性,洞态团队在下一版本就可以立马修复这个问题,然后帮我们实现新的功能,这一点我特别喜欢,点赞!

轻Agent重服务端设计

我还特别喜欢洞态轻Agent重服务端的设计,优势是如果Agent运算量过大,会对业务有一个比较明显的影响,所以轻Agent重服务端,让我们在Agent的性能上更好一点。

对于安全人员来说,推进部署会方便一点,如果你的Agent有问题,影响业务的正常运行,业务不会愿意进行部署。

洞态在陌陌落地实践

那么洞态是如何在陌陌落地实践的呢?

我们听听陌陌的安全工程师何纪新是怎么说的。

点击观看视频

↓↓↓

https://www.bilibili.com/vide…

洞态在陌陌已经应用到哪个阶段?

因为我们前期花了一些工作在内部RPC框架的适配上,所以我们的部署工作进展比较缓慢,由于陌陌安全在整个陌陌公司的属性,我们推进部署Agent的方式并不是找运维同学批量接入,而是由安全同学对业务团队对接,进行部署,所以我们的部署工作是比较麻烦缓慢的,目前部署了几十台。

您觉得洞态哪个功能实用性最高,与陌陌实际业务场景更匹配?

在一段时间的使用下来,我最喜欢的是Agent管理相关的功能,无论是自动降级还是Agent热更新,我都特别喜欢,我觉得这两个功能特别赞。

自动降级功能解决了我们之前在业务上遇到的,部署Agent导致业务接口超时的问题.

Agent热更新主要是方便了更新Agent,因为我们改动比较多,更新频繁,所以我觉得热更新很赞。

对洞态社区的贡献or想法

基于公司业务实现需要,在开发过程中,对洞态做了哪些升级和改造?

陌陌内部使用自研的RPC框架,所以我们对洞态做了适配,在这个过程中,我们一直和洞态团队的成员保持着密切的沟通,我们反馈了自己遇到的问题和一些想要的新特性,洞态也都很好的支持了我们。

在部署洞态IAST这件事上,开发人员是否难以接受导致推动困难,您是怎么克服的?

在部署的过程当中,可能经常会遇到来自业务方同学的友好发问,比如说Agent对代码是有侵入性的,出了问题怎么办?

像这种时候,你就得耐心的给他阐述,我们为了Agent的稳定性都做哪些工作,以及如果真的出了问题,有哪些措施可以解决这个问题。

对洞态的期待

根据公司实际应用场景,你最期待洞态IAST未来会开发的新功能是什么?

我一直想要一个功能,就是能否在服务端提供一个开关,就是配置项【是否开机即注册引擎】。现在Agent Jar包只负责装载Core以及其他Jar包,有了这个开关之后,我们就可以在Agent服务启动的时候,不立马注册Core的以及字节码的重写,而是由安全人员手动进行Core注册以及字节码的重写,这样安全人员对于Agent控制感更强一点。

还有一个比较期待的功能,如果Agent部署对业务方造成了影响,是否可以直接卸载掉这个Agent,卸载过后还能还原业务方的代码字节码,这就要求我们Agent在启动的时候要保存原字节码。当然我后来想了一下,就放弃了这个想法,因为可能会带来一定的性能影响。当然如果洞态的同学有比较好的解决方案,我还是特别期待这个功能。

更多详情:https://mp.weixin.qq.com/s/eN…

[温馨提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。]

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]