Apiiro的产品与常见的DevSecOps工具链中SAST/SCA/IAST/DAST等产品都不一样,非常特别,并且网上公开的资料也很少,没有白皮书、用户手册这些常规产品资料,更别说技术架构介绍了,因此笔者只能从第三方资料和Apiiro自己的Blog中窥见一些端倪,总结分享给大家。
Apiiro由首席执行官 Idan Plotnik 和研发副总裁 Yonatan Eldar 共同创立,他们此前曾创立 Aorato 公司。Aorato 是UEBA(记住这个词)用户及实体行为分析领域的早期先驱,后被微软收购。Idan 和 Yonatan随后创立Apiiro,直到获得创新沙盒冠军,这家公司也才30余人,产品不一定非常成熟,但是从中可以体会到,一个靠谱的创新思路有多重要。
Apiiro目前只有Code Risk Platform一个产品,并宣称是业界第一个代码风险平台。很多人可能会疑惑不就是代码安全平台吗,怎么会是业界第一个?
其实从名字就能看出点端倪,经常看国外安全产品研究报告的人会发现,Risk这个词所代表的含义不仅仅是漏洞,例如Risk-based vulnerability management,就是说漏洞管理工作不仅是看漏洞的CVE评分,更要与业务结合,综合考量暴露面、业务流、业务敏感度、上下文等因素,从真实风险的角度管理漏洞。Apiiro的Code Risk Platform也是一样,还记得他们创始人之前做过UEBA么,Apiiro就是把UEBA应用到代码安全方面,跟SAST融合,形成了他们的Code Risk Platform。
在看Apiiro的Code Risk Platform解决了什么问题之前,先了解下他们的产品到底有哪些能力。
Apiiro并未公开产品资料,但Apiiro今年也入选了Gartner的DevSecOps Cool Vendor报告,从Gartner的描述中可以略窥一二:
Apiiro提供了一种自动识别代码重大变更、需要安全介入的方法,自动去除大部分不会带来安全风险的代码变更,减少安全测试投入。通过对代码和开发元数据(例如提交消息、pull请求、用户故事)以及开发人员资历等因素进行深度持续的分析来实现。Apiiro能够与企业源码管理和工单系统连接,也可与应用安全测试工具(如SAST)、软件成分分析工具和API网关连接。
再看TechRepublic今年3月对Apiiro的报道:
该平台从多个来源获取数据,计算具体更改带来的安全与合规风险。Apiiro发现一个异常提交后,会给出将其标记为风险的原因。一般包括非正常时段的活动、前端人员提交后端代码、开发人员在不同位置或使用不同计算机更改了敏感文件等。
Apiiro会学习目标单位的代码库以及开发人员的习惯。在提交过程中,该平台将二进制文件中的DLL文件中的更改与源码管理器进行比较,并在发现安全风险后自动中断后台构建过程。
Idan Plotnik说:“当攻击者尝试入侵某个网络内的合法帐户时,我们还能在它进入CI/CD管道前告警并将其捕获。”
从以上两部分内容就可以大致勾勒出Apiiro的产品能力:
利用UEBA技术,通过连接开发工具链中的各类平台,例如Gitlab、Confluence、Jira等,获取开发过程中提交、修改、上线、测试等信息,结合UEBA技术,来识别存在安全与合规风险的代码修改和开发人员的异常修改行为。
从官网介绍也能看到,Apiiro集成了很多DevOps攻击链上的工具,以此作为代码风险平台的输入,如下图:
Apiiro的博客也提到了一些详细的输入因子:
通过源代码层以及SAST的引擎能力,获取历史代码变更记录,分析数据类型、数据变量、开源组件等信息;结合Jira上的标签、风险等级、bug信息,代码仓库的commit信息、代码pull的discussions信息等元数据,分析出代码业务的重要性与影响。
同时,加上开发人员地理位置、历史活动轨迹、常见提交时间等形成行为基线,结合UEBA发现开发人员活动中的异常。
另外还会整合
DevSecOps中
第三方安全工具链以及API网关的数据。
笔者也不认为Apiiro短期内就已拥有SCA/SAST/IAST/DAST开发安全全套安全工具的能力,所以这部分应该还是通过API联动第三方产品,不过Apiiro的产品作为一款代码风险平台,应该也具备一些SAST的能力。
所以Apiiro的产品核心差异化和创新点是什么?答案是AI和UEBA。不只
通过AI分析了异常,还得出了代码关联的业务重要性。这也确实是笔者所见到的唯一一家把AI和UEBA能力应用到DevSecOps中的产品,不为安全工具服务,而是为整个DevSecOps活动服务,正如他们所宣传的“Industry-first Code Risk Platform”。
总结来说
,Apiiro的产品包括两个主要能力,第一是识别开发过程中的重大变更,通过各种信息判断这次变更的业务重要性,然后利用SAST能力进行安全检测;第二是识别开发过程中开发人员的异常活动。
把这两个能力套用到各种场景上,就成了他们对外的业务打法和业务宣传点。
这次Apiiro也算是占据了天时,SolarWinds事件爆发没多久,全美对此次事件非常重视,微软的总裁评价这次事件“是史上影响最广、最复杂的一次攻击”。事件发生后Apiiro他们就推出了业界首个供应链安全解决方案。
大家都听说过SolarWinds事件,攻击者潜伏进SolarWinds Orion的内网,篡改了他们的软件更新包,还不是直接篡改二进制包的方式,而是攻击者在内网拿到了很高的权限,修改了软件源代码和签名,避免后门被杀毒软件发现,从而使北美很多政府单位和多家世界500强中招。FireEye也官宣中招,他们的红队武器库被偷。
这个问题正好是Apiiro能够解决的问题,攻击者修改源代码的行为明显是开发过程中开发人员的异常行为,再不济也能被识别为重大业务变更,能够发出需要安全审查的警告。