本文的某个版本曾刊登于SC杂志。 SC杂志。本文经修订后由以下媒体联合发布:
若曾遭遇入室盗窃,您定能体会那种最初察觉异样的悚然——继而惊觉财物失窃、尊严受损的绝望。这种困扰往往绵延不绝,更遑论最终不得不升级为堪比诺克斯堡的安防系统。
想象一下,小偷把自己当作钥匙,因此房屋被撬开了。他们随心所欲地爬来爬去,来来去去,却小心翼翼地不被发现。直到某天,藏在冷冻室的珠宝消失了,保险箱被清空了, 个人物品被翻得乱七八糟——这一切都发现得太迟。这正是组织遭遇零日网络攻击时面临的现实。2020年Ponemon研究所的研究显示,80%的数据泄露事件源于零日漏洞利用,而令人沮丧的是,多数企业尚未做好显著改善这一数据的准备。
根据定义,零日攻击是指威胁行为者率先发起入侵,因此开发人员完全没有时间发现并修复可被利用的现有漏洞。遭受攻击后,各方将陷入疯狂的混战,既要修复软件漏洞,又要修复业务声誉的损害。由于攻击者始终占据优势,因此最大限度地争取主动权至关重要。
Log4Shell这个无人想要的节日礼物正让互联网沸腾。据称超过10亿台设备受到这个致命Java漏洞的影响。这预计将成为史上最严重的零日攻击, 而这仅仅是开始。尽管如此,部分报告指出攻击早在漏洞公开数日前就已启动,2016年黑帽大会上的演讲也暗示该问题早已存在。雪上加霜的是,该漏洞极易被利用,全球所有脚本小子和威胁行为者正借此大肆觊觎。
那么,在软件开发过程中遗漏的漏洞自不必说,面对狡猾而险恶的威胁,我们究竟该如何构建最有效的防御体系?让我们来深入探讨。
针对大型目标的零日攻击较为罕见且成本高昂。
暗网存在着庞大的漏洞利用市场。以零日漏洞为例,这类漏洞往往能带来可观收益。本文撰写时,该漏洞已以250万美元的价格挂牌出售。据悉其利用了苹果iOS系统的漏洞,安全研究人员开出天价要价并不令人意外——毕竟这可能成为持续数月甚至更长时间的攻击通道,足以破坏数百万台设备,窃取数十亿条敏感数据记录,直至漏洞被发现并修复。
无论如何,谁会持有那样的资金呢?通常,有组织的网络犯罪团伙若认定某项攻击具有价值,就会筹措现金。尤其在始终备受青睐的勒索软件攻击领域,这种情况更为普遍。但全球各国政府和国防部门被视为威胁情报领域可利用漏洞的潜在客户;而在更积极的场景中,企业本身也可能购买潜在的零日漏洞利用工具来减轻灾难影响。
2021年,纪录被打破了。在实时发现零日漏洞的案例中,面临最大风险的是大型组织、政府部门及基础设施。虽然无法完全免受零日攻击的威胁,但通过提供充足且系统的漏洞悬赏计划,可以一定程度上"参与这场博弈"。不必坐等暗网市场有人提供软件城堡的钥匙,请建立合法的安全团队,为道德披露和潜在修复提供合理报酬。
当零日威胁过于严重时,假设需要花费超过亚马逊礼品卡的金额是安全的(而且这样做是值得的)。
工具可能属于安全人员的职责范围。
长期以来,普通首席信息安全官(CISO)管理繁琐的安全工具链始终是个难题。企业安全库中多达55至75种工具,堪称世界上最混乱的(比喻意义上的)瑞士军刀。更令人担忧的是,53%的企业甚至无法确信这些工具正在有效运作。根据Poneemon研究所的研究 ,另一项调查显示仅有17%的CISO认为自身安全架构"完全有效"。
在这个以职业倦怠、安全专业人才短缺、敏捷性需求而闻名的领域,安全专家被迫处理海量工具集带来的数据、报告和监控等信息过载,实属沉重负担。当未能准确评估Log4j漏洞时,正是这种情境下可能导致关键警报被遗漏。
预防性安全措施应包含以开发者为中心的威胁建模。
代码层面的漏洞往往由开发者引入,要建立安全编码技术需要明确的指导和定期的学习路径。但对于安全意识更强的开发者而言,他们获得了将威胁建模作为软件开发流程一部分来学习和实践的机会。
软件开发者作为最了解自身产品的群体,自然是最适合坐镇开发岗位的人选。他们深刻理解用户与软件的交互方式、功能应用场景,以及在充分认知安全风险前提下可能导致软件受损或被滥用的潜在情境。
若将此问题追溯至Log4Shell漏洞利用,令人遗憾的是,这揭示了一种致命漏洞得以规避专家及复杂工具集检测的场景。 但若库被配置为清除用户输入,此漏洞本可完全避免。当初未作此配置的决定,或许是出于便利性考虑——该功能本就存在模糊性。然而这反而使漏洞极易被利用(想想SQL注入的难度,这并非什么天才之举)。若有一群敏锐且精通安全的开发者团队进行了威胁建模,他们很可能已将此场景纳入理论考量范围。
优秀的安防方案中存在着情感因素——在解决人为问题时,人类的介入与细微差别至关重要。威胁建模要有效就需要同理心与经验, 软件及应用程序架构层面的安全编码与配置亦是如此。开发者无需一夜之间投入此类工作,但若能建立清晰的技术升级路径——使安全团队的压力降至可控范围(这同时也是构建双方协作关系的良机),则最为理想。
0日延续至n日
零日漏洞响应的下一步是尽快发布补丁。希望所有使用存在漏洞的软件的用户都能尽快且务必在攻击者之前完成补丁安装。Log4Shell的破坏力可能超越心脏出血漏洞——它内置于数百万台设备中,并在整个软件构建过程中形成复杂的依赖关系,因此具有极强的持久性和破坏力。
现实中,我们无法完全阻止此类狡猾的攻击。但若能承诺调动一切手段打造优质安全的软件,并以保护关键基础设施的严谨态度投入开发,我们所有人便能抓住反击的机会。