天天看點

網安加·百家講壇 | 企業資料安全實踐總結

作者:網安加社群
網安加·百家講壇 | 企業資料安全實踐總結
作者介紹:裴偉偉,10年+網絡安全從業經驗;擁有多年企業安全建設和資訊化建設經驗;熟悉SDL、DevSecOps,有多年安全開發經驗;關注軟體/網絡安全、軟體開發和團隊管理;開源項目愛好者,著有GitPrey等開源項目。

資料是企業業務的靈魂,如果企業能夠不斷發展和壯大,其業務或是能夠在技術領域遙遙領先,形成技術壁壘,利用技術優勢賺取利潤,比如特斯拉、Google,或是業務發展過程中在資料方面獲得獨一無二的優勢,形成網絡效應,即便其他企業獲得同類資料也依然不具有同等優勢,比如微信、微網誌。是以,當和企業高層談論起企業安全建設和投入的主要目标時候,幾乎所有人會給出相同的答案:資料不要(能)丢了。

即便是在不同的外部審計中,無論是投資方指定的審計公司,還是處于認證考慮尋找的審計公司,不同的審計方式都離不開資料的安全,甚至其他的審計範圍和内容其最終目标都是為了確定資料的安全,避免人為的、技術的、意外的原因導緻資料出現無法預知、無法跟蹤、無法追溯的偏差、錯誤、缺失,即便偏差隻有0.01元人民币。

資料之是以重要,是它和企業的财務表現息息相關,是以企業中的資料不僅僅包括業務資料,還包括财務資料,現今的企業财務報表統計和分析,均源于業務資料的計算和分析,同時需要和企業銀行賬戶的現金關聯比對,如果企業當年的實際收入是1000萬元,而銀行賬戶流水的進賬卻沒有這麼多,那麼收入統計可能是有問題的。

是以,保障資料安全,不僅僅能夠讓企業業務正常、健康地發展,而且能夠讓企業的管理層真實地了解企業的健康狀況(财務狀況),讓投資人(私募機構或上市後的股民)真實地了解企業過去的盈利。審計機構的作用便在于如實地呈現企業财務狀況,而财務狀況又源于資料真實性、完整性、機密性、可用性、可追溯性,如果企業資料造假,或連同審計機構作假,或審計結構未發現企業資料造假,便會無法取得公衆和投資人的信賴,導緻企業自身的發展危機甚至審計機構的信任危機,比如安然公司在2001年宣告破産,連同彼時第五大會計師事務所安達信解體,又比如2020年瑞幸咖啡因交易額造假導緻股票崩盤,同時也讓其外部審計公司安永走到了輿論的風口浪尖(實際上安永公司對此事無責)。

資料是企業的靈魂,也是企業與公衆、投資人之間的信任媒介,而安全的本質也是信任。在企業安全體系建設中,幾乎所有的安全控制措施都可以認為是為了資料安全。但常常會被認為隻需要進行資料的加密解密處理。

現如今的企業資料不僅包括常見的結構化資料,也包括近年來随着技術發展而來的非結構化資料,以至于企業面臨的資料安全實質上是大資料安全(另一層含義是利用大資料來輔助資訊安全),大資料的特點在于其多樣性、海量化、快速化、價值密度低和複雜性。資料的生命周期包括産生、傳輸、存儲和使用,這個周期中涉及到不同的裝置、系統、人員、組織,任何一個環節存在風險,都有可能破壞資料的完整性、保密性和可用性,是以確定資料自身安全需要考慮到裝置層、系統層、資料層和隐私層四個方面。

如今公有雲已經是很多企業的首選,在企業安全建設和資料安全建設過程中可以不用過多考慮裝置層面的問題(該問題由雲服務商解決和負責),如果選擇的是私有雲或混合雲,則需要考慮相應的裝置安全問題,一塊硬碟損壞,一台交換機故障,都會造成相應的資料風險或業務連續性問題。雲計算的能力也使得大資料能夠更容易的管理和建設,其資源共享、按需配置設定、彈性排程、可擴充、地理分布的特點使得企業減少了諸多管理成本、維護成本。即雲計算是大資料的基礎,大資料是雲計算的價值延伸。

資料産生及傳輸

資料在采集或産生過程中,可能存在資料損壞、資料丢失、資料洩露、資料竊取等安全風險,需要使用相應的控制措施來緩解風險,如身份認證、通訊加密、資料加密、完整性校驗等機制。

以某個Web業務應用為例,一條資料從産生到存儲,會曆經使用者身份驗證、資料建立、資料傳輸、資料處理。

使用者身份管理包括外部使用者身份和内部使用者身份,最佳的實踐是通過SSO(單點登入)系統來管理外部使用者和内部使用者,分散的或各自實施的使用者身份管理會讓安全管理和控制成本上升,且其中如果涉及到多個部門,更會大大增加安全的不可控和安全風險。如果有可能,使用者身份管理最好是由安全部門來負責或監督,筆者曾經所在某公司的内部使用者(員工/外部人員)的身份管理便是由安全部門負責和維護,再将身份管理日志接入SOC(安全營運中心)系統,可以大大降低身份安全管理和維護成本,同時極大提高身份安全應急的響應速度。身份認證和權限管理内容過多,可以另起一文,本文不做過多描述。

資料建立需要在産品設計層面做防呆設計和邏輯校驗,這可以降低髒資料産生的可能性,比如使用者完善個人資訊時填寫身份證号碼和性别,可以通過身份證号倒數第二位自動判斷性别(奇數為男,偶數為女),如若是由使用者自行選擇,會出現性别資料與真實資料不比對的情況。筆者曾經所在公司有BI部門,從各個業務線擷取資料進行業務分析,在統計分析使用者分布的時候,采用的是身份證資訊,顯然這是有問題的,因為身份證歸屬地不一定是使用者所在地,如果産品設計時沒有擷取使用者的定位資訊,做使用者分布分析便是不準确,甚至無意義的,就像微信通過使用者設定的所屬國家分析使用者所在地,發現許多使用者都在安道爾。

資料建立同時需要考慮賬戶自身的可靠性,比如黑卡賬戶(即黑産或灰産人員建立的賬戶),其賬戶下的所有行為都可認為是不正當或惡意的,是以識别、清理黑卡賬戶可以大大降低資料風險,筆者曾經所在公司的電商業務,通過黑卡識别的賬戶所占比例不多,但對于電商業務營銷活動的資金支出可以占到正常使用者的很大比例(即薅羊毛)。而業務人員可能會認為黑卡賬戶其實也是增加了使用者量。

資料傳輸過程最佳實踐是全網HTTPS,如果産品部署結構中業務流量經過CDN(内容分布網絡)、LD(負載均衡),可以直接在CDN、LD上傳公司的SSL證書實作,同時在反向代理節點或Web節點配置HSTS(HTTP Strict Transport Security),強制通路者需要經過SSL證書加密的流量進行通路,在移動端可以從編碼環節設定證書強校驗。具體需要根據業務部署結構和産品結構配置,但也并非如此簡單,這其中需要分析、評估通路流量每個環節的可用性,避免産品部分功能或能力的問題。

資料處理過程中需要根據業務的特點以及資料處理過程中涉及到的系統、應用、人員分析,常見的情況是開發人員為了友善調試或bug跟蹤,将敏感資料通過日志方式列印,進而讓開發人員可以讀取到不必要的業務資料或個人隐私資料。是以需要專門的日志中心以及設定統一的日志格式,確定日志内容中沒有不必要擷取的資訊,同時日志系統的通路也需要身份驗證和記錄檔管理。

資料存儲

資料在存儲中涉及到三個部分,第一部分是資料加密,包括靜态資料加密和動态資料加密,靜态資料指的是存儲在硬碟中不參與計算的資料,比如文檔、報表、資料,動态資料加密指的是在記憶體中參與運算或檢索的資料;第二部分是隐私保護,隐私是個人或機構不願意被外部知曉的資訊,有分為個人隐私和共同隐私,典型的是PII(個人身份資訊)資料;第三部分是資料備份和恢複,通過業務連續性或災難恢複計劃來保障資料的可用性和完整性,如果資料丢失或被損壞,可以通過備份機制來恢複資料,保證故障發生後資料盡可能少的丢失或不丢失。

加密算法分對稱加密和非對稱加密,常見的對稱加密包括DES、AES、IDEA、RC4等,非對稱加密算法有RSA、EIGamal等。對稱加密運算速度快,但需要提前交換密鑰,非對稱加密無需提前交換密鑰,但運算速度較慢。實際過程中采用的解決辦法是用非對稱密鑰系統進行密鑰分發,利用對稱密鑰加密算法進行資料加密。

密鑰管理方案包括密鑰粒度(粒度越小,管理難度越大,通路控制越細)的選擇、密鑰管理體系以及密鑰分發機制。

适合大資料存儲的密鑰管理辦法主要是分層密鑰管理,即“金字塔”式密鑰管理體系。這種密鑰管理體系是将密鑰以金字塔的方式存放,上層密鑰用來加/解密下層密鑰,隻需将頂層密鑰分發給資料節點,其他層密鑰均可直接存放于系統中。也可以使用基于PKI體系的密鑰分發方式對頂層密鑰進行分發,用每個資料節點的公鑰加密對稱密鑰,發送給相應的資料節點,資料節點接收到密文的密鑰後,使用私鑰解密獲得密鑰明文。

幾乎所有的雲服務商都會提供KMS(密鑰管理服務),使用該服務可以很友善的對靜态資料進行加密和解密管理。以某雲服務商為例,常使用的加密方式有信封加密和直接加密,前者适用于大資料量、高QPS的資料加密,如PII資料,後者适用于小資料量(<6k)、低QPS的資料加密,如應用配置資訊。

信封加密過程中,開發人員使用使用者主密鑰(CMK)生成資料密鑰,再用離線的資料密鑰在本地加密資料,即加密資料使用的是CMK生成的密鑰(明文密鑰和密文密鑰),加密在記憶體中完成後銷毀明文密鑰,存儲加密後的密文資料和密文密鑰。解密時再解密密文密鑰獲得明文密鑰對密文資料進行解密。該過程的思路即是金字塔式密鑰管理。

直接加密使用使用者主密鑰(CMK)對資料直接進行加解密操作。

在隐私資料保護方面,常見的方法有3類:

1、基于資料變換的隐私保護技術

對敏感屬性進行轉換,使原始資料部分失真,但同時保持資料或資料屬性不變。資料失真技術通過擾動原始資料來實作隐私保護,擾動後的資料需要滿足:攻擊者不能發現真實的原始資料;失真後的資料仍然保持某些性質不變。相關的技術包括随機化、資料交換和添加噪聲。

2、基于資料加密的隐私保護技術

采用對稱或非對稱加密技術在資料挖掘過程中隐藏敏感資料,多用于分布式應用環境。分布式應用一般采用兩種模式存儲資料:垂直劃分(每個站點隻存儲部分屬性資料,站點之間資料不重複)、水準劃分(将資料記錄存儲到多個站點,每個站點資料不重複)。

3、基于匿名化的隐私保護技術

根據具體情況有條件釋出資料,即限制釋出,比如有選擇的釋出原始資料、不釋出或釋出精度較低的敏感資料。資料匿名化一般采用抑制(不釋出某項資料)、泛化(對資料進行概括、抽象)兩種方法。

實踐過程中,資料加密和隐私資料保護需要根據資料安全保護政策進行資料保護等級劃分,将不同等級的資料進行分開存儲和處理,如果一個資料表中不同字段的等級不同,在加解密進行中會增加技術處理的複雜性。

資料備份與恢複方面,公有雲服務商會提供諸多功能幫助解決該問題,包括快照功能、可用區功能。

快照可以迅速恢複遭破壞的資料,減少當機損失,能夠進行線上資料備份與恢複。當儲存設備發生應用故障或者檔案損壞時可以進行快速的資料恢複,将資料恢複某個可用時間點的狀态。實踐中可以對雲平台中ECS(Elastic Compute Service)和RDS(Relational Database Service)都采用定時快照功能,OSS(Object Storage Service)也有定時備份功能,定期對雲計算執行個體的硬碟和雲資料庫進行備份。結合多地區、多可用區的功能,通過良好的部署建構,可以實作多地區、多可用區資料鏡像,将資料在多個可用區或地區之間進行同步。

如果是本地存儲管理,可以采用異地備份和RAID(獨立磁盤備援陣列)技術。異地備份需要足夠的帶寬連接配接支援和資料備份技術或軟體支援。RAID适用于單個儲存設備,可以減少磁盤部件的損壞,RAID系統使用許多小容量磁盤驅動器來存儲大量資料,并且使可靠性和備援度得到增強,RAID 系統的特點是“熱交換”能力,即使用者可以取出一個存在缺陷的驅動器,并插入一個新的予以更換,根據備份資料的性能需要,常使用的是RAID-5,即至少需要3塊硬碟做(2塊硬碟)資料鏡像以及(1塊硬碟)奇偶校驗。

資料使用

資料使用過程主要會涉及到企業内部的系統和人員,比如資料分析需要、業務分析需要、業務資料統計需要等等。

針對單個業務的資料使用安全,可以根據業務資料流圖以及業務系統結構圖來獲得資料接觸和使用相關的系統、部門、人員。最常見的是業務人員、産品經理、産品營運人員對于業務資料的使用和分析需要,最簡單也最不安全的做法是提供生産線資料庫的隻讀權限賬戶,每個人直接通過該賬号連接配接資料庫進行資料查詢和分析。

是以需要有資料庫通路平台或系統,對所有人的資料通路權限進行收斂、管理和審計,比如可以在DB Proxy基礎上進行二次開發。該系統至少需要具備的能力包括:

  • 賬戶管理,或接入内部員工賬戶管理系統;
  • 權限申請,粒度為資料庫表中的字段;
  • 權限審批,需要申請人上級同意,如是跨部門申請權限,即A部門人員申請B部門業務資料權限,則需要B部門資料所有者同意;
  • 查詢和寫入分開,非技術人員隻有資料讀取權限,且無法進行全量查詢(SELECT *),每次查詢結果有資料量限制,導出資料需要做二次身份驗證,技術人員寫入操作需要單獨申請,需部門負責人同意,且有時間限制;
  • 日志審計,審計員賬戶可以檢視所有賬戶的操作記錄、申請記錄和審批記錄,操作記錄包括執行的SQL語句内容。

另外,在資料使用中需要内部人員遠端通路系統或應用,需要采用VPN技術。常用的技術有路由過濾技術、通用路由封裝協定(GRE,Generic Routing Encapsulation)、第二層轉發協定(L2F,Layer 2 Tunneling Protocol)、第二層隧道協定(L2TP,Layer 2 Tunneling Protocol)、OpenVPN、IP 安全協定(IPSec,IP Security)、SSL協定等。從易用性和安全性考慮,最佳選擇是SSL VPN,無論PPTP、L2TP、OpenVPN都會面臨諸多網絡問題或操作問題帶來的維護成本,比如不同營運商網絡下的VPN連接配接效果會有不同,移動端和PC端配置的複雜性造成的IT問題飙升(技術人員認為的簡單不等于員工眼中的簡單)。相比之下,SSL VPN可以較好地解決該問題。

SSL VPN 采用标準的安全套接層協定,基于X.509 證書,支援多種加密算法。可以提供基于應用層的通路控制,具有資料加密、完整性檢測和認證機制,而且用戶端無需特定軟體的安裝,更加容易配置和管理等特點,進而降低使用者的總成本并增加遠端使用者的工作效率。

SSL VPN系統的組成按功能可分為 SSL VPN伺服器和 SSL VPN用戶端。SSL VPN伺服器是公共網絡通路私有區域網路的橋梁,它保護了區域網路内的拓撲結構資訊。SSL VPN 用戶端是運作在遠端計算機上的程式,它為遠端計算機通過公共網絡通路私有區域網路提供一個安全通道,使得遠端計算機可以安全地通路私有區域網路内的資源。

SSL VPN常見的工作模式有三種:Web浏覽器模式、SSL VPN用戶端模式和LAN到LAN模式。如果被通路系統均是基于Web的系統,可以使用Web浏覽器模式,使用者不需要安裝用戶端,可以降低使用者成本,否則可以選擇SSL VPN用戶端模式,也僅需要安裝一個用戶端,輸入伺服器位址、賬戶名和密碼即可連接配接,相對的維護成本也較低。

同時在實踐中選擇和部署VPN系統時,需要考慮2FA(雙因子認證)的問題,如短信驗證碼,避免VPN賬戶資訊記住之後由于用戶端風險(如惡意軟體)造成的VPN賬戶資訊洩露或惡意遠端通路。

資料安全在企業安全建設過程中需要考慮的地方遠不止以上内容,對于安全人員而言,重要的是将安全技術與業務建設相結合,從業務建設倒推安全技術的選擇,進而才能在獲得助力業務發展的同時,獲得同僚、上級及管理層對于安全建設和安全部門的重視。

- End -

繼續閱讀