Secure Coding mailing list archives

Apple Places Encrypted Binaries in Mac OS X


From: leichter_jerrold at emc.com (Leichter, Jerry)
Date: Fri, 3 Nov 2006 12:44:17 -0500 (EST)

| Here's a somewhat interesting link to an eweek article that discusses
| Apple's use of encryption to protect some of its OS X binaries:
| http://www.eweek.com/article2/0,1895,2050875,00.asp
| 
| Of course, encrypting binaries isn't anything new, but it's
| interesting (IMHO) to see how it's being used in a real OS.  The
| article cites speculation as to whether Apple uses encryption for
| anti-piracy or anti-reverse-engineering.
Actually, it's pretty clear why they are doing it, if you look at
the pieces they encrypt.  The Finder and Dock have no particularly
valuable intellectual property in them, but they are fundamental to
the GUI.  Encrypting them means that a version of OS X that's been
modified to boot on non-Apple hardware won't have a GUI, thus
limiting its attractiveness to non-hackers.  To really get the
result to be widely used, someone would have to write a replacement
for these components that looked "enough like the original".  And
of course, since they built a general-purpose mechanism, nothing
prevents Apple encrypting other components later.

Rosetta (the binary translator for PowerPC programs) isn't an essential
program.  Apple may simply consider it valuable, but I think it's more
likely that they may be preparing the way for the next step:  Encrypting
applications they deliver as "native".  Since the encryption isn't
supported on PowerPC, running those applications under Rosetta would
provide a quick way to get around encryption for the native versions of
applications.

It is worth pointing out that while Darwin, the underlying OS, is
open source, no part of the GUI code, or Rosetta, or any of
Apple's applications, have ever been open source.

                                                        -- Jerry


Current thread: