反思2.4 億資料洩漏事件:企業程式碼安全如何保障?
前段時間,各大媒體釋出的2.4 億資料洩漏事件,引起了大家廣泛的關注。而這次資料洩露的原因也讓人啼笑皆非,某公司程式員把程式碼不經任何處理上傳到了 Github 的公共程式碼庫,洩露了 IP 和使用者名稱密碼,導致黑客對整個資料庫進行了拖庫。
整個事件暴露出目前網際網路企業普遍存在的軟體研發和程式碼安全問題,而造成這些問題的主要原因是:

1、缺乏統一的軟體研發平臺
毫無疑問,軟體全生命週期管理是業界所接受的、可靠的軟體研發模式。然而,這個管理過程是非常複雜的,不同團隊和個人使用不同的工具:Maven、Jira、Junit、Sonar、SVN等等。既無法共享專案資訊,又給使用上帶來很多不便,這讓部門之間產生了明顯的資訊壁壘。
2、缺少精細化許可權管控
網際網路公司業務場景中,需要給使用者賦角色、給各角色賦許可權、實現許可權內資訊資料的瀏覽及操作等細粒度許可權管控。但是,實際大部分企業內部許可權管理混亂,如企業員工對於專案中的重要分支隨意提交程式碼,導致產生很多不必要的損失;無法控制成員讀寫許可權,導致團隊程式碼面臨洩漏的危險局面;專案連結發出去後,無法限制訪問人員,專案管理困難等。
3、沒有完備的程式碼安全體系
如果公司自建 Gitlab,需要隨時關注程式碼管理軟體的各種漏洞和 Bug 並即刻更新;難以應對來自公司內部對程式碼倉庫的惡意破壞,可能發生刪庫跑路事件等等。可以預見的是,如果沒有完備的程式碼安全體系,類似於本次資料洩漏的事件將會不斷被上演。
企業程式碼安全如何保障?
1、統一工具和系統,減少效率損耗
提供全方位工具支援,幫助企業團隊處理研發流程中的需求,開發,審查、持續整合和部署,同時跟蹤錯誤並討論想法。 專案經理定製專案計劃可直接關聯需求內容,並給研發人員指派任務,研發人員接到任務後可直接檢視關聯的客戶需求。測試人員提交Bug時可關聯到研發人員與此對應的任務。既節省了員工的工作量,也保證了資訊的一致性,同時也使得專案研發的所有歷史都可追蹤到。 開發人員能直接看到自己還有哪些任務要處理,誰分配了任務給自己,自己需要做什麼,還有誰和自己一起完成這個任務,當前任務處於計劃中的哪個里程碑階段,任務來自於哪個需求,任務的具體描述是什麼等,從而實現跨部門工作,很好的解決了研發團隊協作難的特點。

2、靈活且細粒度許可權管理
團隊協作中,不同的專案成員角色被賦予不同的訪問許可權,精細化管控專案讀寫許可權,配合保護分支設定,減小誤操作帶來的損失。良好的公、私有專案,以及企業內、外部專案多維許可權設定,便於控制訪問許可權,保護企業軟體資產。
3、全面安全防護體系
企業資料採用基於 SSL/TLS 協議以加密形式傳輸資料,以確保端到端的網路傳輸安全。建立企業資料防火牆,員工離職自動刪除所有Fork 的企業專案資料資訊,重要資訊不洩露。為企業專案及企業名下的組織專案進行快照備份,無懼程式碼誤刪,為企業程式碼安全保駕護航。 更多企業安全防護:操作日誌記錄、異常行為監控告警、敏感操作二次驗證、高級別雲安全防護、7X24小時運維監控等。
4、程式碼稽核
碼雲上的 Pull Request 作為一個非常有用的程式碼審查工具,通過 Pull Request @相關團隊成員 讓對方審閱自己的程式碼,指定成員跳轉到指定分支後可以對程式碼進行評論,提出改善建議,幫助改善邏輯及缺陷。
提交 PR 後,我們可以通過雙欄對比檢視修改檔案和原始檔之間的差異。

我們可以對指定程式碼進行提問及評論,回答並展開討論。通過討論和評論的方式對程式碼進行不斷的重構和改善,直至指派的審查人員和測試人員對程式碼完成審查並通過後才能進行最終合併。

有資料顯示:2017 年全球有 26 億條資料記錄被盜、丟失或外洩,比 2016 年增加 88%。與此同時,許多企業的安全意識淡薄,導致企業資料資產安全已經成為軟體研發管理中的重災區。碼雲作為國內首家企業級程式碼託管平臺,基於國內活躍的開源技術社群,致力於為開發者服務 5 年,超過 30,000 家公司和機構正在使用碼雲,提高企業競爭力。

往期精彩:
ofollow,noindex">功能更新 | 碼雲企業版支援提交程式碼時切換任務狀態
微信小程式如何使用 Git 實現版本管理和協作開發
