DeviceLock DLP如何防止GitHub上的机密数据泄漏

最近,有很多关于从托管IT项目的Web服务中随机泄漏各种机密数据的消息,以及由GitHub联合开发的消息。



我强调这将涉及随机泄漏,即 是由于疏忽造成的,而事件的肇事者没有恶意。 由于员工缺乏IT问题而注销此类泄漏将不起作用,因为 GitHub用户绝大多数是开发人员,即 完全合格和称职的人员。 不幸的是,即使是非常优秀的专家有时也会犯一些琐碎的错误,尤其是在安全性问题上。 让我们考虑一下它的疏忽。


以下是一些与GitHub相关的非常著名的示例:


  • 2014年-优步泄露了5万名司机的个人数据。 原因是,在公共GitHub存储库中,Uber开发人员保存了Amazon Cloud Access Keys(AWS),后者又存储了相同的丢失数据。
  • 2017年-事实证明,直升机公司DJI的制造商的开发人员在公司的公共存储库GitHub中存储了该公司的SSL证书的私钥和用于加密固件的AES密钥。 此外,Amazon Web Services的凭据存储在此处,该凭据又包含飞行日志,护照数据和DJI客户许可证信息。
  • 2017年-美国主要IT外包工程师DXC Technologies将AWS访问密钥上传到公共GitHub存储库。
  • 2017年-在GitHub公共存储库上发现了加拿大,美国和日本几家主要金融机构的源代码,报告和开发计划,这些存储库由印度外包公司Tata Consultancy Service的员工放置在该库中,其客户受到了金融机构的影响。

显然,通过监视上传到GitHub的数据,可以很容易地防止所有这些无意泄漏的情况。 没有人谈论完全禁止访问GitHub,这是一个没有意义甚至有害的想法(如果有禁止,但需要该服务,那么开发人员将绕过该禁止)。 我们需要一个可以防止信息泄漏的解决方案,并且需要一个实时内容分析器来阻止GitHub仅上传出于安全原因不应该存在的数据(例如,Amazon云访问密钥)。


我将以DeviceLock DLP为例,说明如何解决此特定问题。 我们拥有的初始数据如下:


  • GitHub帐户,
  • AWS密钥
  • DeviceLock DLP版本8.3。

首先,我们确定AWS密钥是受保护的数据,并且必须防止该密钥到达GitHub。



由于密钥是一组字节,没有任何明显的签名(是的,我知道开头和结尾处的文本“ BEGIN / END PRIVATE KEY”,但这是一个非常弱的签名,最好不要依赖它),我们将使用标识在数字指纹上



将密钥文件添加到DeviceLock DLP指纹数据库,以便该产品“亲自”知道我们的密钥,并且以后可以唯一地标识它(例如,不要与可能会上传到GitHub的测试密钥混淆)。



现在,让我们为DeviceLock DLP中的文件存储创建一个内容过滤规则(GitHub属于我们的“文件存储”分类,除GitHub外,其中还支持15种以上的不同文件交换和同步服务)。



根据此规则,禁止任何用户下载具有与上述指定数字指纹相匹配的数字指纹的数据,并且如果实际执行了禁止将数据下载到GitHub的操作,则应在集中的存档日志中记录相应的事件(事件记录)和卷影副本。 。


现在,让我们尝试将AWS密钥加载到GitHub存储库中。



如您所见,下载过程“由于某种原因”失败,DeviceLock DLP警告我们说他已阻止了此操作(当然,该消息是可自定义和禁用的)。



同时,如果查看DeviceLock DLP卷影复制日志,则可以在其中找到相同的密钥。



因此,在此示例中,显示了如何使用DeviceLock DLP解决防止防止任何机密数据(几乎可以从任何文件获取数字指纹)泄漏到云存储的特殊问题。


当然,除了防止GitHub上的数据泄漏外,您还可以定期清点存储库并在其中查找不应该存在的信息。 为了扫描GitHub存储库,已创建了免费实用程序Gittyleaks,Git Secrets,Git Hound,Truffle Hog和许多其他实用程序。

Source: https://habr.com/ru/post/zh-CN429796/


All Articles