互联网金融反欺诈场景中,点(Vertex)和边(Edge)设计总结

在互联网金融的反欺诈场景中,图数据库(如 Nebula Graph)通过建模复杂关系网络来识别异常行为和潜在风险。以下是反欺诈场景中常用的 ** 点(Vertex)和边(Edge)** 设计,以及关键属性说明:

一、反欺诈场景中的核心点类型

1. 用户(User)

关键属性:
CREATE TAG user (
    user_id string NOT NULL,       -- 用户唯一标识
    name string,                   -- 姓名
    id_card string,                -- 身份证号(脱敏存储)
    phone string,                  -- 手机号
    email string,                  -- 邮箱
    register_ip string,            -- 注册IP
    register_time timestamp,       -- 注册时间
    last_login_time timestamp,     -- 最后登录时间
    is_verified bool,              -- 是否实名认证
    risk_score double,             -- 风险评分(动态更新)
    fraud_flag bool,               -- 是否欺诈标记
    fraud_reason string            -- 欺诈原因说明
);
反欺诈价值:
  • 通过关联分析多个用户的设备 / IP / 联系人重叠,识别团伙欺诈
  • 风险评分实时聚合用户行为和关联风险

2. 设备(Device)

关键属性:
CREATE TAG device (
    device_id string NOT NULL,     -- 设备唯一标识(IMEI/IDFA)
    device_type string,            -- 设备类型(手机/平板/PC)
    os string,                     -- 操作系统
    device_fingerprint string,     -- 设备指纹(硬件信息哈希)
    ip_address string,             -- 当前IP
    ip_history list<string>,       -- IP历史记录
    is_rooted bool,                -- 是否Root/越狱
    install_apps list<string>,     -- 安装应用列表
    risk_level string,             -- 设备风险等级
    blacklist_count int            -- 关联黑名单次数
);
反欺诈价值:
  • 检测同一设备被多个用户使用(设备共享)
  • 识别高风险设备(Root / 越狱设备、安装恶意应用)

3. 账户(Account)

关键属性:
 
CREATE TAG account (
    account_id string NOT NULL,    -- 账户ID
    account_type string,           -- 账户类型(储蓄卡/信用卡)
    bank_name string,              -- 开户行
    card_prefix string,            -- 卡号前6位(识别卡组织)
    card_suffix string,            -- 卡号后4位(脱敏展示)
    open_time timestamp,           -- 开户时间
    transaction_count int,         -- 交易次数
    abnormal_trans_count int,      -- 异常交易次数
    is_frozen bool                 -- 是否冻结
);
反欺诈价值:
  • 分析账户交易模式(频次、金额、时间分布)
  • 检测跨账户资金流动异常(如集中转入分散转出)

4. IP 地址(IP)

关键属性:
CREATE TAG ip (
    ip_address string NOT NULL,    -- IP地址
    isp string,                    -- 运营商
    geolocation string,            -- 地理位置
    first_seen timestamp,          -- 首次出现时间
    last_seen timestamp,           -- 最后出现时间
    risk_score double,             -- IP风险评分
    associated_users int,          -- 关联用户数
    is_dynamic_ip bool             -- 是否动态IP
);
反欺诈价值:
  • 识别高风险 IP(代理 IP、暗网 IP)
  • 检测同一 IP 短期内注册大量账户(批量注册)

5. 银行卡 BIN(BankCardBIN)

关键属性:
CREATE TAG bank_card_bin (
    bin_code string NOT NULL,      -- 银行卡BIN码(前6位)
    bank_name string,              -- 发卡行
    card_type string,              -- 卡类型(借记卡/信用卡)
    card_level string,             -- 卡等级(普卡/金卡/白金卡)
    fraud_count int,               -- 关联欺诈交易数
    risk_level string              -- 风险等级
);
反欺诈价值:
  • 识别高风险发卡行或卡类型
  • 分析特定 BIN 码的欺诈交易模式

二、反欺诈场景中的核心边类型

1. 注册 / 登录关系(REGISTERED/LOGGED_IN)

关键属性:
CREATE EDGE registered (
    register_time timestamp,       -- 注册时间
    ip_address string,             -- 注册IP
    device_id string,              -- 注册设备
    user_agent string,             -- 用户代理
    is_suspicious bool             -- 是否可疑注册
);

CREATE EDGE logged_in (
    login_time timestamp,          -- 登录时间
    ip_address string,             -- 登录IP
    device_id string,              -- 登录设备
    login_success bool,            -- 是否登录成功
    auth_method string             -- 认证方式
);
反欺诈价值:
  • 检测异地登录、非常用设备登录
  • 分析注册 IP / 设备与已知欺诈账户的关联

2. 设备使用关系(USED_BY)

关键属性:
CREATE EDGE used_by (
    first_used_time timestamp,     -- 首次使用时间
    last_used_time timestamp,      -- 最后使用时间
    usage_count int,               -- 使用次数
    is_primary_device bool         -- 是否主设备
);
反欺诈价值:
  • 发现设备共享网络(多个用户使用同一设备)
  • 识别 “养号” 行为(同一设备轮流登录多个账户)

3. 交易关系(TRANSACTION)

关键属性:
CREATE EDGE transaction (
    transaction_id string NOT NULL, -- 交易ID
    amount double,                  -- 交易金额
    trans_time timestamp,           -- 交易时间
    trans_type string,              -- 交易类型(充值/提现/转账)
    merchant_id string,             -- 商户ID
    payment_method string,          -- 支付方式
    device_id string,               -- 交易设备
    ip_address string,              -- 交易IP
    is_authorized bool,             -- 是否本人授权
    is_fraudulent bool,             -- 是否欺诈交易
    fraud_detected_time timestamp   -- 欺诈发现时间
);
反欺诈价值:
  • 分析交易模式(如夜间大额转账、频繁小额测试)
  • 构建资金流向图,识别洗钱网络

4. 关联关系(RELATED_TO)

关键属性:
CREATE EDGE related_to (
    relation_type string,          -- 关系类型(手机号关联/邮箱关联)
    relation_strength double,      -- 关系强度(0-1)
    first_seen timestamp,          -- 首次发现时间
    last_seen timestamp            -- 最后发现时间
);
反欺诈价值:
  • 识别共享联系人(如多个账户使用同一紧急联系人)
  • 发现隐藏的社交网络(如欺诈团伙成员关联)

5. 风险传播关系(RISK_PROPAGATION)

关键属性:
CREATE EDGE risk_propagation (
    risk_score double,             -- 传播的风险分数
    propagation_time timestamp,    -- 风险传播时间
    risk_type string,              -- 风险类型(欺诈/套现/洗钱)
    confidence_level double        -- 置信度
);
反欺诈价值:
  • 实现风险的动态传播(如发现一个欺诈账户,自动提升其关联账户风险)
  • 构建风险传播网络,评估潜在影响范围

三、反欺诈场景中的典型查询模式

1. 设备共享检测

-- 查询与已知欺诈用户使用同一设备的其他用户
GO FROM "fraud_user1" OVER used_by REVERSELY YIELD used_by._dst AS device_id |
GO FROM $-.device_id OVER used_by YIELD used_by._dst AS associated_user
WHERE $-.associated_user != "fraud_user1";

2. 风险传播分析

-- 查找距离已知欺诈账户2跳以内的所有账户及其风险评分
GO 2 STEPS FROM "fraud_user1" OVER risk_propagation 
YIELD risk_propagation._dst AS at-risk_user, 
       SUM(risk_propagation.risk_score) AS total_risk;

3. 异常交易模式识别

-- 查询某用户在非工作时间的大额转账
LOOKUP ON transaction WHERE transaction.user_id == "user1" 
  AND transaction.trans_time % 86400 < 28800  -- 早8点前
  AND transaction.trans_time % 86400 > 72000  -- 晚8点后
  AND transaction.amount > 10000
YIELD transaction._dst AS recipient, 
      transaction.amount, 
      transaction.trans_time;
 

四、反欺诈图模型优化建议

1. 索引设计

-- 用户ID索引
CREATE TAG INDEX idx_user_id ON user(user_id);
-- 设备ID索引
CREATE TAG INDEX idx_device_id ON device(device_id);
-- 交易时间索引
CREATE EDGE INDEX idx_trans_time ON transaction(trans_time);
-- 风险评分索引
CREATE TAG INDEX idx_risk_score ON user(risk_score);

2. 实时计算与离线分析结合

  • 实时计算:通过 Nebula Graph 实时查询关联关系,识别紧急风险
  • 离线分析:定期用图算法(如 PageRank、社区发现)更新风险评分

3. 数据清洗与特征工程

  • 对设备指纹进行标准化处理
  • 计算交易时间的偏离度(如是否非工作时间)
  • 提取 IP 地址的地理位置、ASN 等特征

五、注意事项

  1. 数据时效性:反欺诈数据需要高频更新(如实时或准实时)
  2. 隐私保护:敏感数据需脱敏存储(如身份证号、银行卡号)
  3. 模型迭代:欺诈手段不断变化,需定期更新风险规则和图模型
  4. 性能优化:避免过深的图遍历(建议跳数≤3),通过预计算降低实时查询压力
通过合理设计点边模型和查询策略,Nebula Graph 可以有效支持互联网金融反欺诈场景,帮助企业及时发现潜在风险,保护资产安全。
posted @ 2025-07-28 14:48  郭慕荣  阅读(36)  评论(0)    收藏  举报