Here are the slides from my recent webinar. Sorry about the delay!
Tag Archives: android
It’s not too late to register for my webinar on July 12th: Android vs. Apple iOS Security Showdown. I’ll be taking a entertaining look at the current security posture of both platforms. I’ll be battling the Apple App Store vs. Google Play, device updates, MDMs, developer controls, security features and the current slew of vulnerabilities for both platforms. Which one will emerge the victor? Register for my webinar on July 12th to find out!
Having spoken at both at the SANS Mobile Device Security Summit as well as OWASP AppSec DC recently about testing mobile applications I’ve encountered that like the old saying goes “There are many ways to skin a cat”, there are also many ways to assess a mobile application. I’ve seen very detailed testing methodologies, not so detailed and everything in between. I’ve also heard other security professionals say that testing mobile applications are just like testing a web application. This is simply a wrong and inaccurate statement. Mobile applications are fairly complex and just assessing the application layer is only a small look into the overall security of a mobile application. While the OWASP Mobile Security Project will help define a complete mobile application testing methodology (which is in process), here are three areas that need to be tested in every mobile application.
1. The Mobile File System
How’s the application storing data and where is it being stored? You’d be surprised how much information is being stored in files, SQLite databases, system logs and more. If you’re lucky you will sometimes find private keys and hardcoded passwords. As a great example, the mobile Facebook application suffers from a file system vulnerability as I write this. The author likes to call this a “plist hijack attack”. Simply move the plist file to another mobile device and you are logged in as that user. As for tools to use when looking for file system vulnerabilities you should really check out the forensic approach that John Sawyer from InGuardians has developed. It’s my preferred method for seeing how the app writes to the file system and saves lots of time over creating a dd image.
2. The Application Layer
How’s the application communicating over HTTP? How are web services being used and how are they configured. Important things such as authorization and authentication need to be reviewed as well as session handling, business logic, input validation and crypto functions. Business logic needs to reviewed just like you would in a Web Application Assessment to find flaws in the way critical functions (like shopping cart checkout processes) were developed. Remember to never under estimate the criticality of Web Services! For reference and context, check out the presentation that Josh Abraham, Kevin Johnson and I gave at Black Hat USA last year.
Something else worth mentioning is that you can’t rely on traditional web proxies like Burp Suite to test the application layer on a mobile app. I’ve encountered applications that are configured to bypass device proxy settings! You need to use a tool like Mallory which is a fantastic TCP and UDP proxy. Mallory sees all traffic and allows you to manipulate and fuzz it. There are other ways to do this as well but regardless, you need to have a way to see all traffic the mobile app may generate.
The application layer is also where you need to look for issues specific to mobile applications like UDID usage in iOS. UDID is currently being used by many applications for unique device identification. However, the use of UDID is becoming an increasing concern from a privacy perspective. Not to mention, Apple is cracking down on UDID usage by now denying applications in the Apple App Store. Check out the presentation I did at OWASP AppSec DC this year about some of the privacy and security concerns regarding UDID.
3. The Transport Layer
How does the application communicate over TCP? How are custom protocols and third-party APIs used? Does the application use SSL? At OWASP AppSec DC we talked about the LinkedIn mobile application that was vulnerable to “sidejacking” or better known as HTTP session hijacking. This is where an attacker can pull out the session cookie in clear text and replay this so the attacker can login as the user. The popular “Firesheep” tool released in 2010 demonstrated this nicely. The good news is that the recent release of the LinkedIn app (version 5.0) fixes the sidejacking issue. Unfortunately though, using SSL for just the login process and defaulting back to HTTP is an issue many mobile and web applications still have.
Mobile Application testing is something that will evolve as mobile apps get more complex and the business drives more towards mobile solutions. If you’re deploying mobile apps for your business it’s more important than ever to have testing done on these three areas at a minimum. Lastly, keep up-to-date on the latest developments on Mobile security and testing methodologies by getting involved with the OWASP Mobile Security Project.
Share and Enjoy
Just a quick post about the SANS Mobile Device Security Summit that I participated in. Kudos to Kevin Johnson and Tony DeLaGrange from Secure Ideas for helping organize and lead the event. They did a great job! If you’ve been to SANS events in the past I assure you that this was much different. First, there was a great line up which included Rafal Los (HP), Jack Mannino (nVisium Security), Chris Cuevas (Secure Ideas), John Sawyer (InGuardians), Josh Feinblum (The Advisory Board Company) and Daniel Miessler (HP ShadowLabs) to name a few. Having a lineup of great speakers really made the summit flow as well as it did.
What I liked most about this event was that there were plenty of “real world” talks on how enterprises are deploying and managing mobile deployments. Real in the “trenches” types of talks. Here are some of the themes that I heard throughout all the talks:
- Jailbreaking/Rooting is BAD
- The OWASP Mobile Top 10 is going to be just as important as the traditional web application OWASP Top 10
- Mobile Threats are an evolving, moving target. Security teams have to be quick to adapt to new mobile technology
- MDM (Mobile Device Management Solutions) are a requirement
- Apple iOS devices are preferred over Android in the enterprise (seriously, that was the consensus). No one seems to care about BlackBerry or Windows Mobile devices. I think only one speaker mentioned Windows Mobile…
Speaking to the last point I find this pretty interesting. Especially given the fact that Android seems to be beating Apple in regards to market share of devices and app store apps. I also enjoyed hearing about some of the challenges and pitfalls real IT and security departments are facing. Many of the speakers talked about some best practices they’ve developed and problems they’ve had. One of the highlights for me was a talk by Det. Cindy Murphy from the Madison WI Police Department Computer Forensics Unit. She shared some of her experiences with mobile device forensics and how this evidence holds up in court. I highly recommend you check out this summit next year, it’s one not to miss!
I should have my slides from the latest version of my talk that I gave at the summit (Attacking & Defending Apple iOS Devices in the Enterprise) in the next day or so.