A dangerous ambiguity

Brian Krebs recently posted a blog entry, Hiding In Plain Sight, about the continuing problem of executable files disguised as other types of files. Brian explains how to make file extensions visible on Windows XP and wonders why Microsoft didn't make that the default.

But hiding the extension by default is only part of the problem. Most users can't be expected to memorize the meanings of dozens of three-letter filename extensions. Even advanced users can't be expected to check the extension every time they download a 15-second video clip.

The real problem is that the same action -- double-clicking on a downloaded file -- has a completely different meaning depending on whether the file is a document or a program. In the first case, it means "view this document"; in the second case, it means "grant this program all of my privileges".

Mac OS X 10.5 "Leopard" tries an interesting solution: "quarantining" just-downloaded programs. If you download a program using Safari or Firefox, you get a concise dialog reminding you that it was downloaded from the Internet.

Unfortunately, Apple botched an important part of this dialog: the button label. The OS X HIG suggest that button names should be verbs that describe the action performed, so if users only read one word in the dialog, it will be one that differentiates one action from another. (Windows, in contrast, is notorious for using "Yes" and "No" as button labels.) Apple chose the verb "Open", which suffers from exactly the same problem as double-clicking: it has a vastly different meaning for documents and applications!

There is concern that because the dialog is "in the way of what you were doing", many users will click through no matter what the dialog says. So perhaps a better solution is to take a hint from the Web application security model, and grant fewer privileges to most local applications. Why should running a screen saver or local game be so much more dangerous than visiting a web page?

A third possible solution is to make the action to launch an application explicit. In a command-line setting, this action might be "chmod +x". On Mac, a natural choice would be dragging the application to the Applications folder, since that is already a normal part of installing an application.

For now, my workaround is to drag files to VLC (as a habit) instead of double-clicking them. I suggested this in the "Handling downloaded files" section of Security tips for Firefox users.

3 Responses to “A dangerous ambiguity”

  1. nul Says:

    http://members.arstechnica.com/x/packswede/Annoying.png
    http://www.som.cranfield.ac.uk/som/research/centres/cbp/images/catalogue%20download%20properties%20box.jpg

  2. Ben Rogers Says:

    As of Windows XP SP2, double-clicking an unsigned file downloaded from the Internet produces a security warning with Run and Cancel options. I believe this is an OS feature, but the browser (e-mail client, etc.) needs to mark the file. I just checked FireFox. Unfortunately, it doesn’t seem to mark downloads. Internet Explorer and Outlook Express do.

  3. James Justin Harrell Says:

    It would help greatly if file managers would clearly visually indicate which files were executables (and had execution privileges). It doesn’t sound very difficult either (at least on Unixy OSes), so I don’t know why it isn’t done.