git隐私泄露

0x01 Github平台的信息

Github做为全球最大的代码托管(tongxingjiaoyou)平台,有着令人惊讶的数据量。您除了会在其中泄露一些个人信息,最重要的就是源码。你的项目可能出卖了你。最有名的事件大概就是18年8月发生的华住5亿数据泄露。此事件的缘起,据说就是开发人员将数据库的套接字与口令直接上传到了github库中。

img

如今,各种Github泄露监控软件如雨后春笋板的出现。说道Github信息泄露,就不得不说今年ndss上发布的那篇-“How Bad Can It Git? Characterizing Secret Leakage in Public GitHub Repositories ”,哈哈哈哈哈哈哈。

0x02 论文

  • 原文作者:Michael Meli, Matthew R.McNiece, Bradley Reaves

  • 原文标题:How Bad Can It Git? Characterizing Secret Leakage in Public GitHub Repositories

  • 原文会议:the 26th Annual Network and Distributed System Security Symposium, NDSS 2019

该团队来自北卡罗来纳州立大学(NCSU),主要关心的是在开源代码库中,私有证书的管理。这篇文章六个月内扫描了Github上13%的公共代码库,发现了超过10万代码库泄露了API令牌和加密密钥。

API Key作为接口间通信的长期身份认证令牌,一旦泄漏即可绕过认证系统。

1

本文获取这些敏感信息的过程如下:

  • 0: 总结这些敏感信息的规律,称之为Distinct Secrets。

  • 1(1a, 1b): 总结根据这些规律通过GitHub API 和 Google Github Snapshot(两者互补)收集潜在的代码和数据文件。形成Candidate Files。

  • 2: 对Candidate Files中的Distinct Secrets进行正则,形成Candidate Secrets。

  • 3:(3a, 3b, 3c)对Candidate Secrets进行三层过滤(熵),形成Valid Secret。

本系统遵循这些敏感信息的内容是有规律可循的。下表为一些有迹可循的popular API keys和Asymmetric Private Keys。

2

从文中看,这个系统的实验效果还是比较好的。文章从以下几个方面进行分析。

  • 私有或者公有隐私信息

3

从这张表可以看出,在实际数据采集分析后。目标隐私信息的私密度非常的高。

  • 平行泄露

    即有些应用不能单方面的使用必须有"multi-factor"才能触发。如Google OAuth IDs必须同时找到OAuth Secret。而研究表明这种"parallel secrets"通常会在隐私数据前后五行内平行泄露。

4

  • 隐私存活周期

    研究者功能总泄密项目,观察所有者是否会发现,监控每小时探测一次。发现大约6%的用户在泄密一小时后发现并删除。19%会在两周后移除。然而这些删除掉的隐私通常仍然可以在git历史中访问。

5

  • 文章还分析了RSA Key Leakage, Number of Encrypted Keys以及OpenVPN Config等隐私数据泄露。总之,公共开源项目中泄露的大量的私密信息。NCSU团队表示,他们在10万个GitHub项目中总共发现了575,456个API和密钥,其中201,642个是独立的。