A little-known feature in the Windows operating system can lead to big problems for Web surfers.
Security researchers Billy Rios and Nathan McFeters say they've discovered a new way that the URI (Uniform Resource Identifier) protocol handler technology, used by Windows to launch programs through the browser, can be misused to steal data from a victim's computer.
URI bugs have become a hot topic over the past month, ever since researcher Thor Larholm showed how a browser could be tricked into sending malformed data to Firefox using this technology. This bug allowed an attacker to run unauthorized software on a victim's PC.
Later, other researchers, including Rios and McFetters, showed how other browsers and applications could be misused to achieve similar goals.
In the past days, however, Rios and McFetters have shifted their focus away from malformed data and have taken a close look at how attackers could simply misuse the legitimate features of software that is launched via the URI protocol handler, something they call "functionality based exploitation."
Their initial results show that there could be plenty of ways to misuse this technology.
Though they will not name the company responsible for the software, the researchers said they have found a major flaw in a widely used program that could be misused to steal data from a victim's computer.
"It is possible through the URI to actually steal content form the user's machine and upload that content to a remote server of the attacker's choice," said McFetters, a senior security advisor for Ernst & Young Global Ltd. "This is all through functionality that the application provides."
Rios and McFetters plan to release the results of their research after the vendor has had a chance to fix the problem, but this may be the beginning of a new round of problems with a technology that is just starting to be scrutinized by security professionals.
"It's a hacker's dream and programmer's nightmare," said Eric Schultze, chief security architect with Shavlik Technologies LLC. "I think over the next six to nine months, hackers are going to find lots of ways to exploit standard applications to do non-standard functions."
By using these custom URI protocol names, software developers are trying to make lives easier for their customers. The Windows Registry keeps track of the names and associates them with programs, so that any time they are called up in the browser, the appropriate software is launched.
For example AOL LLC's instant messenger client uses the name "aim." So clicking on a Web link that begins "aim:goim" or putting the address "aim:goim" in the browser's address bar will open an AIM instant message window.
The problem is that software developers have rushed to enable their applications without properly thinking about how they could then be misused by attackers, McFetters said. "We've had a hard time with a lot of these applications understanding why these applications are registering the URI at all."
Firefox, for example, has used the "FirefoxURL" handler so users can launch Firefox out of Internet Explorer. "I still have a hard time understanding why they registered that," he added.
These URI issues are complicated, even for software developers. Mozilla Corp. initially thought that Larholm's bug needed Internet Explorer in order to be triggered, but this assessment turned out to be wrong, and two weeks later the Firefox team was forced to patch the same problem. "If an organization like Mozilla is having issues with understanding how a URI handler increases the scope and the attack surface of their applications, think about how hard it is for a small development shop," McFetters said.
Microsoft is working to educate users and developers about these security issues, but there's only so much that it can do, said Mark Griesi, a security program manager with Microsoft.
Griesi said that he does not see any of these URI issues as something that needs to be fixed in Windows or Internet Explorer. That's up to the individual software developers whose programs may be misused. "Security is an industry responsibility and this is certainly a case of that [principle]," he said. "It's not Microsoft's position to be the gatekeeper of all third-party applications."