From MacCentral:
Intego issues Mac OS X Trojan Horse warning
By Jim Dalrymple jdalrymple@maccentral.com
April 08, 2004 3:10 pm ET
Macintosh security specialists, Intego on Thursday issued a security warning to its customers for the first Trojan horse to affect Mac OS X. Dubbed MP3Concept (MP3Virus.Gen), the Trojan horse exploits a weakness in Mac OS X where applications can appear to be other types of files, according to the company.
Intego told MacCentral today that the code is hidden in the ID3 tag of the MP3 file. The code will only activate when clicked, but once it is, Intego warns the Trojan horse has the potential to delete all of a user’s personal files; send an e-mail message containing a copy of itself to other users; and infect other MP3, JPEG, GIF or QuickTime files.
Intego also said that the same technique could be used to infect .jpg or .gif files, although no such cases have been found. Intego has released updated virus definitions to combat the Trojan horse.
At the time this story was posted, Symantec Corp. had no information on its Web site about the Trojan horse.
A (I know, I know) slashdot followup:
It is a real concept. There is an example of the trojan, or “virus” (sic), here:
http://www.scoop.se/~blgl/virus.mp3.sit
However, it seems that this may be at best questionable, as the “proof of concept” is nothing more than a standalone CFM application that has been given a creator type of ‘APPL’ (recognized by Mac OS X as a Carbon application), but with the file extension ’.mp3’, the standard mp3 icon, and the contents of an mp3 (which Mac OS X displays to the user an mp3). While the file does indeed appear at first glance to be an ordinary mp3, what can admittedly be potentially dangerous, it is in fact an application.
Additionally, as a CFM application, the file needs to be transported in such a way as to keep the resource fork intact, massively reducing its utility.
I predict a future security update with disallow this behavior…
This whole ‘issue’ is an incredible amount of misinformation. It’s a program that just has an MP3 icon; relying upon a user’s inability to drag and drop, but their ‘if I double click, it will work’ stupidity – the same way that most Windows email based, file sharing, et al work.
First, show all file extensions. Finder->Preferences->Advanced
![[Just a picture]](http://www.holwegner.com/up/FinderPrefs.jpg)
Secondly, here’s a simple little program to ‘exploit’ this. It’s quick AppleScript, here’s the code:
![[Just a picture]](http://www.holwegner.com/up/AppleScriptExploit.jpg)
Here’s what it looks like with ‘File Info’, after cutting and pasting a standard MP3 icon over the compiled Application:
![[Just a picture]](http://www.holwegner.com/up/FileInfo.jpg)
With “Show all Extensions” on:
![[Just a picture]](http://www.holwegner.com/up/FinderSnapshot.jpg)
What this article IS saying, however, is that the Finder respects the application filetypes over that of the extension. This is the ‘bug’. So, were I to rename the application from .mp3.app to .mp3, it would execute the application. For this example, I renamed ‘NotAnMP3.mp3.app’ to ‘NotAnMP3.mp3’ in the Terminal:
![[Just a picture]](http://www.holwegner.com/up/NotAnMP3FileInfo.jpg)
It is shown to be an Application, and if you double-click it, it will run as a program, despite the extension of .mp3, as it has the application (APPL) filetype, and that takes precedence over the filename, itself. I hope this has cleared up a bit of this ‘voodoo’. The way this works is the way any other program works, and has worked on the Mac, for aeons.
Of course, dragging it to iTunes or trying to open manually with iTunes does nothing. If you double click, however:
![[Just a picture]](http://www.holwegner.com/up/ProgramNotAnMP3.jpg)
This has potential for messing up things that you have ownership of, but it does significantly less damage than Apple’s own Installer has the ability to. Apple’s Installer, by default, overwrites symlinks with hard paths. Suppose you have /usr/local symlinked (aliased) to somewhere, and you install the latest and greatest software port, which installs to /usr/local. Hey, where did the libraries and other programs go?
Thankfully, of course, there is a fix for this behavior, but it’s not [yet] the default.