Log4j 对 Delphi 和 C++Builder 软件开发的影响

log4j-4

关于 Log4j 安全问题的思考,它们对开发者社区的总体意义,以及对 RAD Studio 开发者的具体影响。


除非您住在没有 Internet 连接的偏远岛屿上,否则您肯定听说过Log4j 问题 ,这些 问题在过去 10 天内影响了如此多的应用程序和 Internet 服务。由于使用了非常流行的 Java 日志库Log4j,在 Minecraft 控制台消息(在 Minecraft 游戏客户端上键入消息可能让某人在 Minecraft 服务器上执行代码)的上下文中偶然发现了这个严重错误 ,导致每个IT 公司和所有使用软件应用程序的公司检查问题是否影响公司的软件、托管服务、内部网站和任何其他用例场景。

受影响的软件应用程序列表(例如这里有 一个)相当令人印象深刻,因为尽管失去了一些炒作和营销推动,Java 仍然是世界上最受欢迎的语言之一,而 JVM 是最流行的运行时执行环境。

RAD Studio 原生代码,无 Java 依赖

现在,这对 Embarcadero 尤其是 RAD Studio 意味着什么?简单地说,影响不多。用 Delphi 或 C++Builder 构建的软件不使用或以任何方式依赖 Java(Android 应用程序除外),因此不使用 Log4j。更一般地说,Delphi 和 C++Builder 创建本地编译的应用程序,它们较少受执行环境问题的影响(这里我指的是 Java、.NET 或 JavaScript 执行环境)。然而,在这种情况下,问题不在于执行环境,而是在一个流行的库中,并且 RAD Studio 开发人员使用附加组件和第三方库,就像任何其他开发人员社区一样。

让我再次澄清:在 Delphi 或 C++Builder(或一般的 C++)中构建的 Web 服务器或 Web 服务不受 Log4j 问题的影响。当然,对于用 ASP.NET、Python 或 PHP 构建的 Web 应用程序也是如此。这个问题特定于用 Java 编写的软件——并且有很多 Java 软件,如上链接。

回到 Delphi 和 C++Builder,编译代码有助于提高安全性,但这还不够。仅选择您可以完全信任的库和组件(至少需要包含源代码)也很重要。此外,开发人员编写特别关注安全性的代码也很重要。正如上周提到的, 复制粘贴编码 (虽然不直接对 Log4j 问题负责)是编写安全应用程序的另一面的编码风格。

回馈开源

Log4j 问题还凸显了另一个关键问题:有数百万美元的项目由大公司管理,这些项目依赖于没有资金的开源项目,由开发人员在业余时间(在他们的正常工作之外)管理。您可以使用开源来节省成本而无需为您所利用的项目贡献任何时间、资源或金钱的想法正在成为该行业的一个大问题。

Delphi 和 C++Builder 生态系统也是如此:Embarcadero 已经开始资助和捐赠一些开源库,但我们应该做更多。我们还鼓励所有充分利用开源 Delphi 库和工具的业务应用程序为它们做出贡献——包括通过安全评估!战石骑士手表

您将多少开源项目用于您的专业应用程序,您最后一次向其中任何一个捐赠是什么时候?

安全是多方面的

安全是一个需要多个角度的连续体,以下每个项目都可以提供帮助:

  • 本机编译的应用程序
  • 不依赖运行时执行环境
  • 使用经过审查和信任的第三方库和组件
  • 致力于为您利用的开源项目做出贡献
  • 编写代码时的安全重点(无复制粘贴编码)
  • 验证应用程序源代码的工具
  • 源代码的安全存储(避免源代码注入)
  • 安全的构建环境(避免二进制代码注入)
  • 应用程序可执行签名

虽然不全面,并且偏向于编译代码(我们确实认为这很重要),但我们希望此列表和对 Log4j 事件的总体反应可以帮助您和您的组织重新思考安全性并为开发人员的角色增加更多价值 –谁是任何安全开发方案的基石。

使用无 Log4j 的 RAD Studio 进行愉快的编码 


RAD Studio 11 的新功能


使用 RAD Studio、Delphi 或 C++Builder 缩短开发时间并更快地进入市场。
设计。代码。编译。部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值