Security Experts:

Researchers Discover Many iOS Apps Vulnerable to HTTP Request Hijacking

Researchers at mobile security vendor Skycure have discovered many iPhone apps are vulnerable to HTTP request hijacking attacks that could permit a hacker to use the app to load malicious content.

The company presented its findings today at the RSA Europe conference in Amsterdam. It declined to name any vulnerable apps so that they will not be targeted by attackers. However, the firm created a custom app of its own to demonstrate how the attack works.

"While the problem is generic and can occur in any application that interacts with a server, the implications of HRH [HTTP request hijacking] for news and stock-exchange apps are particularly interesting," blogged CTO Yair Amit. "It is commonplace for people to read the news through their smartphones and tablets, and trust what they read. If a victim’s app is successfully attacked, she is no longer reading the news from a genuine news provider, but instead phoney news supplied by the attacker’s server."

After testing a variety of high-profile apps, the firm found many were vulnerable to the attack. According to Amit, the problem centers on the impact of HTTP redirections caching in mobile applications. The attack scenario starts with a classic man-in-the-middle attack in which the vulnerable app sends a legitimate request to a server. The request is then captured by the attacker, who returns a 301 HTTP redirection to a server controlled by the attacker.

If the attack is successful, the 301 HTTP redirection issued by the attacker is kept in the app's cache and changes its behavior so that instead of retrieving data from its designated server, the app now loads data from the attacker's server even after the man-in-the-middle attack is over.

"Many iOS applications cache HTTP status code 301 when received over the network as a response," Amit explained. "While the 301 Moved Permanently HTTP response has valuable uses, it also has severe security ramifications on mobile apps, as it could allow a malicious attacker to persistently alter and remotely control the way the application functions, without any reasonable way for the victim to know about it. Whereas browsers have an address bar, most mobile apps do not visually indicate the server they connect to, making HRH attacks seamless, with very low probability of being identified by the victims."

To mitigate HTTP request hijacking, developers should ensure the app uses HTTPS when it interacts with its designate server. In addition, developers can create a new subclass object of NSURLCache that avoids 301 redirection caching and then set the new cache policy so that it used by the app. For users, Skycure advises uninstalling and then reinstalling any app believed to be compromised.

view counter