转载

GitHub给安全行业的四大启示

GitHub给安全行业的四大启示

  直到今天,安全行业才逐渐开始意识到开源社区已信奉多年的天条:协作才是创新的关键所在。

  即使你不是软件开发人员,你也可能听说过全球最大的代码托管服务 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 看来,安全团队的第一要务是应急响应,为了更好地完成这个任务,就必须确保不被一些相对简单的事情牵扯过多精力。

正文到此结束
Loading...