V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
youngxxx
V2EX  ›  程序员

“快手直播事件”引发的技术思考

  •  
  •   youngxxx · 1 天前 · 5876 次点击

    先来看下,近几年大厂发生的几个影响较大的运营事故:

    这几起事件的共同点:影响范围广、故障时间长、造成非常负面的舆论影响;

    这次快手的事情,还是远远超出了我的想象,服务故障只会影响正常使用,但是被攻击进而导致了大面积非法活动;对于监管来说,没有比这更严重的事情,属于妥妥的红线


    为什么会发生

    黑客、灰产,从互联网诞生之初,就一直存在,今天我们不去讨论黑客如何操作大规模账号、如何进行的实名认证,我们从开发这个角度去考虑,怎样去避免事件的发生?

    直播和视频播放不一样,它的内容属于实时产生,平台没有办法提前审核;因此直播平台建设怎样的审核机制,就关系平台能否控制用户的直播内容。

    大部分直播审核机制我们可以简化为上图:截取画面、音频等,通过模型自动化判定,然后再人工复审,最后处罚封禁。

    瓶颈节点

    在开发中,我们经常会提一个瓶颈节点的概念,意味着它决定着整个链路的承载量,如果它停止工作,则整个链路瘫痪。

    而在上面的审核链路中,可以认为人工复审是一个瓶颈节点,因为人力是有限的;也许平时只需要 1000 个审核员既可以应对,但是当极端情况出现,同时涌现出上万个甚至更多非法直播时,这套机制自然就被攻破了。

    我们可以猜测,黑客操作大量账号,同时开启非法直播,当部分账号被封禁后,又不停的新增非法账号直播,人工复审节点一直处于过载状态,没办法处理全部的审核。


    可能的解决方式

    假设我们按照上图的审核机制,怎样优化可以解决同时出现大量非法直播的问题呢?

    自动判定节点

    根据模型分析结果,辅助额外账号信息,自动判定是否需要“二次人工复审”,对于不需要的案例,直接处罚。当然自动判定存在误判的风险,而快手这次事件,可以看到大部分直播是常规的淫秽视频,通过模型辅助账号信息是可以精确判定的。

    为了让自动判定足够精确,我们需要做些什么?

    • 模型不断训练更加精准
    • 收集更多维度信息,账号活跃度、登录 ip 、设备等等风控数据

    目的

    减轻“人工复审”节点的压力,使它不再是瓶颈节点,是我们的最终目的,毕竟其他节点都可以通过扩容的方式解决。也许自动判定可能会存在误判的情形,但是我们可以不断优化,不断减少误判的概率。

    思考

    小概率事件

    对快手而言,“同时出现大规模非法直播”是一个小概率事件,在它们设计审核机制时,可能也有考虑到过?但是可能认为“几万人同时直播黄片”是几乎不可能出现的事情,因此并没有做预案。

    在互联网领域,尤其是后端模块,海量用户+长时间运行,任何小概率 bug 都演变成必然触发;如果没有完美解决方案,则往往可以采取有损的妥协折中方案。

    欢迎快手同学现身说法!

    最后宣传下自己的技术公众号:欢迎关注,讨论交流

    49 条回复    2025-12-26 17:16:40 +08:00
    apanlin
        1
    apanlin  
       1 天前
    想问下 快手这事情后续有出处罚方案吗
    youngxxx
        2
    youngxxx  
    OP
       1 天前
    @apanlin 我觉得多半要被监管处罚吧
    systemGuest
        3
    systemGuest  
       1 天前   ❤️ 6
    你回忆一下,曾经互联网宽松时期大厂漏洞像看小说一样可以追剧,连载,连我这种脚本小子都可以依葫芦画瓢,看出经验找到银行漏洞提交。
    后来政策打压,这些技术交流的地方抓的抓,关的关,漏洞就消失了吗?其实只是法律帮忙掩盖了现状,让大家误以为安全了,关键时候很容易来个大的。
    XDiLa
        4
    XDiLa  
       1 天前   ❤️ 1
    @systemGuest 政策打压? 你告诉我国内稍大企业 谁家没有 SRC ? 张嘴就反思了是吧
    netabare
        5
    netabare  
       1 天前 via iPhone
    只能说康威法则永不过时,3#和 4#很好的说明了这一点
    sentinelK
        6
    sentinelK  
       1 天前
    如果只讨论快手这一次的话,
    只能说他们的审核机制环境与真实 C 端不一致,才会出现如此长时间的失控与击穿的情况。

    1 、没有人,或者说没有权限够高的人第一时间了解 C 端实际的现象。
    2 、C 端(实际客户端)与 B 端(管理平台端)出现不一致时,没有机制能够快速对齐不一致的直播间,导致无法单点修正或封禁。

    这就导致最终是直接把整个直播功能下架才解决问题。
    Panameragt
        7
    Panameragt  
       1 天前
    只是普通人不能看到的线路被普通人看到了而已
    Kirkcong
        8
    Kirkcong  
       1 天前
    @XDiLa #4 src 的作用有限,如果允许明面上技术交流,作者发现后会发出来,既能提升自己知名度,又能逼迫上游修复漏洞,毕竟影响范围很大,例如很古老的 sql 注入漏洞。

    当不再允许正当的技术讨论后,很多漏洞确实被掩盖了,漏洞被挖出来,如果提交给厂商,国外的还好,有些还有奖金,国内的搞不好要被反咬一口说入侵计算机,那只好自己留着用或者卖出去咯。

    src 再大,人数再多,也没有发出来共同解决来得快,大企业响应速度慢了去了,从发现到逐级上报,再到采取措施,最后还得看排期,实施完都不知道猴年马月了。
    Gilfoyle26
        9
    Gilfoyle26  
       1 天前
    如果挖出一个漏洞你是愿意报告,还是愿意直接卖掉?尤其是现在经济环境不好的情况下。
    EthanDon
        10
    EthanDon  
       1 天前   ❤️ 1
    @Kirkcong 感觉想法有点太理想化了
    “正当的技术讨论”应该更正为“公开的技术讨论”吧
    你不能期望所有发现漏洞/了解到漏洞的人都是好人,但凡有一个坏逼想搞事那就麻烦大了
    zhengfan2016
        11
    zhengfan2016  
       1 天前
    不太可能吧,鉴定 nsfw 的模型那么多,甚至都不需要人工审核,只要可能性大于 0.7 都可以自动封禁,至于误封完全可以走人工审核的,人工那边确定是误封可以给对应帐号加一定时间的白名单,时长看帐号粉丝数而定,大主播白名单时间长一点
    TArysiyehua
        12
    TArysiyehua  
       1 天前
    @Kirkcong 据我所知各大厂都有定时找白帽子寻找漏洞然后给予奖励的
    youngxxx
        13
    youngxxx  
    OP
       1 天前
    @zhengfan2016 对,这也是我想不通的,如果快手是可以自动封禁的,而封禁接口属于内部接口,就算黑客自动开播大量账号,只要有自动封禁,一个直播最多也就存在几分钟,想不通为什么它们封不了?
    guyeu
        14
    guyeu  
       1 天前
    快手这次显然不是自动审核机制缺位导致人工过载,如果真的有人类介入,事情怎么可能搞到这个程度。

    快手明显是过度依赖模型审核,导致模型雪崩之后后台失去了对线上内容的控制,甚至都没有及时报警让人介入。

    快手这次是风控和运营策略的失败,和审核没什么关系。
    youngxxx
        15
    youngxxx  
    OP
       1 天前
    @guyeu 有这个可能,但是这次攻击,并没有把直播峰值提高数量级的程度吧,怎么就会把模型审核搞崩了呢?而且模型审核模块应该是很好平行扩容的吧~
    Kirkcong
        16
    Kirkcong  
       1 天前
    @TArysiyehua #12 对于其他人寻找到的漏洞不就凉凉。。。白帽子是能寻找出来漏洞,但很多漏洞是偶然发现的,而且大多时候都是查有没有已知的漏洞,而不是费尽心思挖掘一个不知道哪里的漏洞。

    我要是一个白帽子,你就算给我十个亿,我能保证的也就是没日没夜的帮你找,但没人能保证不知道的东西的。

    举个例子,我前司自研国内信创产品,是真的有实力,公司全是大佬,每次产品发布前都通过各种检测,因为是给某些独立于常人生活体系之外的团体使用,但还是被我找到了一个致命的、任何一人就可以远程做到的、接管全部集群、可以做任何事情、查看任何数据的漏洞,但我当时的 title 只是文档工程师,别说 src 了,和开发都八竿子打不着的。当然,这里不是说产品垃圾,而是我看到了一个刁钻的东西,由此产生了灵感。(漏洞早已上报并修复)
    cnzmz
        17
    cnzmz  
       1 天前
    @XDiLa 打压还是有打压的吧,乌云原来多好的社区呀,扛不住压力关了。
    TArysiyehua
        18
    TArysiyehua  
       1 天前
    @Kirkcong 没啥有白帽子就没有漏洞,而是你说:`当不再允许正当的技术讨论后,很多漏洞确实被掩盖了,漏洞被挖出来,如果提交给厂商,国外的还好,有些还有奖金,国内的搞不好要被反咬一口说入侵计算机,那只好自己留着用或者卖出去咯。` 这句话本身就不对呀。首先就是白帽子他们本身就跟各大厂商有合作的,除了他们定期举行的各种找漏洞活动,凡是他们自己发现的漏洞,都可以直接发给厂商然后拿奖金的,并不说在:`当不再允许正当的技术讨论` ,这个不允许,也不是说:`如果提交给厂商,国外的还好,有些还有奖金,国内的搞不好要被反咬一口说入侵计算机`.

    实际上你跟厂商好好沟通,大部分厂商都认并且发放奖金。之前有个白帽子发了个漏洞,然后厂商那边不是说这个漏洞我们修复了,然后不认,后来那个白帽就把这个事情爆出来了,其实就是他想要奖金然后厂商那边觉得已经是修复了的漏洞,自然不给,就闹掰了。

    我记得这个好像是微信还是什么的,你可以搜搜新闻
    TArysiyehua
        19
    TArysiyehua  
       1 天前
    @TArysiyehua 没啥有 → 没有说
    Kirkcong
        20
    Kirkcong  
       1 天前
    @EthanDon #10 确实,是有些理想化。

    我觉得公开寻找/讨论适合这种为大众提供服务的公司,比如 cloudflare ,腾讯云,tb 。首先,暴露在公众下面的服务肯定是要被挖的,既然漏洞已经被挖出来,不如摆出来赶紧结束掉,而不是让人们有其他的想法。就像高压锅一样,气体总是得出来的,只是取决于什么方式。

    还有一种情况,现代的漏洞很少是单一攻击,更多的是组合漏洞。这种情况下,如果先前的爆出来并修复掉,就不会出现多个漏洞被同时利用,导致更大规模影响的情况发生。


    对于一些很是封闭的场景才适用于这种禁止讨论,比如说内部使用的东西,或者正常人不会接触到的服务。这些服务接触的人也少,也很少泄漏出来。
    billbur
        21
    billbur  
       1 天前
    @youngxxx #15 怎么我看的版本是绕过了审核
    jackOff
        22
    jackOff  
       1 天前
    很简单,国内直播从明年开始强制延迟半小时,反正现在很多都是延迟的,无所谓了属于是
    youngxxx
        23
    youngxxx  
    OP
       1 天前
    @billbur 绕过就更离谱了,审核机制应该是后端的一个必经流程,如果都能绕过,那只能说快手的技术缺陷也太低级了。。。
    Kirkcong
        24
    Kirkcong  
       1 天前
    @TArysiyehua #18 “实际上你跟厂商好好沟通,大部分厂商都认并且发放奖金”,不一定会的,他们会想,他怎么发现的?为了发现/验证这个漏洞做了什么?在此期间接触到了什么?发现之后有没有做什么?如果我们认下了会怎么样?要不要给奖励?钱谁来出?要不要写进报告?奖金是不是得安全团队的绩效来扣?

    至于后面的 如果不认,白帽子会不会泄漏出去,那就得看情况了。就算泄漏出去了,他自己没有保留足够的证据证明自己是善意的,或者没有造成损失,那就送进去完事儿。

    不是说这种情况一定会发生,但真很危险的,白帽子不会反咬入侵计算机是因为他们有厂商的许可,如果没有这个许可,是真的会进去的。我当时报那个漏洞都是和一个很熟的小伙伴商量后才决定报的,而且报之前我是直接和公司架构师打电话经过同意才说的。如果不是有信任的伙伴能讨论,能为我作证,我是肯定不会暴出去这个漏洞的,最好的选择是自己利用,万一哪天出事了用这个漏洞无痕删除记录,留着用来保护自己。

    对于外面没有许可的非白帽子,一个不小心就进去了,尤其是高压环境下,肯定不希望给自己惹事的。
    duanxianze
        25
    duanxianze  
       1 天前
    快手的问题,显然是整个内部系统被人攻破了,以至于管理员自己控制不了平台了,只能通过运维直接切断所有直播,个人认为,和如何审核关系不大,还是在于如何防范系统漏洞
    mrhunhun
        26
    mrhunhun  
       1 天前 via iPhone
    我觉得黑客随时都可以黑 就老人家愿不愿意了
    youngxxx
        28
    youngxxx  
    OP
       1 天前
    @duanxianze 如果是内部系统被攻破,那造成这样的结果能理解!但是怎么也算个大厂,内部系统能被攻击成这样,也太丢人了。。。
    whitewash
        29
    whitewash  
       1 天前 via Android
    挖到洞的人,得不到相应的奖励,甚至会被反咬一口,或者经常被告知已经修复,自然就把会洞藏好咯。甚至不只是人、也可能是小团体,单位、公司、都会藏着,等着某次比赛大放异彩。
    InkAndBanner
        30
    InkAndBanner  
       1 天前
    emmmm 其实任何内容平台的审核里面,对于在线实时处置都是比较谨慎的一把武器,目前对于审核大模型永远是辅助人审,很难替代人审,在晚上的高峰期,并且这么大的数量,没有预案的情况下 任何环节都有很大可能出现问题。其实已经不是审核团队该解决的事情了,而是安全团队的责任。打个比方 支付宝号如果大批量被盗,风控团队再怎么尽责 ,总有漏放的情况,安全是 1 其他是 0
    haruhi
        31
    haruhi  
       1 天前
    在想啥呢,当然有机审自动处罚,咋可能全人审。

    快手是明显没有降级策略或者没有做过真实的演练(问题必然会出现,无论是漏洞攻击还是人为的出现问题),出这种事情,应该是直接除了白名单用户,其他用户全部断播。
    guyeu
        32
    guyeu  
       1 天前
    @youngxxx 我倾向于是黑灰产通过某种方式把审核模型搞崩之后大面积上线违规内容。把模型搞崩的方式就不清楚了,有可能是内容投毒,也有可能是利用了某个 0day 。具体还得等官方或者快手内部调查的结论。你这个人工瓶颈的理论过于不合理,制度设计导致某个流程依赖某个单点的人,这个单点的人出车祸都比你这个合理。
    duanxianze
        33
    duanxianze  
       1 天前
    @youngxxx #27 并没有想象中那么难(不是说不难),毕竟这世界就是一堆草台班子,攻击远比防御简单,之所以很少搞出大事,是因为付出和收益不对等,就像这次这次被搞如果用这个漏洞找快手要钱肯定更赚,不过显然背后还有其他事,不是单单为了让快手出个丑
    hellopz
        34
    hellopz  
       1 天前
    @jackOff 哪来的信源,听起来不太可能啊
    mooyo
        35
    mooyo  
       23 小时 42 分钟前
    其实问题在于,业务不太可能(至少在这次事故之前)接受全自动且比较智能的封禁的机制,可控性太低了。如果出错,可能导致整个业务宕机,风险太大。开播流程被当作关键流程进行保护了,掐流人工介入其实是合理的(在这次事故之前)。

    我也推测很可能是人工复核过载了,一般来说自动封禁只会用在 100%正确的情况,比如版权 logo 露出什么的。
    JimmyChan1506
        36
    JimmyChan1506  
       18 小时 6 分钟前
    请问楼主的图是使用什么工具画的?
    jinjiang2024
        37
    jinjiang2024  
       16 小时 16 分钟前
    难道就不可能是裁员裁到大动脉了? 国内找到漏洞 你告诉厂商了 好的给你个三瓜两枣的 不好直接告你
    listen2wind
        38
    listen2wind  
       15 小时 48 分钟前
    @jackOff 半个小时还怎么和观众互动?
    imnpc
        39
    imnpc  
       15 小时 46 分钟前
    看到个 360 的分析 自动审核内容没问题 审核以后封杀 NSFW 内容几乎都是秒封
    但是执行封杀任务的子系统没有处理海量信息的能力
    都卡在队列中等待执行了 所以就出现了问题(目前绝大部分系统都是这样的队列执行 虽然有强大的并发支持 但是海量攻击还是不行 以前没人这么搞过)

    最后快手强制拔线 下线直播系统才解决问题

    需要说明一下 能精准洞察这个漏洞 绝对有内鬼 就是不知道是离职还是在职的泄露的
    youngxxx
        40
    youngxxx  
    OP
       15 小时 28 分钟前
    @JimmyChan1506 drawio 客户端和网页版都有,很方便
    systemGuest
        41
    systemGuest  
       15 小时 21 分钟前
    @XDiLa 你不要激动,有时候可以冷静的看一下别人的观点,也许别人经历的和你经历的不一样,然后再做判断。
    1 、早期互联网安全宽松时期,很多人把这些当成是一种兴趣,因为挖洞提交到公开,可以吸引一大批“粉丝”,有一种就感,并不是为了什么大企业“奖励”。在法律严格的过渡期,我认识的一个人走正常途径提交给腾讯命令执行漏洞,奖励了他几百个 QB ,我想看下漏洞细节都不行,从此以后他就不怎么玩了。
    2 、提交的漏洞后面是所有人可以随便看的,并不会像现在一样看漏洞具体细节那么困难。举个例子:大牛 A 挖到了某银行一个活动逻辑漏洞,可以“刷钱”,虽然漏洞修复了,但是很多人可以看细节,有思路后就可以找出其他产商类似漏洞,门外汉都能去挖洞,人一多推动整体安全性提高,如果不让看,存在类似风险的项目可以说 99%都不会被提前关注修复,只能等问题发生。
    3 、你是否知道各种白帽子被抓事件?袁炜世纪佳缘、乌云创始人方小顿、京东贾伟。。。这也是政策严格打压后出现的事情,寒蝉效应,至那以后我关注的很多写漏洞连载小说的大牛也销声匿迹了。

    现在从事安全行业的一个朋友,批量扫描,匹配下公开的漏洞特征,这种工作早期叫“脚本小子”,并不是那种真正的大牛。我觉得厉害的人主要是看思维思路,社工能力,关键的地方拿出工具致命一刀,快手出现的问题,绝对不是那种坐办公室拿提交 SRC 的安全从业人员能搞定的,因为有技术能力强的人,他压根不需要拿工资。
    jackOff
        42
    jackOff  
       14 小时 18 分钟前
    @listen2wind 早就已经有类似措施了,以后直播这种东西会管控的越来越严格的
    xmdbb
        43
    xmdbb  
       14 小时 2 分钟前
    @systemGuest 哪那么夸张.....
    就算是早期的乌云,也是有流程的,追剧、连载会有,但是不会出现对应目标和流程。
    当初乌云里确实一直有蹲守公开利用的方法,也有通过标题和描述猜测目标和利用方法,但是乌云当时核心流程是先通知对应厂商,厂商选择忽略或者不处理才进行公开的。
    tomatocici2333
        44
    tomatocici2333  
       14 小时 2 分钟前
    真正的问题还是,攻击者手里有直接绕过整个风控的漏洞。
    xmdbb
        45
    xmdbb  
       13 小时 58 分钟前
    @Kirkcong
    目前除了小站点没发放过给我,华为和携程都有发放,并且也不需要怎么沟通,提供复现流程即可。
    当然你对评级不认可需要沟通是后话了。

    另外获取厂商的许可是需要提前和厂商沟通或者通过对应 SRC 途径发起申请,才能深入渗透,但也有前提,各家厂商都不一样。
    yimiaoxiehou
        46
    yimiaoxiehou  
       10 小时 37 分钟前 via Android
    完全想不到黑产搞这一波能得到什么好处,时长这么短
    systemGuest
        47
    systemGuest  
       9 小时 32 分钟前
    @xmdbb 你说的都是在末期了,要整死不整死阶段,末期有一段时间规则是多少天厂家不回复也会公开,我就专门收藏等公开。更早的还没有要求网站备案,是个人就能随随便便建个黑客论坛,3800hk 、黑基、直接录视频发布,厂家都懒得联系,你回想下外挂可以随便下载的那个年代是不是这样。
    h175h32
        48
    h175h32  
       8 小时 50 分钟前
    @yimiaoxiehou 发了链接盗微信的 session 好像是,登别人微信到处借钱
    vivisidea
        49
    vivisidea  
       7 小时 59 分钟前
    重点是漏洞,通过漏洞被入侵了,后续其他方案都白瞎,比如你有自动封禁机器人是吧,黑客把你进程随机 kill 了……
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1272 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:16 · PVG 01:16 · LAX 09:16 · JFK 12:16
    ♥ Do have faith in what you're doing.