如果一辆自动驾驶车在路上,因为软件出现 bug,导致导航路线混乱甚至是车辆失控……

在智能时代,我们总是绞尽脑汁地开发新的技术应用,而对其带来的安全问题及解决方案的思考甚少。事实上,在以计算机技术为基础的应用里,软件的安全问题是一个避不开的话题,这也是鉴释科技所致力于的事情。

软件安全问题是刚需,自然而然也产生了一个巨大的市场,据 IDC《2019 年上半年中国 IT 安全软件市场跟踪报告》显示,2019 年上半年中国 IT 安全软件市场厂商整体收入为 4.82 亿美元(约合 32.7 亿元人民币),较 2018 年上半年增长 16.48%。且预测,未来 5 年整体市场年复合增长率为 25.6%。软件安全市场主要分为几类:

  • 一是保护,如专门有企业帮助保护 Java 写的应用不被重复剽窃;
  • 二是已经知道代码有病毒,然后告知手机或笔记本上用的软件有没有病毒,以及是否应该换新的版本;
  • 三是静态源代码扫描,即程序员在写好源代码后,无需经过编译器编译,直接使用扫描工具对其进行扫描,找出代码当中存在的一些语义缺陷、安全漏洞。

众所周知,静态源代码工具扫描是一种在软件发布之前,将问题扼杀在摇篮中的方法,也是软件安全维护中成本较小的一类解决方案。鉴释科技就是这一类型的技术及产品提供商,其能定位并识别代码缺陷和潜在的安全隐患,通过无缝集成整合软件设计过程,不仅能够提高软件的质量,还能缩短开发时间。

“中国软件开发人员数量积累快,但是平均素质没跟上。而链条的强度如何是要看最弱的一环的。因此,中国开发的软件存在质量问题,包括潜在的安全问题。” 鉴释科技的联合创始人兼首席架构师刘新铭表示,人才素质的问题导致了后续软件的开发质量问题。

针对软件的安全问题,目前市场上也有解决方案,不过每个工具都有局限性,无法将所有的问题都覆盖。所以,一般来说,具有经济实力的大企业会购买、使用多种静态扫描工具来寻找漏洞。“但对于工程师来说,要去使用这么多的工具,操作较麻烦,花时间且效率低。” 刘新铭用一个例子说明:一个工程师曾表示,他花了一周的时间来检查一个只包含两行更改的 bug 修复,而且其花在检查上的时间是花在修复 bug 上的时间的 10 倍。因为他必须使用 13 种扫描工具,严重影响了效率。

为了提高效率,鉴释科技研发出了深度源代码缺陷检测的静态代码分析工具 XcalScan。XcalScan 通过集成到软件开发过程中,为企业提高生产效率。 通过分析识别可能导致缺陷的源代码,避免内存污染、核心 转储、缓冲区溢出、非法操作,以及空指针等问题的出现。其算法主要包括数据流分析、控制流分析、上下文敏感度 分析、对象敏感度分析、跨程序分析以及跨文件分析。此外,XcalScan 的界面简化了错误检测过程,并将工作流程自动化 ,从而达到降低开发成本的目的。

刘新铭介绍,XcalScan 适用于三种典型用户类型: QA(QUALITY ASSURANCE)团队、项目管理人员和开发人员。开发人员通过静态分析工具扫描源代码引入的任何错误;QA 希望发布的软件 bug 越少越好,这个工具就能告诉他们软件的质量如何;主管想知道软件什么时候能发布,如果 bug 的数量每晚都在增加,那么他就可以客观地知道他究竟能否顺利发布软件。此外,主管还可以用这个工具来判断团队的预算是否足够。

XcalScan 适合各行业的客户,值得一提的是,据刘新铭解释,鉴释希望以 AI 行业为市场切入点。市场上有企业在用 AI 进行病毒扫描,不过 AI 的问题在于它只能发现已经暴露的模式,对于任何新的和隐藏的问题则无能为力。“我们关注的角度不同,我们专注于为人工智能领域开发的软件提供安全服务。” 他表示在智能终端和云端之间有很多节点,每个节都可能会有安全隐患,AI 的整个解决方案里面牵涉到很长的数据链。

在中国市场,客户端 AI 更普遍使用设备端芯片, 而 C/C++在这一领域更占主导地位, 因此,鉴释专注于首先解决 C/C++扫描。 “由于 AI 设备都是嵌入式系统,所以我们把注意力集中在” 嵌入式” 软件上。” 据刘新铭透露,公司的创始人在嵌入式工具方面拥有 30 多年的经验,此外,创始团队不乏曾在惠普、诺基亚、华为等企业有丰富工作经验的人才,这使其产品在竞争方面拥有巨大的优势。

定位与技术实力的结合形成了鉴释的竞争力。目前市场上也有一些代码安全的国际企业,如 MicroFocus Fortify 和 Checkmarx。刘新铭表示与这些企业的产品相比,鉴释还有几方面优势:扫面的精细程度更好、可以在复杂的逻辑下追踪变量流动、可以处理跨模块、跨函数的问题。

他表示,Fortify 运用的技术较老,不能很好的处理大量的源代码、算法复杂度和软件模块化。它的报告的误差精度是次优的,分析算法上的不足,导致了 Fortify 报告的精度不足。Checkmarx 仅仅运用了 Java,而 AI 市场和嵌入式系统由于性能原因以 C 和 c++代码为主,相比之下,鉴释的产品相比而言将更有优势。

“互联网出来之后,各种搜索引擎陆陆续续出现,最后他们都被一家公司打败了——谷歌,因为谷歌搜索的准确率很高,且全面。我们希望成为代码安全行业里的谷歌”。刘新铭表示,所有代码安全的公司都希望能产生更准确或更精确的问题报告,专注提高问题报告的质量,鉴释科技有信心超越所有的竞争对手。

“我们目前专注于新技术领域,例如人工智能、物联网,因为在这些行业里有很多新代码,它们混合了开源代码和企业自己的专有代码。” 刘新铭坦言,因为刚刚开始销售产品,所以现在客户数量不多,但其已经和许多创新型客户打过交道。据介绍,鉴释的盈利模式有两种:一是按服务收费,客户给到代码,系统来扫描然后告知问题,客户自己再去做修护。另外一种则是鉴释直接将工具卖给客户。

此外,鉴释在 2018 年年中曾获得 A 轮融资,目前正在进行 A+轮融资。