大数据系统工作原理及安全威胁分析
2018-09-21周黎辉蔡蕙敏张远志
周黎辉,蔡蕙敏,周 滨,张远志
(1.贵阳宏图科技有限公司,贵州 贵阳 550002; 2.贵州大学 管理学院,贵州 贵阳 550025)
目前数据安全问题已严重威胁我国大数据产业的健康发展,政府、机构的敏感信息与个人隐私的泄露,不仅影响国家、组织和个人的信誉,还影响我国以大数据带动技术创新的战略思想。大数据系统是一个无边界系统,要发现潜在的安全风险,就要从整体性与局部性、孤立与开放相关性、传递与块存储、技术监测与人工现场检测、关联性分析与数据节点等方面,分析系统的有效性和可靠性。同时,由于应用子系统、数据节点的不断增加以及数据量的迅速增长,因此必须对系统的工作模式、系统的逻辑架构和物理架构以及运行逻辑有深入的理解和把握[1]。
1 大数据系统工作原理
理解大数据系统的工作原理是分析大数据系统潜在安全风险的前提和条件。由于大数据系统本质上是无边界的开放系统,是由现有的各个应用系统融合构成的,具有面向所有用户开放的特点,因此大数据系统与现有系统具有3个典型关系[2],如下所示:
(1)协同关系
图1表明,大数据系统是可以产生有价数据的系统。有价数据是基于现有系统的结构化、非结构化和半结构化数据而产生的,它们之间是协同关系。
(2)依赖关系
如图2所示,大数据系统采用分布式文件系统和分布式数据库系统,可以处理大规模数据。现有系统由于自身的局限性,只能满足一段时间内数据的处理。随着时间的推移、数据量的增大,系统功能将无法满足用户的需求。因此,借助大数据系统,现有系统可以超越数据处理模式,实现精准数据预测和决策。
图1 协同关系Fig.1 Cooperative relationship
图2 依赖关系Fig.2 Dependency relationship
(3)并列关系
如图3所示,对于用户和数据利用组织(下文简称组织),现有系统能满足个体的、局部的信息生产需求,大数据系统可以满足基于生产信息的统计、分析和挖掘的应用需求。因此,大数据系统和现有系统是并列的关系,即同时并存,而非取代关系。
图3 并列关系Fig.3 Paratactic relationship
现有系统与大数据系统既可以是依赖关系,又可以是协同关系,亦可以是并列关系。对于组织的信息化系统建设而言,大数据系统是组织信息化建设蓝图中必不可少的部分。
1.1 大数据来源
大数据的本质就是将数据看成为重要的资产、一种能力,是组织预测、决策的依据,是从“粗放型经营管理”模式走向“智慧型”模式的工具[3]。数据是组织的生命,数据的真实性、完整性和可用性是保障数据服务的可靠预测和决策的根本。因此,大数据的来源途径就表现为主体、客体和社会。
(1)主体产生的数据
主体通常包括组织的管理者、成员、客户与协同单位、竞争对手、上级部门以及组织的信息系统等几个方面。组织的信息系统是重要的主体,它记录了组织在业务活动中的详细信息,也是组织大数据的主要来源。除信息系统外,其他主体产生的信息通常被组织忽视,在大数据系统中它却是组织预测和决策的重要依据之一,应加以重视。主体数据如表1所示。
表1 主体数据Tab.1 Body data
(2)客体产生的数据
客体通常是指组织所生产的产品。未来的产品大多具有物联功能,组织根据这些物联功能返回的信息,分析出产品目前的位置、运行状态等,并根据这些信息分析制订客户服务策略、新产品改进策略以及相关决策。客体数据通常表现为有源和无源2种。
有源产品是指需要动力源的产品。在这些产品中内嵌信息传输系统,从而将产品的位置、运行状态、操作行为等信息即时返回给生产企业,生产企业通过对返回信息的识别,制订相应的措施。
无源产品即为无需动力源的产品。若在这类产品中利用电子标签,并借助于有源设备(如扫描仪、感知器等)将产品信息返回企业,从而确定产品的去向和位置,则企业可获得相应的统计及分布资料,为产品决策提供依据[4]。
(3)社会产生的数据
社会是指行业协会、媒体、社会公众等。这些组织或群体主要是从全局角度、个人角度和公众角度对组织的相关信息进行统计、分析和评论,往往会对社会公众产生引导。社会数据如表2所示。
1.2 大数据处理
传统的管理信息系统为面向个体信息生产、供局部简单查询和统计应用的信息系统,输入是个体少量的信息,输出是个体信息或某一主题统计信息[5]。大数据信息系统定位为面向全局,供复杂统计分析和数据挖掘的信息系统。传统管理信息系统和大数据信息系统之间主要有3个区别,如下所示:
表2 社会数据Tab.2 Social data
(1)传统管理信息系统用于现实事务的数据生产,大数据信息系统是基于已有数据的应用。
(2)传统管理信息系统是对移动数据进行线性处理,大数据信息系统是移动逻辑并行处理。
(3)传统管理信息系统注重信息的简单应用,大数据信息系统是面向全局的统计分析和数据挖掘应用。
传统管理信息系统与大数据信息系统的对比如表3所示。
表3传统管理信息系统和大数据信息系统对比
Tab.3Comparisonbetweentraditionalmanagementinformationsystemandbigdatainformationsystem
项目传统管理信息系统大数据信息系统目的信息输入生产信息输出生产依赖人和物信息系统采集局部采集全局采集存储集中存储分布式存储处理线性处理并行处理前提结构化设计分析与挖掘模型建立价值记录历史发生事件信息问题发现、科学决策重点数据生产、简单应用统计挖掘、复杂应用呈现局部个体的信息展现全局展现形态ERP、OA等系统宏观决策信息系统作用武装到牙齿构建智慧的脑
由此可见,大数据的处理首先从分析或挖掘模型的建立开始,其次是将分析或挖掘模型转变成逻辑可移动,并能并行处理的代码,最后通过数据融合分析系统对数据进行融合分析,把最终数据分析处理结果根据不同用户的需求呈现于大数据展示平台。大数据处理过程如图4所示。
图4 大数据处理过程模型Fig.4 Model of big data processing
2 大数据系统架构
2.1 逻辑架构
2.1.1大数据系统的设计思想
无论是体系架构还是功能设计,大数据系统的核心设计必须实现如表4所示的目标。
表4 大数据系统的设计目标Tab.4 Design goal for big data system
根据设计目标,大数据系统的整体设计通常分为以下模式:①分层分域;②数据分布;③封装共性-移动逻辑-并行处理;④指令流-数据流分离;⑤同构复制-属性区分;⑥多个子系统集成。
(1)分层分域模式
该模式基于“分而治之”的思想,即将大的系统划分成多个小的系统。主节点负责从节点工作任务的分布、状态监控,从节点负责任务的执行和工作相关状态的汇报。
(2)数据分布模式
该模式是基于“包产到户”、以“空间换时间”的思想,将大数据分拆成对每个计算节点正好发挥其处理能力的固定块,由多个处理节点同时处理同属于一个逻辑整体的不同物理部分。数据分布模式采用以锁协同模型。以锁协同是当分布式数据库中同时有多个任务处理某个列族时,通过加锁的机制解决数据记录“脏读”和“脏写”的问题。
(3)封装共性-移动逻辑-并行处理模式
分布式开发最复杂的问题是代码的任务分发和并行处理间的协同,以及处理完成后的结果返回。封装共性是将任务的分发、并行处理和结果返回这些工作完全交由作业节点来完成;移动逻辑是将分布式代码由作业节点发送给每一个计算节点,对于计算节点,是逻辑代码在网络中传输,而不是数据在网络中传输。移动逻辑的实现是一种逻辑不变而数据可变的思想体现。
(4)指令流-数据流分离模式
指令流是指主节点和子节点间只传输指令,不传输数据;数据流是指子节点和子节点间、子节点和客户端间进行数据的传输。
(5)同构复制-属性区分模式
同构复制是指安装时所有节点,无论是主节点还是从节点,都采用同一套程序。只要一个初始节点安装好后,就可以采用复制方式进行分发,目的是可以实
现节点的动态增减,而无需针对不同的节点进行不同的程序安装。
(6)多个子系统集成模式
大数据系统是由多个子系统集成的系统,大数据系统的规模随节点的变化而变化。每个从的子系统都是通过预先确定好的端口和属性与主的子系统进行协同工作。
2.1.2大数据系统的逻辑架构
大数据系统的逻辑架构如图5所示。
图5 大数据系统逻辑架构Fig.5 Logical architecture of big data system
组织的大数据系统是由多个子系统集成构成的系统,所有子系统都有全面Hadoop的开源项目成果,如非结构化存储采用Hadoop分布式文件系统(HDFS),结构化数据存储采用分布式数据库(HBase)系统。每个子系统都采用主从模式,即由一个主节点和多个从节点构成。大数据系统的逻辑架构是一个多层次的体系结构,采用“分布式平台+分析式应用”的模式进行设计。
用户层是所有访问大数据系统用户的集合,根据用户职能不同,划分为普通用户、分析人员和系统管理人员等3类,并赋予相应的访问权限。
门户层是用户访问大数据系统的统一入口,用户经应用层系统统一认证后,门户子系统依据用户身份和权限提供相应的个性化门户,用户只能查阅系统授权的数据信息和操作应用功能。
代理层是门户层和应用层各应用系统之间的统一代理,由统一用户管理、统一应用资源管理和统一权限管理等3个子系统构成,并向门户层开放Web服务,代理门户层的系统调用。当Web服务接收到门户层的请求时,向应用层应用系统发出调用请求。
应用层由数据应用类、数据采集类、后台管理类等3类子系统构成。应用类子系统包括MapRedce(MR)定制子系统、Pig分析子系统和Hive数据库子系统,目的是为普通用户和分析人员提供大数据分析和挖掘服务。数据采集类子系统包括Chukwa采集子系统和数据抓取子系统,目的是从组织的现有系统、大数据应用系统和外部应用系统中采集数据并存储在大数据系统中。后台管理类子系统主要是对大数据系统的用户信息、节点设备信息和节点运行状态进行管理。
管控层由NameNode子系统、JobTracker子系统、Hmaster子系统、ZooKeeper子系统和SecondNameNode子系统等构成。
NameNode子系统是HDFS的重要组成部分,通过该系统对各种文件进行统一读写,SecondNameNode子系统是其备份子系统。
JobTracker子系统是分布式作业系统的重要组成部分,是MR分布式程序的服务器端,目的是对作业任务进行调度分配和运行状态的管理。
Hmaster子系统是HBase系统的主要组成部分,目的是负责初始安装引导,把Region域数据分别注册到HBase集群中的域服务器HRegionServer,监控HRegionServer服务器的运行,并在出现故障时进行恢复。
ZooKeeper子系统主要是为Hmaster子系统和RegionServer子系统提供共享信息的统一协同服务。
计算存储层由HDFS的DataNode子系统和分布式作业系统的JobTracker子系统、RegionServer子系统和关系型数据库管理子系统构成。
HDFS的DataNode子系统和分布式作业系统的JobTracker子系统共同部署一个机器节点上,为分布式文件提供数据块存储和数据块计算服务。
RegionServer子系统为客户端提供分布式数据库系统的访问服务。
关系型数据库子系统用来存储应用层,为后台管理系统和Hive数据库系统提供用户信息、设备信息、元数据、运行状态监测信息的存储服务。
用户从门户登录到大数据系统后,在用户交互界面上选择相应的系统功能,经应用系统对后台的分布式文件系统和分布式数据库系统进行访问,以满足用户的应用需求。系统的运行逻辑如图6所示。
图6中共有3条系统运行主线路,每条主线共有5步,其中第1~3步相同,第4、第5步不同。
第1步用户登录门户子系统网站,进入门户子系统登录界面。
图6 大数据系统运行逻辑Fig.6 Running logic of big data system
第2步门户子系统将登录信息提交给统一应用代理,统一用户代理调用统一用户登录模块,验证相关信息,并根据用户角色返回个性化应用界面,用户选择相应的应用功能再次提交给应用代理。
第3步根据统一用户代理应用类型的不同,调用不同的应用子系统。应用类型分为3类:面向分布式文件的应用、面向分布式数据库的应用和面向传统关系型数据库的应用。面向分布式文件的应用分为调用Pig分析子系统、Hive数据库子系统或MR定制应用子系统中的一种或几种,并向HDFS发起访问请求。面向分布式数据库的应用是调用MR定制应用子系统并向HBase系统发起访问请求。面向关系型数据库的应用是调用大数据管理子系统、Hive数据库子系统向关系数据库系统发起访问请求。
第4步第1条路径是对分布式文件读写和应用的运行主线路,根据分布式文件系统的访问请求,由NameNode子系统和JobTracker子系统处理,向DataNode子系统数据节点发出指令。第2条路径根据面向分布式数据库的访问请求,先到达ZooKeeper子系统,然后返回元数据表地址,以便应用系统定位HRegionServer服务器。第3条路径根据关系型数据库子系统的应用请求,由关系型数据库直接处理,并将处理结果返回给应用系统。
第5步当DataNode和TaskTraker子系统收到任务指令后,依据指令进行文件的处理;当RegionServer子系统收到应用请求后,会对相应的Region进行处理。
大数据系统运行逻辑框架是双向的,通常情况下应用层的MR程序可以与计算存储层直接进行交互,也就是说,门户层、代理层、应用层采用集群方式解决数据的大规模、高并发的用户访问。门户层和代理层之间、代理层和应用层之间均采用简单对象访问协议(SOAP)进行调用请求的信息返回。管控层由多个主节点构成,这些节点是单进程的;应用层和计算存储层的多个节点直接进行数据交互;应用层、管控层、计算存储层之间采用过程远程调控(RPC)进行交互。
2.2 大数据系统的物理架构
大数据系统采取分布式部署方式,其物理架构通常通过网络域的划分来体现系统的不同层次及不同应用,以便管理人员对网络上的多个物理节点进行分域管理,如图7所示。大数据系统划分为用户域、应用系统域、安全管理域、分布式文件域、分布式数据库域、分布式协同域和关系数据库域等7个域。
图7 大数据系统网络拓扑结构Fig.7 Topology of big data system network
3 大数据系统安全威胁分析
大数据系统不仅具有传统意义上信息系统的安全特征,同时还具有其自身的安全风险特征,主要体现在以下5个方面:
3.1 大数据存储安全风险
大数据时代的数据量巨大且增长快速,有些数据关系到国家安全、企业竞争力的敏感问题,在存储过程中一旦遭遇自然灾害或人为损害、泄露,与一般数据相比损失更为严重。
3.2 大数据处理安全风险
海量数据只有通过有效的处理方可使用,处理技术是否安全可靠,直接关系到大数据安全。若大数据处理技术中访问控制机制较为薄弱,则可能给非法访问带来很大的利用空间。
3.3 大数据采集安全风险
大数据来源于组织自主数据、客体行为数据以及第三方数据等,无论是哪一种来源,如果不加以甄别使用,可能导致错误的决策。同时,在数据采集过程中对各种感知器件有一定的安全要求,若偏离了相关标准与要求,则造成录入数据的错误或无效,从而产生不符合实际情况的决策数据,造成重大的组织决策失误。
3.4 大数据利用安全风险
目前,购物网站、社交网络、视频发布网站、微博等已成为人们日常数据交流、发布的重要平台,这些平台包含大量的用户信息。利用大数据技术,可以很容易地挖掘出用户身份、位置、轨迹、健康甚至财务等敏感信息,若被不法分子利用,则可能侵害人们的人身和财产安全。
3.5 成为高级可持续攻击载体安全风险
大数据系统在互联网空间里容易成为高级可持续攻击(APT)行为的目标。
防范该风险的方法就是预测预警以及转移、抑制、控制风险,确保大数据系统健康运行,而这一保障最为核心的机制就是风险评估。风险评估就是利用技术手段和非技术思维对潜在的安全风险进行全方位评价,以发现潜在的安全风险,并将各种威胁分散、转移、抑制、规避到可容忍的范围内,确保大数据系统的正常工作。
4 结语
通过大数据来分析当前信息安全威胁,可以大大提高大数据系统的安全性。本文主要阐述了大数据系统工作原理以及主要的安全威胁,构建了大数据系统网络拓扑结构,从而显著提高系统的安全性。