The evidence keeps mounting that companies that put out mobile apps are not paying nearly enough attention to security. Even big companies with large and experienced IT staffs are guilty. In fact, the latest evidence suggests that the iOS mobile app of the largest company in the U.S., by revenue, Wal-Mart, exposed user information, including geolocation details. The retailer is famously IT-savvy and is said to owe much of its success to what goes on in the back office.
Wal-Mart has already addressed many of the issues raised by Daniel Wood (CISSP, GPEN), an independent penetration tester, and says it is fixing the geolocation problem.
Wood conducted the testing at the request of Computerworld. He also spotted security failings in Walgreens' iOS mobile app.
The Wal-Mart app also displays an extensive list of recently viewed and/or scanned products, which could prove quite embarrassing if viewed by a co-worker, date or relative. ("Stocking up on condoms, Father Smith?")
The list of large companies -- including Starbucks, Delta, Facebook, Match.com and eHarmony -- whose Android and/or iOS mobile apps have been found to reveal far more information than the companies knew has been growing. Besides Wal-Mart, we can now add Walgreens to the list. Its iOS app's Pill Reminder function encourages shoppers to photograph their prescriptions, but it seems that those images are stored unencrypted and available to anyone. The app also stores the full name and user ID of customers, not encrypted but encoded (Base64) -- which can be easily unencoded and accessed. Walgreens plans to fix both security holes within days, said Abhi Dhar, chief technology officer for e-commerce at Walgreens.
Dhar said Walgreens had expected shoppers to take pictures of prescribed pills -- showing an orange circular pill or a blue rectangular capsule, for example -- but many have been photographing the prescription labels. When executives realized that, he said, they knew Walgreens needed to up its security.
The unencrypted information stored in the Wal-Mart app is available on any device that isn't protected by a password. Password information was at risk in the encrypted iTunes backup -- something that Wal-Mart just now fixed.
The fact that it has been fairly easy to find mobile apps with security problems suggests that the apps developers have not been doing enough testing. I'm sure that large companies do lots of pre-launch app testing, but I'm willing to bet that it's overwhelmingly functionality testing, not security testing. I'm confident of this because Wood has been able to find all manner of glitches with just a few hours of testing. And I strongly suspect that a lot of the testing that is done involves running automated scripts. Wood's testing was done by someone looking at the code and spotting problems.
In Wal-Mart's case, we don't know. "We do extensive security testing, and we don't disclose how we test security, for obvious reasons," said Wal-Mart spokesperson Dan Toporek.
Toporek also said that "our iPhone app has and continues to use the iOS default or higher levels of security. We appreciate the feedback, as we're always looking to drive the highest levels of security to prevent even these types of unusual scenarios. We are continually enhancing the app and are fixing the issue that was storing geolocation information."
The point of all of this is not that Wal-Mart and Walgreens were especially reckless when it came to security -- although both could have certainly done more -- but that many of the largest companies with the best IT talent are still not focusing sufficiently on mobile app security. And if they're not, what are the chances that small companies are? Mobile app security needs to get top-tier IT attention, and it needs to happen now. I assure you: Cyberthieves and corporate espionage agents are already on it.