Last week I attended the first Blackhat mobile security summit in London. It was a great chance for us to learn from security specialists.

I co-wrote this article to highlights some of our favourite and key takeaways.

  • New Android Security Rewards Program
  • State of malware on Android/mobile
  • Samsung / SwiftKey Zip Traversal Hack
  • SSL validation (or lack of) still one of most common app vulns
  • “erase everything” = not everything?
  • Windows phone 8 exploits and security faux pas

gotocope_smI have been fortunate enough to be invited to speak at goto; conference in Copenhagen on October 6th. I’ll be giving a talk I one of my favourite subjects: Android app security. If you can make it please come and say hi.

 

Abstract:

Global mobile adoption is spreading like wildfire, pervasive government surveillance programs are coming to light and major internet security exploits are being uncovered. This results in increased awareness from users, managers and developers for the dire need for rigorous security in deployed code. While mobile device security can be helped via mobile device management (MDM) solutions it’s our responsibility as app developers/publishers to ensure our apps protect user privacy and critical business data. The problem is securing your Android app and data is not always obvious or well documented.

This talk will cover current Android app threats and look at how with freely available tools we can easily reverse engineer an Android app. After a brief introduction to Android platform security and how to protected app components, we’ll cover enhanced SSL validation, encryption, tamper protection and advanced obfuscation techniques. We will also focus on leveraging open source commercially viable libraries allowing us to increase our app’s security with minimal effort.

These best practise techniques will arm you with practical solutions that can help you survive in the Android security jungle.

I have released a new open source library to wrap a Google Play services API called SafetyNet, which has been completely eclipsed by the recent Google IO and WWDC coverage ;) safetynet_framed

Here’s a blog post that explains a bit about what is it and why and here’s the code on github.

I’ve also released the Sample app on the Google Play store so you can run the Safety Net test on your own device.

 

Another blog on the Intohand blog, this time “How to publish your open source library to Maven central”

Have you created a great (or at least useful) Java/Android open source project that you want to enable other developers usmavene in their projects easily? have you wondered how to publish your library to Maven central? then this is the article for you!

http://intohand.com/blog/post/how-to-publish-your-open-source-library-to-maven-central

This is an extract for a blog post I wrote for intohand. Read the full article here.

Whilst emulators provide a function, nothing beats testing on real hardware. As a developer however unless you’re near a test wall of phones, have a very large bag or lots of colleagues/friends who are all running different software versions it can be a pain. It would be ideal if you could have a single phone that acted as a Swiss Army knife.

At the end of this article using a tool called MultiRom you’ll have a Nexus 4 with the option of booting into various versions of Android.

mulitboot-image09

After last nights SWUX meetup I figured I’d share some more links on Google’s Material design that I’ve found since the last meetup I attended.

Articles:googledesign

  • An exploration in Material Design by Arthur Bodolec @ Feed.ly  – good information about the Z order and a nicely polished example.
  • We Are Living In A Material World And I Am A Material Girl – Trello – Great article that shows before and after material, and most interesting thing for me was how Trello got rid of the navigation drawer.
  • Instagram with Material Design concept by Miroslaw Stanek – some great code samples.

Examples of Material apps – there are several of these kind of sights two of the best are:

  • pttrns.com – has a new beta section showing material/lollipop Android apps. What’s great is you can filter by the type of screen you’re looking for.
  • materialup - showcases material apps and websites but also material concepts and animations

Tools

  • Material Palette, pick two of the material colours and this site will generate palette of 8 colours ready to drop in to your app/project
  • Keyline Pushing – Android  app – when running draws an keyline grid on top of apps, useful for designer/developers to validate an app is ahearence to material’s metrics and keyline spec

Yesterday, I spend a morning trying to figure out why a APK expansion file wasn’t downloading see screenshot.  This problem was specifically with and Android app/game created in the corona SDK but I guess could happen to standard Android apps. After reviewing Corona labs docs are here and various forum posts it turned out to be a simple fix. android_expansion_file

The expansion file had not successfully uploaded!! :( 

So triple check the expansion uploaded ok in the Google Play console! We had it fail 3 times for 2 different versions without any error messages.

Check the APK file details you should see the file size includes the expansion file size and see the filename of expansion file.

Official Google play apk expansion docs: https://developer.android.com/google/play/expansion-files.html