是時候重視GitHub的安全威脅了

是时候重视GitHub的安全威胁了

安全運營團隊通常都忙於處理惡意軟件、網絡釣魚和DDoS攻擊。但IT領域有塊地方卻是儘管有數據洩露、信譽損失、競爭優勢喪失的風險,很多安全運營團隊卻都沒有給予足夠監管的。

是时候重视GitHub的安全威胁了

GitHub是超級流行的源代碼管理平臺,公司和個人都在用GitHub存儲和管理源代碼,保持軟件開發項目平穩進行。GitHub以其實用的功能和用戶友好的界面攀上了全球最大代碼倉庫的位置,如今其上託管著超過8000萬源代碼庫。Facebook、谷歌和微軟的部分重要軟件項目也用到了GitHub。

GitHub無疑是成功案例。為什麼安全運營團隊需要多加註意呢?

這是因為,GitHub如此流行,公司研發團隊極有可能把一些項目也放到了GitHub上。但過去幾年的事實已經證明,某些開發人員那漫不經心的GitHub使用習慣會產生嚴重的安全風險。即便開發人員遵循最佳實踐,用Fortify一類的源代碼分析工具檢查過提交源碼中是否存在安全漏洞,這些風險依然存在。

漫不經心的安全操作本身就足夠危險。而在黑客死死盯上這個管理鬆散的系統時,風險就更大了。

為什麼黑客會盯上GitHub

原因有很多:

  • 源代碼
  • 攻擊方法

源代碼可能為黑客提供攻擊生產環境中軟件的思路。盜取源代碼能賦予他們時間去研究和查找漏洞,比通過滲透要簡單得多。他們甚至可以在生產環境中運行代碼並嘗試攻擊,不斷精煉攻擊,提升攻擊速度、隱蔽性和有效性。

  • 登錄憑證

提交到GitHub上的代碼和支持文件有時候一不小心就包含了登錄其他服務的憑證,比如登錄AWS的。黑客獲取到這些代碼,也就獲得了相關服務的訪問權,有了盜取更多數據和中斷運營的機會。

  • 未授權訪問

開發人員通常都會有以個人郵箱賬戶登錄公司代碼庫的權限。這些賬戶就是漏洞,尤其是在開發人員離職後。另外,開發人員手裡的權限往往還是公司所有代碼庫的,而不僅僅是自己負責的項目的,這就留下了巨大的攻擊界面。

  • 內部人威脅

主動監視的缺乏可使得惡意內部人易於隱藏異常行為。某個開發人員訪問幾十個代碼庫就是內部人威脅的徵兆,而此類行為應被檢測並標記。

2016年Uber託管在GitHub上的源碼庫被滲透時,黑客收穫的贓物中有一部分就是登錄憑證。攻擊者不僅僅拿到了先進的知識產權;還挖到了內含700萬Uber司機和5000萬客戶個人信息的AWS憑證。這些個人數據中包括了姓名、地址、駕照等等信息。

應對GitHub帶來的安全威脅

幸運的是,安全運營團隊可以採取一些實用措施來收緊公司GitHub代碼庫的安全。比如:

  • 清理登錄憑證

提醒開發人員留心自己的GitHub登錄憑證。項目的訪問權限只對參與項目的開發人員開放。當開發人員脫離項目,憑證應被撤銷。

  • 反覆檢查代碼庫設置

GitHub背後的軟件——軟件版本控制程序Git,原本是用來管理Linux內核開發的。無論Git還是GitHub,在開源項目中的應用都很廣。一些開發人員,尤其是那些開源項目貢獻者,基本將所有GitHub代碼庫都當成公共的,也不管項目是否真的開源。最好反覆檢查一下公司的GitHub配置,確保項目訪問權是否超出了所需範圍。

  • 公開代碼中不混入秘密

提醒開發人員不要將登錄憑證和其他高度敏感的信息混入了代碼、GitHub項目介紹頁或其他外部人可以訪問的GitHub內容。自Uber數據洩露事件之後,GitHub就敦促開發人員小心對待此事,但來自安全運營團隊的定期提醒永遠不多餘。

  • 監測GitHub上的可疑行為
  • 收集GitHub日誌

持續監視GitHub的最佳方式,是收集公司代碼庫GitHub數據的日誌。從現在開始收集也為時不晚。

  • 對GitHub行為做個基線安全評估

可以用工具分析GitHub日誌中報告的行為,定義出正常行為的基線,讓未來的異常行為檢測更加容易。

  • 自動化GitHub日誌監視

你會想要持續監視GitHub行為以確保公司源代碼安全,保證外部人沒有滲透你的代碼庫。寫腳本來自動化這一工作,或者找個預置了自動化的解決方案都可以。

軟件代碼是公司最有價值資產之一。將GitHub納入公司安全運營團隊常規威脅追捕工作不僅僅可以保護該有價值資產,還可以保住公司的信譽和競爭優勢。


分享到:


相關文章: