健壮的 Web 应用程序安全指南
1. 技术要求
在进行 Ruby Web 应用程序安全开发时,代码块中的代码是为在 Ruby 3.0 上执行而设计的。许多代码示例在早期版本的 Ruby 上也能运行,但并非全部。相关代码可在 此处 在线获取。
2. Ruby 应用安全问题多为高级别问题
对于用 C 语言编写的应用程序,大多数安全问题往往是低级别安全问题,例如缓冲区溢出、整数溢出或下溢以及释放后使用(UAF)漏洞等。Ruby 本身大部分是用 C 语言编写的,所以 Ruby 自身的一个 bug 可能会导致上述安全问题影响到 Ruby 应用。此外,一些 Ruby 宝石(gems)包含 C 扩展,可能是出于性能原因和/或需要与其他用 C 语言编写的库进行交互,这些包含 C 扩展的宝石也可能遇到所有这些安全问题。
不过,由于使用 Ruby 的人很多,Ruby 本身出现低级别漏洞虽然并非不可能,但可能性较小。然而,包含 C 扩展的 Ruby 宝石通常不会像 Ruby 本身那样受到同等程度的审查,所以在使用包含 C 扩展的宝石时要格外小心。实际上,使用任何宝石都需要谨慎,因为你使用的任何宝石都可能给应用程序引入安全问题。
需要注意的是,“低级别漏洞”指的是通常受影响的代码类型,不要误以为低级别漏洞就是重要性低的漏洞,因为前面提到的大多数低级别漏洞实际上是关键漏洞,可能导致代码执行,即程序开始运行攻击者提交的代码。
由于 Ruby 是一种高级
超级会员免费看
订阅专栏 解锁全文
2135

被折叠的 条评论
为什么被折叠?



