您好,登錄后才能下訂單哦!
本文從產品經理的角度出發,對產品經理的安全職責、產品驅動安全的內涵、工作內容、工作方法、所需安全資源、以及產品經理的安全工作量進行了分析。希望所有產品經理在沒有心理負擔的情況下,有目標、有方法、有資源推進產品安全建設。
安全是軟件產品天然屬性的一部分,“無安全不金融”,對于金融軟件產品而言,安全尤為重要,因為客戶總是能夠從各種安全漏洞聯想到他的金融資產安全和個人信息安全。以前偶爾會在一些安全沙龍或峰會聽見同行吐槽,“信息安全說起來重要、做起來次要、忙起來不要”。吐槽背后的原因很復雜,其中很重要的一點是跟產品經理安全意識淡薄、不清楚如何推進產品安全建設有關,比如不重視產品安全屬性、產品安全需求不明確、產品安全資源不充分、產品安全建設無從下手等。本文主要站在產品經理的角度,從產品經理能力維度出發,探討產品經理如何推動產品的安全性建設。
眾所周知,安全性作為軟件產品的天然屬性,從產品定義與規劃角度來看,產品經理對產品安全負有不可推卸的責任,但產品經理如何履行自己的安全職責,業界還沒有給出一個清晰可行的行動方案。
目前,軟件產品安全需求通常是基于開發人員和安全人員的職業常識提出相應的解決方案,比如目前業內比較通用的敏感信息五要素分析方法:
這種方法簡單易行,但往往不能涵蓋所有的敏感信息,比如
這些信息均為有價值的敏感數據,顯然不屬于前述的敏感數據范圍,但往往沒有明確的防護要求。從特定業務場景出發,產品經理對敏感數據范圍及其業務價值最有發言權。
前述的敏感信息五要素分析方法是典型的安全驅動產品的方法,即安全部門推動產品相關各團隊的安全工作開展。這種模式存在很多弊端,比如:
(圖1 安全驅動產品)
眾多的安全實踐表明,安全驅動產品的思路與方法存在眾多弊端,如果反過來,產品驅動安全,讓產品經理明晰自己的安全職責、主動推動產品的安全建設,就會產生對比鮮明的效果。
產品驅動安全并非意味著產品經理單一角色推動產品的安全建設,而是說產品經理主動承擔相應的產品安全責任,主動與安全部門一起推動產品的安全建設,由安全驅動產品的單輪驅動轉變為產品驅動安全的雙輪驅動。如下圖所示:
(圖2 產品驅動安全)
安全是軟件產品的天然屬性,是產品經理職責的一部分。同時產品經理作為產品規劃演進與研發資源投入的指揮棒,可以保證研發團隊在安全上的適度投入。通過簡單分析,產品經理承擔產品安全責任,主動推動產品安全建設應該是十分合理的邏輯。
產品經理有意愿做好產品安全,可能會問如下幾個問題:
為產品經理解決了以上問題,消除其后顧之憂,產品經理才有可能大概率地擁抱安全,從根本上解決研發與安全間的矛盾。
產品經理的安全工作內容大致如下:
(圖3 產品經理的安全工作內容)
產品安全需求是指站在業務角度,軟件產品需要滿足的數據安全需求、業務合規需求和業務連續性要求,它是業務安全需求的一部分。本文描述的產品安全需求通常包括:
(圖4 產品安全需求)
產品數據安全需求是指系統安全體系應確保恰當的用戶在恰當的時間與地點以恰當的途徑用恰當的動作訪問恰當的數據,確保其承載數據的機密性、完整性和可用性。即系統安全體系應確保類似于白名單的合法訪問行為清單,只要屬于清單范圍內的行為均為合法行為,白名單行為之外的行為都是默認不恰當的數據訪問行為,需要安全措施進行預防,本文稱之為黑名單行為。
由于黑名單行為通常為heikegongji行為,其典型行為的分析與羅列需要較強的gongfang技術背景,不在業務人員和產品經理能力范圍之內,需要安全專家根據產品運行環境進行分析,所以本文要求產品經理明確的產品安全需求通常為其白名單部分,黑名單部分需要產品經理組織安全專家和研發專家配合明確。產品設計所包含的各種安全措施主要目標就是確保白名單行為一定成功,黑名單行為一定被預防、監控和審計。
從業務安全角度出發,定義合法數據訪問行為之后,還需要有數據訪問行為審計手段,幫助業務確保訪問行為的正確性,以及對違規的數據訪問行為進行審計。
(圖5 產品數據安全需求)
基于上文分析,白名單行為清單的明確只需要了解業務模型相關信息就可以做到,對于產品經理而言,不存在能力上的門檻。過程中產品經理需要明確的數據包括:
在明確上述信息的過程中,產品經理應遵循如下兩個原則:
設計人員可以根據該白名單進行權限管理與訪問控制模型設計,測試人員可以將白名單作為數據安全測試基線,任何違背白名單的測試發現均為系統的安全bug,比如:
合規性需求是指由于系統運行地點、服務網絡以及客戶所在地區或國家相關部門,對服務提供模式、數據安全以及業務連續性提出了限制性要求。目前公司系統所面對的主要監管要求包括:
2019年國家相關部門提出了一系列App收集個人信息相關監管要求:
在產品經理羅列出合規要求、安全部得到相關部門的權威解釋后,與產品線溝通建議各種安全措施設計,將會在很大程度上滿足IT安全合規要求。等級保護相關要求為所有系統需要面對的共通要求,無需產品經理羅列,安全部可以直接解釋。
關于具體安全需求的定義與維護方法,筆者將通過其他文章進行說明。
分析產品經理的安全工作內容,最主要的考驗來自于明確業務安全需求的四個清單。相關安全能力分析如下表:
產品經理其他安全開發工作所需能力分析如下:
綜上所述,產品經理要履行相關安全職責,必要的能力和素質是具有較高安全意識,能夠理解相關安全基礎概念,沒有過高的能力門檻,通過一定的安全培訓,產品經理完全可以達到相應的能力要求。
針對目前敏捷開發與DevOps開發普遍落地的情況,安全開發不應固守與瀑布開發相結合的陳舊經驗。因為瀑布開發周期長、資源充分,在繁雜的計劃活動中安排一些零星的安全活動不會產生明顯的延期壓力和資源壓力。而敏捷開發和DevOps開發要求快速響應用戶需求的同時,兼顧開發質量與效率,如果在迭代計劃中設置過重的安全開發活動,迭代和開發容易失去敏捷特性。
為了將安全開發理念在敏捷與DevOps開發中得到貫徹,建議采用如下原則:
對于一些安全開發活動的計劃安排示例如下:
上表中“多迭代執行”指的是按照一定要求,間隔多個迭代后執行一次。關于多迭代執行的安全活動需要制訂一個執行基線,該基線無標準可參考,需要根據各產品線實際情況逐漸摸索調整。
安全活動的觸發場景與基線不是固定的,隨著團隊安全能力與自動化、工具化程度的提高,多迭代執行的安全活動可能轉變為每迭代執行;不是所有識別出來的安全活動都必須執行,一切以控制主要安全風險、不拖迭代項目后腿為基準。通常安全團隊會與所有產品經理和項目管理進行多次溝通,提出一個多方基本認可的安全活動觸發場景與基線表,供產品經理參考。
產品經理在履行各項安全職責時,需要周邊部門提供的安全服務與支持包括但不限于:
產品經理安全工作壓力分析如下表:
上表描述了產品經理可能會遇到的主要工作內容,但并不是全部內容。整體而言,會增加產品經理一定的工作量,但不會構成明顯的工作壓力。
產品經理對產品安全負有責任,通過明確產品安全需求中的白名單指明產品安全目標,通過制訂安全研發計劃、推動團隊安全能力建設和協調周邊安全資源,實現產品安全落地。
經過簡短安全培訓后,相關工作均在產品經理能力范疇,工作量不會對產品經理形成心理壓力,靈活的安全活動觸發標準也不會影響研發的敏捷性。筆者在這里衷心期望各位產品經理放心大膽、勇往直前地擁抱安全,和安全部一起不斷地將產品安全推向新高潮。
在筆者的工作經歷中,安全部門為了推動安全工作,總是想著法地“抱大腿”,期望借助外力以推動安全工作,卻沒有注意到產品經理這個“大腿”,只需覺醒其安全意識,這一“大腿”不僅粗壯有力,而且有著主動擁抱安全的強烈動因。
安全部與產品經理合作,很容易建立基于迭代和開發的常態化安全落地機制,而與其他部門合作,例如合規或法務,常常只在特定階段推動特定安全工作的落地。建議各位應用安全同行和產品經理多多交流,因為:產品經理才是我們安全部最需要擁抱的“大腿”!
作者:危國洪 郭建偉
來源:宜信技術學院
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。