10月17日,距离PHP2Shell漏洞信息正式公开还有4天。亚马逊的蜜罐系统MadPot已经记录到了针对这一漏洞的攻击尝试。
亚马逊威胁情报团队(Amazon Threat Intelligence)在AWS安全博客上公布了这一发现。攻击来自与商用匿名化网络相关联的IP地址。当时,PHP2Shell的相关信息仍处于保密期,亚马逊据此判断,这是恶意攻击者的行为。
至于攻击者是独立发现了漏洞,还是通过某种渠道提前拿到了信息,报告没有给出结论。
保密期还没结束,PoC已经出现了
PHP2Shell是PHP中被发现的两个漏洞,严重度评分为9.2,存在服务器被接管的风险。按原计划,开发方与漏洞发现者应协作,在修复补丁准备好之前对漏洞细节保密。但修复补丁公开前,相关信息已在网上泄露,更新被迫提前。
紧急更新于10月21日23时发布。由于漏洞信息已经公开,安全风险大幅升高,大量网站在深夜紧急响应。
亚马逊的调查显示,保密期本应在10月21日23时(日本时间)结束,但当天11时左右,多个概念验证代码(PoC)已经被确认。11时至17时之间,MadPot又记录到额外攻击。这些攻击同样来自匿名化基础设施,但使用的攻击代码和匿名化设施并不相同。亚马逊据此分析,参与的可能不是单一攻击者,而是多个攻击者。
23时保密期结束,漏洞信息与修复程序同步公开。数小时内,新的PoC出现,利用这些PoC的攻击几乎立刻出现在亚马逊的传感器上。亚马逊警告,PHP2Shell已经在真实互联网环境中被广泛滥用。
“攻击开始日”需要重新定义
亚马逊指出,这次事件说明,关于漏洞信息公开与攻击开始时间的传统认知需要修正。
通常,漏洞被发现后会先非公开报告给开发方,留出一段准备修复程序的时间。保密的目的是降低修复完成前攻击者利用信息的风险。但开发方和研究者之外的第三方也可能独立发现同一个漏洞,保密并不能完全阻止攻击。把漏洞一般公开的那一天当作“攻击开始日”,在亚马逊看来是危险的。
另一个问题是,从修复程序公开到实际攻击开始之间的窗口正在缩短。
过去的常见格局是:少数技术能力强的攻击者编写利用代码,其他攻击者等待代码公开,因此漏洞攻击多发生在PoC一般公开之后。现在,借助AI进行分析,从修复程序的改动位置和漏洞信息中生成可运行的攻击代码,负担已经降低。结果是不只少数专家,更多攻击者能在信息公开后数小时、甚至数分钟内发起攻击。
基于这些变化,亚马逊对企业和组织的安全负责人提出两点要求:
- 互联网暴露系统发现重大漏洞时,响应时间应以“小时”而非“天”为单位计算。
- 排查是否被入侵时,不要从漏洞公开日查起,而要回溯到攻击首次被确认的日期。就PHP2Shell而言,亚马逊建议至少检查10月17日之后的记录。
一个漏洞从被发现到被利用的时间差,正在被压缩到以小时计的尺度。而这一次,攻击者比公开时间表跑得更早。
热门跟贴