Source: Hacker finds way to run desktop applications on Windows RT
By Lucian Constantin
January 8, 2013
A hacker claims to have found a method of bypassing the code integrity
mechanism in Windows RT, therefore allowing for desktop-style programs
to be installed on the platform. The hacker, who uses the online moniker
"clrokr", documented the bypass method in a blog post on Sunday.
Windows RT is a special version of Microsoft Windows designed for
lightweight PCs and tablets that are based on the ARM architecture,
including Microsoft's Surface tablet. Compared to Windows 8, Windows RT
only allows Metro apps downloaded from the Windows Store to be
installed. These applications are designed only for the Metro interface
and don't have access to the regular Windows desktop.
That said, Windows RT does come with a few preinstalled
desktop-enabled applications, like Microsoft Office RT, a special
version of Microsoft Office 2013, and Internet Explorer 10.
According to clrokr, the restriction of installing only Metro-style
apps on Windows RT is enforced through a code integrity mechanism that
checks the application's signature before allowing it to be installed.
This prevents users from simply taking a desktop application compiled
for the ARM architecture and installing it on their Windows RT devices.
"Deep in the kernel, in a hashed and signed data section protected by
UEFI's Secure Boot, lies a byte that represents the minimum signing
level," clrokr said. "The minimum signing level determines how good an
executable's signature is on a scale like this: Unsigned(0),
Authenticode(4), Microsoft(8), Windows(12). The default value on x86
machines [Windows 8 and previous versions] is of course 0 because you
can run anything you like on your computer. On ARM machines, it defaults
to 8."
The minimum signing level enforced by Windows RT can be changed by
exploiting a vulnerability in the Windows kernel that had existed for
some time and is also present in Windows RT, in order to modify that
special byte in memory, clrokr said.
The hacker decided to disclose the bypass method publicly because he
feels that Microsoft's decision to artificially ban traditional desktop
applications on the platform is a bad marketing move that decreases the
value of Windows RT devices.
"Windows RT needs the Win32 ecosystem to strengthen its position as a
productivity tool," he said.
"There are enough 'consumption' tablets
already."
"The reason I tried to disable Code Integrity has nothing to do with Win32 or WinRT," he said in a discussion thread
on Reddit. "It has to do with choice. Microsoft wants devs to go
through the [Windows] Store and it is understandable from a money
standpoint. But allowing Win32 apps could have helped the
chicken-and-egg problem the Surface is going to die from."
Clrokr doesn't agree with the argument that traditional desktop
applications require more resources and consume more battery power than
Metro-style apps, which might have led to Microsoft's decision to ban
them in Windows RT.
"This is not quite true," he said. "It all really depends on the
quality of the programs. Win32 and WinRT apps are not as different as
you might think. You can easily build a crappy, slow, unresponsive WinRT
app. And there is no reason to believe that Win32 apps have higher
requirements when it comes to processing power and memory."
It's not clear how Microsoft will react to the public availability of
this bypass method. The company did not immediately respond to a
request for comment sent Monday.
The hack does have some limitations. For one, the signing-level byte
cannot be permanently changed because of the Secure Boot feature that
checks the integrity of the OS after every reboot and reverts
unauthorized changes.
This means that the bypass procedure must be performed after every
reboot. Tablet devices are not rebooted that often, so this is not
necessarily a huge inconvenience, but it does mean that the use of the
hack is, at least for now, restricted to more technical users.
Another limitation is that x86 desktop programs can't simply be
installed on Windows RT; they need to be recompiled for the ARM
architecture. For open-source programs this might prove easier to do,
but for closed-source ones the only way to do it is to convince the
original developers to create versions for ARM.
In a discussion thread on the XDA-Developers forums, a user claims to
have already compiled PuTTY -- an open-source SSH, Telnet and rlogin
client application -- for ARM and successfully installed it on a Surface Tablet using clrokr's hack.
In the same thread someone suggested the idea of porting Chromium,
the open-source browser that serves as the basis for Google Chrome, to
ARM and installing it on Microsoft Surface. Clokr also said on Reddit that he has seen 7-Zip running on Windows RT.
Monday, 1 April 2013
Hacker finds way to run desktop applications on Windows RT
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment