- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章面对 Log4j 漏洞,开发者如何保护程序安全?由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
12月9日,Apache 基金会针对一个名为 Log4Shell 的关键零日漏洞发布了紧急更新,这个在Log4j(一个用于各种Java应用的开源日志框架)中发现的漏洞被认定为CVE-2021-44228,允许攻击者在任何使用Log4j库写出日志信息的系统上执行任意代码。它立即被评为CVSS等级中的最高严重程度10级.
正如 Cloudflare 首席技术官John Graham-Cumming所说:"这可能是自 Heartbleed 和 ShellShock 以来互联网上最严重的漏洞之一。" 。
在漏洞被公布之后,开发人员和维护人员立即着手给他们的 Java 应用程序打上尽可能多的补丁。由16名无报酬志愿者组成的 Apache 软件基金会日志服务团队也第一时间加固 Log4j 本身.
北京时间11月24日,Apache日志服务项目管理委员会(PMC)收到了一封爆炸性的邮件。阿里云安全团队报告了Log4j2 软件中存在一个零日安全漏洞.
软件工程师、PMC 成员 Gary Gregory 表示:“这将是一个重大的问题。” 。
该团队立刻开始修补这个问题,但这个漏洞在12月9日被公之于众后,他们的时间安排迅速加快了.
Gary和其他维护者放下手上的工作,加班加点来修复这个漏洞问题。在发布 2.15 版更新之前,他们很快决定这个更新“不够好”,随后,他们在格林尼治标准时间12月13日晚上10点28分发布了2.16版本.
"我知道他们都有家庭和他们必须做的事情。但他们把一切都放在一边,整个周末都在修复这个漏洞。"前 Log4j 开发者 Christian Grobmeier 告诉彭博社.
到周末的这个时候,PMC的活跃成员已经转向通过私人Slack频道进行沟通,在那里他们继续解决这个问题,并共同努力为操作旧版本 Java 的用户提供更新。他们很快就发布了 2.12.2 版本来解决 Java7 用户的问题。Java6 的修复被证明更棘手,但这是他们的下一个待办事项.
“总的来说,我认为尽管这种漏洞会带来可怕的后果,但事情进展得如经验丰富的开发人员所预料的那样,” Gary 说。“我们收到通知,迅速提供了补丁并在该版本上进行迭代.
另一个在周末迅速行动的小组是亚马逊 Corretto 团队。Corretto 是 Open Java Development Kit (OpenJDK) 的一个发行版,这使 Corretto 团队处于Log4Shell问题的第一线.
在首席软件工程师Volker Simonis的带领下,Corretto团队迅速建立并开源了一个热补丁,供任何无法立即更新的组织使用.
正如GitHub页面上所描述的那样:
"非常感谢亚马逊Corretto团队花了几天、几夜和周末的时间来编写、加固和运行这段代码,"AWS CISO Steve Schmidt在一篇博文中写道。AWS还发布了一份针对受影响产品的特定服务安全更新的详尽清单.
在其他地方,由 Java 首席工程组经理 Martijn Verburg 领导的 Microsoft Java 团队成员帮助评估了该补丁,并为客户发布了更一般的保护自己的建议,包括几个推荐的解决方法,直到可以应用完整的安全更新. 。
谷歌云以更新其Cloud Armor安全产品作为回应,该产品于 12 月 11 日发布了一项紧急 Web 应用程序防火墙 (WAF) 规则,以帮助检测和阻止 CVE-2021-44228 的企图利用.
“为了帮助我们的客户解决 Log4j 漏洞,我们引入了一个名为“cve-canary”的新预配置 WAF 规则,它可以帮助检测和阻止 CVE-2021-44228 的漏洞利用尝试,”Cloud Armor的产品经理Emil Kiner和谷歌的网络专家经理 Dave Reisfeld 在一篇博文中写道.
当这些内部开发人员匆匆忙忙为客户保护他们的软件时,许多最终用户和企业开发人员正争先恐后地评估他们的漏洞并保护他们自己的Java应用程序.
首先要做的是检测Log4j是否存在于你的应用程序中。同样重要的是要注意,不是所有的应用程序都会受到这个漏洞的攻击。任何使用高于6u212、7u202、8u192或11.0.2的Java版本的人都应该是安全的,因为这些版本中增加了对JNDI(Java命名和目录接口)远程类加载的保护.
同样,高于2.10版本的 Log4j 用户应该通过设置系统属性formatMsgNoLookups为true,设置JVM 参数-Dlog4j2.formatMsgNoLookups=true,或从classpath中删除JndiLookup类来缓解这一问题.
由于Log4j漏洞不仅影响Java应用程序,而且还影响使用该库的任何服务,因此Log4Shell的攻击面可能非常大.
正如Lucian Constantin为CSO写的那样:"社区仍在努力评估攻击面,但由于依赖关系的复杂生态系统,它可能是巨大的。一些受影响的组件是非常流行的,被数以百万计的企业应用和服务所使用".
就其本身而言,Apache Logging Services团队将 "继续评估可能存在潜在安全风险的Log4j功能,并将进行必要的修改以删除这些功能。Apache Logging Services团队的成员Ralph Goers告诉InfoWorld,"虽然我们将尽一切努力保持向后兼容,但这可能意味着我们必须禁用他们可能正在使用的功能.
即使无数的开发者在周末不知疲倦地修补Log4j的漏洞,也会有很多人反应较慢。因此,Log4Shell的影响可能是长期和广泛的.
正如安全分析师Tony Robinson在推特上所说。"虽然那些好的公司通过打补丁迅速解决了问题,但还是会有很多地方不会打补丁,或者在一段时间内无法打补丁。" 。
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】 。
原文地址:https://developer.51cto.com/art/202112/696253.htm 。
最后此篇关于面对 Log4j 漏洞,开发者如何保护程序安全?的文章就讲到这里了,如果你想了解更多关于面对 Log4j 漏洞,开发者如何保护程序安全?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
所以我刚刚开始编写 iPhone 应用程序,一个潜在的雇主问我,“你的开发者句柄是什么?”他所说的“开发者句柄”到底是什么意思? 最佳答案 很可能您的应用程序在 iTunes 商店中列出的名称。这可以
我刚刚编译并运行了 hello world 应用程序,它运行良好。我通读了 android 文档中的一堆内容,内容涉及 android 的差异组件以及它们如何协同工作。现在我想制作一些链接到各种操作的
我不是 Android 开发人员,我试图了解他们在图形资源方面需要什么来制作可在许多 Android 设备上运行的应用程序。 我已经(尝试)阅读此页 http://developer.android.
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
如何编写程序来实现滑动 MUITableCell 的功能。我已经有一个我一直在使用的 MUITableCell 的子类。我是否只处理其中的滑动,就像处理 View 一样? 最佳答案 您需要实现此方法:
堆栈溢出, 是否有其他人在 Facebook 上遇到阻止注册为 Facebook 开发人员的能力的错误?该按钮对我显示为灰色。 当我尝试单击按钮将“否”切换为"is"时,没有任何功能。 我在互联网和
我正在尝试为 iOS Developer PageControl Sample 实现建议的优化。 .这是我在 PhoneContentController 中使用的代码: // A possible
您好,我写了一段代码来使用 Pubnub channel 发布 json: pubnubMessage = new Pubnub("demo", "demo"); Suppor
我正在熟悉 iOS 上的 SQLite。我正在尝试进行简单的用户注册,但是年龄值 (NSInteger) 总是变成一些大的负数,例如 -1073752692。这是我的注册码: - (User*
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improv
我的问题是,当我检查位置服务和数据是否关闭时,我的手机不会弹出没有启用数据或位置访问的通知,就像如果其中一个为假,它会显示通知。此功能在我的华为 P8 Lite 上不起作用,但在我的 Nexus 模拟
我正在开发一个需要集成 Paypal API 的 php 项目。我选择了 REST API。但我有一个企业账户(沙盒)。是否可以使用此帐户类型调用 REST API? 最佳答案 您需要使用任何有效的
我 6 个月前在 http://developer.paypal.com 上创建了一个应用程序.我已经创建了一些帐户以在沙盒模式下进行测试。昨天我检查了http://developer.paypal.
我很难理解 UIViewController 中的几个方法,但首先我会说出我认为它们的用途(忽略界面生成器,因为我没有使用它): -init:初始化在低内存情况下不需要释放的非 View 相关的东西(
我在构建我的应用程序时达到了 youtube api 配额限制,所以我向请求添加了一个开发人员 key ,现在我收到 403 错误:无效的开发人员 key 。 我曾多次尝试重新创建我的项目和 api
我搜索了http://espn.go.com/apis/devcenter/但找不到任何可以创建 API key 的地方。我还在 ESPN 创建了一个帐户,但没有运气。 最佳答案 4 个月前未公开 (
我阅读了处理此类问题的不同主题,但我仍然没有答案。这是我的问题: 在我的头文件中,我有这个: int cl, ch, _a = a, _b = b;\ __asm__ ("smull %0,
我实际上正在使用fbconnect,并且我正在尝试获取代表一个月前的unix时间。我对 1970 年以来的事情感到非常困惑。因为有人给我指出了正确的方向? 最佳答案 与 Unix epoch ,时间“
是否有任何工具可以让我监控内存使用和泄漏?例如,我想跟踪手动释放对象与启用 ARC 时自动释放对象时的内存使用情况。 最佳答案 它被称为 Instruments,您可以从 Product -> Pro
我正在使用 AllRoundAutomatation 的 Pl/sql 开发人员,现在我遇到了一个非常有趣的问题,我只想为 scoll up 配置 CTRL+UP 组合键!但我做不到,我该怎么做? 注
我是一名优秀的程序员,十分优秀!