登录 注册
当前位置:主页 > 资源下载 > 49 > 一-rk3399_android7.1_软件开发指南_v2.09_20190527中的系统调用

一-rk3399_android7.1_软件开发指南_v2.09_20190527中的系统调用

  • 更新:2024-09-21 16:16:08
  • 大小:3.54MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:系统安全 - 安全技术
  • 格式:PDF

资源介绍

与第 2章中描述的域转换一样,transition许可控制进程通过 execve(2)系统调用从一 个域转到另一个域的能力,如果允许,域转换或明确地请求时可能会自动产生一个 type_transition规则,请求明确的域转换的能力是由 setexec许可控制的,这个请求会往 proc文件系统中写一个特定的文件,这个过程在 setexeccon(3)库函数中被抽象出来,为下 一个请求 execve(2)系统调用查看当前请求的转换的能力是由 getattr许可控制的。 noatsecure许可使内核在进行域转换时不设置 glibc的安全模式,在安全模式下,glibc 清除进程环境,包括相当多的环境变量,如 LD_PRELOAD,如果不清除环境,源域可能会控 制目标域的关键部分,当域转换进入更高特权域时,允许 noatsecure许可是特别危险的。 dyntransition许可与转换许可类似,但它是控制进程在任何时间改变域类型的能力, 不仅仅是执行程序那一刻,这个许可比 transition许可更危险,因为它允许起始域在新域 中执行任意的代码,由于这个原因,dyntransition许可只有在目标域是起始域的一个受限 的子集时可以安全地使用,否则,想要理解域改变的保护就会失败,所有授予目标域的访问 权对起始域都必须要能够可访问。 警告:随意使用 dyntransition许可改变进程域类型会破坏标记的性质,在 SELinux 中,标记意味着在一个运行的系统中,创建一个客体后,它的类型将会被改变,尽管存在受 信任的操作系统组件偶然改变了客体的类型的可能,SELinux还是会严格控制进程的类型改 变,dyntransition 许可的引入打破了这种固有属性,使得所有的策略安全分析都变得极为 复杂,我们强烈建议你永远都不要使用这个许可,除非你在编写用户空间客体管理器或其它 SELinux扩展。 dyntransition许可的 setcurrent许可与 transition许可的 setexec 许可类似,它控 制请求改变进程域类型的能力,成功改变域类型需要 dyntransition许可,另外还要 setcurrent许可,和 setexec类似,请求被写入到 proc文件系统的一个特殊文件中,这个 过程抽象在 setcon(3)库函数中。 4.4.2.3.创建文件 与域转换类似,与文件有关的客体的安全上下文设置可以通过继承或 type_transition 规则进行自动创建,也可以明确地创建,通过在 proc文件系统中写入一个特定的文件实现