防止数据渗漏

计算机和网络安全的基本功能是使未经授权的第三方无法访问敏感数据。本文档探讨了数据外泄风险的特征,并讨论了整个行业中保护数据安全的最佳做法。本页面解释了使用 Google Cloud 中的工具和功能来降低风险、检测数据外泄以及响应外泄事件的方式。如有可能,安全威胁和防御方法将在与云端无关的背景下进行介绍。不断变化的监管环境,特别是 2018 年强制执行的《欧洲一般数据保护条例》(GDPR),进一步强调了部署数据外泄预防机制的重要性。

定义数据外泄

在本文档中,数据外泄是指授权人员从安全系统中提取数据,并将其与未经授权的第三方共享或移至不安全的系统的情形。授权人员包括员工、系统管理员和受信任的用户。数据外泄可能由于恶意或遭到破解的参与者的行为或意外情况而发生。

为了降低数据外泄风险,组织必须将安全意识和最佳做法融入他们的文化中。他们必须始终如一地评估与计算机网络、设备、应用、数据和其他用户的每次互动的风险。组织还可以决定定期进行审核,以验证是否遵循了最佳做法。

应对 Google Cloud 中数据外泄的风险

许多传统的数据安全政策都是以加强专用网络的物理外围防御为基础。但是,作为云消费者,您无法控制服务使用的物理网络基础架构。在公有云中,托管提供商的网络架构是共享的,没有传统意义上的边界。保护公有云中的数据需要新的安全方法和数据访问审核方法。

作为类比,考虑公共云基础架构是业界首批在数据中心采用商业硬件的领域之一。虽然这会导致更高的硬件故障率,但通过冗余和智能服务架构可以最大限度地缓解此类故障的影响。在这样的环境中,服务必须能够从容地吸收多个故障。 服务架构是针对硬件和网络故障而设计的,它通过将处理、存储、身份验证和其他任务分配到多个机器和地理位置,最大限度地缓解任意故障事件的影响。在保护数据时,您应采取类似的方法:设计相应基础架构,以便在发生安全事件时,能最大限度地减少停机时间并能限制事件对系统其他部分的影响。

为了满足最注重安全的客户的需求,公有云安全模型融合了这一思路。Google Cloud 提供了安全强化型虚拟机,可让您的 Compute Engine 虚拟机实例具有可验证的完整性,因此您可以确信您的实例未受到启动级或内核级恶意软件的危害。安全强化型虚拟机的可验证完整性是通过使用安全启动、启用 vTPM 的测量启动和完整性监控来实现的。

此外,在云虚拟机 (VM) 中,提供商可以部署专门的代理来生成关于用户和主机活动的遥测。这有助于安全运营中心 (SOC) 了解频繁变形的安全边界内和周围活动的具体情况。

提供商还引入了明确的阻塞点,例如用于与虚拟机队列、网络代理服务器、网络出站服务器和跨项目网络进行通信的堡垒主机。这些措施可以降低数据外泄的风险,但不能完全消除该风险。

您的组织还必须为数据外泄事件建立强大的检测和响应基础架构。正确的云基础架构将使您能够快速检测到有风险或不恰当的活动,限制活动的“爆炸半径”,并最大限度地减少参与者实施数据外泄的机会窗口。

数据外泄事件类别

数据外泄事件可以通过共同的技术、组织和物理特征进行分类。在接下来的部分中,我们将介绍其中的一些类别,并讨论每种类别的预防和缓解政策。

出站邮件

在这一场景中,参与者使用授权的电信基础设施(例如企业电子邮件或移动设备)将敏感数据从安全的计算机系统传输到不受信任的第三方或不安全的私有系统。这些敏感数据可以在电子邮件或文本消息中以纯文本形式传输,也可以作为附件传输。此方法通常用于外泄组织电子邮件、日历、数据库、图像、规划文档、业务预测和源代码的内容。

许多电子邮件和消息传输系统将草稿保存到 Google Cloud 中,因此在发送消息时检查敏感数据是不够的。如果某个自然人可以从外部访问其企业电子邮件或支持保存草稿的其他消息传输服务,则他们可以使用该功能进行数据外泄。通过从可以访问敏感数据的设备和网络中保存草稿,然后从另一个客户端访问草稿,该参与者避免了日志记录和审核系统。

预防和缓解

此场景涉及您的组织选择和授权的电信系统,与使用私有或第三方工具的场景相比,该场景为您提供了防止数据外泄的更多选项。

考虑实施以下一些预防和缓解策略:

  • 通过电子邮件和其他组织消息传输工具监控用户的数据传输量和传输频率。如果普通用户平均每天发送 5 兆字节的数据,则发送 500 兆字节的用户将触发警报。
  • 保留记录,其中包含用于发送电子邮件的地址、发送电子邮件的设备以及收件人的地址。这些数据可以帮助您识别数据外泄事件的性质和范围。管理员安全核对清单说明了如何审查 Gmail Enterprise 中电子邮件账号的安全风险。
  • 扫描从可访问敏感数据的系统发送的电子邮件,以确保它们不包含未经授权的内容。通过使用标记(例如关键字或哈希)对敏感内容进行标记,可以更轻松地实现此目的。
  • 防止通过不安全的通道发送消息(例如使用 http 而非 https),并提醒您的 IT 安全员工此类尝试。

下载到不安全的设备

当用户通过授权通道访问敏感数据,然后将数据传输到不安全的本地设备时,就会出现此类情况。参与者可能使用笔记本电脑、智能手机、外部硬盘、相机或专业设备来捕获敏感数据,然后外泄数据。参与者可以从 Google Cloud 中的服务下载现有文件,或将数据复制到新文件中。如果这些文件被传输到不受监控或不安全的设备,则它们将面临很高的外泄风险。

预防和缓解

云端网络在防止此类事件方面具有诸多优势。用于将数据传输到本地设备的许多方法需要建立与可传输媒介的物理连接。如果数据存储在 Google Cloud 中,则必须在传输之前进行下载。此类下载内容会受到托管服务和客户端的安全和跟踪功能的限制。

考虑实施以下一些政策和技术:

  • 禁止下载非常敏感的数据。根据您在 Google Cloud 中使用和处理数据的方式,用户可能永远不需要将数据下载到本地硬件。如果可能,将所有数据保留在 Google Cloud 中并在其中执行所有计算。如果技术上允许执行数据下载操作,请制定禁止下载、分类和标记敏感数据的政策,并通过安全交互和 API 调用保留请求和提供的数据的访问日志。如需了解详情,请参阅审核日志记录文档
  • 根据组织的安全政策,使用云访问安全代理 (CASB) 来管理授权客户端和云服务之间的连接。
  • 使用数字权利管理 (DRM) 工具封装文件。这将为每个文件提供权限感知型安全和加密。
  • 在授权客户端实施动态水印,以记录负责提供包含敏感信息的计算机显示屏的屏幕截图或照片的用户。

上传到外部服务

与上一类事件类似,此类别通常涉及将敏感数据下载到本地基础架构。然后,参与者通过网络浏览器客户端或其他不受监控的软件将数据上传到第三方。第三方服务可能是看似无害的网站(例如社交网络),参与者可能会在此类平台上意外上传错误的图像或粘贴错误的文本。有预谋的恶意参与者可能能够将少量敏感数据(例如用户凭据或加密密钥)作为网址参数传递给各类专用网络应用。

预防和缓解

通过对下载内容执行相同政策限制进而预防敏感数据的本地复制,可以降低此类事件的风险。 但是,政策不会消除将屏幕截图或复制文本被上传到社交媒体、文件共享网站或其他云服务的风险。

为应对此类风险,需要考虑的安全做法包括:

  • 禁止下载任何数据。将所有数据保留在 Google Cloud 中并在其中执行所有计算。应通过安全和会被记录的 API 交互请求和提供数据。如需了解详情,请参阅审核日志记录文档
  • 防止在可访问敏感数据的设备上安装不安全的第三方软件,例如社交媒体应用或未经授权的浏览器插件。
  • 使用 CASB 来管理来自云端接入点的流量,并对传输到客户端的所有数据实施加密政策。

不安全的云端行为

使用云服务会引入 IT 安全专业人员应该意识到的一些新类别的数据外泄风险。其中包括员工、用户或管理员以不安全的方式使用云提供商套件的功能的各种情形。任何能够调用或修改虚拟机 (VM)、部署代码或向云端存储空间或计算服务发出请求的参与者都可能外泄数据。

云网络具有公共前端,并能够与更广阔的互联网通信。保护和授权在 Google Cloud 中运行的服务的行为对于提供数据安全至关重要。具有足够权限的参与者可以启动敏感数据的出站传输,将敏感数据从安全容器移动到不太安全的容器,或者代表组织创建未经授权的云服务。

预防和缓解

维护云服务的安全行为需要精确、范围较窄的权限和全面的日志记录。尽可能禁止参与者访问服务的后端。对于员工或管理员需要在虚拟机上完成的大多数任务,可以借助安全且可监控的自动代理和前端客户端。在可以限制对您的云端机器能进行直接 SSH 访问的人数时使用上述方法。在可行的情况下,扫描发送到更广阔的互联网的所有数据以识别敏感信息。对于处理来自外部用户或系统的信息的应用,请考虑扫描该信息以防止无意收集、存储或共享敏感数据(例如个人身份信息 (PII))。

对于 Google Cloud 中的虚拟机,请考虑以下安全原则:

  • 在虚拟机上设置 IP 表,以禁止指向未知地址的传出连接。这可以降低参与者成功将敏感数据传输出网络的风险。
  • 避免为虚拟机提供公共 IP 地址,并使用网络地址转换 (NAT) 服务来处理传入和传出连接。阅读关于设置适用于 Compute Engine 的 NAT 网关的指南,以了解更多信息。
  • 考虑在 Google Cloud 中使用堡垒主机,以协调和监控指向其他主机的连接。
  • 在不需要远程管理软件的机器上停用此类软件,例如远程桌面协议 (RDP) 或 Windows 远程管理 (WinRM) 代理。
  • 使用专用 Google 访问权限启用子网上的虚拟机实例,以使用内部 IP 地址而非外部 IP 地址访问 Google API 和服务。
  • 考虑使用跨项目网络 (XPN) 在您的 Cloud Organization 中跨项目共享 Google Cloud 虚拟网络。
  • 针对具有关键和不可避免需求的人员设置对虚拟机的直接 SSH 访问的限制。Google Compute Engine 提供全面的 SSH 密钥管理工具,可用于控制对虚拟机的访问。

对于 Cloud StorageCloud Bigtable 等云存储服务,以下做法可降低外泄风险:

  • 使用 Identity and Access Management (IAM) 为用户和应用提供访问数据所需的最窄权限集。将具有不同敏感性和访问要求的数据存储在不同的容器中,以实现权限的最大精细配置。
  • 监控并限制从存储资源中读取数据的速率。如果发现有用户尝试在正常用例中移动超出预期很多的数据,使用 Monitoring 代理向安全团队发出警报。
  • 针对非常敏感的数据授予临时权限,并经常进行审查和撤销。例如,App Engine 配额对于此操作很有用。
  • 让自然人团队定期审核可以访问非常敏感的容器的一组人员。
  • 保留对存储服务的所有访问的详尽日志。理想情况下,被授权访问存储服务的一组人员并不是可访问日志的一组人员。这样会降低恶意参与者篡改日志的风险。请考虑使用 Cloud Storage 访问日志实用工具将日志数据写入单独的存储分区。

执行安全政策的遵从

Google Cloud 提供的丰富基础架构为客户创造了多种机会,便于其开发满足自身需求的解决方案。与此同时,丰富的基础架构也带来了新的挑战,例如在组织中的不同项目之间实施相应的安全政策。为了简化安全管理,Google Cloud 引入了包含所有资源的实体层次结构。该层次结构植根于组织的概念中。组织可以包含文件夹或项目。 文件夹中可以包含子文件夹或项目。所有 Google Cloud 服务资源都属于同一项目。

使用该层次结构,组织 ->文件夹 ->项目 -> Google Cloud 服务 ->资源,可以在层次结构的任何级别设置安全政策,较低级别将继承层次结构中上一级别的安全政策。安全政策在资源层次结构中从上到下进行评估,获得“允许”答复后,将授予对资源的访问权限。

执行合规性

使用资源层次结构和安全政策的继承简化审核,以确保相应安全政策得到统一遵守。例如,由于继承属性的存在,管理员可以证明所有项目都允许同一组审核员检查项目数据。他们通过在组织级别制定这样的安全政策来实现这一目标,且永远不会在较低级别对其进行覆盖。这些安全政策在软件审核活动中指定,其验证可以自动进行。

识别和遮盖敏感数据

管理敏感数据的首要步骤之一是了解数据所在的位置。确定位置后,您可以更好地设置访问权限控制以确保适当访问/处理,并使用技术通过隐去、遮盖或对数据去标识化来降低敏感度。数据处于遮盖形式后,它就不再带有敏感性质,例如特定的社会保障号、有效的信用卡号或个人身份信息。

遮盖大量不同数据的传统挑战是需要自动识别、分类以及相应遮盖。此方法的进步是拥有自动推断数据字段中内容的系统支持。此级别对任意数据流的自动可见性设置允许应用决定将哪些数据传输到哪些端点、将哪些系统用于存储要管理的不同类型的数据,以及何时针对要传输的特定类型的数据发送提醒。

预防和缓解

在 Google Cloud 中,敏感数据保护功能可帮助您了解和管理敏感数据。此 API 提供针对敏感数据元素(例如信用卡号、姓名、社会保障号、护照号码、美国和部分国际驾驶执照号码以及电话号码)的快速、可扩展分类和可选遮盖。敏感数据保护支持文本、结构化数据和图像:只需将数据提交到敏感数据保护或指定存储在 Cloud Storage、BigQuery 和 Datastore 实例中的数据即可。敏感数据保护的发现结果可用于自动监控或通知 IAM 设置、数据驻留或其他政策的配置。敏感数据保护还可以帮助您隐去或遮盖此类数据的某些部分,以降低敏感性或帮助满足“最小权限”和“有必要知道”政策中的数据最少化要求。可用的方法包括掩蔽、保留格式加密、标记化以及跨结构化或自由文本数据分桶。

欺诈管理员

按照设计,大多数计算机系统都会向指定的管理员授予未经审查的权限。恶意或遭到破解的管理员将拥有足够权限执行本文档中讨论的任何场景,并且还具有删除日志和他们的操作证据的强大能力。降低这些风险需要在网络的某些部分上分离权力和权限,并使管理员能够相互监督。

预防和缓解

限制任何单个参与者的权限对于降低欺诈管理员可能带来的风险至关重要。

为了完成分配的任务,管理员将能够外泄数据,但是如果发生此类事件,可以应用以下原则来降低其危害范围和程度:

  • 通过将管理员的操作记录在他们无法访问的位置,以保护大型网络免受管理员不当行为的损害。安排单独的安全团队来管理监控和日志记录服务。
  • 考虑使用短暂的到期时间使管理员仅可以进行临时访问。在许多网络中,管理员不需要持续访问。
  • 要求多个参与者批准管理操作。通过针对所有管理操作执行类似源代码操作的批准流程,可以降低单个参与者可能带来的风险。

员工离职

卡内基·梅隆大学软件工程研究所的计算机应急响应小组 (CERT) 发表了一份 2011 年的论文,其中指出近期打算离职的员工更有可能外泄数据。员工计划离职的期间是风险更高的时期,需要 IT 安全团队的额外关注。

预防和缓解

对于包含非常敏感数据的网络,考虑将日志记录和监控系统连接到记录即将离职事件的 HR 软件,并设置更保守的阈值,以提醒安全团队关注这些用户的异常行为。

总结

享受公有云基础架构带来的灵活性、成本节约和功能时还需要提高警惕,并采用新方法保护数据免遭外泄。您可以使用本白皮书中描述的方法针对特定环境构建的组织的政策和实现:

  • 通过数据分区最小化数据外泄事件的“爆炸半径”。
  • 在系统管理员工作流程中创建冗余和批准以加强问责制。
  • 使用精细配置的权限并仅将敏感数据的访问权限授予有相应工作职能需要的员工。
  • 使用日志记录提高组织中数据访问和移动的透明度。
  • 使用联网规则、identity and access management (IAM) 以及堡垒主机限制和监控组织中的机器的入站和出站。
  • 创建数据流的正常基准(例如可访问或传输的数据量)和用于比较异常行为的访问的地理位置。

后续步骤