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