当前位置: 首页 > news >正文

Web安全 - 构建全面的业务安全保护防御体系

文章目录

  • 业务安全概述
  • 业务安全 vs. 基础安全
  • 业务安全的防护
    • 业务安全的防护策略
      • 1. 用户资源对抗的技术实现与优化
      • 2. IP资源对抗的技术实现与优化
      • 3. 设备资源对抗的技术实现与优化
      • 4. 操作资源对抗的技术实现与优化
      • 实际应用场景中的策略
    • 典型场景
      • 业务场景 1:新用户注册场景
      • 业务场景 2:登录与敏感操作场景
      • 业务场景 3:在线支付与交易场景
      • 业务场景 4:大促活动参与场景
    • 评估反馈数据
      • 1. 评估的关键指标
      • 2. 数据收集与分析
      • 3. 基于数据的优化建议
    • 业务安全的本质:资源对抗
  • 业务安全中的 IPDRR 防御框架
    • 邀约活动的威胁评估
    • 提升黑产攻击成本的安全产品方案
  • 风控系统设计
    • 风控系统的背景与重要性
    • 风控系统的核心模块
      • 1. 前端 SDK 数据采集
      • 2. 规则引擎的工作原理
        • 工作模式
      • 3. 技术选型
      • 4. 验证流程的重要性
    • 规则引擎的设计挑战
    • 风控人员的角色与职责
    • 风控系统小结
  • 机器学习
    • 机器学习的能力和局限
    • 无监督学习在安全领域的应用
    • 有监督学习的应用与挑战
    • 具体应用建议
    • 分析与建议
  • 设备指纹
    • 设备指纹的优势
    • 设备指纹的主要挑战
    • 信息采集
    • 设备指纹计算
    • 异常设备识别
    • 小结
  • 安全运营
    • 业务中处理黑产的手段
    • 业务之外处理黑产的运营手段
    • 风控系统与运营策略结合
    • 小结

在这里插入图片描述


业务安全概述

业务安全是公司为了保护其业务流程和用户增长而制定的防护措施,主要应对的是黑产(黑色产业)的攻击。相比传统的基础安全,业务安全的特点更加复杂,主要体现在两个方面:攻击者的产业化和资源对抗。

业务安全 vs. 基础安全

在基础安全中,主要针对技术漏洞,黑客通过发现和利用这些漏洞,入侵系统或窃取数据。这类攻击通常依赖于单一或小规模的攻击手段,重视技术技巧。而业务安全的攻击来自黑产,攻击者形成了一个完整的产业链,从上游的资源获取到下游的盈利手段,覆盖了大量的自动化和资源型操作。

黑客 vs. 黑产

  • 黑客:依赖技术漏洞,强调技术对抗,单人或小组作战。
  • 黑产:注重资源获取,形成上下游的产业化链条,依赖大量用户、IP、设备等资源的批量操作。

在这里插入图片描述


业务安全的防护

在业务安全防护中,核心思路是通过增加黑产的攻击成本,削弱其获利空间。这种资源对抗分为四大方面:

  1. 用户资源对抗:黑产需要大量虚假身份来注册、登录等。对抗手段主要是通过黑名单管理和身份验证技术(如手机号、身份证号的验证),提高注册成本。
    在这里插入图片描述

  2. IP资源对抗:通过限制IP、追踪IP异常活动来识别黑产操作,但由于IP变化频繁,目前主要依靠代理IP监控手段。

  3. 设备资源对抗:黑产常通过模拟器或群控设备操作大量账号,防护措施包括设备指纹技术,用于识别虚拟设备和可疑行为。

  4. 操作资源对抗:黑产使用自动化工具(比如按键精灵)来批量操作应用,常见防护措施是使用验证码、行为分析等方式,确保操作难以完全自动化。


业务安全的防护策略

1. 用户资源对抗的技术实现与优化

1.1. 实现:用户身份验证与黑名单

  • 身份验证:实现用户身份资源的关键手段是通过严格的身份验证,防止黑产使用虚假或批量身份注册。常见的技术包括手机号绑定、身份证号验证、银行卡绑定等。
    • 手机号验证:基于运营商提供的实名制手机号验证接口,确保手机号与身份信息匹配。
    • 身份证验证:通过接入政府或者第三方的身份证验证服务,确认用户身份的合法性。
    • 银行卡验证:通过银行卡绑定和验证,确保交易的真实性。
  • 黑名单管理:通过内部收集和外部采购黑名单,将已知的黑产账号、手机号、设备等加入黑名单,自动拦截其进一步操作。
    • 外部采购:使用市场上的黑名单服务(如反欺诈平台)来扩展已知的黑产名单。
    • 内部收集:利用机器学习模型分析用户行为,自动识别异常注册、登录行为并加入黑名单。

1.2. 优化方案

  • 多因素验证(MFA):通过短信、邮件、或APP内验证,提高账户的安全性,减少单一验证点被绕过的可能性。
  • 行为分析与动态黑名单:使用机器学习模型,对用户的登录、注册、支付等行为进行持续监控,通过分析异常行为(如频繁注册、频繁交易等),动态更新黑名单。
  • 生物识别技术:利用生物识别(如指纹、面部识别等)验证真实用户身份,防止黑产批量注册。

2. IP资源对抗的技术实现与优化

2.1. 实现:IP监控与代理识别

  • IP限制:通过限制单一IP的注册、登录次数来减少批量操作。通常应用于频繁出现异常活动的IP地址。
  • 代理IP识别:通过检测HTTP请求的头信息、响应时间等来识别代理IP。常用方法包括检测IP源地址、时区偏差、以及与已知代理IP数据库进行比对。
  • 地理位置验证:结合地理位置和IP数据,对位于高风险地区的IP进行额外验证,或直接拦截其操作。

2.2. 优化方案

  • 秒拨IP检测:黑产常通过秒拨技术获取大量IP资源。为了应对这一现象,系统可以根据短时间内频繁出现的新IP地址进行监控,并将这些IP标记为可疑。
  • IP信誉评分:通过大数据分析,给每个IP赋予信誉评分。高风险IP(如来自代理或秒拨的IP)会有较低的分数,从而触发额外的安全措施或直接拦截。
  • 动态IP封禁策略:设计动态的封禁规则,基于IP的历史行为、行为特征以及用户反馈来调整封禁策略。例如,同一IP段下的多个异常用户行为可以作为封禁的依据。

3. 设备资源对抗的技术实现与优化

3.1. 实现:设备指纹与虚拟设备识别

  • 设备指纹:通过收集设备的硬件信息、软件版本、浏览器指纹、字体、分辨率等多维特征,生成唯一的设备指纹,并用于追踪用户的设备操作。
  • 虚拟设备检测:通过检测操作系统行为、磁盘读写模式、虚拟机特征等方式识别模拟器和虚拟设备。常见的识别技术包括CPU指令集检测、图形处理单元(GPU)分析等。

3.2. 优化方案

  • 设备指纹防碰撞技术:对于设备指纹的防碰撞,通过添加随机噪声或其他难以仿造的特征,防止黑产通过伪造指纹躲避追踪。
  • 机器学习识别虚拟设备:构建机器学习模型,结合设备指纹、行为特征等多维数据,进一步区分真实设备和虚拟设备。模型可以从设备的使用模式、网络行为、硬件配置等方面进行分析。
  • 持久设备标识:利用更难改变的硬件参数(如硬盘序列号、网卡MAC地址等),生成更稳定的设备标识,防止黑产通过频繁更换设备信息来绕过检测。

4. 操作资源对抗的技术实现与优化

4.1. 实现:自动化工具检测与验证码

  • 自动化工具检测:通过检测用户的行为模式、鼠标移动轨迹、点击频率等,识别自动化工具的使用。例如,通过分析用户的输入频率、点击模式,判断是否为“按键精灵”类工具操作。
  • 验证码系统:使用图片验证码、滑块验证码等验证工具,强制用户完成交互任务,确保操作是由人类完成,而非机器自动化操作。
  • 行为分析:通过追踪用户的操作行为,包括访问路径、页面停留时间、操作频率等,识别异常行为模式。

4.2. 优化方案

  • 无感知验证码:通过行为分析实现“无感知”验证码,避免用户体验的损害。通过检测用户的鼠标轨迹、页面访问逻辑,后台自动判断是否为自动化工具,并根据风险等级动态生成验证码。
  • 基于AI的行为验证:通过AI模型对用户的操作行为进行深度分析,识别机器和人的操作差异。AI可以综合考虑鼠标操作的轨迹平滑度、点击间隔的随机性等因素。
  • 加强自动化工具对抗技术:如结合系统日志、网络层数据分析等手段,进一步发现自动化脚本的特征,通过分析网络包行为或系统资源调用来识别自动化工具。

实际应用场景中的策略

在这里插入图片描述

  1. 新用户注册场景:采用严格的用户身份验证和行为分析,结合设备指纹和IP信誉评分,在注册过程中对可能的黑产操作进行筛查。
  2. 活动参与场景:为防止黑产批量参与“薅羊毛”活动,系统可以结合设备指纹、IP限制、以及无感知验证码等多层防护措施,识别异常参与行为。
  3. 支付与交易场景:通过多因素验证、黑名单、行为分析等手段,确保支付操作的安全,防止虚假交易或批量操作。

典型场景

业务场景 1:新用户注册场景

安全威胁

  • 黑产批量注册虚假账号,企图通过优惠活动、薅羊毛或进行欺诈行为。
  • 虚假用户通过爬虫或其他自动化工具频繁尝试注册。

组合防护措施

  1. 手机号验证:通过第三方短信服务进行实名制手机号验证,确保每个手机号只能注册一个账户。

    • 优化:允许用户使用微信、支付宝等第三方账号进行一键登录,减少用户输入环节,提升注册效率。
  2. 设备指纹:收集设备的硬件和软件信息,通过设备指纹防止同一设备批量注册。

    • 优化:对新设备首次注册时,引入“设备冷却期”,在短时间内限制同设备的多次注册请求。
  3. IP资源控制:限制每个IP地址在短时间内的注册数量,检测秒拨IP或代理IP的使用。

    • 优化:对普通用户无感知,只有在频繁注册的情况下触发验证码验证,从而提升体验。
  4. 验证码防护:引入无感知验证码,利用用户行为特征判断是否为自动化工具操作,只有当系统检测到异常时,才触发验证码验证。

    • 优化:使用滑块验证码等低干扰的验证方式,在检测到可疑行为后进一步确认用户身份。
  5. 行为分析:通过机器学习模型分析用户的注册行为,比如注册时间、填写表单的速度等,自动识别异常行为。

    • 优化:无感知的行为分析手段避免增加用户负担,仅对可疑用户进行深度验证。

综合策略

  • 前期检测(被动验证):通过手机号验证和设备指纹进行初步筛查,确保大部分用户可以快速完成注册。
  • 后期增强(主动验证):行为异常时触发IP资源控制、验证码验证等策略,防止批量注册和自动化工具操作。

业务场景 2:登录与敏感操作场景

安全威胁

  • 恶意用户使用爬虫或工具对登录接口进行暴力破解,尝试获取用户账户。
  • 真实用户的账户被盗,导致资金损失或信息泄露。

组合防护措施

  1. 多因素验证(MFA):引入多因素验证机制,尤其在用户进行敏感操作(如资金转账、修改密码等)时,要求通过短信、邮件或动态验证码二次确认。

    • 优化:用户可以选择更便捷的验证方式,如通过微信、指纹或面部识别进行快速验证,提升体验。
  2. IP信誉评分:根据IP的历史记录与行为特征,对IP进行评分,低分IP会被要求进行额外验证(如验证码、MFA)。

    • 优化:为可信IP提供无感知的登录体验,减少不必要的验证步骤。
  3. 设备信任机制:使用设备指纹对设备进行打分,系统可以记住用户已信任的设备,在下次登录时无需额外验证。

    • 优化:用户首次登录新设备时,需要进行二次验证,后续在该设备上操作时,直接通过。
  4. 行为分析与风控:通过对用户的操作习惯进行行为分析,比如登录时间、位置、设备等特征。当检测到异常行为(如异地登录或设备频繁更换)时,系统触发风控策略,要求额外的身份验证。

    • 优化:用户登录平常的设备和位置时,可以直接跳过这些验证流程,避免不必要的复杂操作。

综合策略

  • 常规登录(被动保护):在可信环境中,提供顺畅的登录体验,结合设备信任机制减少不必要的多次验证。
  • 异常登录(主动保护):当用户登录行为不符合常规模式时,触发多因素验证和行为分析,防止账户被盗。

业务场景 3:在线支付与交易场景

安全威胁

  • 黑产利用盗用的账户或支付信息进行非法交易,导致资金损失。
  • 恶意用户通过自动化工具进行大量小额支付,造成平台压力或欺诈。

组合防护措施

  1. 支付限额和频次控制:对单个账户的每日支付金额和支付次数进行限制,尤其是新注册的账户,避免批量小额支付造成资金风险。

    • 优化:对于长期使用的老用户,系统可以动态调整限额和频次,允许更多支付自由。
  2. 设备指纹与交易监控:在支付时收集用户设备指纹,结合交易监控系统,识别设备与交易金额、频次的异常行为。如果同一设备频繁进行小额支付,系统会触发风控。

    • 优化:对可信设备的用户,尤其是通过可信支付渠道(如支付宝、微信)的支付行为,减少频繁验证,提供便捷支付体验。
  3. 实时风险评估:引入实时风控系统,利用大数据分析用户的支付行为、支付设备、IP、地理位置等多维数据,评估每次交易的风险。高风险交易会被要求进行额外的身份验证。

    • 优化:通过无感知的风控策略,低风险用户可以快速完成支付,而高风险用户需进行二次确认(如短信验证码)。
  4. 行为验证与黑名单:将黑产行为、设备指纹、IP加入黑名单,系统实时监控交易行为,尤其对异常交易进行人工审核或自动拦截。

    • 优化:普通用户在黑名单检测过程中无感知,只对高风险用户触发额外验证或人工审核。

综合策略

  • 常规支付(被动验证):可信用户可以轻松完成支付,尤其在常用设备上,系统会自动通过设备指纹和交易历史进行快速验证。
  • 高风险支付(主动验证):当检测到支付频次、金额或设备异常时,触发风险评估,结合多因素验证,确保交易的安全性。

业务场景 4:大促活动参与场景

安全威胁

  • 恶意用户批量注册虚假账号,利用机器人工具参与大促活动获取优惠券。
  • 黑产通过秒拨IP或虚拟设备,进行高频活动参与,压低正常用户的获奖概率。

组合防护措施

  1. 设备指纹与IP资源控制:对每个设备、IP参与活动的次数进行限制,防止同一设备或IP批量参与。

    • 优化:对于普通用户,系统只在异常参与行为时才进行限制,以免影响正常活动体验。
  2. 秒拨IP检测与代理IP识别:通过监控IP切换频次和IP来源,检测秒拨IP或代理IP,并限制其活动参与次数。

    • 优化:对来自可信IP的用户减少限制,减少参与活动时的额外验证步骤。
  3. 行为分析与机器人检测:结合用户的参与行为(如参与频率、点击速度等)进行行为分析,自动检测并拦截自动化工具或批量操作。

    • 优化:通过机器学习不断优化检测模型,降低误判率,保证正常用户的参与流畅度。
  4. 活动次数与奖励限额:对每个账户的参与次数和活动奖励进行限额,防止黑产通过大量账户获取不合理的优惠。

    • 优化:对于长期活跃的用户,提供更高的参与次数和奖励限额,提升用户体验。

综合策略

  • 初级防护(被动限制):对所有参与者进行设备指纹、IP检测,通过秒拨IP和代理IP识别初步过滤异常参与者。
  • 深度防护(主动检测):通过行为分析、机器人检测等手段进一步识别黑产操作,在活动参与的后期增强检测力度。

评估反馈数据

1. 评估的关键指标

安全相关指标

  • 安全事件发生率:在各个业务场景中,评估由于黑产攻击、自动化工具或账户盗取导致的安全事件数量,如虚假注册、暴力破解登录、非法交易等。

    • 目标:在安全措施部署后,安全事件发生率应显著下降。
  • 风控触发率:记录风控策略(如验证码、二次验证)的触发频率,衡量策略的覆盖面是否足够。

    • 目标:风控触发率应合理控制在安全风险高的场景下,避免过度影响正常用户。

用户体验相关指标

  • 用户流失率:监控因安全验证流程过多或过于复杂导致的用户流失情况,如新用户注册中断、用户放弃支付等。

    • 目标:用户流失率应保持在合理范围内,安全验证不应成为主要流失原因。
  • 操作成功率:评估用户在各个环节的操作成功率,如注册完成率、登录成功率、支付成功率等。

    • 目标:优化验证流程后,操作成功率应有所提升。
  • 用户投诉率:通过分析用户的投诉记录,关注用户对安全策略的反感度,如验证码频率、二次验证的不便等。

    • 目标:用户投诉率应显著下降,尤其是投诉集中在特定安全环节时。

2. 数据收集与分析

数据来源

  • 日志分析:通过服务器日志,分析安全事件、风控触发、操作成功率等数据,监控黑产攻击和风控策略的表现。

    • 实例:在新用户注册场景中,通过分析设备指纹、IP资源控制的数据,评估是否成功阻挡了大量虚假注册。
  • 用户反馈与调研:收集用户反馈和满意度调查,重点关注在支付、登录等敏感操作中的用户体验。

    • 实例:调查用户对多因素验证和验证码体验的反馈,是否频繁触发,是否影响用户的操作流畅度。
  • 安全事件报告:对所有已发现的安全事件(如账户被盗、资金损失等)进行统计,分析事件发生的原因和防护策略的有效性。

    • 实例:分析在线支付场景中,黑产是否绕过了设备指纹与风控系统进行非法交易。

数据分析方法

  • A/B测试:在不同用户群体中测试不同的安全策略组合,分析对安全性和用户体验的影响。

    • 实例:在部分用户中引入较严格的风控措施,另一部分用户保留较宽松的策略,比较用户流失率和安全事件的变化。
  • 机器学习模型分析:通过机器学习模型,分析用户行为数据,自动识别正常用户与可疑用户的行为模式,减少误判率。

    • 实例:在登录与敏感操作场景中,通过分析用户的操作习惯和设备特征,预测登录成功率与安全风险。

3. 基于数据的优化建议

针对新用户注册场景的优化

  • 问题:过多的验证码或设备指纹限制,可能导致用户在注册过程中流失。
  • 优化:可以根据用户的历史数据、行为特征,适度降低验证难度,并通过机器学习模型提高异常行为检测的准确度,减少对普通用户的干扰。

针对登录与敏感操作场景的优化

  • 问题:多因素验证频繁触发可能引发用户反感,尤其在低风险操作中。
  • 优化:可以引入更加智能的风险评估系统,根据用户设备和登录习惯动态调整验证强度,在低风险情况下自动通过登录或操作请求。

针对在线支付与交易场景的优化

  • 问题:部分用户在进行频繁小额支付时,风控系统过于敏感,导致支付被阻止或频繁触发验证。
  • 优化:对于可信用户(如老用户或高频支付用户),可降低小额支付时的验证强度,通过设备信任机制和交易历史记录优化用户支付体验。

针对大促活动场景的优化

  • 问题:黑产攻击时,风控措施对普通用户造成了过多限制,影响参与体验。
  • 优化:加强秒拨IP与代理IP的检测手段,优化设备指纹采集技术,降低对普通用户参与活动的干扰。此外,可针对黑产行为引入更高频率的验证与拦截。


业务安全的本质:资源对抗

业务安全防护的核心在于通过提高黑产的资源获取和操作成本,阻止其获利。例如,增强用户身份验证可以使黑产在注册新用户时投入更多资源,验证码等措施则增加了黑产自动化操作的难度,从而降低了他们的获利能力。

在这里插入图片描述

业务安全和基础安全在本质上就有很大的不同:在基础安全中,黑客将技术作为核心竞争力;在业务安全中,黑产将资源作为核心竞争力。谁能够以更低的成本掌握更多的资源,谁就能窃取公司更大的利益。

因此,作为防守方,我们在关注业务安全的时候,也应当将关注的重点放在如何提高黑产的资源成本上,这样才能够为公司提供有力的业务安全防护


业务安全中的 IPDRR 防御框架

在这里插入图片描述

NIST 的 IPDRR 安全框架原本应用于基础安全防护,但在业务安全中同样具有指导意义。IPDRR(Identify, Protect, Detect, Respond, Recover)模型可以帮助我们从多个维度全面应对黑产攻击,构建纵深防御体系:

  1. Identify(识别)
    业务安全中的识别阶段与基础安全类似,重点是进行威胁评估,发现黑产可能通过业务逻辑窃取资源的路径和成本。对于业务场景,如红包、优惠券发放、邀约活动等,识别黑产的目标点尤为重要。

    • 业务风险点识别:例如,识别出黑产通过大量注册小号参与邀约活动的风险。
    • 获利点分析:黑产主要的利益驱动点是公司提供的现金红包或其他优惠。
  2. Protect(保护)
    保护阶段的核心是通过设计安全产品方案来提升黑产的攻击成本。例如,通过双因子认证、验证码等手段提高账户安全性,或为特定业务场景设计复杂的防护流程,如延迟提现或增加参与条件。

    • 举措:在登录场景中加入二次验证,或在活动中延迟红包发放时机。
  3. Detect(检测)
    检测主要依赖于风控系统实时监控用户行为,快速识别异常操作。通过大数据分析和机器学习模型,可以有效检测出黑产的异常活动,如频繁注册或可疑提现。

    • 监控工具:使用行为分析和反欺诈模型检测异常交易和操作。
  4. Respond(响应)
    一旦检测到黑产攻击,系统需要迅速响应,通过封禁账号、拦截操作、限制提现等方式,阻止黑产进一步获利。

    • 响应措施:实时冻结可疑账号,防止提现或转移资金。
  5. Recover(恢复)
    恢复阶段包括对业务损失的修复,如将被盗账号返还给原用户,退回已经发放的红包等。这也涉及到通过运营策略恢复正常业务流程。

    • 举措:将资金从黑产账号中回收到公司资源池。

邀约活动的威胁评估

以邀约活动为例,业务安全中的威胁评估需要综合考虑以下五个关键因素:

  1. 业务目标
    邀约活动的目的是通过用户邀请获取新用户,从而实现用户增长。黑产会通过批量注册小号刷邀约奖励。

  2. 黑产获利程度
    黑产通过参与活动获取红包,获利金额可能较低(每次几块到十几块不等),但通过大规模注册小号,累积利润可观。

  3. 实时性要求
    对于邀约活动,拦截时机至关重要。如果实时拦截会增加用户体验的损害(如频繁的验证码或验证要求),因此更适合在关键节点(如提现阶段)进行拦截。

  4. 漏判影响
    如果黑产未被及时识别,可能会导致资金损失,但不会影响正常用户的使用,因此漏判的影响较低。

  5. 误伤影响
    误伤正常用户则会导致用户对活动失去信任,影响用户体验和公司声誉。避免误伤是邀约活动防护中的核心要务。

在此场景中,防御策略应着重放宽前期检测,确保用户能顺利完成活动流程,同时在提现阶段引入更严格的验证,以降低黑产成功获利的可能性。


提升黑产攻击成本的安全产品方案

在应对黑产时,通过增加资源成本可以有效遏制黑产的攻击。例如:

  1. 登录安全产品方案
    增加短信验证或多因子认证,显著增加黑产在盗号中的资源成本。黑产必须绕过多个验证关卡,增加了其攻击难度。

  2. 满减红包产品方案

    • 领取条件:例如要求用户完成多次订单才能领取大额红包,有效提升黑产参与的复杂度。
    • 满减金额:调整为满 10.01 减 10,相较于直接满 10 减 10,黑产需要额外付出资金完成订单,成本更高。
    • 有效期:缩短红包有效期,黑产无法迅速获利,降低了他们利用红包牟利的空间。
  3. 邀约活动安全方案
    提高奖励获取的难度,如要求新用户连续活跃多天,或在提现时设置更严格的验证措施,这些都可以显著提高黑产的攻击成本。


风控系统设计

风控系统的背景与重要性

产品方案属于事前的防控,是从根本上提高黑产操作的成本;风控系统属于事中的防控,是在检测到黑产行为时才进行拦截

在当今复杂的互联网业务中,黑产(黑色产业链)通过各种方式试图侵入应用和系统,窃取敏感信息或谋取经济利益。为了在不影响正常用户体验的情况下,精准地拦截这些恶意行为,风控系统被引入作为一种核心的安全防护手段。与传统产品方案(如通过多重验证手段来提升安全性)不同,风控系统采用数据分析和智能判定,能够动态识别并处理恶意操作,保持平衡。

在这里插入图片描述


风控系统的核心模块

1. 前端 SDK 数据采集

风控系统的起点在于数据采集。前端SDK通过集成到用户的设备中,能够收集用户身份信息、行为轨迹、设备指纹等关键数据。这些数据不仅包括基本的用户输入行为,还涉及设备属性、点击轨迹等。这些采集到的丰富数据为后续的特征提取和风控判定提供了基础。

在这里插入图片描述

2. 规则引擎的工作原理

在风控系统中,规则引擎扮演了核心角色,通过分析采集到的海量数据来识别异常行为或潜在的黑产活动。规则引擎通常依赖两方面来完成判定:

  • 特征提取:例如,用户在特定时间内进行了多少次登录尝试、是否有不同设备反复登录同一账户等,这些都属于行为特征。
  • 规则判定:基于提取的特征,风控团队设定相应的规则,例如:“同一设备在一分钟内进行5次失败登录应视为异常。”
    在这里插入图片描述
工作模式

规则引擎有三种常见的工作模式:

  • 同步模式:实时判定,登录前进行判断,确保拦截黑产。但其侵入性较高,会影响正常业务流程。
  • 异步模式:用户可先行登录,后续判断其行为是否合法,若为黑产则进行封号或强制退出登录。该模式兼顾了用户体验与风控。
  • 离线模式:通过更长时间的数据积累进行分析,准确率更高,但处理时效较低。适用于风险较低的操作。
    在这里插入图片描述

3. 技术选型

灵活性过高又会大大提高规则管理的复杂性,是个矛盾。

  • 通过 Redis 完成实时计算;通过 Flink 完成异步计算;通过 Hive 完成离线计算等.

  • 最出名的开源规则引擎Drools: 并没有提供十分高效的规则管理工具,并不是一个适用于风控系统的规则引擎

  • 开源的风控系统中 Nebula :提供各种用来增加修改规则的 Web 页面。

  • 也可以使用Aviator、QLExpress、Groovy等在Java 中提供动态开发支持的语言,来进行底层的规则执行,在此基础之上,我们再去封装自己理解的规则管理。这样一来,我们就实现了灵活性和复杂度的平衡

在这里插入图片描述

总结来说,规则引擎是风控系统的核心。想要做好一个规则引擎,我们需要思考清楚两件事情:
第一,规则引擎以什么样的模式接入业务;
第二,如何进行规则管理.


4. 验证流程的重要性

即使规则引擎判断某些行为为异常,也不能立即拦截。这是因为规则引擎永远存在“误伤”的风险。通过加入验证流程,如滑块验证码、短信验证等方式,可以减少误伤率。

例如,对于密码多次输入错误的情况,可能是用户忘记了密码,而非黑产攻击。此时,简单的滑块验证就能区分人机操作,避免不必要的封禁。


规则引擎的设计挑战

  1. 灵活性与复杂性的平衡
    规则引擎设计的难点之一是如何有效管理大量的规则,同时确保其高效执行。现有工具如Drools、Nebula等虽然能够提供规则定义与执行的框架,但它们在规则管理上的灵活性与易用性较差。一个完善的规则引擎应当支持业务定制,同时又不应增加过多的操作复杂性。使用Java中的动态开发语言(如Aviator、QLExpress等)进行规则开发,是常见的解决方案。

  2. 工作模式的选择
    在不同的业务场景下,规则引擎的工作模式需要灵活选择。例如,在提现等敏感操作时,必须使用同步模式,以防资金流失,而在登录或低风险操作中,异步或离线模式则可以通过更多的数据来提升识别精度。


风控人员的角色与职责

风控系统的运营需要多方面的支持,主要包括:

  • 策略人员:负责数据分析与规则迭代。随着黑产手段的不断升级,规则需要持续更新,以保持有效性。
  • 运营人员:处理用户投诉与监控舆情,确保风控系统在用户中保持良好的口碑,并应对黑产在社交媒体上的公开挑衅。
  • 应急响应人员:当系统出现大规模误伤或安全漏洞时,紧急处理和修复,避免公司产生更大的损失。

风控系统小结

在这里插入图片描述

一个完整的风控系统包括前端SDK、规则引擎、验证流程等多个环节。通过动态采集用户数据、结合不同的工作模式、有效管理规则,风控系统能够在保持用户体验的前提下,精准拦截黑产行为。同时,风控人员的持续投入、规则的迭代优化,是确保系统长期有效运行的关键。


机器学习

机器学习的能力和局限

  • 机器学习主要用于总结经验和模式,但不能创新,因此它的应用效果取决于安全人员的知识和技能。
  • 机器学习不擅长应对“未知的威胁”,只能通过已有的规则或模式来挖掘已知威胁。

无监督学习在安全领域的应用

  • 无监督学习的核心是挖掘数据的分布特征,可以发现离群点或聚集特征。常用于识别潜在的异常行为,但无法直接断定这些异常就是攻击。
  • 实际场景中,通过监控注册账号行为或服务器访问外部服务数量等聚类特征,可以间接提示异常。

有监督学习的应用与挑战

  • 有监督学习需要大量的标签数据,挑战在于标签的准确性和效率。手动标记数据成本高且不全面,打标标准存在偏差。
  • 合理的打标方案:通过追踪攻击结果(如数据的CIA影响)自动生成标签数据,并不断迭代优化模型。

具体应用建议

在这里插入图片描述

  • 基于RASP(Runtime Application Self-Protection)直接追踪攻击的后果,生成高效的标签数据,让WAF不断优化其拦截规则。
  • 在业务安全中,通过签名校验、设备监控等机制为异常行为打标,持续更新风控系统。

分析与建议

在这里插入图片描述

  1. 无监督学习的场景适用性:无监督学习适合监控数据异常,特别是在黑产利用批量操作的情况下。通过分析行为聚类,尽管无法直接判断恶意行为,但可以作为风险预警工具,辅助人工分析。

  2. 有监督学习的闭环改进:有监督学习在安全领域的闭环需要有效的标签体系支持。通过追踪攻击行为的后果(如数据泄露或服务宕机)进行打标,可以提高模型的有效性,并通过WAF和RASP等工具的反馈形成持续优化的机制。

  3. 持续对抗策略:黑产与风控系统的对抗是长期的,有监督学习通过迭代不断优化规则,结合无监督学习的异常检测能力,可以提高应对新兴威胁的效率。避免直接拦截标记的恶意行为,降低黑产对抗力度。


设备指纹

设备指纹在风控系统中的作用至关重要。设备指纹是一种通过采集设备的硬件、软件及动态特征,为设备生成唯一标识的技术。它不仅能识别设备的唯一性,还能对设备的异常行为进行追踪与判断,尤其在防御黑产方面起到了重要作用。设备指纹的稳定性和唯一性是其技术设计的关键要素。

设备指纹的优势

  1. 唯一性高:设备的使用痕迹和特征因个体不同而独特。
  2. 稳定性强:硬件特征不易改变,设备指纹长期有效。
  3. 信息丰富:涵盖从硬件到应用的多层次信息,有助于准确判定设备身份。

设备指纹的主要挑战

  1. 设备重置后保持不变:恢复出厂设置后,设备ID会改变,因此不能依赖系统ID进行设备追踪。
  2. 设备更新后保持不变:黑产可能通过更换硬件来伪造设备,设备指纹需要在一定的变动下保持稳定。

信息采集

设备指纹的信息采集涉及四个方面:

  1. 软件ID:如iOS的IDFA、Android的IMEI等,但这些ID可能被用户重置或限制访问。
  2. 软件静态特征:包括操作系统版本、应用信息等,虽然这些信息易变,但能帮助识别设备的唯一性。
  3. 硬件静态特征:如主板、CPU等,通常不易变动,因此具备稳定性。
  4. 硬件动态特征:基于设备硬件特性(如传感器的偏差)进行识别,有较好的稳定性。

设备指纹计算

通过上述信息的采集,系统可以计算出设备的唯一指纹。该过程涉及相似度计算(如欧式距离、联合概率分布等算法)来判断设备是否为同一设备,进而为其生成或更新设备指纹。


异常设备识别

风控系统还通过设备指纹识别异常设备,方法包括:

  1. 系统信息识别:基于系统参数识别虚拟机。
  2. 硬件识别:虚拟机缺乏真实硬件支持,表现为传感器异常、相机无法拍照等。
  3. 系统状态识别:通过设备的充电状态、网络位置等信息,识别批量操控的设备。

小结

在这里插入图片描述

设备指纹技术在风控系统中扮演着识别与追踪设备的关键角色。通过结合硬件与软件特征,风控系统可以对设备实现稳定且唯一的标识,并有效识别异常设备,防范黑产攻击。

设备指纹的设计和实现需要兼顾稳定性和唯一性,同时不断迭代应对黑产伪造设备的对抗措施。


安全运营

业务中处理黑产的手段

  1. 直接拦截

    • 在识别出黑产后,直接拦截是最简单有效的手段,可以立即切断黑产的活动。对于同步识别模式,直接拒绝登录或操作请求,而异步模式下可以锁定账号。尽管有效,但直接拦截的风险在于可能会误伤正常用户,因此通常在风控系统识别率较高时使用。
  2. 验证拦截

    • 人机验证与同人验证是常见的验证方式,前者用于区分机器与人类操作,后者用于确认操作者是否为账号持有人。滑块验证等技术通过分析操作轨迹区分人类与机器,短信验证和生物识别(如人脸识别、声纹识别)则提高了验证的精准性。验证拦截的优势是其对正常用户影响较小,适用范围广,但验证技术本身的安全性和抗黑产能力需慎重考虑。
  3. 假数据拦截

    • 在爬虫场景中,通过返回虚假的业务数据(如酒店或机票价格)误导黑产是有效的策略。假数据既能避免直接拦截或验证时被识别,也能降低黑产绕过防御的动机。但生成合理的假数据成本较高,需平衡虚假数据与真实业务数据的差异性。

业务之外处理黑产的运营手段

  1. 情报收集
    持续监控公开信息源(如微博、贴吧)以及黑产交流群,有助于运营人员掌握黑产动向,及时采取应对措施并完善防御系统。情报收集是对抗黑产的基础手段。

  1. 钓鱼执法
    通过假装购买黑产服务(如账号或粉丝)来获取黑产的操作方式,然后反向分析其行为漏洞。这一手段能为风控系统提供宝贵数据,但钓鱼执法需谨慎,避免引发不必要的法律风险。

  1. 案件打击
    借助法律手段与警方协作,能够从根本上打击黑产团伙。要确保此类行动成功,需要提供明确的目标、损失金额以及确凿的证据。公司需帮助警方定位黑产源头,确保案件中的财务损失有清晰的估算。

风控系统与运营策略结合

风控系统的核心作用是提高黑产识别的准确度,以便为后续处理提供依据。通过结合上述拦截与验证手段,以及对外的情报收集与案件打击,企业可以建立一个长期有效的防御体系。


小结

在这里插入图片描述

  • 黑产识别后处理的三大手段:直接拦截、验证拦截、假数据拦截。
  • 业务外的三大运营手段:情报收集、钓鱼执法、案件打击。
  • 风控系统作为核心,需结合各种手段灵活应对黑产攻击。

在这里插入图片描述

相关文章:

Web安全 - 构建全面的业务安全保护防御体系

文章目录 业务安全概述业务安全 vs. 基础安全业务安全的防护业务安全的防护策略1. 用户资源对抗的技术实现与优化2. IP资源对抗的技术实现与优化3. 设备资源对抗的技术实现与优化4. 操作资源对抗的技术实现与优化实际应用场景中的策略 典型场景业务场景 1:新用户注册…...

机器学习(2):机器学习的相关术语

场景示例: 你周日约了小李、老王打牌,小李先来了,老王没来。你想打电话叫老王过来。小李说:“你别打电话啦,昨天老王喜欢的球队皇马输球了,他的项目在上个礼拜也没成功上线,再加上他儿子期末考…...

Leecode热题100-75.颜色分类

给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下解…...

408算法题leetcode--第22天

200. 岛屿数量 200. 岛屿数量时间:O(mn);空间:O(min(m, n)),队列最大入队个数,可以想象从左上到右下,第一次入队1个,第二次出队1,入队2,第三次出队2,入队3……...

dubbo微服务

一.启动nacos和redis 1.虚拟机查看是否开启nacos和redis docker ps2.查看是否安装nacos和redis docker ps -a3.启动nacos和redis docker start nacos docker start redis-6379 docker ps二.创建三个idea的maven项目 1.第一个项目dubboapidemo 2.1.1向pom.xml里添加依赖 …...

如何在 DAX 中计算多个周期的移动平均线

在 DAX 中计算移动聚合很容易。但是,计算一段时间内的移动平均值时会有一些陷阱。由于其中一些陷阱是定义问题,因此我们必须小心,不要选择错误的方法。让我们看看细节。欢迎来到雲闪世界。 添加图片注释,不超过 140 字&#xff08…...

微信小程序 图片的上传

错误示范 /*从相册中选择文件 微信小程序*/chooseImage(){wx.chooseMedia({count: 9,mediaType: [image],sourceType: [album],success(res) {wx.request({url:"发送的端口占位符",data:res.tempFiles[0].tempFilePath,method:POST,success(res){//请求成功后应该返…...

软件测试人员发现更多程序bug

软件测试人员发现更多程序bug 1. 理解需求和业务,需求评审时候发现bug 熟悉了产品的业务流程、才能迅速找出软件中存在的一些重要的缺陷,发现的软件缺陷才是有价值的。否则即使你能找到一些软件缺陷,那也是纯软件的缺陷,价值不大…...

Nagle 算法:优化 TCP 网络中小数据包的传输

1. 前言 在网络通信中,TCP(传输控制协议)是最常用的协议之一,广泛应用于各种网络应用,如网页浏览、文件传输和在线游戏等。然而,随着互联网的普及,小数据包的频繁传输成为一个不容忽视的问题。…...

C#入门教程

目录 1.if分支语句 2.面向对象 3.static简单说明 1.if分支语句 我们的这个C#里面的if语句以及这个if-else语句和C语言里面没有区别,就是打这个输出上面的方式不一样,c#里面使用的是这个console.writeline这个指令,其他的这个判断逻辑都是一…...

【MySQL报错】---Data truncated for column ‘age‘ at row...

目录 一、前言二、问题分析三、解决办法 一、前言 欢迎大家来到权权的博客~欢迎大家对我的博客进行指导,有什么不对的地方,我会及时改进哦~ 博客主页链接点这里–>:权权的博客主页链接 二、问题分析 问题一修改表结构 XXX 为 not n…...

Go基础学习08-并发安全型类型-通道(chan)深入研究

文章目录 chan基础使用和理解通道模型:单通道、双通道双向通道单向通道单向通道的作用 缓冲通道和非缓冲通道数据发送和接收过程缓冲通道非缓冲通道 通道基本特性通道何时触发panicChannel和Select结合使用Select语句和通道的关系Select语句的分支选择规则有那些Sel…...

some 蓝桥杯题

12.反异或01串 - 蓝桥云课 (lanqiao.cn) #include "bits/stdc.h" #define int long long using namespace std; char c[10000000]; char s[10000000]; int cnt,Ans,mr,mid; int maxi; int p[10000000],pre[10000000]; signed main() {ios::sync_with_stdio(0);cin.t…...

[linux 驱动]input输入子系统详解与实战

目录 1 描述 2 结构体 2.1 input_class 2.2 input_dev 2.4 input_event 2.4 input_dev_type 3 input接口 3.1 input_allocate_device 3.2 input_free_device 3.3 input_register_device 3.4 input_unregister_device 3.5 input_event 3.6 input_sync 3.7 input_se…...

2023_Spark_实验十:Centos_Spark Local模式部署

参考这篇博客:【Centos8_配置单节点伪分布式Spark环境】_centos8伪分布式环境搭建-CSDN博客...

pyecharts-快速入门

pyecharts文档:渲染图表 - pyecharts - A Python Echarts Plotting Library built with love. pyecharts-gallery文档:中文简介 - Document (pyecharts.org) 一、快速入门案例 from pyecharts.charts import Barbar Bar() bar.add_xaxis(["衬衫…...

vue3打包疯狂报错

打包的时候报错很多Cannot find name ‘xxx‘ 。 但是npm run dev 是运行正常的。 解决方法:package.json中的vue-tsc --noEmit 删掉就可以了。 例如: 这是原来的 {"scripts": {"dev": "vite","build": &quo…...

STM32 软件触发ADC采集

0.91寸OLED屏幕大小的音频频谱,炫酷! STM32另一个很少人知道的的功能——时钟监测 晶振与软件的关系(深度理解) STM32单片机一种另类的IO初始化方法 ADC是一个十分重要的功能,几乎任何一款单片机都会包含这个功能&a…...

Android SystemUI组件(08)睡眠灭屏 锁屏处理流程

该系列文章总纲链接:专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明: 说明:本章节持续迭代之前章节的思维导图,主要关注左侧上方锁屏分析部分 睡眠灭屏 即可。 Power按键的处理逻辑最终是由PhoneWindowManager来完…...

C# 表达式与运算符

本课要点: 1、表达式的基本概念 2、常用的几种运算符 3、运算符的优先级 4、常见问题 一 表达式 表达式是由运算符和操作数组成的。、-、*和/等都是运算符,操作数包括文本、常量、变量和表达式等。 二 算术运算符 2.1 算术运算符的使用 三 常见错误 …...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中,要设置一个操作在指定延迟后(例如3秒)执行,可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法,它接受两个参数: 要执行的函数&…...