數據安全在交付中的思考
2017年7月,Equifax用戶數據泄露事件使得1億4千300萬個人信息(包括社會保障號碼、出生日期、地址、駕照編號)和20萬9千個用戶的信用卡數據被盜。該事件直接導致1.43億美國人的個人信息的破壞和泄露。CEO Richard Smith在數據泄露之后直接提出辭職,公司股價跌幅超過8%,市值蒸發35億美元。
2016年9月,Yahoo宣布遭遇史上最嚴重的數據泄露,導致5億用戶的真實姓名、電郵地址、出生日期、電話號碼的信息泄露。到了12月,新的數據泄露記錄被打破,10億賬戶數據被竊取,除了上述那些賬戶信息被盜外,連安全問題和答案也一起被盜。這兩次的數據泄漏使得雅虎的售價降低了3億5千萬美元。
這些問題的原因距離我們并不遙遠,Equifax將其數據泄露歸咎于應用程序的安全問題,可能在于Java應用程序的開源Apache Struts框架中已知的安全漏洞,在這之前的數據泄露則很多來自SQL注入或者其他的業務邏輯漏洞。
伴隨歐盟的通用數據保護條例和新的網絡安全法的頒布,數據安全已經成為每個企業和IT從業者都必須要關注的一個話題。而我認為依賴于傳統控制論基礎上的主動防御和合規理論正在逐漸喪失其領導地位,要解決數據安全的問題,需要有一個場景化的方式,體系化的方案。接下來我們逐一解析。
重中之重的是數據安全的意識,意識是能力的基礎,我們只有明確了這件事對于我們業務有價值之后,才能繼續后面的方法和過程。上文中的數字已經說明,數據安全對于組織和個人來說都有價值且是必須的事情。Build Security In Our DNA, 我們需要不斷增強我們在安全上的意識和理解。
在明確了意識在數據安全中的作用之后,我們需要去定義數據安全到底是什么,國際標準化組織(ISO)對計算機系統安全的定義是:為數據處理系統建立和采用的技術和管理的安全保護,保護計算機硬件、軟件和數據不因偶然和惡意的原因遭到破壞、更改和泄露。由此計算機網絡的安全可以理解為:通過采用各種技術和管理措施,使網絡系統正常運行,從而確保網絡數據的可用性、完整性和保密性。
狹義的數據安全是指直接圍繞數據的防護技術,主要是指的是數據的訪問控制,審計,加密,脫敏等。下面幾個舉措可以完善數據安全性在系統或者應用構建中的實踐。在業務探索和系統設計的環節,我們需要建立以數據安全性為主的分析過程,下面幾點需要重點關注一下。
首先,需要明確在當前場景下法律法規的約束和要求
本文以《網絡安全法》中的數據安全要求為例。涉及到技術和管理兩個方面,概括起來有如下幾點:
- 對數據訪問的日志進行審計,且日志留存時間不低于六個月。
- 對數據進行分類,將敏感數據和普通數據區別化處理。
- 對重要的數據進行備份,容災。(第21,34條)
- 對重要數據進行加密(第21條,31條)
- 對個人信息進行脫敏(第42條)
第二,需要結合數據安全目標和構建整個交付項目的數據安全評估體系
思路如下:
- 了解場景,做影響性評估
- 數據收集和數據處理的分析
- 數據安全實現評估
- 數據安全的驗證和補救
第三,安全雖然現在已經逐漸和業務緊密結合,出現像態勢感知、自適應安全等新的方式,但是從總體上來說,它還是來源于體系化的控制,其核心是識別風險,做出改變。
整體的業務風險我們需要一個框架來做詮釋,這其中包括:
(1) 安全的策略和架構:數據安全在設立之初應該了解到組織對于數據安全的要求,明確哪些是敏感的,哪些是隱私數據,對待不同的數據資產,組織的態度是什么。
(2) 風險,業務連續性和合規:這是控制的方式和目標,在識別差異化之后,我們要了解一些業務上的風險,這部分可以用風險分析的方法了解到業務上的風險所產生的問題,結合與具體應用的場景,需要將風險和技術威脅結合起來
(3) 數據安全運維:這部分需要在運維或者DevOps階段考慮到,由于數據本身有生命周期的概念,那作為運維人員,需要考慮更多來自數據完整性上的要求,需要在DevOps和運維環節定期備份數據,需要有如下的措施,***,在生產環境中要防止機密數據的丟失,第二,需要保護和備份敏感數據。第三,需要能夠通過脫敏或者其他措施屏蔽或者加密某些字段。第四,要滿足個人數據隱私保護法規的要求,對于個人數據的部分進行刪除和屏蔽。
(4) 數據的獲取,存儲,傳輸和接入。這是數據生命周期中的主體,也是數據保護的難點,這部分會是我們考慮的重點。
(5) 在數據獲取方面我們需要關注所要處理的一些敏感數據,這些數據包括一些敏感的生產數據,知識產權,個人身份識別或受保護的信息。我們在做Discovery和Inception的過程中要處理這些不同的數據,將其分類和定義。過程大概如下,需要對元數據進行分類解析,包括PCI,PII,PHI等等,這些數據的分類和獲取,需要經過客戶或者用戶的同意(注意:GDPR當中已經對這部分有明確的立法)。其次作為敏感的數據以及一些合規數據和日志,這部分的存取和處理,也需格外關注。第三,管理敏感數據的訪問方式,誰授予訪問,修改和共享敏感數據的權限需要被關注到,這其中包括對于系統用戶的驗證和授權,還包括對于用戶的行為提供監控和審核。這部分在系統設計的時候需要重點考慮。
認證方面包括服務器和服務器之間的認證,客戶端之間以及用戶之間的認證。而在授權方需要對不同的階段和用戶進行響應的認證,在秘鑰管理以及用戶身份側進行處理。比如,應用系統采用專用的登錄控制模塊,對登錄用戶進行身份標識和鑒別,具有用戶身份唯一標識和鑒別信息復雜度檢查功能,保證應用系統中不存在重復的用戶身份標識,身份鑒別信息不易被冒用。應對同一個用戶采用兩種或兩種以上組合鑒別技術實現用戶身份鑒別。
(6) 在云計算環境中,安全問題的形勢會變得特別嚴峻。數據安全和隱私保護是用戶關注云技術的兩個主要因素。盡管學術界和行業研究了許多關于云計算主題的技術,但數據安全和隱私保護對于政府,工業和商業中的云計算技術的未來發展變得越來越重要。數據安全和隱私保護問題與云架構中的硬件和軟件相關。
***,我想總結一下數據安全策略上的理解和認識,數據安全是通過完整性和機密性的控制來實現總體安全性上的目標,所采用的方案包括身份認證,訪問授權和安全審計等措施,在用戶,服務以及主機端完成的數據傳輸的一系列實踐。
【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】