问题标签 [seccomp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
69 浏览

seccomp - 如何绕过 seccomp

我知道绕过过滤模式的方法,但我不知道绕过严格模式的方法。

在 64bit 的代码有:

  1. 在 rwxp 映射的 buf 处读取 1024 个字节
  2. 运行 buf()
  3. scanf 地址和 scanf 值。在地址(长)处写入值(长)

并且只有金丝雀和部分 RELRO,我该如何绕过严格模式 seccomp?

0 投票
1 回答
333 浏览

kubernetes - 错误:未能创建 containerd 容器:无法加载 seccomp 配置文件,没有这样的文件或目录

尝试在使用时设置自定义 seccomp 配置文件kubectl apply,尽管容器中存在该文件,但 pod 不会以以下错误启动:

K8 部署 YAML

该文件在创建容器并进入 pod 的外壳时被复制,我可以看到它确实存在于那里(当不尝试加载它并且 pod 启动时)

Dockerfile

我也尝试过更改所有者(chown)并以 root 权限运行,但只要该localhostProfile: custom_profile.json行在 YAML 中,就会再次出现相同的错误。

我错过了什么阻止文件被找到?YAML 中缺少什么,容器/dockerfile 中缺少什么?

以下文章让我走到了这一步,但仍然无法设置配置文件:https ://docs.openshift.com/container-platform/4.8/security/seccomp-profiles.html

0 投票
4 回答
389 浏览

node.js - 几天后,我无法再启动 Puppeteer,直到我重新启动服务器

  • 木偶版:10.2.0
  • 平台/操作系统版本:Ubuntu 20.04.3 LTS aarch64
  • Node.js 版本:v.14.17.6
  • 发生在任何 URL 上。

这是我的测试脚本:

bug.hr/homepage.js

那应该启动 Puppeteer(在我重新启动服务器后它会启动),相反,我得到了这个:

我不能随意复制它。这发生在服务器运行一周或两周之后。重新启动服务器后,它再次工作。

我相信罪魁祸首是Kernel refuses to turn on BPF filters,从日志中。

错误来源:https ://chromium.googlesource.com/chromium/src/+/lkgr/sandbox/linux/seccomp-bpf/sandbox_bpf.cc#282

可以通过将--disable-seccomp-filter-sandbox参数传递给 Chrome 来修复,这会引入安全问题,因为它会禁用 Chrome 沙箱的第 2 层 ( https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux/sandboxing.md #the-sandbox-1 )

/usr/bin/chromium-browser --product-version给出 95.0.4638.69

当我运行时也会发生这种情况apt update && apt upgrade

这在 Ubuntu-amd64(现在是 Arm)上没有发生。

有任何想法吗?

谢谢

0 投票
0 回答
111 浏览

docker - seccomp 和 apparmor 与容器内 root 用户

我正在尝试在没有特权构建器的情况下构建 Docker 映像,因此DinD不是一种选择。我现在发现了两种使用kanikoimg实现这一目标的方法。

它们都在我的本地 Docker 设置中工作并实现了该目标:

img映像以非 root 用户在内部运行构建器进程,但uid 1000需要seccompapparmor设置,而kaniko容器在内部运行构建器进程root user,但不需要seccompapparmor更改。
我现在想知道哪个被认为更安全,运行一个容器,其中的进程由 root 用户运行,或者运行一个普通用户但使用seccomp=unconfinedand运行的容器apparmor=unconfined

如果有人可以帮助我并给我一些线索,那就太好了。
我的直觉告诉我kaniko似乎更安全,因为据我了解,禁用默认值seccompapparmor配置文件会产生更大的影响。

提前致谢。

0 投票
0 回答
36 浏览

docker - 使用 Docker 降低性能的 seccomp sk_run_filter 调用

我有一个 PHP 应用程序在两个具有相同 Docker 版本、Docker 容器、OS (CentOS 7) 和内核的环境中运行在 Docker 中。一方面,我发现性能差了大约 5 倍。使用perf,系统调用sk_run_filter似乎是性能的主要罪魁祸首。我知道这是由 调用的seccomp,但这也是启用的,并且在两台服务器上都使用了默认配置文件,因此已知seccomp的性能问题似乎不是造成这种情况的原因。

我能在这些环境之间找到的唯一区别是 Docker 文件系统——慢速环境使用的是覆盖而不是覆盖 2。我们将对其进行升级,希望它能解决问题,但希望了解这是否是这些缓慢sk_run_filter调用的根源,或者是否有其他原因。

回答这个问题:什么会导致sk_run_filterDocker 性能不佳,它可能是overlay文件系统吗?

0 投票
1 回答
23 浏览

docker - 无法使用自定义 seccomp 配置文件启动 docker 容器

无法使用 JSON 使用自定义 seccomp 配置文件启动 docker 容器。低于错误。

我们已经在各种 Docker 平台上进行了尝试,例如 Docker Desktop-WSL、Docker Playground 和基于 Amazon Linux 的 EC2。同样的错误。

EC2 上的 Docker 信息

0 投票
1 回答
19 浏览

linux - 我如何与 seccomp 挂钩?

我正在寻找一种使用 seccomp 或 seccomp-bpf 执行 Hooking 的方法。

我想设置一个规则,以便在执行系统调用(例如读取)时,我可以更改从系统调用返回的进程或答案。我必须使用 seccomp。

肿瘤坏死因子