You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
13 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 30 | 安全运营:“黑灰产”打了又来,如何正确处置?
你好,我是何为舟。
在前面的课程中我们介绍了IPDRR的前三个部分并且着重讲解了风控系统的框架、算法以及设备指纹的相关技术。学会了这些机制和手段你已经能够识别出大部分的黑产了。那我们是不是可以直接将识别的结果抛给业务让业务自行处理呢
在一个专业的业务安全方案中,这当然不可以。因为,识别出黑产仅仅是第一步,采取合适的手段处理黑产,才是业务安全长治久安的根本。
那么,针对黑产的处理,我们有三个参照原则:
* 采取适当的拦截策略,防止黑产快速绕过业务安全策略
* 给予一定震慑,防止黑产变本加厉
* 保持情报收集,做好和黑产持续对抗的准备
今天,我们就结合这三个原则来看一下,有哪些运营手段可以对业务安全起到正向作用,切实打击黑产。
## 业务中处理黑产的手段
在识别出黑产之后,运营的第一步一定是在业务中对黑产进行处理。处理的手段有很多种,它们能起到的效果也截然不同。接下来,我们就来具体分析一下这些手段的特点和它们能产生的效果。
### 1\. 直接拦截
在27讲中我们讲过在不同的识别模式下黑产的拦截方案也不同同步模式下我们可以直接拒绝黑产的当次登录请求异步和离线模式下我们可以拒绝对应的账号在登录后继续使用业务。这都属于直接拦截拦截之后黑产都将无法继续使用业务自然也就无法对业务产生任何影响了。
尽管直接拦截的方案简单有效,但是我们依然需要注意,因为出现误伤而损伤用户体验的问题。因此,通常只有在风控识别准确度较高的时候,我们才会采用直接的拦截处理。
### 2\. 验证拦截
验证黑产的方式有两种:**人机验证和同人验证**。
首先是人机验证。
人机验证的目的是区分人和机器的操作,防止黑产利用机器去自动化刷取业务的利益。
人机验证的验证码,你应该很熟悉,最常见的是图片验证码。在进行图片验证的时候,我们可以轻易地认出变形后的数字和字母,但是机器却不能。
不过,随着深度学习的发展,图像识别技术越来越准确,图片验证码已经不那么可靠了。近几年比较流行的滑块验证码。
在进行滑块验证的时候,会要求我们拖动滑块滑至目标点。但是人在滑动过程中不可能匀速直线运动,所以滑动轨迹在速度、方向等特性上会存在一定的波动,而机器则会产生笔直的滑动轨迹。通过这个特征,我们就可以来判定是人还是机器在拖动滑块。
说完了人机验证,我们再来说说同人验证。
同人验证主要是区分进行操作的是不是用户本人,防止账号被盗用。
比如,当我们异地登录邮箱的时候,网站经常要求我们进行短信验证。这是因为我们的登录操作,被同步模式下的风控系统判定为可疑,所以网站才会通过短信来验证你是不是本人在操作。
![](https://static001.geekbang.org/resource/image/93/81/9345c7dd37b7af3bdb1e752122cc5281.png)
除了短信验证还有很多常见的产品方案,比如:异地登录的时候,微信会要求你从一堆用户列表中找出你的好友;美团会要求你从一堆订单中找出自己下过的订单等。
另外,像人脸识别、声纹识别这种基于生物信息的验证方式,也进一步丰富了同人验证的方式。并且,因为其极优的用户体验感,目前各大应用都重点采用了它们。
因为验证不会阻拦正常用户使用业务,而且,即使出现误伤,验证能产生的影响也相对较小,因此它使用的场景更加广泛。
但是,是否选择验证方式进行拦截,还要取决于验证方式本身的安全性,也就是验证方式是否能够起到阻拦黑产的效果。如果黑产能够以较低的成本通过验证,就起不到任何的拦截效果和作用了,也就不是最佳拦截方案。
### 3\. 假数据拦截
直接拦截和验证拦截都是生活中比较常见的拦截方式,那这里,我再讲一种在爬虫场景中比较常见的拦截方式,就是通过假数据的形式来拦截黑产的行为。
比如说,像是酒店、机票这样的业务,通常会尝试去爬取竞争对手的价格数据,让自己的价格在竞争中更占优势。所以,当风控识别到请求是来自于爬虫的时候,会直接返回一个虚假的价格数据,来误导爬虫。
针对爬虫场景,我们之所以不采用直接拦截或者验证拦截的方式,就是因为这些拦截方式会被爬虫发现,然后爬虫就会想尽办法绕过这两种方式。但是,如果使用假数据,爬虫可能认为自己已经成功爬取了数据,就不会特意绕过了。
而且,在抓取业务数据的过程中,爬虫并不会直接攻击业务的正常流程。所以,这些假数据被爬取,并不会给我们造成任何损失。
尽管优势非常明显,但是使用假数据的成本很高。这是因为,机票和酒店这样的业务中都会有成千上万的价格数据,如何设置一个合理的假数据,使其既不明显偏离正常值,被爬虫发现,又不过度接近真实值,泄露机密信息。这必然需要业务方投入足够的精力来设置。
为了帮助你理解这三种拦截手段,我把它们的特点总结成一张表格,供你参考。
![](https://static001.geekbang.org/resource/image/27/c4/2749e52a252c2e24818748c5e4ff65c4.jpeg)
总结来说,风控系统识别到黑产之后,可以在业务中采取拦截、验证和假数据的形式处理。相比较而言,验证是适用范围最广的处理方式,我们可以根据不同的场景需求和风控的准确性,选取不同的验证方式。
## 业务之外处理黑产的运营手段
所谓知己知彼百战不殆想要做好业务安全除了在业务中采取合适的手段处理黑产以外我们还需要了解黑产。这就需要我们采取一些业务之外的运营手段去获取黑产的信息有的时候业务之外的运营手段甚至可以从根本上铲除黑产。常见的运营手段有3种分别是情报收集、钓鱼执法和案件打击。下面我们一一来看。
### 1\. 情报收集
掌握和了解黑产的动向和手段,是做好业务安全防御的必要基础。情报收集需要运营人员对微博、贴吧等公开信息源保持监控,加入一些“羊毛群”,甚至打入一些黑产交流群。
通过这些方式,你就能够知道外界是否对你的业务发起了攻击,从而及时发现漏洞,补全业务安全防御体系。
### 2\. 钓鱼执法
情报收集需要我们打入黑产内部,但是打入内部需要一定的运气,并没有什么固定的方法能够帮助我们找到黑产团伙。因此,面对狡猾的黑产,我们可以采取钓鱼执法这样的手段。
比如说,在微博上,你经常会看到有人提供买小号、买粉丝这样的服务。毫无疑问,这些服务对业务来说是非法的。那业务安全就需要知道这些黑产是如何突破防御体系,进而发起攻击的。
这个时候,钓鱼执法就是一个非常有效的方案了。举个例子,我们可以花钱去买一批小号,这样,我们就得到了一批被黑产掌握的账号,然后就可以去分析这些账号的历史行为了。
具体怎么分析呢?比如,我们可能会发现这批账号都在某一个时刻修改了密码,那么,我们就可以推测这些账号是在这个时刻被盗号的。在明确了盗号的时间和方式之后,你就可以有针对性地分析当时的数据情况,从而能发现黑产突破业务安全的防御体系的方式,然后有针对性地去完善即可。
这里有一点需要你注意,钓鱼执法的结果只能够帮助你完善业务安全能力,并不能作为案件打击的依据。如果你想要对这类已知的黑产进行打击,就必须基于钓鱼获得的部分信息,去挖掘出黑产整体的行为,才能够找到被法律认可的犯罪事实。
### 3\. 案件打击
随着《网络安全法》的推出,国家对于安全的把控越来越严格,各地的网安、网信办等机构,都纷纷出手开始打击黑产团伙。因此,对于业务运营来说,借助法律方式打击黑产也是一个十分有效的方案。比如去年微博成功打击的[“星援”案件](https://baijiahao.baidu.com/s?id=1636105500763479864&wfr=spider&for=pc),就是警方直接抓捕了刷明星热度的一伙黑产。
那接下来,我就结合这个案件和你一起分析一下,想要成功发起一次案件打击,需要具备的基础条件。
**首先,想要打击黑产,你得知道黑产是谁**。你可能会认为这是警方的工作。但事实上,警方不熟悉你的业务,无法接触你的系统,排查起来会很困难。因此,通常需要由业务人员找出打击的目标是谁,再交由警方进行后续的处理。
比如微博业务人员先是发现有人在刷转发、评论、点赞等然后基于对这些账号的行为分析和用户的访谈发现这些操作是由“星缘”这款App产生的而“星缘”App又对应到了一家公司。排查到这里警方就可以对这家公司进行线下抓捕和打击了。
**其次,你要明确业务损失的金额或者黑产的收益金额。**因为法院的最终判决主要还是依靠直接金额的大小,只有金额明确了,你才能够推动警方去协助你打击黑产。
现金类业务(如:红包、优惠券、支付等)的金额很好衡量,我们直接统计黑产成功获取的金额即可。但是,对于非现金类的业务(如:登录、评论等),我们无法准确地衡量一个用户或者一次评论的价值,因此很难给出一个可信的金额损失数目。
这个时候,我们可以通过黑产的收益来评估,比如黑产通过盗号或者刷评论,赚取了多少收益。这些收益属于非法收益,可以用来作为法院评判犯罪事实的参考依据。
在“星缘”一案中,最终评判的依据就是黑产通过提供非法服务获利上百万元。
**最后,当你找到了目标、明确了损失的金额之后,你还要提供证据**。但是对于网络犯罪来说需要提供什么样的证据其实是一个相对模糊的部分。尽管如此我还是根据经验总结了3种常见的证据形式。
1.黑产服务器上的日志和其名下的资产记录是最有力的证据,它们是由警方实施抓捕后获得的信息,因此具备极高的可信度。同时,黑产的日志也能够直接表明它们的所作所为,不存在任何狡辩的空间。
2.在内容侵权相关的案件中比较常见的公开侵权数据。比如,竞争对手的信息流中,出现了自家公司生产的内容,这就是竞争对手采取恶意手段爬取我方数据,侵犯我方版权的明确证据。
3.自身服务器日志。在案件打击过程中,公司也同样需要提供一份日志作为黑产发起攻击的证明。在大部分的案件打击中,前两种证据已经能够提供直接证明了,公司提供的自身服务器日志,更多的是为警方办案提供辅助支持。
## 总结
好了,今天的内容讲完了。我们一起来回顾一下,你需要掌握的重点内容。
和基础安全一样,运营工作对于业务安全的长期发展意义重大。业务安全中的运营工作主要分为两个方面:业务中的黑产处理和业务之外对黑产信息的挖掘和打击。
在业务中处理黑产时,我们采取更加间接的方式,比如,验证码和返回假数据,能够大大降低风控误伤对正常用户的影响,同时也能够增加黑产绕过风控的难度。
在业务之外,通过情报收集和钓鱼执法,能够为风控系统提供持续的数据支撑,帮助风控系统完善自身的策略。除此之外,还能够通过司法手段,对黑产实施线下打击,从根本上打击黑产的嚣张气焰。
![](https://static001.geekbang.org/resource/image/8d/16/8d20dc2ec04c7be66be27d2791068b16.jpg)
## 思考题
最后,我们来看一道思考题。
除了我今天讲的这几种验证方式,你还见过哪些验证方式,它们的用户体验和难度如何?你能够想办法自动化地进行验证吗?
欢迎留言和我分享你的思考和疑惑,也欢迎你把文章分享给你的朋友。我们下一讲再见!