Tips for testing your mobile app security
Wherever an app originates from, it is vital that you can vouch for its security before it is circulated
Enterprise app stores could be the answer. Gartner is predicting that 25% of enterprises will have their own app store by 2017. This will enable companies to push out apps more efficiently, it will be a major boost formobile device management, and it could offer a secure, automated process that will work equally well for apps developed in-house and curated applications from third parties. Wherever an app originates from, it is vital that you can vouch for its security before it is circulated.
[ ANALYSIS:Enterprise application store: There’s one in your future]
Broadly speaking, there are three types of mobile apps:
- Native applications — Written for a specific platform, native apps will only run on supported devices. This means an iOS app will only run on the iPhone, for example.
- Web applications — Any mobile device can access a Web app because they are built using standards like HTML5 and effectively housed online. The mobile app is often little more than a shortcut to the Web app.
- Hybrid applications — a Web-based user interface may have a layer of native application around it in order to get the best of both worlds.
Companies are increasingly opting for the hybrid approach so they can cover a wide range of platforms, but also leverage the hardware capabilities of different mobile devices. Gartner analysts suggest that more than 50% of deployed apps will be hybrid by 2016. [Also see: “What enterprise mobile apps can learn from mobile games“]
As you may imagine, each type of app requires specific testing. In each case you’ll need to consider how to protect data as it travels across mobile networks. There’s always a split between what is actually deployed to the mobile device, and the central processing or data storage that’s deployed to a server. There’s a range of software out there designed to assist your IT department in testing an app’s security.
To cover all the bases and ensure effective penetration testing is carried out, your best option is to engage a third-party organization with the right expertise. They will put your app to the test, approaching it as a real attacker would — with no regard for how the system is intended to be used, just a determination to breach it.
Tips for testing vulnerabilities
There are many potential weak spots in mobile apps. Knowing where they are can get you off to a good start.
- Data flow — Can you establish an audit trail for data, what goes where, is data in transit protected, and who has access to it?
- Data storage — Where is data stored, and is it encrypted? Cloud solutions can be a weak link for data security.
- Data leakage — Is data leaking to log files, or out through notifications?
- Authentication — When and where are users challenged to authenticate, how are they authorized, and can you track password and IDs in the system?
- Server-side controls — Don’t focus on the client side and assume that the back end is secure.
- Points of entry — Are all potential client-side routes into the application being validated?
This is only the tip of the iceberg in terms of comprehensive security testing for mobile apps. Factor in the peculiar demands of compliance in your industry, because it is vital that you meet the right standards for regulations and mandates. The majority of internal IT departments are simply not equipped to carry out the rigorous testing that’s required to pass a mobile app as safe. [Also see: “Hardening Windows 8 Apps for the Windows Store“]
It’s also worth knowing that you can’t just test an app and forget about it. If you frequent the developer forums for all of the major mobile platforms, you’ll find that new security threats are emerging all the time, and it takes effort to stay abreast of the situation and take the necessary action to keep your apps and systems secure.
By Michelle Drolet, founder and CEO, Towerwall
Special to CSO
This article was recently published in CSO