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

在 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:旋转的动态卡片
效果演示 这段代码创建了一个具有动态背景和渐变效果的卡片。卡片背景有一个无限循环的旋转动画,增加了视觉吸引力。这种效果可以用于展示个人信息、项目介绍或其他需要吸引用户注意的内容。 HTML <div class"card"><h3>前端Hardy</h3&…...
通过自然语言表达你的想法。GitHub Spark让任何人都能使用人工智能,为自己创建软件...
我们能否让任何人都能使用人工智能,为自己创建软件?尽管开发者喜欢定制自己的开发环境以提高效率和趣味性,但创建个性化应用程序的复杂性常常阻止他们这样做。 如何使个性化软件的创建变得像定制开发环境一样简单?并让更多人能够轻松实现这种…...
c++的list类
本篇将讲述list类中的各种重要和常用函数(begin()、end()、rbegin()、rend()、empty()、size()、front(&#…...
uniapp数据缓存
利用uniapp做开发时,缓存数据是及其重要的,下面是同步缓存和异步缓存的使用 同步缓存 在执行同步缓存时会阻塞其他代码的执行 ① uni.setStorageSync(key, data) 设置缓存,如: uni.setStorageSync(name, 张三) ② uni.getSt…...
HarmonyOS-权限管理
一. 权限分类 1. system_grant system_grant 为系统授权,无需询问用户,常用的权限包括网络请求、获取网络信息、获取wifi信息、获取传感器数据等。 /* system_grant(系统授权)*/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 安装应用到桌面没有图标,用hdc安装到真机,打包后应用图标丢失变成透明,名字也还是默认的label的bug,以下是解决方案 以下是修改方案: 1、修改应用名字: 2、修改应用图标:…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
