热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在英特尔SGX中禁用系统调用意味着什么

如何解决《在英特尔SGX中禁用系统调用意味着什么》经验,为你挑选了1个好方法。

Intel Software Guard Extensions (SGX)最近正在研究设施编程.SGX的想法是创建一个安全敏感代码加载和执行的安全区.最重要的是,对该飞地的存储器访问(以及许多其他限制)由硬件强制执行.

在其手册中,我发现syscall指令在飞地内是非法的(见表3-1),以及许多其他指令可能会改变权限级别.我想知道这意味着什么.由于内核服务一样open,socket在提高系统调用结束了,这是否意味着禁止syscall指令实际上飞地内禁止代码的任何内核服务,如文件和插座?这对我来说听起来很难说,因为这样一个飞地可以做的事情会受到严重限制.所以我认为我误解了或者有一些解决方法.



1> Raghu..:

当你说你不能使用内核服务或任何系统调用时你是对的,因为在飞地内禁止使用Syscall指令.操作系统不是SGX中可信计算基础(TCB)的一部分.假设在安全区内启用了系统调用,并在汇编中编写指令以执行系统调用指令(假设打开系统调用sys_open的参数).当您进行系统调用时,您会在启动期间跳转到内核设置的预定义位置,以开始执行内核代码.这意味着你是从你编写的代码(可信的)跳转到你不编写的代码(操作系统,它是不可信的,不是你的TCB的一部分).如果你能够做到这一点,它将失去SGX提供的安全保障.由于内核/操作系统/您未编写的任何其他软件不受信任,

正如你所说的那样,这是非常有限的,因为你无法直接从你的飞地代码中使用套接字或任何东西.但是如果你想在飞地内部使用这些服务,你必须信任不是你编写的代码,这违反了SGX的安全模型.

我不认为SGX的用途就像你想的那样.这里有一些英特尔所示的预期用例,应该解释如何在不使用系统调用的情况下实现这些应用程序.

https://software.intel.com/en-us/articles/using-innovative-instructions-to-create-trustworthy-software-solutions


推荐阅读
  • C++程序员视角下的Rust语言
    自上世纪80年代初问世以来,C就是一门非常重要的系统级编程语言。到目前为止,仍然在很多注重性能、实时性、偏硬件等领域发挥着重要的作用。C和C一样&#x ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 环境Time2022-04-11Rust1.60.0前言说明基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。特点相比较二叉树,二叉搜索树的左节点都比父节点小, ... [详细]
  • 如果您是Java开发人员,您会发现Rust相对容易掌握,这要归功于这两种语言的相似性。technology-most-loved-dreaded-and-wantedclass& ... [详细]
  • 最近公司网络变更。原来的主机所在的网段也换成统一的了。svn服务主机地址对应也要修改。一直不喜欢用svn客户端,但是很少接触到更换地址的场景。今天刚好遇到了,顺带做个总结。(mac版 ... [详细]
  • 如何解决《我无法安装intelHAXM》经验,为你挑选了5个好方法。 ... [详细]
  • IinstalledAndroidStudioandIhadnoproblemswiththat.However,whenItriedtoruntheemulato ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • linux6.5 配置邮件服务,centos 6.5服务器搭建邮件服务postfix和dovecot
    centos6.5搭建邮件服务postfix和dovecot------------------------------------------------安装DNS指定邮件交换记 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Mycat水平分表相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
阳光碎了围脖_182
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有