这是半佛仙人的第174篇原创
1
临近年关,各家商家公司都开始搞大促,羊毛党和黑产们的狂欢日也要来了。
毕竟年终奖是个好东西,大家都想要。
科技在进步,羊毛党和黑灰产也在进步。
很不幸的是,大多数做黑灰产的都要比做防御的更加努力,各种最新的技术,最前沿的科技实现方式,他们都会在第一时间去拿来搞钱。
毕竟在金钱的驱动下,不是人才,也是人才。
(黑产的努力,你想象不到。来源:腾讯云2019年DDoS威胁攻击报告)
说真心话,做防御这一行,很蛋疼,也挺反人性的。
因为如果不出问题的话,其实做防御很难看出价值的;
如果出了问题的话,那就更没什么价值了,除了被丢出来背锅。
有时候我甚至觉得搞风控安全拿的不是工资,而是精神损失费。
尤其从难度上,破坏永远是比建设要容易的,修一座城要几十年,破坏只需要一把火,防御体系也是这样,做防守永远是要比做进攻要难。
而且对大多数人而言,做进攻比做防御好玩,不用考虑业务个感受,想怎么攻击都可以,并且赚钱真的多很多,所以看着很多老同事成了新对手,我也觉得挺魔幻的。
目前整个行业面临的风险情况,也在逐渐加大。
(腾讯灵鲲大数据平台,实时反映风险业务对抗)
2
现在是大数据和云的年代,云服务已经是无可置疑的趋势,大量企业的所有业务和数据都会上云,这一方面代表了效率的提高,另一方面,代表的就是一旦出现问题,风险的影响是更大的。
过去黑产去搞企业,撑死也就是几个后台页面,能获益有限。
现在黑产去搞企业,一旦拿到云的权限,基本上想怎么玩儿就怎么玩儿,而且风险还低。
大家在看到云的高效率的时候,也得意识到,安全的挑战更大了。
效率本身没有善恶,做好事的效率高,那么必然坏事的效率更高。
讲几个故事吧,和黑产攻防有关,现在黑产也喜欢搞仙人跳了。
(黑产现状规模统计)
某知名的大型商场,在自己的超市里搞了一堆免费WIFI,顾客过来就可以连接,但是需要手机注册会员。
用免费WIFI换超市会员,其实是一笔划算的买卖,这个营销增长思路也是OK的。
但很快就被黑产盯上。
黑产进入商场去布置自己的WIFI,使用的名字和商场是完全一致的,同样是要你的账号密码来登录,登录过后,可以联网。
当然,不管你输入什么,其实都是可以登录的,因为黑产并不知道你的会员账号密码。
与此同时,黑产布置了一个假基站。
只要你在这个范围内,连接了这个假的WIFI,填写了你的手机号,就会有脚本自动去登录商场的会员系统,同时这个假基站就会对你的GSM短信进行劫持,获取你的短信验证码。
登录之后会自动替你领券,然后用券来套取优惠的利差。
我们都知道商场拉新是会发很大额的新手券的,付出了大量的补贴成本,黑产就是要赚这个福利。
这是很大一笔收益。
而作为用户,你被仙人跳了。
更有趣的是,假基站设备和假WIFI设备是放在书包里的,被他们直接背着在商场里逛来逛去,赚够了之后出门打车就走了,下次换个商场。
后来这个方法被发现,是因为商场上云之后,被系统自动识别出问题,因为出现了大量的异常WIFI设备登录(正常WIFI是在白名单的),商场付出的代价是天文数字。
收获的是一群虚假的注册用户,而真实的用户在注册的时候反而会被提示已经注册。
大额补贴打水漂,还得罪了用户,鸡飞蛋打。
3
第二个故事出现在内容行业。
在现在这个年代,异常内容风险始终是最大的风险。
对于一切支持用户发布内容的,其实内容失控的风险都是存在的。
话题广场,论坛,评论区,用户昵称,甚至私人对话,语音连麦,只要可以录入文字,图片,语音和视频的地方,就存在着失控的风险。
除了垃圾信息外,社区的异常发言,直播里的敏感内容,音频里的隐匿色情,视频中的问题素材,甚至电商材料详情页的产品介绍,全都是风险。
所以换一个角度,如果你想进攻你的对手,有没有更加隐秘的方法呢?
对竞争对手做内容攻击就好了。
(御见安全运营中心(SOC))
使用机器录入的方式,在对方平台中灌入大量异常内容(文字图片音频视频),导致对方产品下架或者用户负面,属于借刀杀人的新玩法。
某知名种草社区,就面临了这样的进攻,下架了很久。
针对垃圾信息进攻,第一重防御是在文本阶段。
现在搞垃圾进攻的,全都是变体字+中英混合的,传统的词库审核是拦不住这个的,你怎么可能穷举呢?
(腾讯内容风控技术分析)
业内经典的文本分类算法,大概三种。
TextCNN、RNN、FastText。
其中文本攻击的特点是,短时间高频录入,使用顺序调整(汉字的序顺并不定一能影阅响读,你仔细看看),以及使用大量的异型符号来曲线传达垃圾信息。
在这种场景下,最适合的是方案TextCNN,因为对顺序不敏感,抗干扰强,且结构简单,推理速度快,你不能让用户等待几个小时才发内容,这样业务也不用做了。
但与此同时,还要做针对性训练。
1.基于字符、拼音的Word2Vec来解决同音字问题,汉字穷举不可能,但是拼音穷举还是简单的。
2.提升抗干扰能力使用高频字做拆字,例如【威信】中的2个字,拆成2个单一字作为变量来做核验。
例如只要出现【信】这个字的内容,都要走二级策略。
3.模型训练增加额外的场景变量,同样一个词,【死鬼】,我妈说我是死鬼和我妈说我爸是死鬼就是完全不同的场景。
所以在设计模型策略的时候,必然要有场景这个概念。
很多模型不好使的关键节点就是没有场景概念,导致很多数据结果其实是过拟合的。
(腾讯天御内容风控文本安全的打击原理,作为国内最大的内容平台,腾讯每天都在面对高强度的攻防)
4
讲完文本讲图片。
图片面临战主要打击场景是色情低俗类。
由于图片是存在暗示的,并且图片的要素是要远远多于文字的,而且图片本身的敏感点也是隐蔽的,单纯使用简单的过滤方法是不行的。
很简单的道理,你要过滤胸部,只用白,圆等特征,可能馒头也完犊子了。
目前针对图片,应用最广的还是图像分类/目标检测算法+关键要素识别。
(腾讯云,图片风险内容识别技术原理)
想想看,人是怎么认识猫的?
其实就通过猫的脸部特征,例如鼻子到眼睛的距离,双眼的间隔,尾巴的长度,耳朵的形状,皮肤的颜色等等等等一系列方法,人知道,这种形态的生物,叫做猫。
同理,人脑是怎么识别色情图片的?
就是色情图片上有大量的关键要素,这些要素,才是核心,其他内容都是无关紧要的。
例如下图,一个穿白色衣服的性感照,颜色,背景都不重要,重要的是核心暴露的要素。
(人类真的是很会找重点的生物)
你会本能性的关注亮点,这个亮点,就是关键要素。
在模型上,就是要用Attention让模型更加关注特定要素,例如上图的热力区域,就是所谓【漏沟】要素。
(腾讯云,图片风险防范技术原理)
当然,要让机器认识到这种要素,最重要的就是教给机器何为【漏沟】。
就和人认识猫一样,机器认识【漏沟】这个概念,也是需要比对大量的要素,例如衣服和皮肤的色差,缝隙和皮肤的间隔,颜色分布和背景的比对,这些要素需要打上标签,让机器分辨。
最前沿的做法是,设置ignore label抑制高频标签,降Loss反向传播权值,可以有效提升低频标签召回率提升,进而提升整体的识别效果。
(腾讯天御模型效果,黄图克星)
5
讲完图片讲视频和音频。
视频鉴别其实主要难度在于效率。
视频可以简单理解为是大量高速闪动的图片,一个1分钟的视频,如果是24帧标准电影画质,可以拆解为60(秒)X24=1440张图片。
如果是60帧画质,可以拆解为60秒X60=3600张图片。
所以视频核验本质上就是高效率的图片核验。
那么问题来了,一个1分钟的视频,就要核验这么多的图片,那么如果要核验很多视频,基本上所有的服务器什么事情都不用做了,尤其是直播领域,都是实时的。
所以视频检测的核心点就是交给机器如何合理的偷懒。
3600张照片,不需要每张都看,实际上人的眼睛也看不出每张的区别,只要做算法抽帧就可以了,3600张照片里,只需要抽100到200张匹配就可以了。
至于选取哪200张,这就是模型的艺术了。
(腾讯云:天御内容风控)
音频同理。
如果说视频是动态的图片,那么音频本质上就是动态的文字。
人的大脑处理音频的方式其实就是把声音转化成文字,然后大脑识别文字,然后再通过文字脑补画面。
当然,讲骚话其实不是音频处理的真正场景,真的场景是娇喘等色情应用。
处理色情音频也是这样的。
1.VAD 做静音检测,去掉静音内容,给长度减肥,同时将音频分段。
2.然后检测音频特征,提取音频特征 MFCC/Fbank,往往娇喘是有特定频段,特定内容的,因为人的大脑能接收到的频段和频率是有限的,啊啊啊啊啊和来大兄弟你愁啥,明显会有不同的效果。
3.然后做特征工程,把监测到的素材生成标签,基于GMM或者TDNN。
4.然后把特征和色情样板进行比对,输出一堆结果字段。
5.最后把结果字段通过算法来输出可疑分数,和文字内容
6.文字内容做模型比对,可疑分数依据策略来cut off。
(腾讯云-色情音频识别效果,娇喘党哭晕在厕所嘤嘤嘤)
现在主流的社区和音视频平台,如果还没有接入内容风控的话,基本上算是裸奔,可以等着因为你的平台上有人裸奔而倒霉了。
别笑,这种事情每天都在发生。
6
第三个故事和羊毛党有关系。
只要电商搞促销,就必然有羊毛党聚集。
(黑产全链路防御模型)
但是你们知道么,羊毛产业链里虽然有无数的水军和线报群,但是群里各种的羊毛信息的源头是哪里漏出来的?
不否认,确实是有内鬼这个现象,但很多时候,漏洞和规则是用AI来挖掘的。
羊毛党最上游的那些大佬,基本都是专业风控安全和技术出身的,他们的进攻才是最可怕的。
曾经某家电商做了促销,有优惠券,满100-20。
但是系统设置存在漏洞,如果你用了这张券,但是退货了,则会补充你20元的无门槛券,这时候你可以买一个21元的商品,只需要花1元就能买到。
再例如,某知名连锁餐厅,曾经出现过一个BUG,使用了他们的某个代码的优惠券之后,购买特定金额的产品,优惠券数字会变化,可以只花很少的钱喂饱6个人。
再例如,某知名生鲜电商,曾经出现过拉新BUG,允许相同地址的人来反复刷新人优惠。
再例如,某知名互联网公司做拉新活动,1人只能抽1次奖,多抽需要分享到朋友圈,但是实测在某个H5页面进行退回操作,可以不分享也能额外获取机会,有人一天抽了几十万次。
这些规则,单靠人脑去挖掘是非常浪费时间的。
(腾讯云-电商风险解决策略)
而且AI的特点是什么?是擅长大规模高频计算,只要你制定好要素和想要的结果,AI就会无限次的实验各种方式,直到越来越接近你要的结果,最终输出方案。
这天生就是为漏洞挖掘而生。
人脑对于漏洞的认知以及特点是有限的,或者说是缺乏想象力的,但人知道自己想要什么,所以把资料和结果给到AI时,AI就会去穷举所有的可能性,很多细小的,人意识不到的漏洞,就这么被挖掘出来了。
例如围棋,AI是如何暴打人类的?就是因为AI在每一步都会进行一次计算,然后选取可能性最大的模式来操作,尽管这个操作是不符合常理的,但最终的胜利说明了一切。
进攻也是如此,手段再怎么奇葩都不重要,重要的是,结果。
进攻,往往就需要这种突破思维。
7
云时代,如何拦截掌握了AI技术的羊毛党?
在我看来,一共3重方案。
第一重解决方案很简单,拔电源。
别笑,这是一个很严肃的解决方法,当你在软件层面拦截不了对方的时候,拔电源属于硬件解决方案。
只要你的服务器设计是支持异地多活和断点数据保护的,断电是非常好的模式,就像数据库迁移最快最安全的方式是什么?
把硬盘拆下来,用货车运走。
进攻方都是无所不用其极,防守方应该更加灵活。
第二重方案,不把自己当人。
简单来说,既然对方的进攻使用AI,那么防守也要使用AI。
羊毛党的漏洞挖掘技术说真的防不了,也不用防,只要在执行阶段进行拦截就可以。
羊毛党再怎么找漏洞,找到了漏洞总归要执行。
执行只有2种方式,机刷和肉刷。
机刷其实特别容易拦截,不说设备号,IP,这样的批量相似点,就说操作频次,业务路径,进入链接,订单信息,都可以用AI来进行拦截。
同时比对同一个时间节点所有下单用户的信息,然后聚类把可疑订单聚集起来,然后提取订单中的特征,然后再依据特征抓第二批用户。
接下来拦截发货,等待拦截用户的后续操作,再依据后续操作提取新的特征,进一步拦截。
这里面大量的计算,都是AI来完成的。
肉刷相对复杂,因为用户都是真人,操作特征和机器有典型的不同,如果说防范机刷只需要比对同一时间内所有用户的特征,算是横向。
那么防范肉刷,除了在这个基础上,还要再比对同一个人,在不同的时间线内,进行操作的异常。
举个例子,一个用户下了100单,其中20单是有刷单嫌疑的,那么这其实是个好人,虽然爱占便宜,封号是不合理的。
但是当这人的第101单,通过和过去的特征比对(例如特定地址,特定收货人,特定跳转路径等等等等),判定大概率为刷单,于此同时,出现了大量和他一样的可疑用户(包括用户自己和自己的比对以及横向用户和用户的比对),那么这一单,就要拦截。
这恐怖的计算量,同样要靠AI来实现。
(腾讯云AI安全矩阵)
第三重方案,放羊,吃肉。
这是我常干的事情。
羊毛党要刷,就让他刷好了,干嘛费劲儿不让人刷呢。
只要踩死掉他们的获利渠道,让他们付出代价就可以了。
例如特定的活动里,专门配置发货规则,并且在规则中中设置大量的异常判定,有问题的,全部拦截,资金N天后再到账。
例如某些存在现金收益的产品,设计套利规则为需要先付钱再套利,例如满100减80,有问题的单子全都拦截提现,想提现带着实人认证来,经常可以套一大笔钱沉淀在账户,这钱也不能动,但是足够恶心人。
例如提现中,禁止多账号提现到同一个金融类账号中,并且要求账号必须和本人实名一一对应,然后再控制拉新的奖励成本,可以有效让羊毛党一通操作除了创造便宜日活没有任何其他意义。
例如规则设置中,对同样的坏用户,采取完全不同的处置策略,让他们也吃不准是哪个节点出了问题,干扰他们对于规则的试探,很多时候和经验老道的黑产交锋,只用传统策略没有意义的,人家比你懂的多了。
其实我也讨厌防守,防守必须要做,不想着反攻羊毛党的风控,显然更有趣一些。
8
真正的重点在第四重。
进攻,进攻,还是进攻。
从进攻者的角度找问题。
我始终坚持认为,不懂得进攻的安全从业者,是做不出真正的防守的。
防守本身就足够被动了,还干巴巴在家里坐着等人打上门来,非常愚蠢。
每一个安全从业者,都应该先去进攻,自己来进攻自己的系统,做攻防演练,以攻破为目的,刀刀见血,只有在这样的过程中,才能有着更强的防守。
给大家看看真正的黑产可以做到什么地步。
现在的黑产入侵已经可以做到构造一段包含任意命令的条码,并将其编码到激光中,条码阅读器接收激光后,会误以为扫到条形码,同时执行隐藏在其中的任意命令,从而攻入系统。合适的激光发射装置甚至可以在很远的地方发起这种攻击。
腾讯玄武实验室已成功实现这种进攻模式。
当今流行的屏下指纹,实际存在【残迹重用】的漏洞,玄武实验室首次破解并完成命名。
这一漏洞源头并非手机厂商,而是屏下指纹芯片厂商,是屏下指纹技术设计层面的问题,会几乎无差别地影响所有使用屏下指纹技术的设备。利用该漏洞,攻击者只需一秒钟就可解锁手机。
黑客利用反射体欺骗的方法,通过残存指纹痕迹作案。
(腾讯安全玄武实验室破解并命名残迹重用漏洞)
只有对进攻了如指掌,才能做好防守。
没有进攻经验的防御,都是纸上谈兵。
9
刚才我提到了硬件防范,云时代的风控安全,是软硬结合的产物。
我提到的故事里,第一个故事明显就是黑产使用硬件来进行的进攻,其中的软件难度极低。
真正的安全,应该是从硬件阶段,就尽可能杜绝风险出现的可能性。
我举几个例子,你做内容安全风控,再NB的AI技术,再猛的规则词库,都是软功夫,假如不能把APP的外露接口加密,黑产随时写脚本改内容,累死风控你也干不好,你改规则永远没有人家进攻方用接口来往里灌快。
再例如假如有全套的决策引擎,无敌的规则配置,但是服务器上有后门,人家走流程直接不需要走你的业务流,你还怎么防守?
一个上半身无比壮硕的大个子,吃了一个扫堂腿,长得越高,摔的越惨。
再例如假如有全套的数据监控体系,但是数据库跳板机存在问题,被人入侵后你的数据监控体系就成了对方的竞争对手监控报表,很多互联网公司对于竞争对手的数据都是精准到秒级别的。
所以要做安全,就是软硬一起做。
硬件是身体,软件是精神。
脑子不好,再强壮的身体也过不好。
身体不好,再聪明的脑子也活不久。
全栈安全体系,是云时代必须要做的,腾讯云就是一个典型。
最后,说了这么多,其实也还是看老板的价值观。
毕竟风控本质上是为业务服务,并且要投入大量的成本。
老板没有这个决心的话,风控本身是做不了什么的。
与其费心费力去出力不讨好,还不如研究PPT制作,毕竟那个才是核心竞争力。