背景
用户使用对象存储 COS 来搭建个人网站或图床服务,享受高效稳定可靠的数据存储服务的同时,也面临着流量盗刷的问题。COS 提供了多种 防盗刷手段 来帮助开发者合理配置存储桶,降低因类似问题带来的大额资金损失的风险。本文介绍的图片异常检测能力,通过有效识别图片中是否隐含视频等文件的方式,精准检测出异常图片文件,通过删除或者转移异常图片文件,精准打击黑产盗刷行为。
以图床盗链为例,黑客将一段 MPEG-Ts 数据嵌入到 PNG 图片,将伪装后的图片上传到图床获取下载 URL。黑产专用的 M3U8 播放器,从图床下载图片去除伪装后播放。这种图片分辨率很低,体积却很大,且能够正常进行图片解码,缩略图也能正常生成,伪装性极强,能绕过大部分上传检查限制。
![](https://qcloudimg.tencent-cloud.cn/image/document/158eab371d1bd27a612be4403e0897f3.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5fb118b380e9d7743cfc2b5518df0107.png)
.
![](https://qcloudimg.tencent-cloud.cn/image/document/158eab371d1bd27a612be4403e0897f3.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5fb118b380e9d7743cfc2b5518df0107.png)
针对存储在对象存储 COS 上的图片,数据万象提供了图片异常检测功能,可以检测图片中是否隐含其他类型的可疑文件,该功能有以下三种使用方式:
使用方式 | 配置类型 | 说明 |
图片上传至 COS 后自动检测 | 通过控制台配置使用 | 通过配置工作流的方式,当图片上传至配置好的存储桶路径时,会自动触发异常图片检测任务,并对有异常的图片做自动删除等操作。 |
对 COS 存量图片进行批量检测 | 通过控制台配置使用 | 通过配置批量任务的方式,对存储桶中指定范围的图片(如过去一年的A目录中的图片),创建批量异常图片检测任务,创建完成后,后台将自动对这批图片进行检测,并对有异常的图片做自动删除等操作。 |
使用接口检测 COS 中的单个图片 | 通过API接口使用 |
限制说明
支持检测的图片格式:JPG/JPEG、PNG、BMP、GIF,以及纯 TS 视频流(更改为任意后缀)。
静态图体积限制:可检测的原图大小不超过32MB,宽高不超过50000像素且总像素不超过2.5亿像素。
动图体积限制:动图的宽 x 高 x 帧数不超过2.5亿像素。
动图帧数限制:帧数限300帧。
准备工作
已登录 数据万象控制台,并开通数据万象服务。
已创建和绑定存储桶,详情请参见 存储桶操作。
方式一:图片上传至 COS 后自动检测
如果您的业务存在上传图片的场景,建议您开启图片上传自动触发异常图片检测功能。您可以通过配置工作流的方式,图片上传至配置好的存储桶路径时,会自动触发异常图片检测任务,并对有异常的图片做自动删除等操作,避免违规数据肆意传播。您可以参考以下步骤进行配置:
1. 进入存储桶管理页面,在左侧导航栏中,选择任务与工作流 -> 工作流管理,进入工作流管理页面,单击创建工作流。
![](https://qcloudimg.tencent-cloud.cn/image/document/8a9ab8635fe45d95ff7f1af7bcb00a31.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8a9ab8635fe45d95ff7f1af7bcb00a31.png)
2. 在创建工作流页面,配置如下信息,并创建工作流:
![](https://qcloudimg.tencent-cloud.cn/image/document/baa862b33a1f3bd2f9426e57c07f46bd.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/baa862b33a1f3bd2f9426e57c07f46bd.png)
工作流名称:必填项,仅支持中文、英文大小写[A-Z,a-z]、数字[0-9]、下划线(_)和短横线(-),长度不能超过128个字符。
输入路径:选填项,如果不填写,则对输入存储桶的所有路径生效。工作流启用后,当文件上传至该路径时,工作流将被自动触发。
格式匹配:选择图片文件。
配置工作流:按以下操作配置异常图片检测功能:
单击输入右侧的“+”,选择异常图片检测。
在异常图片检测配置弹窗中,按需要选择后续处理的设置,如弹窗顶部提示您需要开通图片处理异步处理服务,请点击开通。
单击确认,完成配置。
![](https://qcloudimg.tencent-cloud.cn/image/document/0bb83fb3c65199a96524275d116553a6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0bb83fb3c65199a96524275d116553a6.png)
回调设置:可配置回调 URL 获取处理结果,如果异常图片检测的后续处理选择了不处理,强烈建议配置回调URL。
![](https://qcloudimg.tencent-cloud.cn/image/document/1a81d36df3b623994b09a6a1ecf74f30.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/1a81d36df3b623994b09a6a1ecf74f30.png)
3. 工作流默认为未启用状态,单击该工作流对应的状态按钮,即可启用工作流。工作流启用后,将在5分钟内生效。工作流生效后,后续上传的文件都将自动进行异常图片检测处理。
![](https://qcloudimg.tencent-cloud.cn/image/document/d82b85c2e51ecfd89b63bc8d31b48e88.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d82b85c2e51ecfd89b63bc8d31b48e88.png)
4. 上传图片文件后,点击 工作流实例 查看工作流的执行记录,进入当前执行记录的详情,查看异常图片检测的结果。
![](https://qcloudimg.tencent-cloud.cn/image/document/b83b03c920004188c3b48d5d8b45d820.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b83b03c920004188c3b48d5d8b45d820.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/583f84b83e89189de12c6afa4ce9d90f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/583f84b83e89189de12c6afa4ce9d90f.png)
如下所示,检测 img.png 图片时发现存在 297.24KB的异常内容:
![](https://qcloudimg.tencent-cloud.cn/image/document/9ebd4bf7eefb0799a43fa6b253160a96.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9ebd4bf7eefb0799a43fa6b253160a96.png)
方式二:对 COS 存量图片进行批量检测
如果您在 COS 上有旧的图片数据仍然存在被黑产盗刷的风险,建议您创建存量图片批量检测任务,对 COS 上的历史图片进行一次全面的清理,将存在异常的图片进行转移或删除处置。您可以按照以下步骤进行历史数据检测:
1. 进入存储桶管理页面,在左侧导航栏中,选择任务与工作流 -> 批量数据处理,进入批量数据处理页面,单击创建批量数据处理任务。
![](https://qcloudimg.tencent-cloud.cn/image/document/396f1ca05c18bfbbac9ce7c640e590ec.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/396f1ca05c18bfbbac9ce7c640e590ec.png)
2. 在创建批量数据处理任务页面,配置如下输入设置,并创建批量处理任务:
![](https://qcloudimg.tencent-cloud.cn/image/document/fa1c84065aaf4deff59bc95e60bb8e00.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/fa1c84065aaf4deff59bc95e60bb8e00.png)
任务名称:必填项,仅支持中文、英文大小写[A-Z,a-z]、数字[0-9]、下划线(_)和短横线(-),长度不能超过128个字符。
范围:确定批量处理的数据范围,支持以下几项:
存储桶文件列表:支持按时间、前缀两个维度筛选当前存储桶中的文件。
COS 清单报告:选择扫描由 COS 清单功能生成的清单列表,清单列表必须为当前存储桶内的文件。
URL 列表文件:选择扫描指定的 url 列表文件,支持 txt 格式,url 列表必须为当前存储桶内的文件。
处理类型:为指定范围内的数据设置操作,如您已配置过异常图片检测的工作流,可选择该工作流;如您还未创建过工作流,可选择独立任务,任务类型选择 图片处理-异常图片检测,按需求配置后续处理设置。
回调 URL:可配置回调 URL 获取处理结果,如果异常图片检测的后续处理选择了不处理,强烈建议配置回调 URL。
3. 点击 执行结果,前往任务执行记录页面查看批量执行情况,进入当前任务记录的详情,查看异常图片检测的结果。
![](https://qcloudimg.tencent-cloud.cn/image/document/cc6a648f51cbc15312c0755c4501533d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/cc6a648f51cbc15312c0755c4501533d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/88a644b3ff9d41844aa585f503b23bf9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/88a644b3ff9d41844aa585f503b23bf9.png)
如下所示,扫描存量图片 img.png 时,发现该图存在 297.24KB的异常内容:
![](https://qcloudimg.tencent-cloud.cn/image/document/08e6a9fbbfffa8204908b56beab33bca.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/08e6a9fbbfffa8204908b56beab33bca.png)