周黎輝,蔡蕙敏,周 濱,張遠志
(1.貴陽宏圖科技有限公司,貴州 貴陽 550002; 2.貴州大學 管理學院,貴州 貴陽 550025)
目前數據安全問題已嚴重威脅我國大數據產業的健康發展,政府、機構的敏感信息與個人隱私的泄露,不僅影響國家、組織和個人的信譽,還影響我國以大數據帶動技術創新的戰略思想。大數據系統是一個無邊界系統,要發現潛在的安全風險,就要從整體性與局部性、孤立與開放相關性、傳遞與塊存儲、技術監測與人工現場檢測、關聯性分析與數據節點等方面,分析系統的有效性和可靠性。同時,由于應用子系統、數據節點的不斷增加以及數據量的迅速增長,因此必須對系統的工作模式、系統的邏輯架構和物理架構以及運行邏輯有深入的理解和把握[1]。
理解大數據系統的工作原理是分析大數據系統潛在安全風險的前提和條件。由于大數據系統本質上是無邊界的開放系統,是由現有的各個應用系統融合構成的,具有面向所有用戶開放的特點,因此大數據系統與現有系統具有3個典型關系[2],如下所示:
(1)協同關系
圖1表明,大數據系統是可以產生有價數據的系統。有價數據是基于現有系統的結構化、非結構化和半結構化數據而產生的,它們之間是協同關系。
(2)依賴關系
如圖2所示,大數據系統采用分布式文件系統和分布式數據庫系統,可以處理大規模數據?,F有系統由于自身的局限性,只能滿足一段時間內數據的處理。隨著時間的推移、數據量的增大,系統功能將無法滿足用戶的需求。因此,借助大數據系統,現有系統可以超越數據處理模式,實現精準數據預測和決策。

圖1 協同關系Fig.1 Cooperative relationship

圖2 依賴關系Fig.2 Dependency relationship
(3)并列關系
如圖3所示,對于用戶和數據利用組織(下文簡稱組織),現有系統能滿足個體的、局部的信息生產需求,大數據系統可以滿足基于生產信息的統計、分析和挖掘的應用需求。因此,大數據系統和現有系統是并列的關系,即同時并存,而非取代關系。

圖3 并列關系Fig.3 Paratactic relationship
現有系統與大數據系統既可以是依賴關系,又可以是協同關系,亦可以是并列關系。對于組織的信息化系統建設而言,大數據系統是組織信息化建設藍圖中必不可少的部分。
大數據的本質就是將數據看成為重要的資產、一種能力,是組織預測、決策的依據,是從“粗放型經營管理”模式走向“智慧型”模式的工具[3]。數據是組織的生命,數據的真實性、完整性和可用性是保障數據服務的可靠預測和決策的根本。因此,大數據的來源途徑就表現為主體、客體和社會。
(1)主體產生的數據
主體通常包括組織的管理者、成員、客戶與協同單位、競爭對手、上級部門以及組織的信息系統等幾個方面。組織的信息系統是重要的主體,它記錄了組織在業務活動中的詳細信息,也是組織大數據的主要來源。除信息系統外,其他主體產生的信息通常被組織忽視,在大數據系統中它卻是組織預測和決策的重要依據之一,應加以重視。主體數據如表1所示。

表1 主體數據Tab.1 Body data
(2)客體產生的數據
客體通常是指組織所生產的產品。未來的產品大多具有物聯功能,組織根據這些物聯功能返回的信息,分析出產品目前的位置、運行狀態等,并根據這些信息分析制訂客戶服務策略、新產品改進策略以及相關決策??腕w數據通常表現為有源和無源2種。
有源產品是指需要動力源的產品。在這些產品中內嵌信息傳輸系統,從而將產品的位置、運行狀態、操作行為等信息即時返回給生產企業,生產企業通過對返回信息的識別,制訂相應的措施。
無源產品即為無需動力源的產品。若在這類產品中利用電子標簽,并借助于有源設備(如掃描儀、感知器等)將產品信息返回企業,從而確定產品的去向和位置,則企業可獲得相應的統計及分布資料,為產品決策提供依據[4]。
(3)社會產生的數據
社會是指行業協會、媒體、社會公眾等。這些組織或群體主要是從全局角度、個人角度和公眾角度對組織的相關信息進行統計、分析和評論,往往會對社會公眾產生引導。社會數據如表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.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)進行交互。
大數據系統采取分布式部署方式,其物理架構通常通過網絡域的劃分來體現系統的不同層次及不同應用,以便管理人員對網絡上的多個物理節點進行分域管理,如圖7所示。大數據系統劃分為用戶域、應用系統域、安全管理域、分布式文件域、分布式數據庫域、分布式協同域和關系數據庫域等7個域。

圖7 大數據系統網絡拓撲結構Fig.7 Topology of big data system network
大數據系統不僅具有傳統意義上信息系統的安全特征,同時還具有其自身的安全風險特征,主要體現在以下5個方面:
大數據時代的數據量巨大且增長快速,有些數據關系到國家安全、企業競爭力的敏感問題,在存儲過程中一旦遭遇自然災害或人為損害、泄露,與一般數據相比損失更為嚴重。
海量數據只有通過有效的處理方可使用,處理技術是否安全可靠,直接關系到大數據安全。若大數據處理技術中訪問控制機制較為薄弱,則可能給非法訪問帶來很大的利用空間。
大數據來源于組織自主數據、客體行為數據以及第三方數據等,無論是哪一種來源,如果不加以甄別使用,可能導致錯誤的決策。同時,在數據采集過程中對各種感知器件有一定的安全要求,若偏離了相關標準與要求,則造成錄入數據的錯誤或無效,從而產生不符合實際情況的決策數據,造成重大的組織決策失誤。
目前,購物網站、社交網絡、視頻發布網站、微博等已成為人們日常數據交流、發布的重要平臺,這些平臺包含大量的用戶信息。利用大數據技術,可以很容易地挖掘出用戶身份、位置、軌跡、健康甚至財務等敏感信息,若被不法分子利用,則可能侵害人們的人身和財產安全。
大數據系統在互聯網空間里容易成為高級可持續攻擊(APT)行為的目標。
防范該風險的方法就是預測預警以及轉移、抑制、控制風險,確保大數據系統健康運行,而這一保障最為核心的機制就是風險評估。風險評估就是利用技術手段和非技術思維對潛在的安全風險進行全方位評價,以發現潛在的安全風險,并將各種威脅分散、轉移、抑制、規避到可容忍的范圍內,確保大數據系統的正常工作。
通過大數據來分析當前信息安全威脅,可以大大提高大數據系統的安全性。本文主要闡述了大數據系統工作原理以及主要的安全威脅,構建了大數據系統網絡拓撲結構,從而顯著提高系統的安全性。