在漏洞管理和产品安全整改过程中,经常会遇到“Cybellum修复状态怎么更新,Cybellum修复状态复核后为什么不同步”这类问题。修复状态看起来只是一个字段,实际背后关联的是漏洞匹配、组件版本、SBOM记录、复扫结果、风险接受、VEX结论和报告导出。如果只在页面上把状态改成“已修复”,但底层组件没有变化、复核任务没有完成,或者审批流程还没走完,后面就容易出现状态显示不一致、报告不同步、风险看板仍然提示未关闭等情况。
一、Cybellum修复状态怎么更新
在对产品安全进行整改和漏洞管理的时候,大家经常会碰到怎么更新Cybellum修复状态的问题,而且复核完后状态为什么不同步也让人头疼。要是大家只是在网页上把状态点成了“已修复”,可是底下的组件其实根本没变,复核的工作也没有做完,或者审批的流程卡在那,后面就很容易看到状态显示得不对劲,报告也同步不过来,风险看板上还是显示没有关闭。
1、先进入具体漏洞或风险项核对影响范围
我们在改修复状态的时候,一般要从具体的产品、资产、组件或者漏洞的详细页面点进去,不能只在总列表里面去批量勾选处理;进去页面以后,我们要先看这个风险到底影响了哪一个产品版本,还有是哪一个组件、哪条文件路径、哪家供应商给的物件,并且还要看现在的状态是写着待确认、处理中、已缓解、已修复、不受影响还是误报;只有把这些影响的范围都看明白了,我们在更新状态的时候才不会把对象给改错。
2、根据实际处置方式选择状态
如果研发人员已经把组件升级了,把补丁打上去了,而且新的版本重新扫描之后不再出这个漏洞了,那就可以把状态改成已修复;如果大家只是把某个接口关了,或者加了一些访问的限制,只是暂时让攻击面变小了,那这种情况下写成已缓解会更合适,而不是写成已修复;如果是系统把组件认错了,或者版本对不上,那就得去走误报确认或者组件修正的流程。
3、补充修复说明和验证证据
大家在改状态的时候,建议大家顺便把怎么修的、修好的版本是哪个、修复时间、重新扫描的结果、测试记录还有审批的意见都一起补上去,这样后面我们要导出合规报告,或者客户来问的时候,状态后面的证据就是完整的了。
二、Cybellum修复状态复核后为什么不同步
复核完之后状态没有同步过去,这通常不单单是网页显示的小问题;这里面的原因挺多的,可能是产品版本选错了,或者是任务状态没有关掉,重新扫描的数据没更新,组件清单没有重新传上去,审批流程卡住了,还有可能是同一个漏洞在好几个组件或者好几个产品版本里都还存在着。
1、修复对象和复核对象不是同一个版本
我们要去核对修复记录里绑定的产品版本、构建号、固件包的hash值还有组件清单的版本,得确认复核的东西和修的东西是同一个版本;而且如果一个漏洞影响了好多个产品版本,大家也不能只修了其中一个版本,就把所有的状态都关掉;比如新的版本虽然升级了组件,但是旧的版本还在客户那里运行着,平台的看板可能就会一直抓着风险提示不放;这个时候,大家要针对不同的版本分别去标记状态,不能用一个修复的结论把所有受影响的东西都盖过去。
2、复扫或重新分析没有完成
状态要完成复核,通常得靠重新扫描、重新导入组件清单或者重新分析固件才行;如果研发人员已经提交了修复,但是平台这边没有拿到新的组件清单、二进制包或者扫描的结果,那系统肯定是没办法自动判定漏洞已经没有了。碰上这种情况,大家要去确认新的构建产物有没有传上去,固件分析有没有跑完,,特别是二进制固件的分析,如果新的包没有把旧的包换掉,只是传了一个说明的文件,那风险的结果一般是不会自动变掉的。
3、审批流或字段映射没有完成
有在处理的时候,得去看平台配置里的状态流转规矩;比如从已修复变成已关闭,是不是还要安全负责人去审批;从已缓解变成风险接受,是不是要传一个残余风险的说明;误报要关闭的话,是不是需要组件负责人去点确认;要是大家只改了技术上的地方,没有把流程上的地方走完,那同步就会卡在那里。
三、修复状态不同步怎么排查和处理
看到状态不同步的时候,大家最好不要一遍又一遍地去手工强行改状态;比较稳当的办法是顺着数据的路线,一项一项去查:看修复的代码有没有进到构建里,组件清单更新了没有,分析的任务做完了没有,漏洞有没有重新对上,审批过了没有,还有报告模板抓取的到底是哪一个地方的数据。
1、先核对组件版本和漏洞匹配结果
我们把风险详情打开以后,先去看对上的组件版本有没有发生变化;如果漏洞要求大家升级到安全的版本,可是平台里显示组件还是老版本,这就说明修复的事情没有体现在现在的资产数据里面;这可能是因为修复的包没传好,或者组件清单没更新,又或者是供应商给的物件里还带着旧的组件;碰到这事大家先别急着去关状态,得先把组件版本的问题查个水落石出。
2、再核对复核任务和证据附件
要是看到组件的版本已经变了,但是状态还是不同步,那就要去看复核的任务有没有做完;在复核的记录里面,应该要有重新扫描的结果、测试的结论、修复的说明、审批的人还有时间;如果这些证据只在邮件、测试报告或者研发系统里面躺着,没有同步到平台上来,那Cybellum里的状态可能就会因为缺少关闭的依据而变不过来;大家在处理的时候,应该把关键的证据补到对应的风险项里面去,不能只在外部的流程里口头确认。
3、最后核对报表和看板刷新口径
这类问题需要大家去核对报告生成的时间、选了哪些版本、状态是从哪里抓过来的以及导出的模板;要是报告模板看的是风险状态而不是漏洞状态,那就要先把风险状态同步改好;要是看板统计连着好几个产品版本,那大家就要按版本拆开来一个一个看,不能只拿单条漏洞的详情去和总数的字对比。
总结
关于Cybellum修复状态怎么更新,核心的地方不是随手把状态改成已修复,而是要看实际是怎么处理的。至于Cybellum修复状态复核后为什么不同步,常见的原因不外乎是修复的版本和看的人不是同一个版本、组件清单或固件分析没更新、漏洞匹配没重新算、审批流程没走完,还有报表模板抓的地方不对;真正靠谱的作法,就是把组件版本、漏洞匹配、修复记录、复核任务、证据附件和报告选的地方合在一起查,让状态的变化能从底下的数据一路同步到看板和合规报告里面去。