数据泄露监测配置指南

最近更新时间:2019-07-23 16:33:11

配置规则

基于云业务场景的规则

  • 参考配置:
    以腾讯云为例,监测规则配置思路及步骤如下:
    1. 获取 SecretId:登录 访问管理控制台,在左侧导航栏选择【访问密钥】>【API 密钥管理】,在 API 密钥管理页面,单击【新建密钥】创建的 SecretId ,复制创建的 SecretId 作为 Github 监控关键字。
    2. 将 SecretId 作为监测关键字进行配置,配置方式请参见 配置示例,监测效果如下:
  • 优点:检查结果精准,干扰误报少。
  • 缺点:暂无。

基于帐号维度的规则

  • 参考配置:
    • 帐号包括数据库帐号(MySQL、MongoDB)、网站后台登录模块帐号、中间件帐号等多种类型,具体可根据企业内部业务自身情况进行配置。监测关键字配置示例如下,具体配置方式请参见 配置示例
      • 云帐号 appid/uin secretkey/qcloudAppId(云帐号 ID+关键字标识)
      • 10332xxx password/mysql/passwd(数据库/网站帐号 ID+关键字标识)
      • 10332xxx login password/passwd(数据库/网站/帐号 ID+登录标识符+关键字)
    • 监测效果如下:
  • 优点:识别结果较为精确,干扰信息较少,误报少,方便快速定位分析。
  • 缺点:略为繁琐,需要收集内部部分数据库管理员或开发发布人员帐号 ID 信息,才能做到更精准识别。

基于域名场景的规则

  • 参考配置:
    • 在知道自己内部标准域名的情况下,配合帐号 ID 或部分关键字,可以相对全面的定位到受影响的代码,这种方式比较常见且相对有效。监测关键字配置示例如下,具体配置方式请参见 配置示例
      • console.xxx.com 云帐号 AppId/access_key (后台域名+帐号/关键字)
      • api.qcloud.com 云帐号 AppId/access_key (API 域名+帐号/关键字)
      • xxxx-inc.com 帐号 ID/password/access_key (域名+帐号/关键字)
      • 10.23.xx.xx AppId/password/access_key/secretKey
      • Qunar/bilibili/qq/alipay appid/password/access_key/secretKey (产品名+帐号 ID/关键字)
    • 监测效果如下,可单击泄露地址,进入 Github 链接深入验证监测结果。
    • 验证结果如下图:
  • 优点:监测范围覆盖较全,漏报相对较少。
  • 缺点:误报相对较多,关键字的组合需进行一定调整、优化和运营。

其他场景的规则

  • 参考配置:
    • 除以上场景外,还有一些其他场景,例如根据内部开发人员帐号+开发接口变量名的组合,或者加数据库特征、用户名密码特征字段、Memcached、Redis、MongoDB 后台配置文件字段名等,这里可以自由组合搭配,灵活配置。监测关键字配置示例如下,具体配置方式请参见 配置示例
      • wangwu secret_key(开发人员姓名+密码特征字段)
      • jackwang jdbc password(开发人员姓名+数据库特征+密码特征字段)
      • account_name/id cursorclass password/passwd(数据库连接特征关键字+密码特征字段)
      • account_name/id ConnectionPool password/passwd(数据库连接特征关键字+密码特征字段)
      • account_name/id MongoClient password/passwd(数据库连接特征关键字+密码特征字段)
    • 监测效果如下,可单击泄露地址,进入 Github 链接深入验证监测结果。
    • 验证结果如下图:
  • 优点:能发现一些较为隐蔽的泄露,误报少。
  • 缺点:需要基于企业情况,对涉及接口开发人员、数据库开发人员帐户或 Memcached、Redis、MongoDB 登录字段信息进行简单梳理,并对组合规则进行运营,逐步优化,消除误报。

注意事项

  • 在配置规则过程中,腾讯云提供了规则命中数字段,用户可以依据不同规则的命中数量查看泄露监测结果,并参考结果数量对规则进行优化。
  • 建议多收集数据接口特征,并将其作为关键字进行监测,例如 cursorclass、MongoClient、ConnectionPool 等,配合内部域名、帐号密码关键字组合,可以准确的监测到某类应用的敏感数据泄露,且效果较好。
  • 若出现泄露事件处理办法如下:
    • 发现有敏感信息泄露事件时,第一时间通知开发确认,若情况属实,则联系开发或作者在 Github 上进行删除或脱敏处理,当被 fork 到大量人员或事件影响较大时,则可以考虑联系 GitHub DMCA(数字千年版权法案处理规则)向 GitHub 发送邮件进行处理,要求进行删除,并针对内部受影响系统开展自查,修改帐号密码等。
    • 建立一套数据泄露监测处理规范,例如,数据泄露后的敏感信息删除或修改、涉及敏感信息的系统或服务器的内部安全自查、内部的安全意识宣告、代码管理平台或工具建设等。
  • 除 Github 监测外,目前在腾讯云泄露监测关键字配置界面,还可选择网络黑市监测,网络黑市监测规则比企业配置规则简单,可以根据企业名、域名、产品名的思路开展网络黑市监测,本文不再展开赘述。

配置示例

安全运营中心数据泄露监测配置步骤如下:

  1. 登录 安全运营中心控制台 并开通使用权限。在左侧导航栏单击【产品设置】,进入产品设置页面,选择【泄露监测】>【添加】,添加监测规则。

  2. 进入监测规则配置页面,设置规则名称、规则类型及监测关键字,设置完成后,单击【添加】完成规则配置。

    说明:

    监控关键字的配置灵活度较高,可根据云 API 字段、数据库密码变量名、内部 API 接口变量名等设置关键字。

  3. 添加完成后,开始运行所检测的任务,在左侧导航栏单击【泄露监测】,查看监测结果,找到具体泄露事件,单击【查看详情】,可查看该泄漏事件的详细监测结果。