年会演讲实录| 中国软件评测中心周润松:大数据系统测评解析

周润松:大家下午好,非常荣幸能来做这个分享,希望我的报告能给大家一些启发。我的报告主要是三个方面,第一方面是分享一下我们在大数据测评方面的一些工作开展情况,第二方面是围绕大数据系统性能,刚才大家也提到了很多这个系统,其实我们很关注性能方面的一些内容。最后我们再分享一下关于大数据安全方面的一些工作内容。

这个是2017年FISRTMARK发布所谓大数据的这个蓝图,这个地方我们可以看到,这是国外一些大数据企业的分布,下面是数据源,上面有我们开源很多的产品,再上面有一些跨区的基础设施,我们看到很多的一些大型企业像谷歌、IBM、微软,他们做的基础设施。左侧有我们很多大数据、生态里面的很多产品,像我们一些新兴的数据库,还有一些可视化展现的产品,中间这块就是应用分析类的软件我们也会看到现在人工智能的产品也会融入到大数据的生态地图里面。右侧是企业化的应用,实际上在生态里面,今天在座的不同企业都或多或少接触到这个。

我们国内很多的企业可能是站在巨人的肩膀上,在开源的产品上做一些集成的创新。这是通常一个大数据的整体系统图,在传统的信息系统基础上,除了结构化的数据,我们引入了非流化数据,或者是半流化的数据。同时我们也强调大家关注的数据传递,数据不是拿来就可以用的,很多的数据不是有效的,而且有些数据因为有些网络的状况会丢失,或者是有延迟,还有一些数据是有传感器的误报,所以我们会有清洗和转化的工作。

我们通常把数据分为离线的处理和实时的处理,有些数据批量的处理拿回来结果就可以了,还有一些数据,我需要实时计算的,会把一些传感的数据实时的拿回来做判断,我们最高的境界是洞察这个世界,然后控制这个世界。我们能不能拿到这个实时数据以后,然后能够对这个物理世界进行反向的控制,这个是我们不断追求的方式。再后面的话,我们会可视化的展现,或者是服务的接口。

软件平台中心实际上是属于中国电子信息发展研究院,在2016年我们就成立了一个中国大数据产业生态联盟,大家可能会在媒体或者朋友圈看到过,我们从2016就做了一件事情,当然当时还是局限在大数据产业生态联盟内,做了一个优秀的大数据产品解决方案和案例甄选的活动。这个活动我们坚持了三期,分成了三个档次。第一个我们是征集产品,这个产品是发现我们国内的在大数据这个领域做了一些知识产权的产品。

这个地方我们主要关心的核心内容是它的功能、安全性,以及它一些兼容性、效率等,然后我们也强调了自主的知识产权。另外,我们还有两个方向是解决方案,比如很多的企业它可能会围绕智能网联汽车,或者是交通的领域,它提供完整的大数据的解决方案,他们有很多的一些系统,基本上有行业的解决方案的能力。

还有一类是这能力已经辅助于实现了,而不是一个所谓PP的解决方案,它还会堆到一个案例上去,所以在这三个维度上根据这些指标项做一个评测和认定。这是我们刚才提到一些核心的要点,比如大数据产品的话,首先它能够有自己的知识产权。它虽然有一些东西是国外的产品,至少在这个上面做了一些加工,或者是有自己所谓算法,或者是申请著作权和专利的内容。同时它具有大数据的属性,能够去处理这种结构化、非结构化的数据,同时它有一定的扩展能力等等。解决的方案,我们也是强调至少有两个以上大数据产品的集成和创新,它是围绕一个特定的行业去提供一种特定的解决方案和思路,我们也会去鉴定这个解决方案有没有落地。

案例的话,它实实在在在某一个行业用起来,而且用的效果不错,能够提供相应的材料。基于这个我们做了三次活动,累计大概发放了34个产品22个解决方案,还有24个案例的评测结果。这里面大概的分布,比如我们有一些做数据抽取转换的,还有MPP这些,还有刚刚提到生态地图里面左上角这些产品,也有一些国内的企业会依托于国外开源的平台做一些整合,在上面做一些创新的话,会做一些自己所谓这种技术平台,我们也看到有八个企业之多,八个平台,还有一些是做一些计算平台,或者是做一些分析平台的内容。

围绕特定的行业,比如围绕医疗、养老这些行业的话,可能会做医养大数据平台的行业产品的解决方案。在解决方案这一块,我们可以看到在很多的行业都有所覆盖,这个地方更主要的还是集中在政务这个领域,还有像智慧城市和交通这个行业也有一些解决方案,我们后面也有一些案例,可能今天来的话,大家更多关注在交通这个行业。我们有一些交通的数据,或者是有一些旅游数据的平台,实际上有很多的交通信息在里面。

我们之前在14年、15年进入这个大数据行业的时候,很多公司还在谈怎么去搭建一个系统,我们现在看到更多的企业是把这个系统用起来,刚才很多专家提到了,我们有很多的算法和模型,它是实实在在去解决一个又一个实际的问题。这是我们做的一个测试,这是对某一个产品做定制化的测试,从软件测试的角度来说会分成不同质量的特性,对大家进行测试。比如功能的话我们会强调它的数据采集的能力,或者是核心功能,或者作业流的处理,或者是日志流、图片流的处理看看能不能实现。在兼容性方面我们会强调一些,比如它上面会有交互,对标准语句兼容性的组织能力,还有查询操作的能力。后面我们还会强调一些可拓展性等等,这是我们做的一个测试。

基于我们之前的评测,我们可以看到这样一个状况,这是我们好的一些方面。首先的话,我们看到这个产品的话,还主要是以开源的平台为主,大家可能会听到很多耳熟能详的产品,还有国外这种开元的产品。实际上国内的话也有一些企业围绕这些产品做一些二次创新,比如我们会看到国产的数据库,或者是结构化、非结构化处理的平台。

也有一些企业做了一些整合和创新,在特定的行业里面做一些集成,我们会看到有一些产品投一体机的方案,就是它会做一些解决方案。我们看到有一些行业已经在部署行业的解决方案,目前的话很多解决的方案,可能还停留把数据的能够收集上来,能够做简单的这种展现,或者是统计分析,把我们传统的BI在分布式方向上走的更近了一步,很多企业也在这个基础上致力于更好的去对一些模型,或者是算法做一些优化和分析,通过这些我们有很多的企业会尝到甜头。

通过这些模型算法,它能够对它的生产效率得到有极大的提升,得到相应的回报,所以说大家也会乐此不疲。大家也会看到我们在大数据里面有一些所谓关联的创新。比如刚才大家也提到了所谓金融的创新,我们拿到一些数据甚至可以做金融的创新,比如三一重工,它可以拿到重型机械的数据,就可以有跟三桶油的话,就有一些议价的能力去做一些金融方面的创新,案例的话也会在各个行业遍地开花。

我们也看到了一些问题,目前的话,我们的技术平台更多的是以国外为主,而且一些依赖核心的一些开源算法库,还期待更多的产品。我们国内很多的差别还是在把国外的东西引进过来,实际上它的这种成熟度还是不够,我们在系统的建构性还会有一些问题。

另外我们在测试里面,大家也会关注到这个效率,大家都知道我们在所谓的现代如果大数据系统的话,我们所谓数据所谓的高通量、实质性,它对性能优极高的要求,另外大家也关注了安全,这两个问题也是我们后面有所涉猎的。

第二部分我简单给大家讲一下性能,我们这个对性能的话,通常从测试的角度来说可能把性能分为这几个方面,一个是所谓的负载压力测试,对大家来说也比较好理解,比如这个系统我要支持很多的用户去做访问,这个系统能够处理得过来,这是负载压力测试。它能不能承载一百,或者是一千,或者是上万的人上同时访问这个系统,它的效率怎么样。

第二是大数据量测试,我们有一些系统的话虽然不需要去对很多的用户访问,但是要在极短的时间内要处理比如TB级,或者是PB级的数据,它能不能把这个数据算出来。另外还有一个,大家可能对测试不是特别的了解,还有一个疲劳强度的测试,比如我上线的时候可能没有问题,但这个系统运行了一段周期或者是半年,或者一年,这个系统会变得越来越慢,可能会出现阶段性的宕机的情况,所以我们通过测试的手段模拟出来他一年或者是半年访问强度,判断这个系统是不是健壮的了。

另外我们看到大数据可能很多是通过类似于集群的方式部署了,它肯定会有阻备的环节,它有一些单一失效的结点有备份的单元,针对这个单元我们会做一个所谓私效的恢复测试,我们强行把一些阻结点给断掉,它的备份结点能不能及时的切换,能不能接管过来。同时阶段以后的话,如果主结点恢复了还能不能切换回去,这是我们对系统的测试,从性能角度来说我把它分成这四个类型。

对于测试来讲我们是不断优化的过程。右上角有一个图,通常一个性能是的话一个周期,首先去模拟负载,模拟完负载的同时,我们相应于能把一个未来使用的情景在显了。在这个基础上在对他做资源的监控,在这种压力下面,这个服务器的资源表现是不是合理了,或者它的网络带宽是不是合理了。基于这个的话,我们去判断这个系统资源是不是合理,同时我们去评判这个响应时间是不是合理。就是对用户的合理,对用户的体验,我们有两个维度。一个是用户体验的角度来说,它是不是合理了,就是这个系统快不快,能不能满足用户的要求。另外一个是后端资源占用的情况是不是有效,后面是对它的分析,诊断它一些平行点,或者是性能的症状在哪里,然后再去做优化,再去做测试确认,就是这样一个循环的周期,这是我们所谓的性能。

后面我简单举了一个例子,我们曾经做的一个,因为我们在测试的时候会基于一些基准的模型,因为我们有时候没有一个生产系统去测,又希望想看一下这个方案能不能合理的应用。所以有基础的基准测试,就是我们假想一个数据模型出来。我们这里模拟的是一个营销的系统,它的这种数据处理,它可能会设计很多的表和字段,比如我们是采用TBC国际性能官方组织的话,它有一个基准。它就是模拟我们刚刚提到的运营商,模拟了我们在数据库中关系的模型,还有雪花的模型。基于SQL标准去做交互,这个系统了面我们模拟了24张表,测试的话是用99个SQL语句,这99个基本上代表了他典型的使用的场景来去做这个测试。

我们实际上测了一个在大数据里面最基本的产品形态,就是大规模并行处理的数据库结点。当然在系统设置里面,我们用的这个服务器的配置相对来说还算可以。600G的硬盘,1万5千转的转速,这样一个测试。数据库里面表的容量相对来说就比较大了,里面有7个维度表,7个事实表就是数据表,在3TB的数据容量规模下面,我们一些核心的表,比如第二行这个表,它表条目的记录数可以达到43亿条,在这样的数据规模下做这种测试,评论这个系统性能优劣。

这个是我们看到某一个厂商,在不同的SQL语句下面查询响应的时间,就是我们说的99条SQL语句,我们都会对它做这种测试。在300GB的数据规模、1TB的数据规模,或者是3个TB的数据规模下面,我们对它去做测试,评判这个系统的好坏。这个做的不是非常好看,相当于我把99条SQL语句按照它的How值叠加起来,做这样一个柱图,也就是说它占的面积越高,就是它在3BT数据规模查询下来它的对比,这是两个厂商的对比。

后面还会看到不同的厂商,在不同的数据规模下面,它CPU的占用,以及内存的开销,还有磁盘读写的速率,以及落的传输。这个时候我们就会发现不同不同的厂商实现的方式或者是机理是不一样的。有的厂商网络的开销比较多,有的厂商对磁盘IO的读写比较频繁,我们可以看到这个技术实现的话有一些差异,为什么我们在测试的时候,可以通过测试,或者去选型,或者是确认它一些内容,这个我们提到这个性能测试的内容。

我们刚刚举了一个例子,这性能测试大概的开展方式是这样的,首先是通过计算机的方式去模拟一个被策系统的这种行为,然后把它放大出来,能够代表一个未来的使用场景,然后去发现它的问题,提前把这个问题解决掉。

最后报告一下关于数据安全测评的内容,大家可能比较关注这个安全的内容。因为刚才大家也提到了到大数据还有关联的特性,所以说我们目前的话梳理了一下常见的数据安全的痛点,我们有一些很敏感的数据,它的分布和来源可能缺乏有效的管理,没有一个很好的管理。还有是数据使用的情况,它没有一个全面的审计,或者是审计的力度不够,我们有时候也会肯定,会测试一些系统。从审计的角度来说有一个表现,不是说某个人访问了这个数据就可以了,可能我们希望是某个人在什么时候访问了这个数据,而且把这个数据从多少值修改到什么样一个值,这个才是一个所谓审计的结果,而不是说只要有审计就可以了。有审计的功能,但是它的科技度是达不到要求的。

同时审计这种行为不完整的话也会导致,事后我没有办法去追溯这个过程,还有数据的滥用,因为我们接触到很多政府单位存在这个问题,它很多数据中心都是托管给一些集成商的,这个人员都很复杂,因为任何一个人都可能有访问权限一样的,甚至用硬盘直接带走了都有可能。这是我们在现实的世界里面,很多的一些运维企业真实的痛点。

这个是Gartner数据保护的方法论,我们更多的是关于数据在哪儿,或者数据多么的敏感,或者是在数据的过程中,它有没有相应的保护或者是机制,以及我们是不是能够获取到谁在使用这些数据全生命周期的这样一个监控和分析。通过这几种方式的话在这四个维度的话,我们不断的把数据的来源,或者是使用分级,以及过程中的加密和撤离,以及这种数据流向等等做一个完整的监控。

这个是阿里提出了一个所谓全生命周期的数据安全的过程域,首先把数据分成六个环节,首先有数据的产生、数据的存储、数据的使用、数据的传输,以及数据的共享,同时也会强调数据的销毁,有些数据最后不用了会把它销毁掉,就是从数据的生命周期有这样一个环节。基于这六个环节设计了30个过程域,每一个环节里面我该关注哪些内容,比如这个数据的使用,我们会关注数据有没有脱敏,我们数据分析里面有没有隐私的保护,这个可能是大家关注的。首先是提出这样一个命题,然后在系统里面去看各个使用环节里面是不是做相应的留存或者机制的保护。

这个是我们国家新安标委在大数据安全的这种标准体系里面,目前已经在规划或者是正在做的很多事情,围绕大数据安全的话,目前围绕基础的标准、平台、数据安全、服务安全、行业应用做了一个整体的部署,最右边的话,像大数据的安全管理指南,以及个人信息安全规范,包括我们后面提到大数据的服务安全能力要求,这个已经作为标准在年底发布了,相当于一个40的标准了,这个大家也可以关注一下。实际上我们国家相应的标准部门也是积极的推进相应标准的起草工作,尤其是像个人隐私等等的保护,我们刚刚发布了个人信息安全规范。

围绕大数据服务安全能力要求的话,我们也参与起草了这样一个大数据服务安全能力要求的标准规范。实际上大家对于大数据系统的一个划分来说,比如有基础设施、数据平台应用层、应用层,围绕不同的用户角色,或者是不同的企业,对它的一个角色它在数据安全方面要达到一个什么样的能力标准,在这个标准里面做了相应的规定,最终围绕基础安全要求和平台应用要求,以及数据服务要求的话形成了相应的安全目标,这个标准也已经发布了,应该是今年就开始实施了,这是我们提到的标准。

我们简单看一下传统的新安全的保障体系,我们通常的话,从安全的测试角度对现有的信息系统来说,我们目前的方式主要是从信息系统安全运行这块会关注整个的寿命周期,从系统建设开始,因为通过我们国家对一些重要的信息系统会有一个等级的定案,他要遵循几级的要求,相应的这种设计,或者是交互的话是有要求的。对运维角度来说也有相应管理的要求,这是我们从系统建设的角度来说有这样一个周期。从我们测试的角度来说我们会从技术和管理两个方面对这个系统进行综合的测评,从技术层面的话,我们是围绕着信息系统层次结构,比如从物理的基础设施,比如说机房的建设是不是有相应的安全保障。

比如有些机房,包括它的防雷电、防尘等等这些,还有电源的冗余,这些都是我们检查的范围。再从网络层到主机层、到应用层、到数据层,它相应的一些安全保障的体系是不是合规的。另外一块从管理的角度来说,我们有很多的信息系统的这种安全事件,可能是管理的问题,我们有一些机构发布了一些安全的分析结果。我们很多信息安全的事件实际上内部管理有问题,导致了这个数据的泄密,或者是等等这些原因,我们在安全方面还会强调管理的安全,比如我们会从组织机构、人员的安全和制度的标准、规范方面等等去检查这个系统,或者是这个企业安全是不是能够达到一定的防护要求。

我们通常采用的方式,技术这块长采用的是远程的安全评估,有一些安全的测试工具会对这个系统进行工具的扫描,或者是渗透时攻击,也就是模拟一个黑客的访问行为,它去找这个系统的脆弱点,看看能不能把这个系统拿下来。另外我们还会有本地的安全评估,主要是以人工的检查,以及网络架构的一些分析,还有源代码安全测试。我们会要求企业提供它的系统源码,针对这个源码,我们有人工找查的方式。还有一些通过自动化的工具去扫描,按照一定的规则级去扫描这个系统,它这个源代码有没有安全的缺陷或者是漏洞。

管理方面的话,一个是安全管理的审计,另外一个是安全的策略分析,这个主要还是以问卷调查和访谈的形式来开展的,还有一些文档和策略的分析。这个是我们常见的人工检查的一些关注点和测试主要的关注点。人工检查的话,我们要对某一个系统进行安全测试的时候,我们首先会让这个企业提供整个网络拓扑环境和网络拓扑图,对这里面它的一些安全的风险点逐一进行排查。渗透测试也是刚才我们提到的,我们刚才提到了,完全是模拟一些黑客的攻击行为,通过攻击的方式去做探索,这样可以发现它的缺陷。我们国家在一些大型的活动时候,都会参与一些重点的系统保护工作,会提前对这些系统在授权的情况下做一些测试,降低一些风险。

这是我们提到网络的架构分析,从网络的层面,对于不同的层面会有相应的这种考核,逐一对这个系统网络的脆弱性进行一个分析,这个不展开去讲了。这个是代码的测试,这是国外的源码分析方面相对来说比较专业的工具,它可以直接对我们主流的一些编程语言的代码进行分析,它因为里面集成了大量的安全的脚本规则集去检查,逐一的排查这个系统里面,是不是有安全的风险点,甚至它找到以后可以给你列举出来采取什么样的攻击方式,都可以拿到一些你想要的数据,就是有一些攻击方式的举证,这里面也有一些误报的情况,需要我们的测试工程师去确认,它是不是有误报了等等这些问题,这是在传统的数据安全里面目前的方式。

实际上我们没有把大数据理解成是一个很新鲜的事物,当然它有自己的特点,但是我们很多传统的技术手段还是对它适用的。这个是我们对安全这一块一个部分测试的示例,这是我们国产一些数据库的测试,就是从身份鉴别、访问控制,以及安全的审计,不同的维度去排查了一下,我们设定的测试的指标下,比如它密码的脆弱性,还有一些非法登陆的限制等等,这是常规的一些安全保障机制。刚才我们也提到,比如审计内容里面一些数据,是不是合规。比如用户的行为、系统资源的使用、系统命令的使用等,它一些安全事件的审计。以及我们的审计日志,是包含了日期、时间、类型、主体的识别和客体的指标和结果的记录,我们会从这方面去评价这个系统是不是足够的安全,可以说目前信息安全应该是这几年一个焦点,大家关注的事件。有很多的机构也在重视我们对一个新建的怎么把它做的足够安全。实际上我们对安全目前的定义不是说把它做到无限,可能现在很多的这种机构可能是从这个攻击的话,破坏的量以及它的这个风险的角度来找一个平衡,我汇报内容主要是这些,感谢聆听。

 

以上内容根据现场录音整理的演讲实录,未经演讲人审订。

《大数据系统测评解析》PPT经演讲嘉宾同意予以上传至联盟官网,联盟会员可以使用会员独立账号登录下载PPT。