当前位置: 首页 > news >正文

控制台安全内部:创新如何塑造未来的硬件保护

在 Help Net Security 的采访中,安全研究人员 Specter 和 ChendoChap 讨论了游戏机独特的安全模型,并强调了它与其他消费设备的不同之处。

他们还分享了对游戏机安全性的进步将如何影响未来消费者和企业硬件设计的看法。

斯佩克特 (Specter) 是本周在阿姆斯特丹举行的Hardwear.io会议的演讲者。

您能否解释一下 PlayStation 等游戏机的安全模型与智能手机或个人电脑等其他消费设备的安全模型有何根本区别?

游戏机有一些独特的安全设计,因为它们主要是为了保护系统免受用户攻击,而不是防止其他攻击者。供应商的担忧不是针对用户数据的攻击,而是强制实施 DRM,并确保系统上运行的代码不被篡改。PlayStation 网络 (PSN) 的保护也包含在这个保护伞下,而安全协处理器的很大一部分职责就是保护它免受黑客攻击。

这就是为什么我们在 PC 上看到的许多当前安全启动技术大约十年前首次出现在游戏机上,并经过改进成为今天的样子。智能手机有一个相当相似的安全模型,但对运行其代码的客户没有那么严格的限制。

游戏机的封闭生态系统还允许供应商在保护系统安全时采取自由。例如,PS5 不必担心像 PC 那样支持大量自定义设备和硬件,因此它们能够实施更严格的 I/O 内存管理单元 ( IOMMU ) 策略,以 PC 目前无法做到的方式防止直接内存访问 (DMA) 攻击。

您如何看待 PlayStation 等游戏机上原型的安全机制对未来消费硬件甚至企业级安全的安全设计的影响?

我们过去见过的此类机制,例如 AMD 的平台安全处理器 (PSP) 和可信平台模块 (TPM) 技术,至少部分源自 AMD 基于 GPU 的安全资产管理单元 (SAMU),主要用于 Xbox One 和 PlayStation 4。

在最新一代游戏机上,我们已经看到了额外的安全协处理器的证据,例如名称模糊的“A53”,它似乎充当了 SSD 加密内容的守门人。我们可以想象,这种东西最终会被运用于消费类 PC 和/或企业设备,在这些设备上,保护静态数据是安全模型的一个重要目标。

另一种可在企业中利用的缓解措施是仅执行内存 (XOM)。防止攻击者读取代码将有助于降低攻击者对系统的可见性,以及保护专有代码和知识产权。不过,这在桌面设备上可能不太有用,因为用户可以访问其系统上运行的可执行文件。

在 PS4 上,通过浏览器漏洞进行内核攻击相对简单。在 PS5 上引入虚拟机管理程序如何改变攻击难度?它为研究人员带来了哪些技术障碍?

在 PS4 等上一代主机上,系统的大部分安全模型都嵌入在内核中。即使是安全协处理器 SAMU 也无法阻止对大部分系统进行逆向工程,也无法阻止在内核中运行自定义代码。由于内核负责与它对话,因此攻击者可以利用内核漏洞轻松修补该 API。这一切都在 PS5 中发生了变化,其中内核代码的完整性受到专有虚拟机管理程序的保护。任何试图写入内核代码或任何可能导致重大系统更改的机器寄存器的尝试都会被拦截和拒绝。

让这个问题变得特别麻烦的是 AMD 开发了一种名为 XOM 的自定义硬件缓解措施。在大多数其他设备上,如果你可以执行代码,那么你也能读取它。然而在 PS5 上,尝试读取可执行代码将导致崩溃。这种保护是在 CPU 级别强制执行的,我们不能简单地用内核漏洞关闭它,因为虚拟机管理程序会拦截相关寄存器并阻止禁用它。无法转储内核代码是逆向PS5 操作系统的一大障碍。

鉴于研究控制台安全性的法律和道德复杂性,特别是在 DRM 和知识产权方面,您如何平衡进步知识和尊重供应商的权利?

在进行主机研究时,这始终是一个棘手的问题。为了运行自定义代码,我们在现有系统内工作,添加自己的密钥来解密我们自己的内容,而不会破坏现有内容的许可。我们只研究逆转系统所需的内容,并避免与许可相关的代码。

展望未来,您认为游戏机的安全模型将如何发展?是否存在特定威胁或新兴技术将影响游戏机领域硬件安全的未来?

我认为过去十年的经验表明,我们需要多个安全层,不能再将安全仅仅寄托在内核上。我认为,未来安全模型将不断发展,包括更多安全协处理器和硬件支持的缓解层。

在这方面,iPhone 是一个很棒的产品。它可能是目前地球上最难利用的目标。他们在这方面的成功很大程度上来自于部署了多个安全层和协处理器,即使在应用程序和内核受到攻击的情况下也能保护系统完整性。

相关文章:

控制台安全内部:创新如何塑造未来的硬件保护

在 Help Net Security 的采访中,安全研究人员 Specter 和 ChendoChap 讨论了游戏机独特的安全模型,并强调了它与其他消费设备的不同之处。 他们还分享了对游戏机安全性的进步将如何影响未来消费者和企业硬件设计的看法。 斯佩克特 (Specter) 是本周在阿…...

如何选择适合自己的 Python IDE

集成开发环境(IDE)是指提供广泛软件开发能力的软件应用程序。IDE 通常包括源代码编辑器、构建自动化工具和调试器。大多数现代 IDE 都配备了智能代码补全功能。在本文中,你将发现目前市场上最好的 Python IDE。 什么是 IDE? IDE…...

Matlab车牌识别课程设计报告模板(附源代码)

目 录 一.课程设计目的……………………………………………3 二.设计原理…………………………………………………3 三.详细设计步骤……………………………………………3 四. 设计结果及分析…………………………………………18 五. …...

kubesphere jenkins自动重定向 http://ks-apiserver:30880/oauth/authorize

问题:登陆kubesphere的jenkins Nodeport IP :Port 46.XXX.XXX.16:30180 自动跳转失败 http://ks-apiserver:30880/oauth/authorize?client_idjenkins&redirect_urihttp://46.XXX.XXX.16:30180/securityRealm/finishLogin&response_typecode&scopeopen…...

Vue3访问页面时自动获取数据

1. 使用生命周期钩子函数 # 后端代码--使用pywebview class Api:def greet(self):greet_text pywebview and vue3response {}response[text] greet_textreturn responseif __name__ __main__:# 前后端通信测试api Api()window webview.create_window(Vue app in pywebvie…...

go语言回调函数的使用

前言 在 Go 语言中,回调函数是一种将一个函数作为参数传递给另一个函数,在特定的事件发生时被调用的编程模式。 一、回调函数的定义 type OnTaskHandler func(r []byte)type remoteTaskClient struct {sync.RWMutexonTask OnTaskHandler } 以上定义了…...

区块链学习笔记(一)

区块链技术实现了去中心化的货币系统,与中心化记账方式不同,它消除了中间第三方,允许用户进行点对点交易,并确保了货币的真正所有权。此外,区块链的代码完全公开且不可篡改,保障了系统的透明度和安全性。 …...

解决QT打包发布App Store时(90238)错误

Invalid signature. The main app bundle, xxxx at the “xxxx.app” path, has the following signing error(s): [a sealed resource is missing or invalid. In subcomponent: xxxx.app/Contents/Frameworks/QtWebEngineCore.framework]. For details about signing Mac cod…...

使用Vite构建现代化前端应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Vite构建现代化前端应用 引言 Vite 简介 安装 Vite 创建项目 启动开发服务器 项目结构 配置 Vite 开发模式 生产构建 使用插…...

PyQt入门指南三十八 QWizard向导组件

在PyQt中,QWizard 是一个用于创建向导式应用程序的组件。向导是一种用户界面模式,它通过一系列逐步的页面引导用户完成某个任务。每个页面通常包含一些输入字段和选项,用户需要在每个页面上完成相应的操作,然后才能进入下一个页面…...

【数学二】线性代数-矩阵-矩阵的概念及运算

考试要求 1、理解矩阵的概念,了解单位矩阵、数量矩阵、对角矩阵、三角矩阵、对称矩阵、反对称矩阵和正交矩阵以及它们的性质. 2、掌握矩阵的线性运算、乘法、转置以及它们的运算规律,了解方阵的幂与方阵乘积的行列式的性质. 3、理解逆矩阵的概念&#x…...

近期学习前端的心得

1.如果你这一行的编辑权利在于你这一行的某个字段的值,你可以使用这样:disabled"scope.row.某字段 ! 某字段的值" 2.如果你不想使用弹出框的形式来修改数据库,可以采用 对“某字段”列使用了 el-input,并绑定了 v-model 到 sco…...

qt QMenu详解

1、概述 QMenu是Qt框架中的一个类,用于创建和管理菜单。它提供了丰富的接口来添加菜单项(通常是QAction对象)、子菜单以及分隔符。QMenu可以嵌入到菜单栏(QMenuBar)中,也可以作为弹出菜单(通过…...

HTMLCSS:旋转的动态卡片

效果演示 这段代码创建了一个具有动态背景和渐变效果的卡片。卡片背景有一个无限循环的旋转动画&#xff0c;增加了视觉吸引力。这种效果可以用于展示个人信息、项目介绍或其他需要吸引用户注意的内容。 HTML <div class"card"><h3>前端Hardy</h3&…...

通过自然语言表达你的想法。GitHub Spark让任何人都能使用人工智能,为自己创建软件...

我们能否让任何人都能使用人工智能&#xff0c;为自己创建软件&#xff1f;尽管开发者喜欢定制自己的开发环境以提高效率和趣味性&#xff0c;但创建个性化应用程序的复杂性常常阻止他们这样做。 如何使个性化软件的创建变得像定制开发环境一样简单?并让更多人能够轻松实现这种…...

c++的list类

本篇将讲述list类中的各种重要和常用函数&#xff08;begin&#xff08;&#xff09;、end&#xff08;&#xff09;、rbegin&#xff08;&#xff09;、rend&#xff08;&#xff09;、empty&#xff08;&#xff09;、size&#xff08;&#xff09;、front&#xff08;&#…...

uniapp数据缓存

利用uniapp做开发时&#xff0c;缓存数据是及其重要的&#xff0c;下面是同步缓存和异步缓存的使用 同步缓存 在执行同步缓存时会阻塞其他代码的执行 ① uni.setStorageSync(key, data) 设置缓存&#xff0c;如&#xff1a; uni.setStorageSync(name, 张三) ② uni.getSt…...

HarmonyOS-权限管理

一. 权限分类 1. system_grant system_grant 为系统授权&#xff0c;无需询问用户&#xff0c;常用的权限包括网络请求、获取网络信息、获取wifi信息、获取传感器数据等。 /* system_grant&#xff08;系统授权&#xff09;*/static readonly INTERNET ohos.permission.INTE…...

Github 2024-11-02 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-11-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目2Dart项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust, Dart协议类型:GNU Affero Genera…...

修改HarmonyOS鸿蒙图标和名字,打包后安装到真机,应用图标丢失变成透明,修改名字也不生效,还是默认的labeL解决方案教程

HarmonyOS鸿蒙打包hap 安装应用到桌面没有图标&#xff0c;用hdc安装到真机&#xff0c;打包后应用图标丢失变成透明&#xff0c;名字也还是默认的label的bug&#xff0c;以下是解决方案 以下是修改方案&#xff1a; 1、修改应用名字&#xff1a; 2、修改应用图标&#xff1a…...

unreal engine5动画重定向

UE5系列文章目录 文章目录 UE5系列文章目录前言一、下载动画资源二、创建IK Rig&#xff08;IK绑定&#xff09; 前言 在Unreal Engine 5.4中&#xff0c;动画重定向&#xff08;Animation Retargeting&#xff09;和动作匹配&#xff08;Motion Matching&#xff09;是两种不…...

蓝桥杯练习笔记(二十-日期问题)

日期题常见于填空题&#xff0c;关键点涉及闰年的判断和星期几的判断 1.根据间隔天数计算日期 题目来源&#xff1a;CSDN算法技能树 在X星系的广袤空间中漂浮着许多X星人造“炸弹”&#xff0c;用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如&#xff1a;…...

jenkins 构建报错 mvn: command not found

首先安装过 maven&#xff0c;并且配置过环境变量 win r ,输入 cmd 键入 mvn -v 出现上图输出&#xff0c;则证明安装成功。 原因 jenkins 没有 maven 配置全局属性, 导致无法找到 mvn 命令。 解决方案 找到全局属性&#xff0c;点击新增&#xff0c;配置 MAVEN_HOME 路…...

Vue computed watch

computed watch watch current prev...

【java】java的基本程序设计结构06-运算符

运算符 一、分类 算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符 1.1 算术运算符 操作符描述例子加法 - 相加运算符两侧的值A B 等于 30-减法 - 左操作数减去右操作数A – B 等于 -10*乘法 - 相乘操作符两侧的值A * B等于200/除法 - 左操作数除以右操作数B /…...

数据建模圣经|数据模型资源手册卷3,数据建模最佳实践

简介 本书采用了类设计模式的方式对数据模型进行高度抽象总结&#xff0c;展现了常见的数据模型构建模型等模型的作用、层次、分类、地位、沟通方式&#xff0c;和业务规则。使用一个强大的数据模型模式的数据建模&#xff0c;评估特定与广义模型的优缺点&#xff0c;有助于你改…...

Kafka相关知识点(上)

为什么要使用消息队列&#xff1f; 使用消息队列的主要目的主要记住这几个关键词:解耦、异步、削峰填谷。 解耦: 在一个复杂的系统中&#xff0c;不同的模块或服务之间可能需要相互依赖&#xff0c;如果直接使用函数调用或者 API 调用的方式&#xff0c;会造成模块之间的耦合…...

network HCIE认证

#1 ip地址设置 ip add 192.168.1.1 255.255.255.0 ip add 192.168.1.2 255.255.255.0 #2 DHCP 交换机上配置 system-view //进入系统配置 dhcp enable int g0/0/1 //接入接口管理 dhcp select interface //配置dncp选择接口 #3 DNS域名系统 int g0/0/1 dhcp server dn…...

造纸粉体分散机、改性包覆机、改性打散机

包覆改性机在造纸填料中的应用是近年来造纸行业技术创新的一个重要方向。通过包覆改性&#xff0c;可以改善填料的表面性质&#xff0c;提升其在纸张中的留着率和分布均匀性&#xff0c;进而增强纸张的性能&#xff0c;降低生产成本。以下是包覆改性机在造纸填料中的具体应用及…...

npm入门教程1:npm简介

一、基本概述 定义&#xff1a;npm是一个开源的JavaScript包管理器&#xff0c;它允许开发者下载、安装、发布和管理Node.js包。地位&#xff1a;npm是Node.js生态系统中不可或缺的一部分&#xff0c;为开发者提供了丰富的第三方库和工具。起源&#xff1a;npm由Isaac Z. Schl…...