Risk
7/29/2008
00:15 AM
Jordan Wiens
Jordan Wiens
Commentary
Connect Directly
RSS
E-Mail
50%
50%
Repost This

Apple And Security: Long Road Still Ahead

Apple's trying to pick up its game with iPhone security, recently listing an iPhone Security Engineer position. Assuming the job is really about helping users -- and not just thwarting pesky unlockers -- it's a good move, but some corporate inertia might need to be overcome before security is a true priority. Just take a look at the official iPhone Enterprise Deployment tools.

Apple's trying to pick up its game with iPhone security, recently listing an iPhone Security Engineer position. Assuming the job is really about helping users -- and not just thwarting pesky unlockers -- it's a good move, but some corporate inertia might need to be overcome before security is a true priority. Just take a look at the official iPhone Enterprise Deployment tools.Apple's Enterprise iPhone support site contains links to three tools to create custom configuration files that can be used to provision large numbers of iPhones in an enterprise environment. The only documentation is a PDF deployment guide hidden in plain sight in the middle of the main graphic on that page.

Unfortunately, taking a quick peek at the Web Utility 1.0 for Mac reveals not only huge usability flaws, but some potential security problems, too.

The installer is lacking any documentation, and gives no feedback as to what it's doing. Poking into the deployment guide reveals that it isn't just a tool for deploying configuration rules via a Web server, it actually is an entire Web server installed onto the machine used to create the configurations. Poking through the source reveals an embedded Ruby on Rails application, and here's where it begins to get really sketchy.

The server installs itself on port 3000, is remotely accessible by default, and uses a default username and password (admin:admin) that can only be changed by finding the source files yourself and hand-editing the hard-coded credentials. You'll find the settings in the "authentication.rb" file, which addtitionally contains this particularly amusing comment:

# This file contains the (plain-text) user name and passwords for individuals # authorized to access the iPhone Configuration Web Utility # # This should be used for testing purposes only. #

Whoops!

Fortunately, Apple has been doing some good security work lately in securing the version of Ruby on its systems (Apple often runs outdated versions of software with known vulnerabilities and is usually many weeks or months late in distributing patches to those included applications) through the efforts of Drew Yao. At least it's not installing a version of Ruby that is vulnerable out of the box.

Of course, that assumes the application itself was written securely, but given the nature of how the entire service is installed and configured, it seems like that might be too much to ask for.

If you decide that the security risk is a bit much for you, or even if you're simply done creating your configuration files, good luck disabling the Web server your Mac is now running. There is no uninstallation method documented anywhere on Apple's site for actually removing the service! So any future vulnerability in Ruby unnecessarily exposes your machine, even if it no longer needs the running service.

Ironically, it's actually easier to use a GUI in Windows to disable the Windows version of the same service (through the Administrative Services control panel) than the recommended commandline in OS X.

One unofficial method to remove the service once installed was posted as a comment over at TUAW: [http://www.tuaw.com/2008/07/10/apple-releases-iphone-configuration-web-utility-1-0/] :

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.iPhoneConfigService.plist sudo rm /System/Library/LaunchDaemons/com.apple.iPhoneConfigService.plist

Of course, that still leaves the plethora of files installed by the package in the first place that will require manual removal. What a mess!

It would be nice to think that this is more indicative of a rushed iPhone 2.0 deployment than Apple's general attitude toward security. Sadly, that doesn't seem to be the case, as demonstrated by Apple's handling (or lack thereof) of the recent DNS cache poisoning attack.

Hat-tip to Ryan Naraine over at the Zero Day blog for catching Apple's security engineer job posting.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2013-1421
Published: 2014-04-22
Cross-site scripting (XSS) vulnerability in Craig Knudsen WebCalendar before 1.2.5, 1.2.6, and other versions before 1.2.7 allows remote attackers to inject arbitrary web script or HTML via the Category Name field to category.php.

CVE-2013-2105
Published: 2014-04-22
The Show In Browser (show_in_browser) gem 0.0.3 for Ruby allows local users to inject arbitrary web script or HTML via a symlink attack on /tmp/browser.html.

CVE-2013-2187
Published: 2014-04-22
Cross-site scripting (XSS) vulnerability in Apache Archiva 1.2 through 1.2.2 and 1.3 before 1.3.8 allows remote attackers to inject arbitrary web script or HTML via unspecified parameters, related to the home page.

CVE-2013-4116
Published: 2014-04-22
lib/npm.js in Node Packaged Modules (npm) before 1.3.3 allows local users to overwrite arbitrary files via a symlink attack on temporary files with predictable names that are created when unpacking archives.

CVE-2013-4472
Published: 2014-04-22
The openTempFile function in goo/gfile.cc in Xpdf and Poppler 0.24.3 and earlier, when running on a system other than Unix, allows local users to overwrite arbitrary files via a symlink attack on temporary files with predictable names.

Best of the Web