火线安全卢中阳:通过开源,可以做出一款极致的安全产品
随着数字化发展,安全变得越来越重要,尤其是对企业来说,安全风险几乎无处不在。作为全球第一款开源的IAST产品,洞态IAST支持SaaS访问及本地化部署,基于“值匹配算法”和“污点跟踪算法”,帮助企业在应用上线前发现应用安全风险。
近日,InfoQ记者在QCon 2021全球软件开发大会·上海站上,采访了火线安全联合创始人卢中阳,和他聊了聊企业应用安全的话题。
InfoQ & 火线安全
Q:您好,卢老师,请您先简要介绍一下自己和火线安全
A:大家好,我是卢中阳,火线安全的联合创始人。火线安全是一家基于社区的云安全公司,主要运营火线安全平台和洞态IAST,通过自研的自动化测试工具和海量的网络安全专家,帮助企业保障应用生命全周期的安全。
在2018 年,我们开始聚焦于网络安全漏洞领域,研发了黑盒扫描器。之后,开始筹备火线安全平台,于2020 年 4 月正式上线。我们对火线安全平台的定义是白帽子开发者社区,通过给白帽们提供火线自研工具,提高其挖洞效率,为企业提供更好的安全众测服务。基于平台数据,不断迭代产品。后来,IAST技术与市场前景进入我们的目光,因此,在去年便开始研发可用于DevSecOps的IAST工具,于今年9月1日开源发布。
2020 年 6 月,我们拿到陆奇博士的天使 投资 ,后续又获得经纬中国、五源资本投资。
Q:您觉得企业为什么会越来越重视应用安全?
A:我觉得有几点原因:第一,法律层面上,《网络安全法》、《数据安全法》和《个人信息保护法》发布并施行。以前,企业的应用和数据发生泄露,大家觉得企业也是受害者。现在,国家从法律层面明确规定:企业有义务保护其应用和应用上的用户数据安全。如果因安全事故导致数据泄露,企业负责人要承担法律责任,这是一个比较大的变化。
第二,应用的开发和部署方式发生了比较大的变化。以前,一个应用单独跑在一台机器上,只做好对它的防护就行。但是现在,应用和应用间以及服务器与服务器间的调用与连接变得越来越多。比如,有些App会用到第三方登录系统,如果接入的第三方登录系统本身存在安全问题,那么应用的安全基本不可能得到任何保障。因此,安全不再是一个认证或一个证书的问题,而应该是应用本身的一个产品属性,也是评价应用价值的一个非常重要的指标。同样,对一些服务提供者来说,如果提供的服务导致甲方发生安全事故,这个责任怎么认定,在后续合作过程中,如何让甲方认可供应商产品和服务的安全性,这也是企业需要思考的问题。
第三,信息化。信息化发展到今天,整个信息化程度已经很高,企业内部的应用和系统越来越多,接入的第三方系统也越来越多,应用所承载的数据价值变得非常大。可能一个很小的漏洞,就会导致非常大的安全事故,这也是企业越来越重视应用安全一个非常重要的原因。
Q:针对应用安全风险,火线开发了洞态IAST这款产品,希望帮助企业在应用上线前便发现安全风险,当初为什么会考虑开发这款产品?
A:最初,我们公司内部owefsad同学分享了IAST的应用场景。我们觉得IAST 应用的场景,不管从检测准确度上,还是检测效率上,它都是一个非常优秀的技术方案,一个非常酷的产品方向,所以很快决定进行产品化,把它做出来。现在owefsad是洞态IAST产品线的负责人。
Q:洞态是全球首个开源 IAST 产品,火线为什么会选择开源发布?
A:其实我们内部也讨论过这个问题,也和一些行业专家探讨过。最开始,大家觉得这是一个非常新的技术,还可以做成产品,为什么不直接拿来赚钱?为什么要开源?毕竟,我们是一家 商业 公司。
但是,从产品角度而言,好的产品不再是工程师和产品经理一起思考需求,然后开发出来的,特别是to B产品,一个非常优秀的产品应该是在真实场景中,一点一滴打磨出来的。我们希望通过开源的方式,把甲方客户、安全的从业者连接在一起,在诸多的安全场景下,做出更好的产品,并通过开源的方式回馈给行业。
现有的一些安全扫描工具,其效率和准确性还不够好,我们希望通过开源的方式,让国内更多厂商和企业通过使用洞态 IAST 这款产品提升公司内部的安全能力。
Q:洞态IAST作为一款交互式应用程序安全测试工具,其典型应用场景有哪些?
A:洞态IAST提供了非常专业的漏洞检测能力,可以用于开发过程中,对应用进行上线前的安全检查。同时我们也提供了相应插件,可以让开发人员在编写代码过程中完成代码漏洞检测。另外,合作厂商也可以基于开源版本,搭建自己内部的DevSecOps流程,将洞态IAST作为里面某一环的工具。或者基于IAST和一些沉淀的调用链数据,做有特色的逻辑漏洞检测,这也是一种比较好的应用场景。
Q:对企业来说,洞态IAST如何做到在应用开发阶段实现低成本、高产出的代码漏洞检测?
A:安全扫描工具一般有白盒和黑盒,基于原代码的白盒检测工具在某些情况下可能有误报,一般会配合安全工程师一起来使用白盒产品,使用成本相对较高。黑盒会发各种包测试,这个接口是不是有漏洞,不断发出各种请求,这会带来一些脏数据,测试过程比较长。
IAST通过在服务端部署Agent探针的方式,收集应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。IAST会检测执行时的每一行代码,以及应用程序响应每个HTTP(S)请求时的堆栈跟踪、内存值和实际数据流。
IAST在企业应用测试过程中,可以直接拿到最真实代码的调用链,从最开始参数的请求到最后执行的一些代码。因此,IAST的检测效率比较高,准确度也比较高,无脏数据、支持数据包加密/一次性签名/验证码等不支持重放的场景下的漏洞检测,非常适合用于DevOps流程中,以无侵入的方式对应用进行安全扫描。
Q:据悉,洞态IAST目前支持Java、Python两种编程语言的漏洞检测,未来会考虑加入对其他编程语言的支持吗?
A:我们未来会支持所有主流的编程语言,比如PHP、Go、C#等语言。
Q:DevSecOps的落地,除了使用IAST这样的工具外,还有哪些方面对企业很重要?
A:一是文化和认知,DevSecOps的安全开发理念 让开发、安全和运维一起对安全负责,尽可能让安全问题在开发和测试阶段就暴露出来,不像之前责任划分那么明确。二是流程,原来的一些安全工具对开发和测试工作造成比较大的阻碍,影响其工作,侵入性比较强,这也是比较大的问题,而洞态IAST以一种比较柔和的方式辅助整个DevSecOps更好的落地,因此选择合适的工具也比较重要。