黑客24小时在线接单网站

黑客在线接单,网站入侵,渗透测试,渗透网站,入侵网站

防止fork暴力攻击,Linux新增Brute安全模块

Linux许多严重的漏洞,特别是提权漏洞,使用暴力fork()系统调用导致内核崩溃,成功突破内存限制,如 Stack Clash 漏洞,“心脏出血”漏洞和新爆出sudo CVE-2021-3156等等。一劳永逸地解决这些漏洞,Linux安全模块(L *** )新增一个“Brute”为了检测和此类攻击的模块。

最近Brute补丁程序集发布了第六版,预计很快就会发布到主线分支。

“Brute”去年9月收集了补丁John Wood发布为RFC,最初名称为“fbfam”( fork brute force attack mitigation,fork暴力攻击缓解),后在社区商量下改名了并将其变成L *** 。

解决这类问题的历史悠久。grsecurity内核补丁早就有 了GRKERNSEC_BRUTE减少蛮力攻击 fork(), 和预防setuid/ setgid攻击二进制文件。Weinberger类似的技术也用于2014年发布的补丁延迟fork(),由于fork()崩溃引起的问题(这可能意味着它是攻击的一部分)。 但这些尝试并没有进一步推动。

在Brute ,Wood描述了Brute L *** 针对的行为类型。基本思想是,有几种攻击可以多次使用fork()接收所需的内存布局。fork可以通过各种方式检测子过程。如果这些检测失败,导致子过程崩溃,可以简单地重新检测fork另一个子过程再试一次。由于创建的子过程与父亲过程共享相同的内存布局,成功的探头可以用来突破Linux虚拟内存地址空间随机布局(ASLR),可用于探测堆栈Stack_canaries或其他敏感信息。

Brute采用不同于grsecurity或Weinberger修补程序的 *** ,因为它不会简单地延迟随后的fork()检测到问题时调用。Brute杀死所有与攻击相关的过程。 此外,Brute 检测更多类型fork()使用攻击(包括探测父进程而不是子进程的攻击。它还专注于跨越特权边界的过程崩溃,以避免误报。

Brute实现统计崩溃率。Brute一组已经收集了fork发生在这个过程中“失败”数量信息,但没有执行任何新操作execve()。一个brute_stats 在所有这些过程之间共享结构。执行新程序会导致新的(潜在的)结构中跟踪故障fork()层次。

从过程开始到过程或任何共享内存布局的子过程(即没有 execve()崩溃或连续崩溃之间的时间间隔最终用于确定攻击时间。为防止多次调用,使用插件EMA(指数移动平均值)计数,一旦发生五次崩溃,将计算这一时期 (EMA)。EMA确定它是否正在发生“快速暴力”攻击。 如果两次崩溃之间的时间间隔EMA下降到30秒以下的阈值会触发缓解攻击。“慢速暴力”将层次结构中的绝对崩溃次数与200个阈值进行比较。

使用ask_fatal_signal() L *** 钩子,添加作为 *** 中的之一个补丁。当内核向过程传递致命信号时,调用该 *** 。Brute现有用现有的 task_alloc() 钩检测 fork()调用,使用 bprm_committing_creds() 钩检测 execve()调用,使用 task_free() 钩子清理所有内容。

跟踪执行新程序时发生的各种用户和组ID可实现安全边界检查。没有提到 Linux 补丁中 ,但功能变化也将表明特权边界已被突破; 也许这将在未来增加。ID此外,还可以使用检测到的 *** socket_sock_rcv_skb()L *** 钩子。通过执行setuid/setgid程序或通过 *** 接收数据将崩溃检查限制在跨越特权边界的过程中,以减少误报数量。

   
  • 评论列表:
  •  中分女神1
     发布于 2022-06-06 10:30:24  回复该评论
  • )检测到问题时调用。Brute杀死所有与攻击相关的过程。 此外,Brute 检测更多类型fork()使用攻击(包括探测父进程而不是子进程的攻击。它还专注于跨越特权边界的过程崩溃,以避免误报。Brute实现统计崩溃率。Brute一组已经收集了for
  •  孤央淤浪
     发布于 2022-06-06 08:31:00  回复该评论
  • 和预防setuid/ setgid攻击二进制文件。Weinberger类似的技术也用于2014年发布的补丁延迟fork(),由于fork()崩溃引起的问题(这可能意味着它是攻击的

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.