The enterprise is increasingly turning to mobile app developers for solutions to leverage interest in BYOD. Gartner estimates that 70% of mobile professionals will conduct their work on personal smart devices by 2018. The app development boom has fostered a competitive environment for developers and there is a focus on speed. But In the rush to deploy enterprise apps and start reaping the benefits, it is easy to overlook key security risks that could cause irreparable damage to your business.
As developers create apps to run on multiple platforms and plug into existing ERP systems, vulnerabilities grow. From insecure data storage to improper session handling, from side channel data leakage to weak server-side controls, there are many risks to consider and robust penetration testing is an absolute must.
Start at the beginning
Security should not be an afterthought. If you place too much emphasis on speedy delivery then pressured developers are liable to sideline security concerns. They may have the expertise to create the functionality you need, but all too often developers lack the knowledge to deliver enterprise-standard security that stands up to regulatory compliance standards. The earlier in the process that security is factored in, the more time and resources you'll save down the line.
There are also major differences between the main mobile platforms and the level of security they offer for app developers. It's worth considering operating system-based points of attack when you make your choice, whether it's jailbreaking on iOS, rooting on Android, or known vulnerabilities in encryption mechanisms. [Also see: "U.S. lawmaker introduces bill to legalize cellphone unlocking"]
With a focus on security implemented at the start of development you can alleviate doubt when it comes to deployment. You should think about automated unit testing, regular code reviews, using standardized libraries with security credentials wherever possible, and insisting on penetration testing as part of the QA process. Do your due diligence and get assurances about your security concerns at the outset, before development begins.
Cracking the cloud
The majority of mobile applications are going to connect to Web applications and exchange data so developers cannot afford to forget the Web application layer. Developers need to consider the services that mobile apps are using in the cloud and ensure that encryption covers the data on every step of its journey. Storing sensitive data like unencrypted passwords in data cache files is all too common. In the cloud, in transit and on the local device, there must be encryption and protection at all times. Integration is at the core of the issue. You can't focus on the mobile app to the detriment of remote authentication or the cloud platform. Third-party services and systems must be assessed in terms of their security as well as their utility. A chain is only as strong as its weakest link.
It's vital that attempts to break that chain are not half-hearted. Only a third-party organization with no vested interest in the development can provide the peace of mind you need when it comes to thorough security testing.
One of the reasons that secure development for mobile apps is so challenging is the lack of established standards and the scarcity of useful tools and resources. Security expertise on one platform does not guarantee expertise on the next. Threats must be modeled and a methodology is required for security testers on each platform.
Without an expert understanding of potential weaknesses it is very hard to verify the security of a mobile app. A glance at the Open Web Application Security Project gives you some idea of the enormity of the task. It is a serious challenge, but not an insurmountable one. Attacks can be focused on the browser, the device, the app, the platform, the network, or even your web server and database. In order to uncover vulnerabilities and expose loopholes you need several rounds of expert mobile security testing.
Fixes during development can introduce new issues so don't engage one test cycle, plug the gaps and then assume the app is secure and fit for deployment.
The good news is that secure development for mobile apps is achievable and it can be done at a fraction of the cost of a major security breach for your company.
Drolet is founder of Towerwall, a data security services provider in Framingham, Mass., with clients such as Bose, Middlesex Savings Bank, Raytheon, Brown University and SMBs. You may reach her at firstname.lastname@example.org.