写在前面
目前所有的安全厂商的安全理念都是错的!
99%的企业的安全系统都是有基因缺陷的!
这是选型宝主编与SYNOPSYS中国区部门业务负责人、 Coverity产品线专家 韩葆首次交流时,他率先抛出的两个观点!
PART1
Q
作为一家EDA和IP领域的一个全球的领导者,那么你们为什么会想要进入这个安全市场,这个市场其实已经很拥挤了。那么你们的优势在哪?
韩葆
其实这样的,在过去的30多年里我们一直在做的,我们要去保证硬件芯片的可靠性和安全性。这种复杂性和能力是远远超越目前企业安全市场的需求的。
我举一个小的例子,咱们手头上比如很小纳米的七纳米的这种小芯片,可能它里面有两百亿个晶体管,这样对于这两百亿个的这个量级是非常巨大的。
Q
确保两百亿个晶体管的可靠性,意味着什么?
韩葆
意味着你需要至少两百亿次以上的判断,所以知道它的可靠性。这个难度其实非常大的。但是我们积累了非常多的经验在这一个上面,所以这个区域或者这整个的领域,我们是无人能敌的。
Q
保证芯片可靠性,与信息安全需要的能力,有什么相通之处?
韩葆
对应的软件的系统可能就是两百亿行代码,我们要确保这样一个复杂系统的安全性和可靠性。从大规模的数据,从里面获取关键性的信息,这是我们擅长的一件事情。而这种能力跟 信息安全领域需要的能力是相通的。
Q
作为CIO或者CTO,确保企业的信息安全、业务可靠性,是不是用得上这么复杂的保障能力?
韩葆
传统上,我们理解企业用的软件项目其实比较小的,50000行代码、100000行代码100万行代码,这种量级其实对于我们看来,其实不是特别大的,都属于比较小的项目,但是我们也看到了软件行业目前有两个新兴的趋势,这两个趋势让我们做了一个决定,进入信息安全的领域。
第一个趋势就是在咱们新兴的软件的技术,比如说一些趋势,人工智能、ROT的设备、互联网或者是电子、新的汽车的行业的应用。
它让整个的软件系统变得越来越复杂,越来越庞大。我举个例子,咱们手头可能很多人都拿着安卓的手机,一个安卓的手机,它可能代码量,这个系统就有八九千万行。咱们汽车上路,你可以看到有各种各样的娱乐系统,车载的设备,它里面跑的代码可能也有一亿行,甚至会更多,所以对于这种大规模的,特别大规模,特别复杂的系统,你要去保证它的安全性和可靠性,难度是非常巨大的,但是对于Synopsys来说,我们是能够去胜任这样的任务的。
我们看到的第二个趋势,其实是,咱们当前其实处于一个信息爆炸的状态,对于传统安全厂商来说,要从海量的数据里面,甄别出真正有威胁的信息安全的事件,变得越来越力不从心。
我也举一个简单的例子,2014年有一个非常知名的安全的事件,可以说是整个信息安全界都非常重大的安全的事件,心脏出血漏洞,它几乎影响了整个,就是全球2/3的网站,但是这一个事件您能想象吗?它是Synopsys发现的,他不是传统的安全厂商发现的。
Q
这就您前面说的,做安全其实需要的核心能力,是要从这些海量信息里面找出有危险的情报,发现其中漏洞,而你们在芯片领域积累了这种能力,进入安全这个市场, 是一种能力的平滑迁移?
韩葆
是的。
这个其实就相当于海底捞针的过程,信息就像是海一样,海水汹涌去喷涌过来,但你怎么样去获取到里面关键的信息。
事实上,我们比传统安全厂商做的更好,所以我们不是平滑过渡,而是“降维***”。
PART2
Q
你们进信息安全的核心理念是怎样的?
韩葆
这是一个很好的问题。因为我经常被问到这个问题。其实传统上,大家理解信息安全,是以信息为核心构建安全体系,但对于Synopsys来看,我们认为这一个观点或者这一个做法完全是错误的。
Q
对不起,我打断一下,信息安全体系不以信息为核心,那以什么为核心?
韩葆
软件安全为核心。
Q
以软件为核心?
韩葆
对,以软件安全为核心。我们其实看到99%以上的团队大家都不去注意软件安全这样的一个事情,但是,我们认为软件安全是整个信息安全体系的基因,如果忽略软件安全,
你构建 的信息安全保障体系从先天上或者从基因上就是有缺陷的。
Q
为什么你们认为软件安全是整个信息安全的基因?
韩葆
其实我们我可以给你举一个水桶的例子,信息安全这一个行业其实是水桶效应非常明显的一个行业。我们把信息比作水,那软件是信息的载体,是水桶的桶壁,如果我们去保证水的安全,你会做什么?加固桶壁,对不对?
同样的道理,信息是水,软件是桶,其实信息本身是存在、跑在软件里面的,如果软件有漏洞的话,你是没有办法保证信息是安全的。
Q
如果你以软件为核心的话,这样一种安全的架构是怎样的?
韩葆
其实Synopsys在这个领域做了非常多的调查和研究,我们调研之后发现其实软件安全,它可以完全的就是重新定义为两个部分,第一个部分就是咱们软件研发生命全周期过程之中的安全的保障、质量的保障,第二部分是产品上线后了,维护产品的可靠性安全性,从内外部的海量里,去感知到有威胁的情报,第二块可能更符合我们常规理解的信息安全这些东西,日常里面的威胁感知,或者提前预警、威胁的处理等等,是我们日常对信息安全概念的理解。
Q
这个理念框架,与传统的信息安全理念,有什么不一样?
韩葆
传统的安全厂商只管火车在铁轨上运营时的安全,我们不仅管这个,我们把火车制造过程中安全过程也管理起来了。
传统的安全理念,就是管日常安全;前置的概念,也只是指提前感知到的威胁,就好比他们只管火车在铁轨上跑的时候,一些内外部的动态情报。
Synopsys认为样是不够的,最大的隐患是,火车自身质量不过关怎么办?所以,Synopsys的前置概念,是从第一行代码管理起来,确保整个系统的基因是安全的。
就是既要保证火车自身是质量过关的,又要保证火车在铁轨上跑的过程是安全的,我们认为只有这样,才能算一个没有基因缺陷的、完整的信息安全体系。
PART3
Synopsys 的方案包括那些内容?
Q
如果以软件安全为核心,您认为从软件的从研发,测试,到上线,包括到日常运营在整个这个过程中间都有哪些隐患,一般来说我们都会有哪些方法来去保证我们整个软件是安全的
韩葆
我们把软件的生命周期分位5个环节,软件安全的思想,贯穿软件生命周期的全过程。
1、 前期的需求和设计阶段
主要是安全咨询的过程,企业需要设计安全的规则和框架。后期则是实现、验证和重构以及实时监控的过程。
2、 具体到软件实现阶段
根据软件来源,又可以分为:自研、外采、基于开源代码再次开发几种途径。
为了确保各种渠道的软件安全,需要采用的方案有:
静态代码分析:通过对代码的直接检测直接定位到代码中的安全漏洞
软件组件分析:是不是用了不符合法律版权的组件?已知安全漏洞被包含?
3、 在软件测试阶段
主要以黑盒测试,***测试,模糊测试为主
黑盒测试为传统的功能性测试,也就是“点点点”的过程。
***测试则偏向于安全团队的模拟******,网络协议Fuzzing是模拟所有可能的网络协议输入,来看你的软件或者硬件是否足够安全。
4、 在软件运行上线后
其实就开始监控的流程了,这一块要和传统的信息安全一起结合,是一个状态查看和感知获取的过程。
Q
围绕您刚才提到的软件生命周期各种工具,Synopsys有那些对应的方案?
韩葆
信息安全是一个系统工程,也是水桶效应很明显的一个行业,Synopsys围绕整个软件生命周期,构架了一个安全体系。
1、 前期的设计和需求阶段
Synopsys的Cigital安全服务团队拥有一群全球顶尖的安全咨询顾问,包括Gary McGraw博士,《***大曝光》丛书作者Joel。Cigital的团队提出了BSIMM这个概念-Build Security In Maturity Model – 这个模型已经被200多家知名企业使用。
2、 实现阶段
根据软件来源不同,会有不同的产品
(1)Coverity:静态代码分析工具
来自斯坦福大学实验室,Coverity最初和美国国土安全局合作,为开源项目提供代码质量与安全检测服务是唯一一个能够一次性检测上亿行代码的静态代码分析工具。
(2)ProteCode:开源代码协议审计与第三方组件安全漏洞检测产品
面向的源码库中的开源代码和第三方组件,ProteCode研发了新一代的分析引擎。
3、 软件测试阶段
(1) Defensics协议健壮性和安全性Fuzzing测试产品
-HeartBleed(心脏出血漏洞)发现者
(2) Cigital的***测试服务
***测试主要依据已经发现的安全漏洞,模拟***的***方法对系统和网络进行非破坏性质的***性测试。
4、 在日常运营阶段
AbuseSA是一个威胁情报平台,能够帮助安全中心和计算机应急响应组队基于情报驱动策略作出快速反应。
PART4
除了概念完整性
Synopsys各产品参数级的表现如何?
Q
现在,你们的理念方法的完整性上,我们理解了,确实有独到之处,那么具体到这些产品,在参数级的表现如何呢?
韩葆
由于我们具备芯片级的可靠性能力,使得我们在很多业务数据上,表现出与现有工具完全不一样的性能,举例来说:
- 准确度(误报率),Synopsys全套产品线的产品误报率是非常低的,Coverity的误报率在15%左右,而其他同种类的工具误报率在70%以上。
2.大规模并发分析的能力:Synopsys有IC行业的积累,对于大规模运算的处理能力和分析能力是顶尖的,上亿行的源代码库都可以直接一次性分析通过。
- 流程集成和结合的能力:全软件研发生命周期集成。
举个例子:Defensics发现了心脏出血漏洞,Google也发现了这个漏洞弄,但是Defensics发现的过程中能够将原理阐释的非常清晰,也给出相应的修复建议。
Q
您刚才提到,你们的静态代码分析工具Coverity的误报率在15%左右,而其他同种类的工具误报率在70%以上,这个参数的变化,意味着什么?
韩葆
意味着我们让静态代码分析工具进入一个可实用的状态,而绝大多数同行的静态代码分析工具是不可实用的。
其实传统的静态代码分析工具之所以无法实用,它们让咱们所有CIO或者研发团队、安全团队最头疼的一个点就是它的误报率太高了,你可能我有100万行代码,它扫出了100万个问题
Q
这100万个问题是真实存在的还是说是?
韩葆
不,不会全是。
Q
可能本身并没有这个问题,它报出来是问题。
韩葆
对,这个我们就是专业的术语叫做误报。
如果说你的误报率很高的话,所有的人员都会拒绝使用的,大家都只看报告,OK,我找到了那么多问题,这个问题就在这了,但是谁去修谁去改?没有人去管。
Q
我本来有一百道题里面,错了15道题,然后你告诉我一百道题全错了,当时我内心就是崩溃的,也就失去了对这个工具的信任,是不是这意思?
韩葆
是的,如果说我们给到的都是真正的准确的数据,那静态工具就可以进入一个可实用的状态。我给大家举一个例子,Linux内核,我们现在产品的整个的误报率是9.7%,换句话说是课文里找到了一个问题,超过90%的情况,它就是一个真正的问题。
Q
所以这就是,因为参数的变化,导致一个可用性和不可用的一个区别。
韩葆
是的。
Q
好的,那其实今天非常感谢韩总来接受我们一个访谈,再次感谢大家的关注,今天的访谈到此结束!
原文地址:https://blog.51cto.com/14440256/2421574