行业新闻

前沿视角盘点:谷歌安全研究室都在研究什么?

前沿视角盘点:谷歌安全研究室都在研究什么?

在5月的谷歌IO开发者大会上,CEO桑达尔·皮查伊站在大草坪的圆台上,向大家介绍谷歌的最尖端研究,身后的电子大屏播放着只有黑白文字极简风的PPT。

疫情让这场线下开发者的盛会变成了线上,居家办公、线上课堂等话题在大会上屡屡被提及,一系列围绕这两个场景的技术和产品发布。但是这些场景开始衍生出一些问题,最显著的就是网络安全。

过去一年,许多企业关闭办公室,远程办公需求日益增多,网络攻击者也注意到了这一点。卡巴斯基的报告显示,2020年,全球RDP攻击(远程桌面攻击)从2月份的9310万猛增至3月份的2.774亿,增长了197%。

作为安全研究前沿的谷歌,旗下拥有著名的网络安全实验室Project Zero;2018年1月成立了网络安全公司Chronicle,独立运行1年后并入了谷歌云计算部门。

Project Zero在业界已经大名鼎鼎,致力于研究谷歌产品和其他公司软件中的安全问题和漏洞,消除互联网安全隐患。

在Project Zero的安全博客中,关注的对象大多是用户经常接触的iOS、Android、Windows、Chrome等。但在近几个月内,它发布了更多关于开源代码分析、代码安全检查的博客。

这一趋势和今年RSAC的沙盒创新大赛提倡的方向一致。今年大赛的获胜公司Appiiro,主打产品正是代码风险可视化管理平台。该平台提供横跨应用程序、基础设施、开源代码、开发者经验和业务影响的全方位安全性风险管理。

谷歌近期发布的几个安全工具,也偏向代码分析、代码测试、开源安全检查。本文将对这些工具做具体介绍。

1、实验性开源依赖性分析工具:Open Source Insights

Google发布了一个全新的实验性开源依赖性分析工具Open Source Insights,可以帮助开发人员发现他们使用的开源包/库的依赖项以及他们当前存在的已知安全漏洞。

用户可以访问该工具网站,输入想要了解的开源包名称,便可以获取相关信息,包括:

关于软件包的信息(描述、所有权、链接)

依赖项(软件包依赖的开源组件)

依赖者(依赖该开源组件的软件包)

安全公告(软件包和依赖项中的已知漏洞、非托管依赖项等)

许可证信息

上述信息可以帮助用户了解该开源包对于开源项目的依赖程度。

此外,该工具还提供交互式工具来可视化和分析完整的、可传递的依赖图。并且还提供了一个比较工具使用户更直观地比较不同版本开源包的差异,以进行更好的选择。

目前,该工具可以显示有关64,000个(Rust)Cargo包、64万多个Go模块、42万个Maven(Java)和160万个npm包(Node.js)的信息。

由于该工具目前只能使用已知的打包模型进行分析,因此现在还无法通过它查询C以及C++的数据。

2、开源安全计分卡工具:Scorecard v2

6月,Google发布了最新的开源安全工具Scorecard v2版,让开源安全检查变得更容易。此版本包括了新的安全检查、扩大被评分的项目数量等功能,这使得数据更易于被访问和分析。

对于开发人员而言,Scordcard有助于减少在维护项目供应链时不断评估持续变化的数据包所需的工作量。用户可以自动访问风险以做出有关接受程序的决定,寻找替代解决方案或与维护人员合作进行改进。

该工具迭代了以下功能:

识别风险:记分卡的覆盖范围有所扩大。在Google的Know、Prevent、Fix框架之后添加了几项新检查。

发现恶意攻击者:开发人员可以在提交代码之前验证该项目,是否强制执行其他开发人员的代码审查。目前,由于GitHub API限制,此检查只能由存储库管理员运行。

易受攻击的代码:启用上述两项测试后,可以检查攻击者是否使用了模糊测试和SAST工具持续集成、部署了(CI/CD)管道。

开发系统入侵:为了降低风险,记分卡的令牌权限预防检查现在通过将GitHub令牌设置为默认只读来验证GitHub工作流程是否遵循最小权限原则。

不良依赖:了解依赖项的第一步就是声明它们,并且让用户的依赖项也声明它们。有了这些来源信息,用户就可以评估并降低程序的风险。

3、用原生速度在macOS 上对 iOS 代码进行模糊测试

近期的一项研究,或说是实验,展示了 iOS 应用程序如何在 macOS 上运行,并且如何在 macOS 上执行为 iOS 本地编译的任何代码。同时,这也反过来促进 iOS 代码的动态分析和模糊测试,从而对安全研究人员更友好。

简单来说,由于iPhone 和 Apple Silicon Macs 都使用 arm64 指令集架构 (ISA) ;macOS 使用一组最兼容的运行时库和框架,同时提供/System/iOS支持(其中包含macOS上不存在的iOS运行时部分),因此随着Apple Silicon Mac的推出,在这些Mac上运行iOS应用程序、独立的 iOS 二进制文件或库成为可能。

基于上述背景,谷歌的研究项目进行了2个实践:

对Mac上iOS编译的封闭源代码进行fuzzing(模糊测试)

尝试在更“友好”的环境中动态分析iOS代码

持续关注,了解前沿研究。

关闭