需要云计算吗? 即刻开始体验

确保 Rails 正常运行:阻止代码注入攻击

Akamai Wave Blue

寫於

Sam Tinklenberg, Maxim Zavodchik, 和 Aparna Mandal

November 06, 2024

Sam Tinklenberg 是 Akamai 应用程序和 API 威胁研究小组的高级安全研究员。他有着网页应用程序渗透测试的工作背景,对发现和防范严重漏洞充满热情。在不进行网页应用程序渗透测试的时候,Sam 喜欢玩视频游戏和棋盘游戏,热爱户外活动,愿意与朋友和家人一起共度时光。

Maxim Zavodchik 是 Akamai 应用程序和 API 威胁研究部门的高级经理。

Aparna Mandal

寫於

Aparna Mandal

Aparna Mandal 是 Akamai Adaptive Security Engine(Akamai Web 应用程序和 API 安全解决方案的核心 Web 应用程序防火墙引擎)的首席产品经理。她在构建和实施创新的高效解决方案方面拥有超过十年的经验。

每天,我们全新的专用 Rails 规则都会在全球范围内检测出数以万计的 Rails 代码注入尝试。
每天,我们全新的专用 Rails 规则都会在全球范围内检测出数以万计的 Rails 代码注入尝试。

Akamai 致力于不断完善我们的 Web 应用程序防火墙 (WAF) ,从而确保为客户提供更高级别的安全保障。为践行此承诺,我们很高兴地宣布推出特别为 Ruby on Rails (Rails) 应用程序开发的 全新专用代码注入攻击检测功能

为什么保护 Ruby on Rails 应用程序至关重要?

Ruby on Rails 凭借其灵活、易用、强大的生态系统而成为备受欢迎的 Web 应用程序开发框架。Rails 能够缩短开发时间,同时保持干净且可支持的代码库,这使得它对各种规模企业中的开发人员都非常有吸引力。许多知名品牌(如 GitHub、Shopify、Airbnb 和 Basecamp)都 使用 Ruby on Rails 构建了自己的平台,由此突显出它在科技行业的重要性。

但是,Rails 吸引开发人员的原因也使得它成为网络攻击者眼中更具吸引力的目标。日益自动化的流程和对应用程序互操作性日益增长的需求,为攻击者创造了新的藏身之处。保护 Rails 应用程序对于保护这些关键平台的敏感数据及业务运营来说至关重要。

针对 Ruby on Rails 的威胁与日俱增

多年来,Rails 一直面临着一些著名安全漏洞和攻击媒介的威胁。为此, 开放全球应用程序安全项目 (OWASP) 提供了一份关于保护 Rails 的备忘单,其中说明了开发人员和安全团队保持警惕的必要性。

虽然 Rails 中大多数备受瞩目的漏洞都与 JSONYAML 数据格式的不安全反序列化相关, 但开发人员可能会在不经意间使应用程序和用户的数据遭受更多类型的攻击,例如代码注入攻击。对于 Ruby 语言中的“eval”函数来说,情况尤其如此。此函数会根据字符串输入来动态构建 Ruby 代码。如果攻击者控制的输入内容最终出现在此函数中,则攻击者可以执行任意的 Ruby 代码。

此类情形的示例如下:

def calculate

  calc = params[:calc]

  result = eval(calc)

  render plain: result

End

在这个极其简单的示例中, calculate 操作会从用户输入中获取一个 calc 参数,其中包含“1+2”之类的数学运算,并使用 Ruby eval 方法,该方法会返回此数学运算的结果。这会产生一个代码注入漏洞,因为攻击者可以提供要执行的任意 Ruby 代码。

攻击者如何利用此漏洞

攻击者可以通过提交包含恶意 Ruby 代码的特制请求来利用此漏洞,例如:

  POST /calculate?ip=IO.popen('cat%20%2Fetc%2Fpasswd').read%20%23

或者其解码形式:

  IO.popen('cat /etc/passwd').read #

此命令将导致读取系统的 /etc/passwd 文件(其中包含有关系统用户的敏感信息)中的内容。结尾的符号 # 是 Ruby 注释内容,它会忽略其后的所有内容,从而避免其余代码出现任何语法错误。

使用 Akamai Adaptive Security Engine 抵御攻击

随着复杂的网络威胁日益猖獗,采取强有力的安全措施势在必行。我们推出了最新的 Adaptive Security Engine 规则“3000404 - 检测 Ruby on Rails 敏感操作注入攻击”,该规则在检测和抵御针对 Rails 应用程序的代码注入攻击方面提供了更高的准确性和更大的覆盖范围(图 1)。

我们推出了最新的 Adaptive Security Engine 规则“3000404 - 检测 Ruby on Rails 敏感操作注入攻击”,该规则在检测和抵御针对 Rails 应用程序的代码注入攻击方面提供了更高的准确性和更大的覆盖范围(图 1)。 图 1:Adaptive Security Engine 规则 3000404 阻止的 Ruby 代码注入攻击

关键优势

  • 准确性更高:高级检测技术可以准确地识别并阻止代码注入尝试,从而最大限度地减少误报并确保合法流量不会受到影响

  • 全面覆盖:广泛覆盖各种代码注入媒介,可以为您的 Rails 应用程序提供强大的防护能力

针对客户的 Ruby on Rails 代码注入攻击

每天,我们全新的专用 Rails 规则都会在全球范围内检测出数以万计的 Rails 代码注入尝试。 最近几周,我们的 Adaptive Security Engine 规则单日内检测到的攻击数量峰值接近 250,000 次,平均每天大约抵御 70,000 次攻击 (图 2)。

 最近几周,我们的 Adaptive Security Engine 规则单日内检测到的攻击数量峰值接近 250,000 次,平均每天大约抵御 70,000 次攻击(图 2)。 图 2:Adaptive Security Engine 规则 3000404 每天检测到的攻击数量

到目前为止,我们观察到了超过 3,000 个唯一攻击 IP 以及有 21,000 多个主机成为这些攻击尝试的目标。这些尝试来自全球各地;其中大多数都来源于德国(图 3)。

这些尝试来自全球各地;其中大多数都来源于德国(图 3)。 图 3:我们观察到的 Rails 代码注入尝试的地图

展望未来

安全是您业务中的一个关键方面,我们致力于提供出色的解决方案来满足甚至超越您的期望。我们的 WAF 旨在提供全面保护,而新增的 Rails 代码注入检测规则可以进一步增强我们的防御机制,保障您的应用程序和数据安全无虞。

在不断进行创新并扩展 WAF 功能的同时,我们始终专注于为客户提供切实有效、可靠的安全解决方案。我们将坚持不懈地改进产品,保持我们在 Web 应用程序安全领域的领先地位,敬请期待更多更新内容。

如需详细了解 Adaptive Security Engine 以及 Akamai Web 应用程序和 API 安全保护方面的解决方案,请 联系 您的 Akamai 代表。



Akamai Wave Blue

寫於

Sam Tinklenberg, Maxim Zavodchik, 和 Aparna Mandal

November 06, 2024

Sam Tinklenberg 是 Akamai 应用程序和 API 威胁研究小组的高级安全研究员。他有着网页应用程序渗透测试的工作背景,对发现和防范严重漏洞充满热情。在不进行网页应用程序渗透测试的时候,Sam 喜欢玩视频游戏和棋盘游戏,热爱户外活动,愿意与朋友和家人一起共度时光。

Maxim Zavodchik 是 Akamai 应用程序和 API 威胁研究部门的高级经理。

Aparna Mandal

寫於

Aparna Mandal

Aparna Mandal 是 Akamai Adaptive Security Engine(Akamai Web 应用程序和 API 安全解决方案的核心 Web 应用程序防火墙引擎)的首席产品经理。她在构建和实施创新的高效解决方案方面拥有超过十年的经验。