2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

研究人员突破了 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:111082
用户头像

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

关注

评论

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

大型互联网应用系统的技术方案和手段

饺子

架构师训练营 1 期 - 第四周 - 系统架构

三板斧

极客大学架构师训练营

有符号类型引发的奇怪现象

jiangling500

上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间

Java架构师迁哥

区块链将这样影响你的生产生活

CECBC

区块链 信息发展

通证、通证经济与区块链

CECBC

区块链 通证经济

第四周学习代码系统架构总结

三板斧

【人人都懂密码学】一篇最易懂的Java密码学入门教程

华为云开发者联盟

加密 密码

拯救深度学习:标注数据不足下的深度学习方法

华为云开发者联盟

学习 AI 训练

看看专科程序员与本科程序员之间,到底有什么区别?

Java架构师迁哥

数据库技术丨GaussDB(DWS)数据同步状态查看方法

华为云开发者联盟

数据库 高可用

研发和测试在多国陆续展开 全球央行数字货币研发驶入快车道

CECBC

数字货币 金融

架构师训练营第一期-第四周学习总结

卖猪肉的大叔

极客大学架构师训练营

京东区块链之供应链应用篇:溯源应用结合区块链能碰撞出什么火花?

京东科技开发者

区块链 供应链

你掉进过“伪敏捷”的陷阱吗?

华为云开发者联盟

项目管理 软件 敏捷

MySQL-技术专题-SQL优化系列

码界西柚

架构师训练营第 1 期第四周总结

Leo乐

极客大学架构师训练营

ARTS Week13

丽子

浅析 Golang 垃圾回收机制

郭旭东

Go 语言

Flink处理函数-6-4

小知识点

scala 大数据 flink

Java 中的反射是什么

Rayjun

Java 反射

5张表的sql整懵阿里p7:你们能看明白自己写的啥吗?

小Q

MySQL 数据库 学习 调优 mycat

架构师训练营第四周作业

Shunyi

极客大学架构师训练营

Vidyo整个产品架构是怎样的?

dwqcmo

音视频 集成架构 解决方案 智能硬件

《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化

Java架构之路

Java Linux 程序员 面试 编程语言

架构师训练营第一期-第四周课后作业

卖猪肉的大叔

极客大学架构师训练营

本周学习总结

饺子

如何设计一个牛逼的API接口

Java旅途

Spring Boot API

《Java核心技术总结》+《面试题总结》PDF整理,阿里P8大牛熬了半个月肝出来的!

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

阿里内部绝密《百亿级并发系统设计》实战教程,冒着被劝退的风险免费分享

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

阿里云服务器搭建

时间是一个人最好的证明

阿里云 服务器 域名

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