Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

10/29/2008
04:44 PM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

Hack Turns Application Code Against Itself

New attack uses application flaws to force good code to go rogue

Turns out you don't need malware to exploit a security flaw in an application: A pair of researchers has found a way to automatically make good code do bad things.

Researchers from the University of California at San Diego (UCSD) have devised a technique that basically lets an attacker bypass built-in system defenses aimed at blocking malware, and then execute instructions from inside the application. The process uses an application's vulnerability to turn it against the system on which it runs.

An attacker could take advantage of a flaw in a Web browser, for instance, to force the browser to spam the user's address book using only the browser's own code, according to the researchers.

"Most computer security defenses are based on the notion that preventing the introduction of malicious code is sufficient to protect a computer," said Stefan Savage, a UCSD computer science professor and co-author of the newly published paper, "When Good Instructions Go Bad: Generalizing Return-Oriented Programming to RISC" (PDF). "This assumption is at the core of trusted computing, antivirus software, and various defenses like Intel and AMD's no-execute protections. There is a subtle fallacy in the logic, however: Simply keeping out bad code is not sufficient to keep out bad computation."

Another UCSD researcher at Black Hat USA in August demonstrated a more manual technique for this -- against x86-based systems. But UCSD graduate students Erik Buchanan and Ryan Roemer in this latest research took it to the next level and automated the process, as well as extended it to RISC-based processors.

The researchers automated the development of malicious programs from code with "gadgets" to streamline the process. Since malware isn't involved, an attacker could hijack the application and force it to behave badly.

"The researchers' breakthrough is the ability to quickly extract patterns that can be used in such an attack to execute instructions that should be prevented by the OS," as well as using this so-called return-oriented technique against the RISC processing platform, says Pierre-Marc Bureau, a researcher with Eset.

While such an attack isn't likely a big threat today, it demonstrates how seemingly benign software bugs could become lethal. "You're not going to bother fixing a buffer overflow because it doesn't seem exploitable. But this shows that these kinds of flaws might be exploitable [after all] with these techniques," says Chris Wysopal, CTO at Veracode. "These aren't new exploits. But they are coming up with a generalized technique for exploiting some of those vulnerabilities we already know about."

Such an attack would take a relatively skilled hacker, says Randy Abrams, director of technical education at Eset. "For the criminal element, they'll go after the low-hanging fruit, and that is the user," Abrams says.

Aside from fixing certain types of application flaws or creating other security measures to protect against such attacks, the researchers say their finding could shift the focus to more behavior-based security. "We may be forced to abandon the convenient model that code is statically either good or bad, and instead focus on dynamically distinguishing whether a particular execution stream exhibits good or bad behavior," they wrote in their paper.

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Kelly Jackson Higgins is the Executive Editor of Dark Reading. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Commentary
Ransomware Is Not the Problem
Adam Shostack, Consultant, Entrepreneur, Technologist, Game Designer,  6/9/2021
Edge-DRsplash-11-edge-ask-the-experts
How Can I Test the Security of My Home-Office Employees' Routers?
John Bock, Senior Research Scientist,  6/7/2021
News
New Ransomware Group Claiming Connection to REvil Gang Surfaces
Jai Vijayan, Contributing Writer,  6/10/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
The State of Cybersecurity Incident Response
In this report learn how enterprises are building their incident response teams and processes, how they research potential compromises, how they respond to new breaches, and what tools and processes they use to remediate problems and improve their cyber defenses for the future.
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2021-0532
PUBLISHED: 2021-06-21
In memory management driver, there is a possible memory corruption due to a race condition. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android SoCAndroid ID: A-185196177
CVE-2021-0533
PUBLISHED: 2021-06-21
In memory management driver, there is a possible memory corruption due to a race condition. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android SoCAndroid ID: A-185193932
CVE-2021-26461
PUBLISHED: 2021-06-21
Apache Nuttx Versions prior to 10.1.0 are vulnerable to integer wrap-around in functions malloc, realloc and memalign. This improper memory assignment can lead to arbitrary memory allocation, resulting in unexpected behavior such as a crash or a remote code injection/execution.
CVE-2021-0478
PUBLISHED: 2021-06-21
In updateDrawable of StatusBarIconView.java, there is a possible permission bypass due to an uncaught exception. This could lead to local escalation of privilege by running foreground services without notifying the user, with User execution privileges needed. User interaction is not needed for explo...
CVE-2021-0504
PUBLISHED: 2021-06-21
In avrc_pars_browse_rsp of avrc_pars_ct.cc, there is a possible out of bounds read due to a missing bounds check. This could lead to remote information disclosure over Bluetooth with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: ...