前言前段时间微信群里有朋友说,今年入围RSAC创新沙盒的企业都觉得没有新的想法和亮点,并且不起眼;随后又有一位朋友表达了自己的感受。说起最近看的分析师文章,他总觉得炒作和哗众取宠的成分居多,平平无奇。于是大家聊起了这两年安防行业缺乏创新的问题。非常有道理的观察,我完全同意。但我还要补充一点:不是别人越来越矮,而是我们的眼光越来越高:这四年,笔者见证了国内安全技术的飞速发展。在某些领域,国内先进厂商至少可以与创新沙盒抗衡。决赛选手成绩平平,甚至有一个明显的赢家。尽管国内产业生态不利于创新,巨额预算被巨头垄断,去年行业增速令人失望,但创新发展并未受到抑制,无论是大厂还是初创企业都做出了辉煌的贡献。因此,创新沙盒评论变得越来越难写。介绍入围者的文章太多了。读者对刚尝到的内容不感兴趣,堆砌华丽词藻会被人嗤之以鼻。作者迫切需要找到一些独特的角度来满足视觉。读者的胃口变高了。如果我们能够摒弃阿谀奉承,通过幻想探寻本质,尽量不放过产品和企业的短板,对于提高我们的独立思考能力大有裨益。今年,让我们从拥有或依赖开源项目的初创公司开始。DualityTechnologies创新沙盒也有个赛道:密码学自然是一个,每年都会有一家公司入围。在笔者看来,还要补充一点的是Team8:一个安全创业孵化器,该团队是前以色列网络安全部队8200部队,每年必占一席。2016年的Illusive,2017年的Claroty,2018年的Hysolate,以及今年的Duality。明年Portshift会不会出现,让我们拭目以待。双重性使安全的数据协作成为可能。企业可以将高级分析和人工智能应用于加密数据,并在不公开原始数据的情况下深入了解数据。不出所料,技术方向是同态加密的应用,2017年入围的公司Enveil也是。对偶,对偶,公司名字真是应用场景和数学意义的完美结合。同态加密已经正式和广泛研究了十年,现有的算法都是基于格理论的。Duality的创始团队有两位长期研究密码学的大学教授,在DARPA等政府机构的资金支持下,创建了开源项目PALISADE,这是一个高度模块化的通用格密码实现库,包括同态加密算法。这是一个非常高价值的基础设施级开源项目。顺便说一句,基于格的算法可以抵抗量子计算机。其实很多加密算法在理论上也是安全的,并没有一般科普文章写的那么夸张;与DH类似,格密码也可以进行变换。Duality的产品是一个多方共享的中间平台,官方设计了三个应用场景。数据所有者可以在不暴露受端到端加密保护的敏感数据的情况下利用第三方分析和人工智能。还在不受信任的云环境中运行。分析模型所有者可以安全地将自己的模型提供给数据所有者进行高级计算分析,确保其宝贵的AI算法模型产权在整个过程中得到充分保护。多方安全协作处理敏感数据。同态加密在链接和计算过程中保护各方的资产,确保整个过程中的数据隐私和合规性。请注意,以上三种场景对算法的要求不同。在隐私和数据保护法规越来越严格的环境下,安全的多方计算也是当前的热门话题。大多数读者可能认为保护数据隐私就足够了;但现实是,分析函数的机密性也应该得到保护,这也是数学家努力的方向之一。由于其运算的线性,格密码体制比RSA等经典公钥密码体制具有更快的实现效率;并且因为这种类型的密码系统的安全性是基于NP-Hard或NP-C问题,所以它可以受到量子保护。此外,格运算具有同态性,这也使得格加密算法适用于同态加密的各种应用场景。因此,有望在下一代发展成为广泛应用的标准密码库。密码学是信息安全的重要基石。但在历史上,除了RSA成长为巨头外,也有很多公司专注于加密几十年,但都很难有大作为。Duality是安全行业中极为少有的在重要开源项目上拥有话语权的初创公司。作者寄予厚望。开源项目的经济原理和商业模式与过去二十年的互联网创新和开源项目密切相关。免费开发代码且几乎没有使用限制听起来好得令人难以置信;因此,许多学者试图用经济学原理来解释其背后的原因。自然有不少投资者争先恐后地想从中分一杯羹,但理想丰满,现实残酷,失败案例屡见不鲜。那么,初创公司和开源项目之间应该有什么样的关系才能获得成功呢?如果仔细观察RedHat这个近乎巨头的成功案例,就会发现它除了广为人知的开源许可证之外,还有大量的商业许可证。执照。这些商业license维护的是众多RedHat自研的核心代码,是其庞大帝国的根基。因此,衡量一家创业公司的价值,无论是开源还是闭源,最终都会回到技术壁垒这个基础问题上。有的投资人看项目,说是看技术层面,其实内心深处不屑一顾,看的是收益图。听起来不错。收入是否衡量市场对技术接受程度的表现?是否值得追逐销售开源发行版且具有良好销售能力的初创公司?这背后的逻辑值得商榷。首先,在今天,服务的壁垒已经不能仅仅依靠人才队伍了。信息咨询服务巨头埃森哲也有大量的代码和系统积累,就像RedHat依靠自己的知识产权模块一样。安防行业的MSSP也是如此:如果要提供SOC服务,没有先进的操作系统平台系统是没有竞争力的。其次,对开源项目的代码维护审批没有发言权的不是产品公司,而是集成商;他们的估值应该根据集成商的商业模式来衡量。道理很简单,技术壁垒有溢价,打包发布没有溢价。第三,全球已经有很多开源项目运营公司增加商业使用限制许可条款的案例,这对于销售开源发行版的商业模式来说无疑是一个打击。大多数开源项目都是基础的、通用的,需要找到合适的应用场景才能大规模商业化。而Duality是一家满足上述逻辑的开源项目初创公司。笔者也希望其能够在加密领域和行业应用领域挖掘发展潜力,做大做强。让我们来看看其他开源项目入围者。Capsule8Capsule8是业界专门为Linux生产系统打造的实时零日漏洞检测平台,无论是容器、虚拟机,还是物理裸机。官方宣传。你相信吗?不管怎样,我只是忽略了它。在国内做更多很容易,更不用说在全球范围内了。创始人JohnViega拥有亮眼的履历,业内资深专家,团队中不乏知名黑客。主机保护,相信大部分读者都比较熟悉,这里就不过多介绍了,随便挑一些Capsule8的具体讲义。其产品平台所强调的能力包括:可见性、检测性、侦查性、解体性、集成性,以及自动化防护的重笔墨渲染。Capsule8的开源传感器是用Go语言编写的,基于Kprobes,并使用gRPC。作者的反应好像是谷歌派的。果不其然,后来看到官方视频专门演示了与谷歌云管理界面的集成,技术路线决定了其他云没那么容易集成。当然使用Capsule8自带的管理界面也可以支持AWS和Azure。多云也有技术障碍需要克服。技术路线的选择非常耗脑力,一定要慎重去做,否则事倍功半。Capsule8成立之初,其战略就瞄准了容器。自然地,Go是更好的选择,因为容器世界的底层是Go语言的天下。性能在生产环境中非常重要。虽然Go的性能不如C,尤其是Regex处理速度差距较大,Kprobes的开销也不小;但考虑到兼容性、稳定性和未来的扩展性,这个选择还是比较合理的。选择部署哪个开源代理也是一个难题。Capsule8的sensor很轻,只采集安全相关的数据,主要有FileEvent、KernelFunctionCallEvent、NetworkEvent、PerformanceEvent、ProcessEvent、SyscallEvent、UserFunctionCallEvent、ContainerEvent等,只为0-day部署一个agent不划算检测。但是osquery在内核调用检测方面比较薄弱。目前,它只支持auditd。对Kprobes和eBPF的支持仍在开发中。我不知道什么时候会。甲方同学需要自己权衡。采集主机数据后,还需要看管理端是如何进行数据分析来实现检测的。说实话,成立两年多的公司,管理界面有点寒酸。大范围部署,怕是看报警的时候会发疯。还需要有一个查询接口。新产品需要支持威胁搜寻。笔者最关心的检测技术说明,找了半天也没找到。不提机器学习,不提行为分析,不提Yara,不提数据分析,不报警,这要看人。在比赛中面对评委的时候,是不是也应该回避这个关键技术能力呢?在demo界面看到了一堆InteractiveShellExecuted,好像是按照一些预先定义的规则执行的,不知道怎么更新。看了演示,对比了这张安全运营能力图,得出的结论是,产品团队未来还有很长的路要走。从这点来看,Capsule8的开源项目并没有太大的价值。笔者只能去RSAC展台看看新版产品到底有多远了。Capsule8的投资方是美国两家频繁投资安全领域的VC:ClearSky和Bessemer(BVP)。有趣的是,他们与创新沙盒有着深厚的渊源,在他们的投资名单上可以看到很多耳熟能详的公司,比如近几年的Axonius、BigID、Claroty、CloudKnox、Cyber??GRX、Hysolate。ShiftLeftShiftLeft是一个持续改进应用程序安全性的平台,它在自动化工作流中结合了下一代静态代码分析(以快速准确地识别漏洞)与应用程序检测检测(以保护生产环境应用程序)。这种“理解运行时状态的代码分析”和“理解代码的运行时保护”的组合提供了一个精确、自动化和全面的应用程序安全解决方案。组合方案,前者是SAST,还有一点SCA,后者是部署在生产中的IAST和RASP的混合。后者的官方推广确实是新东西,可以加快DevOps的速度。工作流程如下图所示:公司名也好。ShiftLeftTesting,左移测试,是软件领域一个由来已久的概念。这个名词也让笔者想起了小时候拨动单片机上的二进制开关输入左移运算指令的操作。左移的意思类似于目前业界提倡的将安全规划转移到应用系统架构设计阶段。将关键测试实践移至SDLC的早期阶段,尤其适用于敏捷开发、持续迭代和DevOps场景。传统上,测试活动大多在研发过程的后期进行,通常需要更长的时间才能找出问题所在,并花费更多的时间来修复它。左移是指将代码缺陷的识别和预防移到更早的阶段。否则,后期测试出现问题,能做的往往只是修复,而不是正确修复。应用安全一直是业界热点,新方向、新技术层出不穷。ShiftLeft有两个吸引人的产品创新。一是在静态代码分析中引入图算法,相比之前传统的代码检测算法,可以更好地检测出某些类型的漏洞;二是在静态分析阶段引入所谓的安全DNA概念。用于指导IAST和RASP在生产环境中的执行。首先,SAST的创新来自学校研究,基于代码属性图CDG的漏洞发现,论文如下。这一研究成果催生了开源项目Joern,可以扫描Java和C/C++代码,生成三种类型的属性图:抽象语法树、控制流和数据流。然后使用图形算法通过自定义查询查找潜在漏洞。一个值得吹嘘的记录,一次发现了18个Linux内核的新漏洞。显然是一个高价值的开源项目,引起了很多关注。ShiftLeft成立后,Joern继续发展,目前的产品名称为Ocular。官方表示,目前OWASPbenchmark的成绩还是比较不错的。当然,世上没有灵丹妙药,图算法也不能包揽所有类型的漏洞。下图显示了如何使用CDG来发现代码中潜在的数据泄漏弱点,这是一个有趣的想法。所谓安全DNA是指容易出现弱点的代码位置,比如引入第三方开源库、模块间传递参数、使用敏感数据等。所谓MicroAgent,本质上就是程序插桩。在保证程序原有逻辑完整性的基础上,插入一些探针进行信息收集,根据预定义的策略做出一些简单的响应。利用开发阶段静态分析生成的安全DNA信息,打桩更有针对性,检测效率更高,减少误报。通常,在快速的开发迭代过程中,没有足够的时间修复所有潜在的问题,必须做出取舍;未修复的部分是否存在风险,可以在生产环境中继续监控。这种方法还加快了DevOps过程。之后将这些告警传回控制台,用于反馈到开发代码阶段,从而覆盖大部分的SDLC和DevOps流程。延伸思考,乔恩自然也可以用在红队。上面说了CDG可以画出数据流,自然而然的我们就会想到合法的数据输入可以暴露在外面。如果我们能够整理出程序中处理这个输入数据的代码段,我们就可以对其进行定位。检查那些代码段中是否有没有被“清理”的地方,例如内存越界。Heartbleed漏洞属于此类。如果没有数据流图,在海量代码中准确定位和发现潜在风险只能靠运气。这个例子说明,只有掌握新技术,才能在对抗中取得有利地位。再优秀的安保队伍,如果没有先进的工具武装,其战斗力也会大打折扣。限于篇幅,笔者就不深入讲解了。目前产品完成度较高,在创业公司中算得上是佼佼者。也与其两轮大额融资有关。毕竟,更多的钱更容易扩大团队来完成更多的工作。以上三位入围的开源项目,读者更喜欢哪一位呢?不知道大家有没有注意到,ShiftLeft也符合我前面提到的开源商业模式。基于开源Joern,识别巨大的市场需求,补充整合优秀人才,不断开发更先进的技术模块,组合成更复杂的产品,建立竞争壁垒。成熟完整的管理团队,从开源项目中发掘潜力新秀,邀请所有者,即持股的学术研究人员,共同重建商业公司。这样的套路在今天并不少见。二元性亦同轨。如果有读者对自己的研究成果有信心,欢迎与作者交流。我们积累了大量的成功经验,利用先进的技术创造出世界领先的产品,服务于各行业的顶级用户。DisruptOpsDisruptOps为多云基础设施的持续自动化监控提供卓越的安全实践,以提高云业务运营的安全性并降低成本。读者可能看过朋友圈介绍这家公司的文章,全是唬人的名词:多云、自动化、敏捷、编排、DevSecOps、持续评估、良好实践、云原生等等,发明了术语护栏的新用法。多云管理市场的商机和重要性,笔者在去年的创新沙盒文章中已经强调过。然而,DisruptOps,你在开玩笑吗?搜它的网站,所有的能力都是给AWS的,那cloudy呢?一开始我不相信自己,以为我错过了重要的内容,所以我用了一个搜索引擎:没有任何Azure的迹象,真的只有AWS。目测,DisruptOps平台主要是利用AWS原生安全产品的API构建,如Config、CloudWatch等;无服务器架构使用了大量的Lambda脚本。如果打算将AWS的界面设计和产品功能原封不动地迁移到Azure,难度不小,工作量巨大。正如上面关于Capsule8的评论中所指出的,多云也有技术障碍需要克服。DisruptOps的创始团队包括安全咨询公司Securosis的核心团队。一直以来发表的研究和文章都是高质量的。笔者从进入安防行业之初就开始阅读。可想而知,他们深谙用专有名词来糊弄顾客的本事。我们看到国外的初创企业不容易,吹牛是为了生存。DisruptOps成立于2014年,时间并不短。当然,也是因为DisruptOps客户群看不到这篇文章,所以作者才会这么直接写。说实话,笔者浏览该公司网站后的反应:这不是产品公司,列出的都是内部安全操作规范。好的做法固然美好,但这样的商业模式能否持续增长,却是一个大大的问号。读者肯定见过各大厂商开源的GitHub内容扫描工具,但是你见过业界厂商推出的类似标准化产品吗?安全产品必须具备足够的能力和护城河,才能保持市场竞争力。是否可以通过配置一组验证脚本来设置障碍?需求不一定等于业务。哪些产品能力可以作为护城河?举个简单的例子。文件格式解析引擎,用于对各种格式文档中的文字、图片等内容进行拆解导出。迄今为止,全球只有两家成熟的商用供应商,一家是MicroFocus的KeyView(原为Autonomy和HP所有),另一家是Sirigard。KeyView不支持导出DWG等CAD图纸中的文字,而后者的引擎可以;KeyView不支持恢复分卷上传的百度网盘大文件,后者可以;等等。全球绝大多数DLP厂商都是外购引擎,受制于供应商缓慢的更新延迟;而Sirigard掌握了所有自研代码,成本更低,性能更好,接口控制更灵活,快速响应终端用户需求。只有将多个竞争对手难以复制的同类技术能力进行叠加,才能有效巩固产品优势。定期更改访问密钥AK是众所周知的安全做法。缩短AK的生效时间,即使泄露也可以减轻对业务的不利影响。DevSecOps实现的难点在于如何定时生成新的AK并准确分发,让所有使用对应旧AK的应用程序都能自动更新,保证顺利交接,不会出现任何故障。DisruptOps产品确实可以找到旧的AK,但仅提供四种操作选项:删除、冻结、挂起以进行手动操作和忽略。如何将其嵌入到DevOps流程中?就是个鸡肋而已,到底该不该用?另一方面,Accesskeyage属性可以直接在Console中查看,也可以将写好的Lambda脚本集成到自己的DevSecOps平台中。方很难花钱买到这个短板明显的功能,小企业是否有人力跟进也很难说,而且也面临云服务商提供类似功能的竞争不久的将来,添加诸如AWSInspector或GuardDuty之类的警报很容易。总体而言,产品成熟度很低,过于简单,仅提供初级安全基线检测,没有灵活的配置和扩展功能。概念不错,但是实现太落后,技术门槛低。评估后,甲方可能得出采购不如自主开发的结论。从另一个角度来说,DisruptOps提供了一套基本的安全模板,可以作为云安全团队刚成立时的入门参考。
