我为什么支持高校的信息系统放弃Apache Struts2框架
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我为什么支持高校的信息系统放弃Apache Struts2框架相关的知识,希望对你有一定的参考价值。
月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知
鉴于S2漏洞较多、维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2;
在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等);从即日起,使用S2的信息系统(网站)将仅限校园网内访问。
作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了。下面说一下我个人支持的原因:
五、厂商缺乏安全意识
近年来发现每次Struts2漏洞爆发后,有良心的应用软件厂商都会应急推出更新补丁,而在补丁更新完成之后,厂商和用户都是一派皆大欢喜,奔走相告的景象,看我的应急多及时,服务多贴心!
作为一个学校业务系统的技术负责人,其实是这样的:
上文已经表述过,由于Struts2漏洞从公布到攻击利用的修复窗口期越来越小,Struts2框架的应用都是核心应用,在实际的生产环境中,补丁更新操作很难在攻击到达之前完成。
我们以Struts2 S2-045 RCE漏洞为例,漏洞从分析到POC的TimeLine以及某个高校业务系统厂商发布应急响应的TimeLine如下表所示:
厂商的应急响应发文如下:
【扫除漏洞,密切监控】避免Struts2 S2-045漏洞殃及“四海八荒”
3.7 9:30 获悉Struts2漏洞
3.7 10:00 启动最高安全预案
3.7 17:00发布临时补丁ver1
3.7 18:30 运维部发送安全升级提醒邮件
3.7 20:30补丁ver1测试通过
3.7 21:00更新临时补丁ver1
3.8 1:00完成近半受影响用户安全升级
3.8 3:00绝大多数受影响用户安全升级完毕
3.8 9:00测试最新官方补丁通过
3.8 9:30 官方补丁安全升级
3.8 18:00 安全升级工作基本完毕
经过一天的紧张工作,截至18:00,各受漏洞影响的用户现场已基本完成安全升级。此时,距发现漏洞33小时。
谈及这惊心动魄的33小时,服务部的主力之一黄工直言“不负用户嘱托,现在我想睡觉。”
让我们为专业、高效的苏迪紧急安全团队点个赞。
对比表格如下:
序号 |
S2-045漏洞趋势 时间线 |
某厂商应急响应工作 时间线 |
备注 |
||
时间点 |
状态 |
时间点 |
状态 |
||
1 |
3月6日22:00 |
漏洞披露 |
\\ |
\\ |
|
2 |
3月7日9:30 |
QQ群出现PoC |
3月7日9:30 |
获悉S2漏洞 |
|
3 |
3月7日10:00 |
据悉漏洞在安恒发现已超过月余 |
3月7日10:00 |
启动最高应急预案 |
|
4 |
3月7日12:00 |
利用程序及批量化工具已泛滥 |
\\ |
\\ |
|
5 |
3月7 日13:00 |
国家计算机网络应急技术处理协调中心发布了预警:《关于Apache Struts2存在S2-045远程代码执行漏洞的安全公告》 教育部也紧急发布了《Struts 2 S2-045 Jakarta插件远程代码执行漏洞加固方法》,在无法获取或编译出官方补丁的情况下,使用文档中的加固方案来临时防御S2-045漏洞。 |
\\ |
\\ |
|
6 |
\\ |
\\ |
3月7日17:00 |
发布临时补丁ver1 |
|
7 |
\\ |
\\ |
3月7日 18:30 |
运维部发送安全升级提醒邮件 |
|
8 |
\\ |
\\ |
3月7日20:00 |
补丁ver1测试通过 |
|
9 |
\\ |
\\ |
3月7日21:00 |
更新临时补丁ver1 |
|
10 |
\\ |
\\ |
3月8日 1:00 |
完成近半受影响用户安全升级 |
|
…… |
…… |
…… |
…… |
…… |
|
14 |
\\ |
\\ |
3月8日18:00 |
安全升级工作基本完毕 |
从以上内容,我们不难看出从Struts 2 S2-045批量利用泛滥(12:00)到厂商临时补丁测试通过(20:00)
这期间已经有了8个小时的空白,这8个小时时间,攻击者在服务器上想部署什么样的后门都足够了。
另外从厂商的发文最后我们可以看到,他们在补丁更新完成,并没有去考虑这8个小时空白期可能造成的巨大危害,他们特么只想去睡觉,图1所示。
图1
像S2-045漏洞这种严重漏洞,补丁还没有来得及更新,漏洞利用工具已经猖獗了8个小时以上,Web站点早已经被攻破了,后门都种好了,你再去打上补丁,是为了避免其他人来种后门吗?
正如他们文末所言的那样,“安全无小事”,其实对于Struts 2框架的应用系统,更新完Struts 2补丁,安全工作才刚刚开始,
比如:你需要检查系统的核心配置有没有被更改、核心数据有没有被越界请求、操作系统的用户情况、远程工具SSH的文件水印比对(检查SSH后门)、限制远程登录的IP范围、检查系统用户状态等等。
长期的工作还需要监控日志,监控流量,分析有没有隐蔽的后门,窃取数据的行为等等。
由于厂商缺乏安全意识,不能保证更新补丁后的业务系统是否被入侵,是否已经留有后门,学校发布“从即日起,使用S2的信息系统(网站)将仅限校园网内访问”这样的通知也是无奈之举,
做最坏的打算,即使将来因信息系统被篡改,影响也只在校内可控的访问范围之内。
另外,还是以“反共黑客”为例,他们能够保证每三天发布一个篡改的目标网站,并不是激情入侵,随机选择的。而是有一个过程,这个过程可能持续几天或更长时间。
攻击者手中持续拥有一批事前已经得手并埋下后门的网站(甚至可能通过购买来获取网站后门)。
对于上文提到软件厂商的用户而言,S2-045那么好利用,只需要一个合适的价钱,你们应用系统的后门就会流通起来……
以上是关于我为什么支持高校的信息系统放弃Apache Struts2框架的主要内容,如果未能解决你的问题,请参考以下文章
我为什么支持高校的业务系统放弃Apache Struts2框架
我为什么支持高校的业务系统放弃Apache Struts2框架