第16章:深蓝的涟漪-《复仇星耀途》


    第(2/3)页

    她睁开眼,打开数据包。

    解压后的文件夹里,是数百个加密文件,每个文件大小在几十MB到几百MB不等。文件名格式统一:deepblue_pre_enc_batch7_001.bin、deepblue_pre_enc_batch7_002.bin……

    路容随机选择一个文件,用公司提供的解密工具尝试打开。

    工具弹出提示:“需要密钥管理服务授权,请登录。”

    她登录公司内网,进入密钥管理平台。平台界面简洁,显示着她已申请的权限列表。其中一条:“深蓝计划批次7数据解密权限——待审批”。

    状态:审核中。

    路容关掉页面。

    没有解密密钥,她无法查看数据内容。但文档里描述了数据结构,她可以基于这些描述,先设计过滤规则的框架。

    她打开代码编辑器。

    手指放在键盘上,停顿。

    然后开始敲击。

    代码一行行出现在屏幕上。她写得很慢,每一个函数都仔细推敲,每一个判断条件都反复斟酌。过滤规则的核心逻辑是:识别重复数据包,但不过度过滤;检测格式异常,但不误伤正常数据。

    这需要平衡。

    太保守,达不到提升可用率的目标。

    太激进,可能误过滤重要数据。

    路容写着写着,停了下来。

    她盯着屏幕上的代码,脑海里浮现出另一个场景。

    三年前,天启科技“灯塔”项目。她也负责设计数据清洗流程。当时的项目负责人——一个四十多岁、总爱穿格子衬衫的技术总监——在评审会上说:“过滤规则要大胆一点,宁可错杀,不可放过。用户行为数据,干净比完整更重要。”

    她当时反驳:“错杀会丢失真实用户行为模式,影响模型训练。”

    “那是算法团队该操心的事。”总监说,“我们的职责是提供干净的数据。”

    后来,“灯塔”项目上线三个月后,因为数据过滤过度,导致用户画像模型出现严重偏差。产品团队投诉,算法团队甩锅,最后责任落到了数据清洗流程设计上。

    而那个说“宁可错杀”的总监,早已调离项目组。

    路容深吸一口气。

    继续写代码。

    但这一次,她的思路变了。

    她开始设计一个“激进”的规则——表面上是为了最大化过滤重复和异常数据,实际上,她在规则里埋下了一个微妙的漏洞。

    漏洞的核心,在于对加密负载格式的判定。

    现有文档描述,payload字段解密后应该是标准JSON格式,包含固定的几个嵌套字段。但路容知道,在实际传输过程中,可能因为加密算法、网络编码、第三方接口等各种原因,产生一些非标准但依然可解析的变体。

    比如,JSON字符串的开头或结尾多了一个空格。

    比如,某个字段的值是空数组[],但被编码成了空字符串““。

    比如,时间戳字段的值是整数,但被错误地传成了字符串。

    这些变体,在严格的JSON解析器里会报错,但在一些宽松的解析器里可以正常处理。

    路容设计的规则是:只要payload解密后不能通过严格JSON解析验证,就标记为“格式异常”,暂时搁置,触发人工审核。

    这听起来很合理。

    但她在规则里加了一个细节:对于AES-256-GCM加密的数据包,解密过程会生成一个“认证标签”,用于验证数据完整性。如果认证标签验证失败,解密工具会直接报错,不会输出任何内容。

    而她的规则,在处理“认证标签验证失败”的情况时,设计了一个特殊的逻辑分支。

    这个分支会检查数据包的元数据——device_id、timestamp、来源IP——然后与最近一小时内的其他数据包进行模糊匹配。如果找到相似的数据包,就假设这个解密失败的数据包是重复发送的版本,直接丢弃,不触发告警。

    但如果找不到相似数据包呢?

    规则会将其标记为“加密负载格式错误”,进入异常队列。

    然后——关键在这里——路容在代码里设置了一个阈值:同一来源IP在五分钟内,如果出现超过三个“加密负载格式错误”的数据包,就触发系统级告警。

    为什么?

    因为正常的数据传输,不会在短时间内产生大量解密失败的数据包。如果出现,要么是源头数据有问题,要么是加密密钥错误,要么是——有人故意发送了无法解密的测试数据。

    而“深蓝计划”的数据来源,周哲说涉密。

    路容不知道具体是什么来源。

    但她知道,李剑三年前构陷她时,用的就是伪造的数据包,伪装成她从公司服务器泄露出去的加密文件。那些文件,表面上是AES加密,实际上内部结构被篡改过,解密后会得到错误的内容。

    当时的加密方式,也是AES-256。

    当时的错误模式,也是认证标签验证失败。

    当时的处理逻辑——天启科技的安全团队写的——也是将这类数据包标记为异常,触发告警。

    然后告警记录,成了“证据”的一部分。

    路容的手指停在键盘上。

    屏幕上的代码已经写了三百多行。她从头到尾检查一遍,确认逻辑正确,确认漏洞隐蔽,确认这个规则在技术评审时能通过——因为它确实能有效过滤重复数据,也确实能检测格式异常。

    只是,它会对某种特定的错误模式,产生“过度敏感”的反应。

    而这种错误模式,与三年前她见过的,太像了。

    下午两点,权限批下来了。

    路容登录密钥管理平台,看到状态变成“已授权”。她下载了解密密钥,导入工具,重新尝试打开那个加密文件。

    进度条缓慢移动。

    百分之十,百分之三十,百分之七十。

    解密完成。

    文件展开,里面是数万行JSON格式的数据。路容快速浏览,确认文档描述的结构准确:timestamp是13位毫秒时间戳,device_id是32位哈希字符串,event_type包括“page_view”、“button_click”、“scroll”等,payload字段是加密内容。

    她随机选择几条数据,用密钥解密payload。

    解密后的内容显示出来:用户访问了某个电商网站的商品页面,点击了“加入购物车”按钮,页面停留时间47秒,滚动深度65%……

    很标准的用户行为数据。

    路容连续解密了十几条,内容都正常。

    她关掉文件,打开另一个。

    同样正常。

    第三个,正常。

    第四个——

    路容的目光停住了。

    这条数据的device_id,她见过。

    就在刚才解密的第一个文件里,有相同的device_id,但timestamp相差三分钟。她翻回去对比,两个数据包的device_id完全一致,event_type都是“page_view”,但payload解密后的内容……

    第一个:用户访问了网站A的首页。

    第四个:用户访问了网站B的商品页。

    同一个设备,三分钟内,访问了两个不同的网站。

    这本身不奇怪,用户可能切换应用。

    但路容注意到一个细节:两个数据包的来源IP不同。

    第一个来源IP:203.112.89.76(深港市电信)

    第四个来源IP:103.215.44.128(境外,新加坡)

    同一个设备,三分钟内,IP地址从深港市跳到了新加坡。

    不可能。

    除非……

    路容盯着屏幕,心跳微微加速。

    除非这个device_id不是真实的设备标识,而是经过某种映射或伪造的ID。或者,数据来源本身就有问题——可能混合了多个渠道的数据,没有做好去重和归一化。
    第(2/3)页