gpt4 book ai didi

google-nativeclient - NaCl sel_ldr 行为和系统调用

转载 作者:行者123 更新时间:2023-12-04 18:48:32 26 4
gpt4 key购买 nike

在 Google 的 NaCl( native 客户端)SDK 中有 sel_ldr.py(安全 Sprite 加载程序),它允许用户运行创建的 NaCl 可执行文件 (.nexe)通过 NaCl 或 PNaCl 工具链。 sel_ldr.py 在运行这些 .nexe 文件时到底做了什么?

具体来说,sel_ldr 如何处理 NaCl 可执行文件的操作系统调用?阅读 NaCl 文档的大部分信息都与使用 pepper API 创建 Chrome 浏览器可移植应用程序有关,并且没有太多关于 sel_ldr 服务运行时如何处理这些 NaCl 可执行文件的详细信息。

我创建了许多 NaCl 可执行文件,它们在 sel_ldr 中运行时可以创建目录、文件、管道、 sleep ,并使用各种其他系统调用,并且它可以正常工作。我知道 native 客户端本身会监视系统调用。监视是通过使用 pepper API 完成的,还是 sel_ldr.py 拦截系统调用并将其重定向到 NaCl 在其服务运行时沙箱中自己的系统调用实现?

最佳答案

NaCl 是一个小型操作系统,可将调用调入底层操作系统。内部沙箱不能进行常规系统调用(验证器强制执行此操作),因此它必须通过 NaCl 的 trampoline 系统调用,该系统调用跳转到受信任的代码,该代码执行与常规操作系统在调用底层操作系统自己的系统调用之前执行的类似类型的检查.

Pepper API 调用只是另一种类型的系统调用,但它们仅在嵌入到 Chrome 中时才存在。 Pepper 调用实际上是 NaCl 模块和 Chrome 进程之间的进程间通信。

整体实现是服务运行时,很好的描述可以在original NaCl research paper中找到.有一个旧站点(不幸的是不是当前文档)带有 anatomy of a syscall , 来源显然是开放的。

关于google-nativeclient - NaCl sel_ldr 行为和系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25650979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com