在信息高速發展的時代,大數據的出現正在改變著我們的生活方式和工作方式,改變了我們過去對待數據的思維認識,開始更加注重數據的相關性的意義。但是大數據的到來,依托于云計算平臺,因此也會面臨著一些不可避免的安全威脅,下面根據自己搜集的資料梳理下安全威脅TOP10。
一、分布式編程框架下的安全計算
大數據自然要用到許多分布式計算,比如MapReduce框架,其最著名的實現即Hadoop,將數據分成多個塊,針對每個塊先做mapper處理,得到一系列的key-value對,然后再由reducer聚類同一個key的值,得到結果。這里容易出現兩個問題:一是Hadoop計算結果的正確性依賴于Mapper的運算正確與否,如果存在惡意的Mapper干擾或者意外的錯誤,將會直接導致最終數據的錯誤;二是數據在第一輪Mapper的過程中,有可能得到的Key-value很特殊,從而泄露數據用戶本身的部分隱私。
二、非關系數據庫的安全實現
由于大數據的數據來源混雜,導致數據格式種類繁多,因此很難使用傳統的關系型數據庫進行體現,NoSQL數據庫因此出現并獲得快速發展。但是NoSQL數據庫在設計實現之初所有的考慮都聚焦在了分布式數據庫的實現上,因此并沒有單獨設置安全功能模塊,實際中往往將安全功能作為一個中間件來實現,NoSQL本身沒有提供針對安全功能的任何擴展機制,云環境下的復雜問題對NoSQL的安全性提出了諸多挑戰。
三、數據存儲安全和事務日志安全
傳統數據庫下,DB可以直接得知數據的遷移和修改情況,但是在大數據下,由于數據變化的速度、范圍以及種類都不可同日而語,因此DB不能夠容易地跟蹤數據的變化。
四、終端輸入有效性驗證
大數據的數據可能來自于多種來源,當然也包括各種終端,比如私人的BYOD,這些數據的有效性很難保證。我們可以考慮這樣的邏輯:大數據依托于數據進行算法處理得出預測,但是如果這些收集上來的數據有問題又如何呢?也許大數據的數據規模可以使得我們無視一些偶然非人為的錯誤,但是如果有個敵手故意放出干擾數據呢?比如天氣預報依賴于許多傳感器,如果這些傳感器都被惡意修改...或者依靠手機進行某項社會事務的公投,如果敵手可以偽造多個虛假手機ID參與投票...這些無疑都會直接影響最終的數據結果,當然也影響了我們的判斷和預測。因此現在非常需要研究相關的算法來確保數據來源的有效性,尤其是有效性事關重要的大數據領域。
五、實時安全監控
傳統的安全監控系統針對的是靜態的、少量的數據,建立的模型也是有很多欠缺。當面對大數據的規模時,以往的安全監控系統會觸發大量的虛假警報。我們非常需要一套在大數據模式下可用的安全系統,它可以在我們需要的時候告訴我們:“誰在訪問數據?訪問哪些數據?從哪里訪問的?”以及“我們是否受到了攻擊?請立刻評估下損失?”等等;當然也存在民用系統的可用性,比如實時監控新藥投放市場后的異常搜索量,可以及時停止藥物濫用。
六、可擴展的隱私保護策略
這段也許與密碼協議有關,在大數據時代下,匿名策略已經不能保護我們的隱私了,《大數據時代》中就介紹了父親不知道,而商家知道其女兒懷孕的這樣一個事例。我不需要知曉你的確切信息,但是我只需要將過去分離的信息進行整合,就可以重新“刻畫”你。我們現在需要切實可行的隱私保護協議。
七、訪問控制策略
有點類似于上面,我們必須確保云上數據的保密性、完整性和可用性。因此必須重新設計訪問控制協議,因為傳統的“all-or-nothing”的訪問控制協議,非常粗地進行網絡行為的限制。大數據,沒有共享,沒有可用,哪來大數據?因此我們既要保證數據保密不被篡改,又要使得可以被一定程度地共享,作為大數據的一份子使用,而這本身就是一對矛盾,幸好我們現在開始有基于屬性的訪問控制協議,但是這還遠遠不夠。
八、細粒度訪問控制
基本問題同上面,只不過這里更多涉及訪問控制協議的設計,而上衣額則重在密碼學的應用。
九、細粒度審計
十、數據起源
大數據中的數據來源的元數據會因為規模的增長而迅速復雜化,我們經常需要知道數據的起源,即創建的時間,不是在一臺主機或網絡中,而是在大數據下。我們需要快速省時地確定數據的起源,否則本身便將失去意義。比如偵測內部金融企業的交易記錄,或者確定搜索數據的準確性。
最后,我們可以看看在大數據時代,敵手可以如何挖掘到我們的信息:
可以看出,這是一個多方面因素的集合,我們的個人隱私泄露更加隱蔽,也更具威脅。但是,另一方面,大數據也可以用來作為增強安全的利器,比如利用大數據來預測未知攻擊的模式,應對0-day攻擊,比如識別區分異常和正常流量等: