GitHub 給安全行業的四大啟示

edithfang發表於2015-01-29
直到今天,安全行業才逐漸開始意識到開源社群已信奉多年的天條:協作才是創新的關鍵所在。

即使你不是軟體開發人員,你也可能聽說過全球最大的程式碼託管服務GitHub的大名,如今有800萬使用者使用GitHub進行社會化協作開發,事實上GitHub已經改變了軟體開發的遊戲規則,甚至非開發人員也能使用GitHub對產品的功能和bug進行反饋。

但是很少有人注意到,GitHub本身的安全開發和運營實際上正在改變企業安全的遊戲規則,通過GitHub安全團隊成員Roberts的介紹,我們瞭解到GitHub正在從以下幾個方面改變資訊保安的遊戲規則:

重新定義的團隊協作

與現代企業中的團隊不同,GitHub的僱員來自全球各地。例如GitHub的安全團隊中Scott Roberts來自俄亥俄州,負責網路安全監控、事件響應和威脅情報,而安全團隊的其他成員則散佈在自科羅拉多、伊利諾伊和路易斯安那等州。

Roberts有一天想為事件響應任務找一個好用的OS X稽核工具,他在GitHub上查到了一個專案OSXAuditor能非常好地滿足他的需要,於是Roberts開始Fork這個專案,在傳送Pull Request提交貢獻的同時也認識了專案的作者@jipegit。數月後Roberts在巴黎與jipegit共進晚餐時感慨萬千:GitHub的魅力 在於,它能讓這個世界上互不認識的人也能達成協作,甚至成為朋友。

可以說,GitHub重新定義了團隊的邊界。而且類似GitHub的開源社群最大的優勢就是本身就是一個極佳的眾測環境——使用者和潛在團隊成員的多 樣化和多元化,他們會在各種古怪和極端的環境中測試你的產品,最大限度地發掘你產品中可能有的各種漏洞或bug,甚至提交程式碼貢獻。

基礎架構的改變

GitHub的伺服器主要執行Ubuntu,都通過Puppet管理,自動化配置是關鍵所在,這樣才能快速實現任何修改,尤其是安全更新和新功能釋出方面。

Roberts認為,拋開運營團隊不談,GitHub網路最牛逼的是GitHub自己開發的聊天機器人程式——Hubot,可以完成圖片查詢、日誌 搜尋等各種任務。從某種程度上,Hubot完全改變了GitHub的運營方式。GitHub的安全團隊還在OS X桌面系統使用Puppet(Github開源專案Boxen),可以管理散佈於不同地理位置的膝上型電腦,方便開發者的專案協作。

安全方法與工具的改變

對於任何一個提供軟體下載的站點,人們首先會質疑這個網站是作何確保軟體沒有被植入惡意程式。對於GitHub這樣的程式碼託管站點,這個問題尤為突出。

GitHub採取的方法是重點保護專案的建立者和管理者,增加了兩步認證等安全訪問控制手段,沒有授權訪問,惡意使用者就無法向程式碼庫中注入惡意程式碼或木馬程式。

對於那些突破認證環節的例外事件,GitHub的安全團隊會快速響應,與專案擁有者、整個社群和支援團隊一起分析被感染程式碼,並儘快下架。

在日常工作中GitHub的安全團隊使用的工具既有商業化的,也有開源的,甚至還包括自行開發的內部工具。

例如GitHub的安全團隊喜歡使用Splunk分析日誌,同時也使用ELK進行分析,資料分析方面還經常使用Graphite。GitHub的應用安全團隊還經常使用Brakeman、Burp proxy以及大量定製化的程式碼和工具。事件響應方面GitHub的安全團隊喜歡使用Maltego進行調查,使用Cuckoo Sanbox進行惡意軟體分析,使用OSXCollector和Autopsy進行取證分析,同時還在研究Google的GRR專案在遠端取證方面的應用。

未來的計劃:大量的自動化

正如GitHub中託管的不計其數的專案每天都會收到更新請求一樣,GitHub團隊每天也會收到大量關於GitHub本身的功能更新和改進請求,其中就有包括安全性方面的。

Roberts表示他接下來的工作重點就是將盡可能多的安全工作自動化。“我的目標是:如果你第二次做同樣的工作是一種巧合,但第三次做重複工作的 時候你就應當開動腦筋,看看能不能把這個任務自動化。我們用Hubot自動化了大量工作,Boxen提供了Hubber系統的自動化水平,而Puppet 則負責伺服器端的自動化。

在Roberts看來,安全團隊的第一要務是應急響應,為了更好地完成這個任務,就必須確保不被一些相對簡單的事情牽扯過多精力。
相關閱讀
評論(1)

相關文章