Chrome 标记危险红名站点处理方案记录

2022年10月23日 0 条评论 2.3k 次阅读 1 人点赞

一、前言

公司有一条 To C 网盘的业务线,就好比百度网盘一样,我们知道百度网盘在 Web 站点上下载文件都会提示安装客户端才能进行下载,然而我司为了提升用户体验,主打 Web 站点免登录下载文件。

然而也正是这样,许多网友在我司网盘上传了大量的 windows 激活工具、注册机、破解版工具,生成分享链接在网上大肆传播。甚至网盘里还有部分木马文件,导致我司站点直接红名。如下图所示:

起初我们组内开会讨论出几个可能会导致站点红名的原因,如下:

  1. 部分网盘竞争对手故意抹黑与举报,导致我司主站点红名。
  2. 我司近期在分享页面做了 SEO 优化,导致搜索引擎收录加大,网民用户访问加大,下载太多文件带毒被投诉,造成反向 SE0 优化的效果.....
  3. Google 爬虫收录我司站点时,顺着页面中的 a 标签继续深爬,抓到文件下载链接后 google 下载到我司站点文件,通过 hash 计算校验和和他们自带的病毒特征库进行碰撞,发现我司分享页面中包含大量文件带毒,因此红名。

通过 Google 申诉分析, 我们直接排除了以上 1、2 点的可能。根据网关日志记录中,我们发现 UA 为 GoogleBot 的爬虫机器人访问过我们的下载链接。我们更加笃定是原因 3 导致的站点红名。

但是有意思的是,我司的分享页面的域名是 www.a.com ,点击文件下载,执行下载的域名是 www.b.com 理论上就算分享页面上的文件上带毒,红的域名应该是下载域名。

通过 Google 的申诉站点,我们发现,也许是我们的分享页域名直接指向了该下载域名导致的。如下图所示:

就好比当前有一个危险文件是 https://www.b.com/a.css (阳性带毒) google 爬虫爬到该文件时,会分析请求头上的 referer 字段,判断上级页面 `www.a.com 是密接,此时直接也把 www.a.com 封杀,导致我们主站点的红名。

然而事实也确实如此,在我们的主站点红名前,我们的下载域名确实先被红名过。由于没有及时处理,导致主站点也变成红名站点。

然而 Google 爬虫追踪的次数有限,不会处理密接的密接,比如 www.baidu.com 指向了我们主站点 www.a.com 他不至于将百度也变为红名。

二、解决方案

方案一:观测蓝奏云的思考

观察了蓝奏云网盘下载交互流程,我们得知在分享页渲染主站点时,我们不能直接将下载 URL 直接渲染在页面上,就算是前后端分离页面渲染时,主动获取后端文件列表接口的形式也不行。原因是因为 Google 爬虫能模拟浏览器行为,直接渲染页面 JS ,获取后端接口的文件列表。从中解析 URL 地址进行深度爬取。

但是 Google 爬虫应该无法模拟用户行为。比如在爬到一个URL准备进行深度访问时,页面弹出一个登录框,让登录才能访问........Google 爬虫是无法做到像用户一样注册一个账号的.......

我们在页面上主动点击下载按钮时,触发 onClick 事件才把下载链接返回,这种爬虫应该也是无法感知的。因此我们决定将所有的下载 URL 返回在用户主动触发 onclick 事件后。

此外用户点击 a.com 的分享页面上下载文件,我们将下载地址改成 c.com

通过 <a href="c.com" noreferer target=blank>demo.exe</a>

的形式,打开一个新标签页,让其跳转到另一个站点 c.com ,站点 C 中通过来带的参数再执行下载.....跳转到 b.com 。

这样当 b.com 红名时,直接密接是 c.com 而不是 a.com,这样我们就将有足够多的时间去处理。(PS:我们需要时刻准备大量的域名来防止再次红名。做到红一个,换一个,再申诉一个)

方案二:观测百度网盘的思考

我们观察百度网盘和阿里网盘的特点,发现一般带毒文件都是一下可执行文件,例如 .exe 、.vbs 后缀文件,当判断用户要下载此类后缀文件时,唤起本地 PC 网盘客户端,使其通过 PC 客户端下载,然而图片 .jpg、.png 后缀则直接放过(PS:因为此类文件一般不带毒,直接通过浏览器下载也没事,被Google 爬虫爬取也没事)。

方案三:注重网络安全的思考

注重网络安全,网盘不是一个不法之地,用户上传的一切可疑文件都需要杀毒,可以调用 360 沙箱云做云查杀,做到分享前提前预防。成立自己的病毒库,用户分享文件时先通过计算文件的 sha256 hash 值撞自己的病毒特征库。没问题的文件再采取放行。

但是我们知道,病毒会变种、带壳,此类通过 hash 直接进行碰撞的成功率不高,但是也能预防一些。

三、结语

主站点红名的事件非常危险,可以想想某用户进我们站点发现是红名,并且被 chrome 拦截谁还敢进入.......

并且 Google 封杀此类站点的机制一般都是黑盒,也只能通过观察竞争对手公司的处理方案才能勾调出属于自己的方案。(PS:毕竟这也属于商业机密的一部分)........

兰陵美酒郁金香

大道至简 Simplicity is the ultimate form of sophistication.

文章评论(0)

你必须 登录 才能发表评论