使用 Web Risk 检测恶意网址

准备工作

设置身份验证并启用 Web Risk API

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Web Risk API:

    gcloud services enable webrisk.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Web Risk API:

    gcloud services enable webrisk.googleapis.com

使用 API

使用 Web Risk API 时,请务必熟悉 Web Risk 的服务等级协议用量限额

如要开始使用 Web Risk,请参阅以下主题:

哪种 API 适合我?Lookup API 还是 Update API?

Web Risk 提供了两个不同的 API,您可以将它们集成到一起。这些 API 是 Lookup APIUpdate API。这两个 API 提供了相同的信息。也就是,网址是否已被识别为恶意网址。最简单易用的是 Lookup API。使用 Lookup API,您可以对要检查的每个网址查询 Web Risk。

Update API 更复杂,但具有一些所需的属性。使用 Update API,您将维护一个本地数据库。此数据库可能会被检查,以确定网址是否为恶意网址。此数据库会用作布隆过滤器。也就是说,可能存在假正例(非恶意网址被识别为恶意网址),但不应有任何假负例(恶意网址被识别非恶意网址)。因此,很少联系 Web Risk 服务器,并且仅联系确认匹配和消除假正例。在大多数情况下,在使用 Update API 检查网址时,您根本不需要联系 Web Risk 服务器。仅在更新本地数据库以及确认网址有害时,您才需要联系 Web Risk 服务器。

总而言之,如果您希望快速轻松地完成设置,请使用 Lookup API。如需较低的网址检查延迟时间,请使用 Update API。

选择正确的客户端功能

如果您选择使用 Update API,则可能不需要实施整个规范。有一些功能是为广泛分布的客户端(如网络浏览器)设计的,这些功能在许多企业案例中被过度优化。

为了简化集成,我们可能会忽略某些功能。

以下是按复杂程度排列的 Web Risk 集成解决方案

  1. 使用 LookUp API
  2. 基本 Update API 客户端
  3. 使用差异更新 API 客户端
  4. 使用 RICE 压缩差异更新 API 客户端

使用 Lookup API

Lookup API 的使用复杂度最低。只要存在潜在的可疑网址,您只需使用该网址调用 Lookup API 即可查看结果。由 Web Risk 服务器对网址进行规范化和格式化处理。除非平均延迟时间超过要求,否则此解决方案应对大多数客户端有效。

基本 Update API 客户端

Update API 要求在查询之前对本地数据库和规范化网址进行更加复杂的管理。

在典型的客户端与 Web Risk 集成中,客户端将应用数据库差异以保持最新。差异应用逻辑正确实现需要花费一些时间,因此在最简单的情况下,我们建议客户忽略差异并每个周期从 Web Risk 中请求一个新的数据库。此数据库仍会存储在内存中,以便高效查询。请求完整数据库重置的方法是将 threatLists.computeDiff 请求中的 versionToken 字段留空。 除非带宽或数据库同步延迟时间超过要求,否则此解决方案应对客户端应该是有效的。

使用 Update API 并请求差异更新

此解决方案增加了将差异逻辑应用于本地数据库的复杂性。如需了解详情,请参阅 Database Diffs。与每个周期请求新数据库相比,使用差异会以复杂性为代价降低带宽。完整的数据库更新可能达到几兆字节的数量级。此解决方案应该足以满足大多数企业客户端的需求。

使用 Update API 并请求 RICE 编码的差异更新

此解决方案是最高效的客户端集成。RICE 编码可压缩 DIFF 大小并进一步减少更新带宽。此解决方案适用于大多数带宽受限的客户。例如,如果网站风险查询已内置到手机应用中,就可能会出现这种情况。如果需要通过电话数据更新数据库,则此类应用的用户肯定会喜欢带宽较低的解决方案。如需了解详情,请参阅压缩