陳伍星 中興通訊股份有限公司
近年來,數(shù)據(jù)泄露事故頻發(fā),且逐年大幅增長,2021年5月全球數(shù)字安全領(lǐng)域領(lǐng)導者金雅拓公布,全球各地共發(fā)生數(shù)據(jù)泄密事故1 673起,累計數(shù)據(jù)記錄7.07億條。急劇增加的數(shù)據(jù)安全風險,引起了各國政府的高度重視。而歐盟在2018年5月25日正式實施《通用數(shù)據(jù)保護條例(GDPR)》,要求任何涉及歐洲公民個人數(shù)據(jù)的組織,有義務(wù)對個人隱私數(shù)據(jù)采取嚴格的數(shù)據(jù)保護措施,違反相關(guān)條例的企業(yè)將面臨高達2000萬歐元或4%年營業(yè)額的罰款。此后,其他國家紛紛參照此條例,出臺各種法律法規(guī)。
另一方面,為鼓勵大數(shù)據(jù)產(chǎn)業(yè)發(fā)展,國家給予各種政策支持,各個行業(yè)興起大數(shù)據(jù)發(fā)展熱潮,企業(yè)間數(shù)據(jù)互融互通,充分利用大數(shù)據(jù)技術(shù)挖掘數(shù)據(jù)價值。但面對這數(shù)據(jù)“金礦”,稍有不慎就會導致數(shù)據(jù)的泄露,損害用戶和企業(yè)自身的利益,更為嚴重的可能會造成社會責任和法律風險,甚至是國家安全。顯然,解決好大數(shù)據(jù)安全問題,企業(yè)才能更好地開展大數(shù)據(jù)業(yè)務(wù)。
與傳統(tǒng)數(shù)據(jù)庫模式下的運營環(huán)境不同,大數(shù)據(jù)業(yè)務(wù)打破了相對封閉的邊界,基于大數(shù)據(jù)的應(yīng)用不斷推出,導致大量的數(shù)據(jù)需要被共享,而無論從管理還是技術(shù)角度來看,對于數(shù)據(jù)安全的關(guān)注是嚴重落后于業(yè)務(wù)發(fā)展的,暴露巨大的風險。
目前,大數(shù)據(jù)系統(tǒng)的技術(shù)實現(xiàn)基本上是以Hadoop為基礎(chǔ)提供存儲和資源管理,其上根據(jù)業(yè)務(wù)需求部署HBase、Hive、 Spark、Strom等各類數(shù)據(jù)處理組件,種類可達幾十種,絕大多數(shù)都為開源軟件。開源軟件到商用應(yīng)用還有很長的一段路要走,要經(jīng)歷技術(shù)的選擇和融合、網(wǎng)絡(luò)規(guī)劃、軟硬件配置、性能調(diào)優(yōu)、部署等一系列過程,還要考慮后續(xù)的擴容和運維。以下幾個方面是當前比較突出的問題:
1.訪問安全(賬號、認證、授權(quán)、審計)、數(shù)據(jù)加密等基礎(chǔ)安全能力,在大數(shù)據(jù)領(lǐng)域雖有一定的積累,但是遠沒有達到傳統(tǒng)數(shù)據(jù)庫的水平,且用于隱私保護方面的數(shù)據(jù)脫敏技術(shù)在大數(shù)據(jù)領(lǐng)域則幾乎為空白。
2.各開源社區(qū)對安全的重視程度不一,技術(shù)進展不同,存在短板。
3.Hadoop及衍生項目生態(tài)圈缺乏統(tǒng)一的安全體系和技術(shù)標準,技術(shù)路線分裂,難以進行統(tǒng)部署和管理。
4.國內(nèi)外各主流的大數(shù)據(jù)版本發(fā)行商,基本上都會采用開源的Kerberos和LDAP來通過訪問安全能力,但是對于開源的整合度均不高,包括提供統(tǒng)一的賬號管理、權(quán)限管理、策略管理等能力,在易用性及細粒度控制方面都存在很大的不足,容易產(chǎn)生安全漏洞,在實際部署中往往耗費大量精力,且后期演進困難。
分布式文件系統(tǒng)HDFS和分布式并行計算框架Spark是大數(shù)據(jù)架構(gòu)的主要技術(shù)組件。其中,分布式存儲需要通過HDFS的授權(quán)模型,即目錄、文件的rw現(xiàn)來控制用戶讀寫。對于Metastore,在配置文件里明文填寫了作為Metastore的數(shù)據(jù)庫的用戶名、密碼,容易造成Metastore損壞。這種方式非常不安全,且通過底層存儲目錄控制訪問權(quán)限,配置困難,復雜度高、粒度粗,非常不靈活。而Spark作為分布式SQL查詢引擎處理結(jié)構(gòu)化數(shù)據(jù),用戶在使用SparkSQL處理數(shù)據(jù)的時候,難以實現(xiàn)細粒度的數(shù)據(jù)隔離和管控。
大數(shù)據(jù)開源社區(qū)在安全認證方面有Kerberos認證和LDAP認證。其中Kerberos 認證是一種重量級的網(wǎng)絡(luò)認證方式,Kerberos 認證在生產(chǎn)時面臨如下問題:
1.需要用戶有一個有效的Kerberos principal及證書,這在許多環(huán)境中是不實際。
2.可能存在單點風險,部署要考慮KDC數(shù)據(jù)備份及服務(wù)高可用,中心服務(wù)器安全問題,時間同步依賴NTP。
3.配置相對繁瑣,集群擴容縮容、用戶/客戶端增減繁瑣、密鑰更新分發(fā)繁瑣。
4.會導致性能下降嚴重。
而LDAP認證方式主要是通用用戶名和密碼這種簡單的方式訪問,覆蓋的大數(shù)據(jù)組件服務(wù)較少,目前僅支持Hive、SparkSQL等少數(shù)能提供JDBC訪問接口的組件。
傳統(tǒng)的數(shù)據(jù)過濾技術(shù)通常采用視圖方案,針對不同的用戶/角色定義各種不同的視圖,通過視圖方式進行數(shù)據(jù)過濾控制每個用戶僅能看到過濾后數(shù)據(jù),從而實現(xiàn)訪問控制,保護數(shù)據(jù)隱私。視圖方式在實際的使用過程中,在性能、可擴展性、可維護性等方面都存在問題:
1.性能:在業(yè)務(wù)復雜場景中,通過視圖實現(xiàn)多表關(guān)聯(lián)查詢相比直接使用表查詢,性能是有明現(xiàn)下降的。
2.維護困難:新增一個場景,意味著需要新增加一個視圖,而累積成百上千視圖的維護是非常困難的。
使用中間件進行脫敏處理是比較常見數(shù)據(jù)脫敏產(chǎn)品采用的方式。其關(guān)鍵技術(shù)是采用DDM(動態(tài)數(shù)據(jù)脫敏)作為代理軟件,使用內(nèi)嵌SQL代理程序,當上層業(yè)務(wù)進行查詢請求時,DDM層對請求進行實時的過濾,并依據(jù)用戶權(quán)限和其他定義規(guī)則來脫敏數(shù)據(jù),采用中間件的脫敏方案,主要問題在于:
1.需要專門的脫敏中間件,即外置數(shù)據(jù)脫敏服務(wù)器,增加了軟硬件成本及復雜度,運維成本高;
2.查詢請求和結(jié)果返回都需要經(jīng)過脫敏中間件,消耗大量網(wǎng)絡(luò)帶寬及計算、存儲資源,性能較差,并發(fā)程度不高。大數(shù)據(jù)集群模上千個節(jié)點規(guī)模,動輒PB級的數(shù)據(jù)在企業(yè)生產(chǎn)環(huán)境中非常常見,通過中間件方式,完全無法滿足大數(shù)據(jù)場景下海量數(shù)據(jù)高性能動態(tài)實時脫敏的響應(yīng)時間要求;
3.數(shù)據(jù)庫返回的結(jié)果數(shù)據(jù)需要緩存在脫敏服務(wù)器中,帶來了數(shù)據(jù)泄露的安全隱患;
4.現(xiàn)有技術(shù)改變了應(yīng)用系統(tǒng)的使用模式,無法實現(xiàn)對應(yīng)用完全透明,需要更換數(shù)據(jù)庫訪問地址及端口,改變了應(yīng)用者的使用習慣,對已有系統(tǒng)的遷移引入很大的工作量;
5.動態(tài)脫敏主流的實現(xiàn)方式是采用網(wǎng)關(guān)或代理的方式,在客戶端和服務(wù)器之間按照策略進行SQL操作的改寫,來實現(xiàn)數(shù)據(jù)脫敏效果。這個改寫過程必然需要對SQL語句進行拆包和分析,由于SQL語法的復雜度,正則匹配非常不準確,在某些場景下必然會修改用戶的原始業(yè)務(wù)請求的處理邏輯,準確性差。
針對大數(shù)據(jù)的特點及開源社區(qū)安全體系的建設(shè)現(xiàn)狀,本文認為大數(shù)據(jù)安全體系應(yīng)以數(shù)據(jù)為中心,重點考慮數(shù)據(jù)生命周期各階段中的數(shù)據(jù)安全問題,從環(huán)境、基礎(chǔ)全、數(shù)據(jù)、應(yīng)用以及管理全方位構(gòu)建大數(shù)據(jù)平臺安全框架,在數(shù)據(jù)庫引擎層實現(xiàn)透明加密、解密、脫敏,提供高性能的存儲服務(wù),同時,對上層業(yè)務(wù)應(yīng)用影響盡可能的小。
環(huán)境安全即基礎(chǔ)設(shè)施安全,包括網(wǎng)絡(luò)安全、主機安全以及虛擬化安全,通過網(wǎng)絡(luò)平面隔離,加固大數(shù)據(jù)集群內(nèi)節(jié)點的操作系統(tǒng)、數(shù)據(jù)庫等手段來保證大數(shù)據(jù)系統(tǒng)正常運行。
基礎(chǔ)安全層包括接入控制、訪問控制、合規(guī)審計等,是大數(shù)據(jù)平臺的基礎(chǔ)安全能力。
接入控制:關(guān)注于控制外部用戶或者應(yīng)用程序?qū)旱脑L問過程中的身份鑒別,包括用戶賬戶管理模塊及用戶身份認證模塊,這是實施大數(shù)據(jù)安全架構(gòu)的基礎(chǔ),大數(shù)據(jù)平臺中所有組件都能提供基于Kerberos的認證功能,某些組件還能提供額外的LDAP認證,本文建議采用輕量級的白名單認證方式,能夠在保密性和可用性間取得平衡,適用于大規(guī)模集群場景。
訪問控制:關(guān)注于用戶或者應(yīng)用訪問數(shù)據(jù)時,對用戶的權(quán)限定義和實施過程[1]。訪問控制可以限定用戶是否有對某種資源的訪問能力,能給不同應(yīng)用提供一致的基于細粒度的訪問控制能力。本文建議采用統(tǒng)一授權(quán)服務(wù)器來完成對大數(shù)據(jù)系統(tǒng)訪問策略的配置和權(quán)限控制實施,從而可以實現(xiàn)一致的訪問權(quán)限控制配置和實施過程,該統(tǒng)一授權(quán)服務(wù)器覆蓋了主流的大數(shù)據(jù)組件,包括業(yè)界尚未解決的Spark細粒度授權(quán)痛點。
合規(guī)審計:大數(shù)據(jù)系統(tǒng)中是否存在非法數(shù)據(jù)訪問非常關(guān)鍵,這需要通過安全審計來實現(xiàn)。安全審計的目的是捕獲系統(tǒng)內(nèi)的完整活動記錄,且不可被更改。本文采用細粒度的審計功能,包括管理日志、運行日志、審計日志等,覆蓋所有的主流大數(shù)據(jù)組件,通過細粒度的審計日志,當系統(tǒng)遭受惡意操作或攻擊時,可以快速定位和溯源,劃分事故責任。同時,在日志管理方面,采用加密、脫敏、轉(zhuǎn)儲技術(shù),避免在記錄日志過程中泄漏用戶敏感數(shù)據(jù)以及日志被惡意刪除。
數(shù)據(jù)安全層從多租戶隔離、數(shù)據(jù)透明加密、數(shù)據(jù)容災(zāi)、數(shù)據(jù)脫敏、數(shù)據(jù)過濾等方面保證用戶數(shù)據(jù)的可用性、機密性和完整性。
多租戶:在大數(shù)據(jù)存儲計算層之上架設(shè)統(tǒng)一的應(yīng)用開發(fā)環(huán)境,實現(xiàn)用戶間的存儲資源、計算資源邏輯上的隔離,用戶在獨立的空間中可進行數(shù)據(jù)的查詢、導入導出、計算任務(wù)執(zhí)行、數(shù)據(jù)共享和權(quán)限管理等。
數(shù)據(jù)容災(zāi):采用大數(shù)據(jù)同城容災(zāi)方案,生產(chǎn)集群與容災(zāi)集群處于同城不同的機房,物理隔離。生產(chǎn)集群、容災(zāi)集群同時工作,對外提供服務(wù),互為容災(zāi),時刻準備接管對端的集群業(yè)務(wù)。
透明加密:是在軟件底層實施的加解密技術(shù),其過程對應(yīng)用程序來說是完全無感知的。目前主流的大數(shù)據(jù)組件均已支持透明加密功能,包括HDFS透明加密(文件級)、Hive、SparkSQL列級透明加密,HBase列族級透明加密,并且透明加密的算法可以自定義。
數(shù)據(jù)脫敏:對外提供數(shù)據(jù)的時候,對部分涉及隱私的信息,如姓名、生日、電話號碼、身份證等,進行屏蔽或加密處理,以防止隱私泄漏,我們采用動態(tài)脫敏技術(shù),在不改變數(shù)據(jù)的實際存儲的前提下,對數(shù)據(jù)查詢過程進行變形處理,實現(xiàn)查詢結(jié)果的數(shù)據(jù)脫敏,從而保護用戶敏感數(shù)據(jù)。當前支持HBase、SparkSQL、Hive數(shù)據(jù)查詢的脫敏、脫敏策略可視化配置管理,還支持自定義脫敏算法并提供算法的維護和配置等管理功能。
數(shù)據(jù)過濾:針對不同的用戶/角色定義各種不同的視圖或者過濾策略,每個用戶僅能看到過濾后數(shù)據(jù),從而實現(xiàn)訪問控制,保護數(shù)據(jù)隱私,支持SparkSQL、Hive數(shù)據(jù)查詢的自動過濾。
基于大數(shù)據(jù)平臺的相關(guān)應(yīng)用要基于平臺安全能力對行業(yè)應(yīng)用進行安全管控,包括應(yīng)用接入、服務(wù)開放、分權(quán)分域、敏感數(shù)據(jù)保護等安全管理。
針對基礎(chǔ)安全、數(shù)據(jù)安全的各個功能進行統(tǒng)一管理,提供統(tǒng)一的管理界及接口,打通從用戶賬戶、用戶認證、授權(quán)、審計、數(shù)據(jù)脫敏、數(shù)據(jù)過濾等全流程的安全配置及管理,并且覆蓋和打通所有主流組件,提供監(jiān)控功能。
1.一體化融合5A框架
數(shù)據(jù)只有通過流通、共享才能產(chǎn)生價值,使得大數(shù)據(jù)系統(tǒng)訪問控制形式多樣,需要在系統(tǒng)的可用性和安全性間找到平衡,為簡化控制策略和部署,本文將Account、Authentication、Authorization、Audit、Administration進 行一體化融合,構(gòu)建5A安全架構(gòu)。
Account(賬號):解決開源用戶統(tǒng)管理問題,一個賬號只能唯一對應(yīng)一個用戶,所有信息存儲在LDAP中,在數(shù)據(jù)訪問控制階段可對用戶身份進行鑒別,在安全審計階段可以追溯到具體用戶。同時,支持對用戶分組及分段管理,解決開源用戶在不同組件間相互割裂、不一致的問題。
Authentication (認證):大數(shù)據(jù)平臺對用戶進行身份鑒別,然后才可訪問大數(shù)據(jù)平臺上的數(shù)據(jù)??筛鶕?jù)企業(yè)安全要求采用三種不同等級的認證方式:(1)kerberos認證,用戶訪問大數(shù)據(jù)平臺的服務(wù)需通過統(tǒng)kerberos認證,如果認證失敗則無法訪問大數(shù)據(jù)服務(wù)。(2)白名單控制:對于服務(wù)端集群內(nèi)部各主從節(jié)點之間的認證以及外部agent與大數(shù)據(jù)平臺的交互,通過IP白名單方式來控制訪問,這種認證方式輕量、高效、部署簡單、擴容縮容方便,適用于內(nèi)部信任網(wǎng)絡(luò)的認證。(3)LDAP認證,攜帶用戶名及密碼方式,在訪問過程中進行認證。
Authorization(授權(quán)):管理員通過操作統(tǒng)一授權(quán)的控制臺,可以配置策略來控制用戶訪問權(quán)限,實現(xiàn)針對不同用戶進行資源、操作的細粒度授權(quán),并提供對外服務(wù)接口。
Audit(審計):大數(shù)據(jù)平臺完整地記錄用戶管理、權(quán)限管理、用戶登陸、數(shù)據(jù)訪問/修改等行為日志,作為數(shù)據(jù)管理,數(shù)據(jù)溯源以及攻擊檢測的重要措施不可或缺,大數(shù)據(jù)平臺需實現(xiàn)對 HDFS、Hive、HBase、Yarn、SparkSQL、Kafka等服務(wù)組件的審計及日志功能。
Administration(管理),對開源大數(shù)據(jù)組件提供包括統(tǒng)一賬戶管理、統(tǒng)認證管理、統(tǒng)授權(quán)管理、統(tǒng)一審計管理及數(shù)據(jù)脫敏、數(shù)據(jù)過濾等統(tǒng)安全管理能力,管理能力包括:功能的安裝、部署、啟停、監(jiān)控、配置等,提供配置管理界面及對外訪問接口,以解決難以進行統(tǒng)部署和管理等問題和缺陷。
2.大數(shù)據(jù)脫敏架構(gòu)
數(shù)據(jù)的挖掘和共享為大數(shù)據(jù)平臺能夠?qū)崿F(xiàn)數(shù)據(jù)價變現(xiàn)和業(yè)務(wù)創(chuàng)新,因此開放共享是大數(shù)據(jù)平臺的基本能力,在復雜的應(yīng)用環(huán)境下,會有各種不同角色參與,如何保證企業(yè)機密數(shù)據(jù)以及用戶個人隱私數(shù)據(jù)等敏感數(shù)據(jù)不發(fā)生外泄,是數(shù)據(jù)安全的首要需求。本文采用種大數(shù)據(jù)脫敏全新技術(shù)架構(gòu),摒棄外置脫敏服務(wù)器方案,直接在數(shù)據(jù)庫底層脫敏,數(shù)據(jù)直接由服務(wù)器返回客戶端。通過在大數(shù)據(jù)數(shù)據(jù)庫執(zhí)行引擎中內(nèi)置數(shù)據(jù)保護裝置,在不改變用戶請求邏輯及數(shù)據(jù)原始值的前提下,利用大數(shù)據(jù)數(shù)據(jù)庫引擎自身的分布式處理能力,實現(xiàn)高性能數(shù)據(jù)脫敏功能,可以高效、實時地保護大數(shù)據(jù)隱私數(shù)據(jù)。同時,對應(yīng)用程序及用戶使用完全透明,用戶可以完全不感知數(shù)據(jù)保護過程,實現(xiàn)無縫透明地保護敏感數(shù)據(jù)。
日漸成熟大數(shù)據(jù)技術(shù)為企業(yè)的數(shù)字化轉(zhuǎn)型提供巨大動力,催生了很多創(chuàng)新業(yè)務(wù),帶來了便利也增加了企業(yè)的收益,但安全是發(fā)展的前提和保障,沒有安全一切都是空談。通過本文一體化5A融合架構(gòu)、大數(shù)據(jù)脫敏架構(gòu)等大大的緩解了大數(shù)據(jù)當前面臨的安全問題。但我們也認識到,安全永遠都是相對的,只有持續(xù)地通過制定大數(shù)據(jù)安全技術(shù)和測評標準,構(gòu)建大數(shù)據(jù)安全評估評估體系,從平臺防護、數(shù)據(jù)保護、隱私保護等方面著手,才能切實促進大數(shù)據(jù)安全保障能力的全面提升。