王磊发现算法漏洞的那天,是六月七号,高考第一天。
凌晨三点,他趴在实验室的桌子上睡着了,梦里全是数学公式。突然惊醒,电脑屏幕还亮着,上面是昨天晚上写的代码——逻辑验证模块的一个子函数。
他盯着那几行代码,总觉得哪里不对。揉了揉眼睛,重新看。
这是一个递归函数,用来检查电路网表的一致性。输入是节点的连接关系,输出是真或假。算法本身没问题,但……
王磊拿起笔,在草稿纸上画了个简单的例子:三个节点,两两相连。代入函数,计算。
第一次递归,真。
第二次递归,真。
第三次……
他的笔停住了。函数陷入死循环——因为三个节点形成环,递归无法终止。
这是一个边界情况,出现的概率极低,但理论上存在。而在芯片设计中,一旦出现,整个验证流程会卡死,不报错,不退出,就像掉进无底洞。
王磊的心脏怦怦跳。他赶紧写了个测试程序,模拟各种极端情况。运行了半小时,果然,在模拟到第七万三千四百五十一种拓扑结构时,程序卡死了。
漏洞。一个隐藏极深的漏洞。
如果是平时发现,他会很高兴——又解决了一个隐患。但现在,他的心情复杂。
因为这个漏洞所在的模块,正是李锐负责开发的。而李锐,带着这个模块的代码,去了美国。
王磊看了一眼时间,凌晨三点半。他犹豫了几秒,然后拿起电话,拨通了吴思远的宿舍号码。
电话响了很久才接起,吴思远的声音带着睡意:“喂?”
“吴工,是我,王磊。我发现了一个漏洞……”
听完王磊的描述,吴思远彻底清醒了:“你确定?”
“确定。测试程序跑了三十遍,每次都复现。”
电话那头沉默。王磊能听到吴思远呼吸的声音。
“李锐知道这个漏洞吗?”吴思远问。
“我不知道……但按理说,如果他知道,应该会修复。可代码里没有修复的痕迹。”
“有两种可能。”吴思远缓缓说,“第一,他也没发现;第二,他发现了,但故意留着。”
王磊心里一寒。故意留着?为什么?
“你继续测试,把所有边界情况都跑一遍。”吴思远说,“我马上到实验室。”
二十分钟后,吴思远来了,穿着睡衣,外面套了件外套。他没说话,直接坐到电脑前,看王磊的测试代码。
运行,复现,卡死。
“这个漏洞……”吴思远盯着屏幕,“如果被利用,可以在芯片里埋一个逻辑炸弹。平时正常,特定条件下触发,让芯片失效。”
“李锐他……”王磊不敢往下想。
“先别下结论。”吴思远站起来,“这个漏洞的触发条件太苛刻,现实设计中几乎不可能出现。李锐可能真的没发现。但——”他顿了顿,“如果对方拿到代码,进行充分测试,会发现这个漏洞。然后,他们可能会怀疑,是我们故意留的后门。”
“那怎么办?”
“两个选择。”吴思远说,“第一,我们主动公开漏洞,发一个补丁,说明是疏忽。第二,保持沉默,看对方反应。”
王磊想了想:“如果我们公开,对方会相信是疏忽吗?”
“不会。”吴思远摇头,“他们会认为这是欲盖弥彰。但如果保持沉默……等他们自己发现,会更确信是故意的。”
两难。
窗外天色渐亮。高考的第一批学生已经起床,准备奔赴考场。而实验室里,两个人在为一个可能影响国际技术博弈的漏洞纠结。
“先保密。”吴思远最终决定,“漏洞的事,仅限于我们两人知道。代码里暂时不修复,但记录在案。等对方有动静了,再见机行事。”
“那……李锐那边,要不要提醒他?”
吴思远沉默了很久:“他现在在美国,通讯可能被监控。如果我们联系他,说漏洞的事,会暴露我们知道他带走了代码。而且……”他叹了口气,“如果他真是故意的,提醒他反而会打草惊蛇。”
王磊感到一阵无力。曾经的同学,一起熬夜写代码的伙伴,现在可能成了需要防备的对象。
“专心工作吧。”吴思远拍拍他的肩,“这个漏洞的发现,本身是好事。至少我们知道,我们的代码不是完美的,还有改进空间。”
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:刚穿合欢就被长老拿下啦 永远等待:梦回beyond时间 恶毒炮灰被迫万人迷后 解差传 关于我迷糊又风骚的剑仙元婴肉弹熟母 都重生了,当个武肾怎么了 请回答,苏倩元 大师姐杀疯三界,宗门沦为火葬场 九零公路女王我的前任们都是大佬 震惊!将军府嫡长女重生,癫了啊 诱她越轨 致命性药 仙海情涛(一夜灯版) 贵族骑士开局:我有一个随身空间 星际御兽从古武开始 签到与审判:帝临九域 处长的老婆 修仙家族:我死后成了人参果树 星穹神链 爱走光的妈妈