在眾多廠商、企業都在盡力強調數據安全、落地各種防護方案時,關于代碼安全,尤其是企業的核心代碼防護仿佛并沒有被時常提及,是否代碼的敏感性、重要程度已不如數據?企業保護核心代碼的措施又應該是怎樣的?本期話題我們以核心代碼安全為話題,就相關問題展開討論。
現在有企業會把核心代碼開放給大部分甚至所有部門員工,而不像數據一樣設置各種權限,這是否說明現在代碼安全已經不像數據安全那么重要了?
A1:
代碼安全要看行業的,如果是快速迭代的互聯網模式,老的代碼沒什么用,也就不用怎么保護了。要是傳統軟件的代碼就不一樣了,你看微軟什么時候公開過代碼庫。
A2:
現在企業中都有專門的代碼倉庫來保管代碼,分組織、項目、人員來管理的。
A3:
代碼安全根據行業來區分,例如公司是專門從事軟件開發行業、軟件服務的,他們的核心資產就是代碼,那么他們會對代碼安全要求很嚴格;如果行業并不是靠這行吃飯的,代碼算不上核心資產,那么自然也就不會那么重視。
A4:
沒錯,看行業,尤其是制造等硬件底層的一些代碼,開發環境都得隔離,代碼落地加密處理,敏捷開發的前端沒這個必要。
A5:
重不重要取決于對公司的價值。代碼如果是核心產品,必然很重要。代碼庫也會設置各種權限,尤其是核心代碼。
A6:
我這并沒有開放給大部分員工,一般是項目相關的會有權限。但是我現在沒遇到特別好用的代碼管理軟件,Git雖然優秀,但是其實面向的還是開源軟件開發,在容錯性上做的很好,但是權限和安全性是不足的。比如某人如果取消了權限,但是Clone到本地的代碼一樣能用。舉個例子,某云的Devcloud也明顯就是社區作風,代碼庫的創建者可以自行刪掉代碼庫,真的是震撼了我。
Q:現在認為核心代碼脫離了公司測試環境,根本就毫無用處, 跑不起來,那核心代碼的安全價值該如何衡量?
A1:
核心代碼的安全我認為應該分兩方面來考量吧,第一是自身的安全考量,比如遭受安全事件后的影響程度;第二是從合作伙伴來考慮,比如華為就對合作伙伴有專門的標準,要求必需滿足某些指標才會采購。
A2:
確實有這種聲音。但被競爭對手拿到也不是那么絕對。安全價值或者說對公司的價值更多的是產品依賴度和知識產權。
A3:
題干說的這種核心代碼應該是“瘦”核心,只要最重要的工作,其他都通過中、外圍系統的完成,要有接口和相應的能力,不然核心代碼只能跑非常少的功能。
A4:
除非特別大公司的特別大的業務系統的某個模塊,其他的不存在跑不起來,毫無用處這個概念。無論是設計思路的竊取還是攻擊漏洞的暴露,代碼保護還是重要的,重要程度取決于老板預算。
A5:
這個說法應該是我老東家當年提的吧,號稱的代碼太吃資源了,被偷走了也跑不起來。結果,201x年的時候,真的有離職員工做競品,結果現在互聯網大廠普通員工都要簽競業協議了。而且也專門設置了安全部門來檢查員工是否拉不該拉的代碼,特別是離職前。
A6:
代碼不出網這是基本要求,所謂和核心代碼放出來的,只是現在的開源文化,放出一個公版,其他就不細說了。
A7:
小規模業務的代碼,離開公司絕對能跑起來,客戶端代碼離開公司絕對可以跑起來。基本上就是輪子造的多的公司,可能代碼沒法直接Run起來,但是核心業務的核心代碼,根本不需要直接Run,直接抄里面的功能邏輯就行。
不過說實在,現在大多數企業也沒有核心代碼吧,寫的大多數是垃圾。代碼泄露更大的問題是增加攻擊面。
A8:
打個比方,開源那些機器人項目,人家的機器人18歲能蹦能跳,你把開源抄過來,看上去像腦血栓,真正的核心,不管是核心功能還是存在隱患,不太可能讓所有人都能訪問。
A9:
這部分的差異可能不是代碼,有的時候是數據。甚至是日積月累的,這是真正的技術壁壘。比如搜索頭部公司為啥會一騎絕塵,就是網頁庫這個后來者很難追趕了,成本極高。
A10:
感覺死代碼是最沒用的技術壁壘,太容易被復制了。
A11:
但好像還是有很多人復制了代碼,也不會用。
A12:
國內不是卷嘛,研發核心人員把代碼拿著出去又成立一個公司,產品五折,這種例子不要太多。
A13:
話說代碼倉庫開放不是會產生硬編碼的泄漏嗎?硬編碼那才是影響巨大。
A14:
對,所以杜絕硬編碼,因代碼泄露感覺是不可避免的。
Q:如果需要建立核心代碼安全保護機制,研發和安全部門應該如何制定?
A1:
分級管理,最小化知悉。核心代碼權限申請需要審批。
A2:
這種的措施挺多的了,比如代碼開發環境完全隔離,代碼開發不落地,都在云平臺上實施。根據不同的行業,實施的方案也不同。游戲開發需要使用大量的美術資源,就無法適用上面的方法。
包括零信任方案,也有推出相關的解決方案。還有制度要求、技術要求、懲罰措施、定期審計。不同的公司支持力度不同,預算不同,也就有了不同的方案。
A3:
技術層面,我們這邊搞的是代碼落地加密,實施比較快,但是也有一些不足,比如加密客戶端對MAC兼容性不太友好。
A4:
1.完善的代碼設計、開發、測試、上線流程。
2.獨立開發、測試、上線環境。
3.審計。
A5:
看老板預算,有多少錢辦多少事情,我現在這種情況,只能做到所有代碼庫在我管轄范圍之內,并且代碼提交和和拉取記錄有備份,也就是防一下離職前的大規模代碼拉取。至于電腦上的管控,成本太高,就不做了。
A5:
暗水印技術。
A6:
那得拍多少呀?
A7:
不一定要拍很多,比如游戲行業,他只要拍一點開發畫面,對于游戲接下來的計劃、發行方案都有影響。
A8:
能詳細說說嗎,在代碼上加水印,還是在屏幕上加水印?
A9:
放拍照當然是屏幕水印了,源文件加上會影響文件屬性。
A10:
水印技術更多是為了泄漏后增強可追溯性,并不能防止拍照或截圖。不過在心理上,會造成一定的震懾。
A11:
類似隱寫,你可以了解一下。就是你拍照看不出什么東西,但是查到了根據圖片的暗水印信息就能定位是誰泄露出去的。
A12:
暗水印是在文擋或屏幕里加不可見點陣,通過反選,或者調色能把點陣顯示出來,然后根據點陣特征溯源。
話題二:數據安全和個人信息保護,在涉及到數據加密脫敏時誰來負責,這兩個崗位的職責區分是什么?
A1:
前者負責方案,后者負責審核、審計。
A2:
在這個場景內,個信更多偏需求方,數安偏方案和執行。
A3:
目前大家墨守陳規的是個信和數據交融相錯。
A4:
數據安全包含個人信息,但是由于PII比較重要,所以專門拿出來做隱私管理,至于加密之類的歸屬數據安全。
A5:
那說起來,個信這塊,還是偏向于前端能不能收;數據這塊,偏向于要不要加密、怎么加,是這么理解嗎?至于要不要加密,得結合個信一起討論(總覺得這個地方是雙方共同的點,一個偏向法律要求,一個偏向技術實現)。
A6:
我覺得這么理解吧,個人信息主要在于前期收集、收集范圍、告知用戶權力、數據所有者權力,如何處置收集到個人信息(根據當地政策),收集到了,那就是歸屬數據安全進行管理。因為個人信息主要就是違法收集信息問題和過度收集信息。
我覺得企業如果在做PII管理,可以融入數據安全流程,主要是在收集到的數據如果進行管理,例如加密、脫敏、以及后續共享傳輸等方面,還有授權控制。
A7:
我指的是加密,不是收集。數據安全僅僅處理已經拿到的數據,而不管能不能拿這個數據。
A8:
我們是歸公司總經理管,成立數據安全小組,負責人由高層擔任,包括了法務和研發負責人,安全只是干活的。規則可以安全訂,訂完其他人審核。通過之后下發是以高層的名義來。
A9:
所以你們的用戶隱私協議要寫好,告知用戶他的權力、數據所有者的權力,所以國內一些隱私協議寫的很長,就是讓用戶不想看,出賣自己的隱私。這也算是一些小動作吧,在法律范圍內,數據所有者增加自己持有個人信息的處置權。
A10:
增加了自己的處置權,也意味著自己需要對數據提供保護義務和責任。
A11:
所以,回歸到問題本身,數據安全和個信的分工。
A12:
剛開始就已經說明了,如果有能力情況下肯定是分工的。但是實際工作過程中也是融入數據安全進行協同的,我不知道為什么要分的那么清楚,而且前期很多時候法務就可以搞定,都不用安全。
更多信息可以來這里獲取==>>電子技術應用-AET<<