写点什么

研究人员突破了 Windows RT 的安全系统

  • 2013-01-11
  • 本文字数:1306 字

    阅读完需:约 4 分钟

近日,一位独立开发者发现了一种在运行着 Windows RT 的微软 Surface 上运行未签名桌面应用的方式。该漏洞利用了 Windows 8 的一处内核 Bug,该 Bug 当然也被 WinRT 继承下来了。C.L. Rokr发现该处Bug 会导致“未签名的桌面应用能够运行在Windows RT 上”。InfoQ 采访了Rokr 以了解其研究发现。

InfoQ:你的计算机背景是什么?

Rokr:我是个专业的嵌入式应用开发者。我觉得逆向工程很有意思,但却从来没有找到过关于这方面的好工作。

InfoQ:研究并发现该漏洞花了多长时间?

Rokr:我知道该处 Bug 已经有段时间了,但其用处却很有限。在数据区的任何地址处都会将给定值减 1。没有办法修改代码,因为这些页是只读的。在内核中找到适合的点花了我大约 3 周时间,主要是因为我之前从未如此仔细研究过 Windows。

InfoQ:你这么做的动机是什么?为了解锁设备以运行你需要的应用还是仅仅是好奇?

Rokr:在我发现新的 Visual Studio 有个 ARM 目标时,我就编译了一个示例 Win32 应用。接下来,我就等待着我的 Surface 能够快些到来。在 Reddit 的一次 AMA 讲座时,Surface 团队清楚地表示遗留应用将无法运行在 Windows RT 上,但我相信他们仅仅表示 x86 代码是无法运行在 ARM 机器上,这一点我很清楚。后来,有人提到代码签名,我再一次相信这仅仅是本地安全策略的一部分,用户可以禁用掉它,因为这正是微软的做法。你能够想象得到我第一次在 Surface 上运行示例时的样子,它无法运行。

InfoQ:你说到“颇具讽刺意味的是,Windows 内核的一处漏洞存在了一段时间,并且还被移植到了 ARM 上,就像 Windows 的其他部分一样”。

Rokr:这很奇怪。微软确实希望 Windows 8 与 Windows RT 能有所不同,但最终他们之间的相似性使我能够做到这一点。当然了,静态分析很有帮助,但拥有一个可用的系统(启用内核调试)使得我可以在很短的时间内查明一切重要的东西,无需将我的 Surface 连接到逻辑分析器上(我不确定这是否可能,有些人说 Tegra3 是个堆叠包,上面运行着 RAM)。

InfoQ:在 Windows 8 上这么做有多难?

Rokr:如果 Windows 8 拥有同样的限制,那么过程也一样。我一开始是在 Windows 8 上这么做的,因为可以使用内核调试器限制它,就像微软对 RT 所做的那样,但后来发现不行。

InfoQ:其他人可能觉得这不是什么问题,但微软解决这个问题容易么?只需发布一个“必选”的系统更新就行么?

Rokr:微软会像其他 Bug 那样修复它的,这是一件好事。如果他们没有将 Code Integrity 作为可选,那么我还会发现其他的,如果我找不到,也会有人找到的。

有多家新闻网站报道了微软对于 Rokr 所做的这一切的回应:

微软:这个场景并不是个安全 Bug,并不会对 Windows RT 用户造成威胁。当需要访问本地系统、管理员权限或是调试器时,上面所描述的机制并不是每个用户都会的,也不是合理的行为。此外,Windows Store 是用户在 Windows RT 上安装应用的唯一一种受支持的方式。有一些机制可以扫描安全威胁,并确保来自 Store 的应用是合法的,可以正常获取并使用。 我们对人们的这种创造力以及付出的辛勤努力感到由衷的钦佩。在未来的发布中,我们不保证这些方式还可以使用。

查看英文原文: Researcher Breaches Windows RT’s Security System

2013-01-11 06:111085
用户头像

发布了 88 篇内容, 共 272.9 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

软件测试/测试开发 | Spring Boot 异常处理

测试人

软件测试 springboot 自动化测试 测试发开

C++ sort和for_each算法的普通、文艺和2B用法

老王同学

c++ 排序

构建一个可复用的自定义BaseAdapter

芯动大师

Adapter viewholder item

三天吃透Kafka面试八股文

程序员大彬

Java Kafka Producer

一个可以早点下班的开发技巧

引迈信息

前端 敏捷开发 低代码 JNPF

我在京东做研发丨【混合多云第一课】为何多云多活被称为“技术皇冠上的明珠”?

京东科技开发者

京东云 研发 混合多云

ERP和MES如何做到优势互补,它们的区别在哪?

工赋开发者社区

EasyRecovery16数据恢复软件有哪些新功能?

茶色酒

EasyRecovery Photo16

Redis缓存知识大集合

阿呆

redis 缓存 缓存击穿 缓存雪崩

如何降低 Flink 开发和运维成本?阿里云实时计算平台建设实践

Apache Flink

大数据 flink 实时计算

网易云信 Crash 异常治理实践 | 智企技术委员会技术专题系列

网易智企

系统设计 异常处理

Gartner首次针对中国市场发布产业数字化白皮书,联合卡奥斯共探区域经济发展最优解

Openlab_cosmoplat

数字化 产业数字化 白皮书 开源社区 Gartner

预售登上计算机新书热卖榜TOP1,开年重磅,助力Java程序员飙升核心技能

图灵社区

Spring boot starter test java 后端、 程序员 java

SpringApplication启动类的Args详解

石臻臻的杂货铺

spring springboot

关于微服务系统中数据一致性的总结

Java 微服务 数据一致性

GitHub破千Star!Java多线程编程实战指南:核心篇+设计模式篇

Java 并发编程 多线程

Dubbo 在 Proxyless Mesh 模式下的探索与改进

阿里巴巴中间件

阿里云 云原生 dubbo

直播预约|Search for Future,阿里云 × Elastic 中国用户峰会 2023

阿里云大数据AI技术

大数据 阿里云 搜索

2023年适用于Windows和Mac的FTP传输工具

镭速

【经验分享】电路板上电就挂?新手工程师该怎么检查PCB?

华秋PCB

工程师 电路 PCB PCB设计

那些年,我们写过的无效单元测试

阿里巴巴中间件

阿里云 编程 云原生

工赋开发者社区 | 关于ChatGPT八个技术问题的猜想

工赋开发者社区

如何让SpringBoot项目启动时执行特定代码

Java Spring Boot

Kubernetes 部署主从结构的 MySQL 服务

CTO技术共享

字典数据结构 FST(Finite State Transducer)

alexgaoyh

Java Trie FST dat 字典数据结构

网易云信 Crash 异常治理实践 | 智企技术委员会技术专题系列

网易云信

系统设计 异常处理

黑盒测试方法—等价类划分法

测吧(北京)科技有限公司

测试

软件测试/测试开发 | 数据持久化技术(Java)

测试人

软件测试 测试发开

九科祝福丨人生不设限,愿你自由绽放

九科Ninetech

预售登上计算机新书热卖榜TOP1,开年重磅,助力Java程序员飙升核心技能

图灵教育

Spring boot starter test java 后端、 程序员 java

CorelDRAW矢量图形设计软件2023最新版本功能介绍

茶色酒

CorelDraw2023

研究人员突破了Windows RT的安全系统_语言 & 开发_Jeff Martin_InfoQ精选文章