Mobile apps are not secure enough due to developers focusing on features over security and being unaware of flaws, as well as the challenges of heterogeneous platforms and new versions. Sensitive data on devices and in the cloud are threatened if apps have insecure connections, storage, or code. Quick wins for security include encrypting data storage and communication, using SSL/TLS, and implementing frameworks that address jailbreaking and data leakage. Developers should implement best practices and security measures to protect sensitive user data.
4. Source: IBM Software
75% SECURITY BREACH COMES FROM
Apple reveals
government
data request
6 nov. 2013
iOS Banking
Apps Riddled
with Holes
17 Jan. 2014
MOBILE APP MISCONFIG. (GARTNER)
Apple Security
flaw hallow to
beat encryption
22 Feb. 2014
Through 2015, more
than 75% of mobile
Apps will fail basic
security tests
6. MOBILE SECURITY CHALLENGES
New technologies
• Heterogeneous OS platforms
• New version every year
Developers
• Focus on features, not security
• Unaware of underlying flaws
Mobile security
• Hard to build knowledge
• Only for a few products
• Penetration testing costs
11. Best practices
DATA COMM
Do I need to store the data?
Store in RAM when it is possible
Use the basic protection provided by the OS
Encrypt all sensitive information
Clean keys from the memory
Never save the keys or password without protection
12. Best practices
DATA COMM
Never use the password directly
Password
Jailbreak detection
Derivation
+
Hash
14. DATA COMM
Man in the Middle Attack
1. Intercept traffic with different attacks
• ARP Poisoning
• Rogue access points
• Evil Twin Attack
2. Eavesdropp clear packets
3. Eavesdropp SSL packets
• SSL Stripping
• Malicious SSL certificate
15. SSL Stripping
DATA COMM
GET http://mybank.com GET http://mybank.com
Malicious SSL Certificate
302 : https://mybank.com
SSL Handshake
200 OK http://mybank.com 200 OK https://mybank.com
HTTPS links replaced by HTTP
CONNECT https://mybank.com CONNECT https://mybank.com
18. DATA COMM
Protection Measures
HTTPS : Best practices
Always use a full HTTPS URL
Whenever possible, self-signed certificates
should be forbidden
If not possible, DO NOT trust everything !
Trust only your certificate by doing SSL Pinning
24. F r a m e w o r k
+ =
Y O U R A P P S E C U R E A P P
F r a m e w o r k
SENSE
Encrypted storage
Encrypted communication
Proxy HTTP
Keys manager
Identity manager
Jailbreak detection
Data leakage prevention
26. CONCLUSION
• Do not underestimate security of your app
• Think about which security level you really
need
• Implement best practices
• Review, test and audit your code
27. THANK YOU FOR YOUR ATTENTION
Contact
Sysmosoft SA
Rue Galilée 6 - 1400 Yverdon-les-Bains – Switzerland
info@sysmosoft.com
+41 24 524 10 36
Présentation:
Bien mettre l’accent sur la solution de haute sécurité pour mobile.
En 2014 le traffic mobile dépasse celui du desktop.
Une large majorité des adultes possèdent un smartphone et y stockent des données personnelles.
L’utilisation d’appareils mobile dans le cadre professionnel explose. Les entreprises sont en train de définir leur stratégie mobile et leur accorde de plus en plus de places.
Certaines entreprises, dont des établissements financiers, ont abandonné les desktop pour n’utiliser que des tablettes.
Les entreprises donnent accès à leurs données aux appareils mobile.
Ceux-ci étant particulièrement récents, ils sont le maillon faible de la sécurité de l’entreprise.
Il est beaucoup plus facile pour un pirate de s’introduire dans un téléphone mobile, ou d’en intercepter ses communications que de s’introduire dans le réseau de l’entreprise
Noé
D’où viennent ces problèmes de sécurité ?
New technologies :
Difficile de maintenir des logiciels sur plusieurs plateformes qui évoluent chaque année
Developers :
Les développeurs se focalisent sur les nouvelles fonctionnalités, et non la sécurité. En effet, il est de plus en plus important de donner aux clients / utilisateurs le maximum de nouvelles features. La sécurité passe en second plan.
Les développeurs ne connaissent pas forcément les failles de sécurité de l’OS
Mobile Security
Demande plus de connaissances de la part de l’équipe de dév.
Les audits de sécurité sont coûteux
Dans la suite de cette présentation, nous allons parler de deux vecteurs d’attaques important qui sont le stockage des données, ainsi que la communication sur le réseau. Quels sont les risques, comment s’en protéger et quelles sont les difficultés lors de l’implémentation
Préciser que nous n’allons pas parler de la mobilité en entreprises (décisions MDM, BYOD, …), mais plus du cas général de la sécurité des applications, qu’elles soient publiques ou privée à l’entreprise.
Les cibles:
Le smartPhone
L’application
Communication
Cloud
Les buts:
- Données:
Personnel – images, contact, vidéo
Commercial – mot de passe, documents
Application:
Clés cryptographiques
Detection de protection
Cookies
Sessions
Suite -> Protection des données locals et protection sur la communication
MH
ATTENTION -> Bien expliquer le contexte
Le but ici, c’est de voir ce que nous stockons sur le smartphone depuis notre application.
Comment y accéder ?
Appareil volé -> Accès physique
Application tierce -> Virus
En utilisant l’application sur un appareil jailbreaké ou rooté
En explorant les backups
ATTENTION: Accès validé à l’avance. Protection par PIN code
Exemple simple des données stockées par l’application
But: Montrer ce que stocke les applications
Bien sûr il faut avoir accès aux données mais c’est tout a fait dans les cordes de certaines personnes.
Exemple avec iExplorer
Documents
Dropbox -> Application support -> Files -> cache.db
Comment s’en protéger :
Ne pas stocker inutilement des données => Réfléchir et trouver le bon équilibre
Utiliser la mémoire de la RAM
Utiliser les systèmes mis à disposition par l’OS
iOS: Keychain
Android: Données privée de l’application
Chiffrer les données sensibles
Attention à la gestion des clés de chiffrements
Ne pas les garder en mémoire
Sinon toujours protéger les clés ou mot de passe
Créer une clé principale dérivée d’un mot de passe ou récupérer la clé depuis un serveur
Trois niveaux:
Ne rien chiffrer
Utiliser l’OS
Utiliser Sense
Analyse de code pour trouver comment fonctionne votre application.
Modification de l’exécution du programme.
Noé
ATTENTION -> Bien expliquer le contexte
Deuxième vecteur d’attaque : Les communications entre le device et internet
…
Comment s’en protéger :
Analyser la situation et mettre sur une balance la difficulté de l’implémentation de la protection avec la sensibilité des données.
Il n’est pas toujours possible et utile de mettre en œuvre une forte sécurité pour des données peu sensibles.
Utiliser SSL / TLS
Mécanisme standard de protection. Permet une protection contre le vol des données par sniffing, vol de cookies (session sécurisées)
Avoir un certificat trusté permet valider l’intégrité et la confidentialité des données.
Ne pas hésiter à faire du SSL pinning pour garantir que le certificat est le bon.
Proxy HTTP
Utiliser un proxy permet d’ajouter l’anonimité des requêtes
Proxy public ou d’entreprise (possibilité d’accéder à des données internes, faire attention d’ajouter un moyen d’authentification fiable)
Sécurité ultime : VPN
Par app (iOS) ou par device (Android).
Offre l’authentification, intégrité, anonimité, confidentialité + accès aux ressources internes de l’entreprise
Quelles sont les attaques ?
Packet Sniffing
Analyser le trafic (browsing, …)
Capturer les cookies non sécurisés de certains sites (par exemple réseau sociaux), les réutiliser ensuite pour accéder au site
Anecdote : SSL est par défaut pour Gmail depuis 2010, Webmail Outlook depuis 2012, Facebook février 2013, Yahoo octobre 2013.
http://threatpost.com/last-to-the-party-yahoo-turns-on-ssl-by-default/102592
Rogue access Points
Créer un réseau public « Free WiFi », qui fait office d’attaque man-in-the-middle
Evil Twin Attack
Utiliser le même SSID du WiFi habituel de la cible. Son device va se connecter à celui-ci s’il est à portée.
Quelles sont les attaques ?
Packet Sniffing
Analyser le trafic (browsing, …)
Capturer les cookies non sécurisés de certains sites (par exemple réseau sociaux), les réutiliser ensuite pour accéder au site
Anecdote : SSL est par défaut pour Gmail depuis 2010, Webmail Outlook depuis 2012, Facebook février 2013, Yahoo octobre 2013.
http://threatpost.com/last-to-the-party-yahoo-turns-on-ssl-by-default/102592
Rogue access Points
Créer un réseau public « Free WiFi », qui fait office d’attaque man-in-the-middle
Evil Twin Attack
Utiliser le même SSID du WiFi habituel de la cible. Son device va se connecter à celui-ci s’il est à portée.
Instagram
Paypal
Pour une sécurité fiable, il est important, voir essentiel, de faire toutes les requêtes via HTTPS.
Trust SSL Certificate !!
SSL Pinning
Pour une sécurité fiable, il est important, voir essentiel, de faire toutes les requêtes via HTTPS.
Trust SSL Certificate !!
SSL Pinning
Comme pour le storage, il faut cibler l’information à protéger. La complexité de la mesure de sécurité est proportionnelle à l ….
Pour une simple protection, il est possible de faire transiter le trafic via un proxy HTTP
Pour une protection presque complète, il est possible de configurer un VPN par app ou au device. Plus compliqué mais efficace, et donne accès à l’intranet.
Quelques solutions existantes et open-source pour Android.
Chacune d’entre elle peut avoir ses défauts, comme indiqué avant il faut faire la balance entre la sensibilité des données et l’effort de la mise en œuvre.
SQLCipher 4 Android : SQLite database extension encrypted with AES 256
IOCipher : Offre un FileSystem virtual chiffré
Secure Preferences : Obfusque les préférences des applications. Il ne s’agit que d’une obfuscation car la clé de chiffrement est gérée par la librairie et facilement retrouvable.
Quelques solutions existantes pour iOS.
SQLCipher
iOS-Crypto-API
ADVCertification
ADVDetector
MH
Ce que contient notre Framework
Ne pas faire confiance seulement au mécanisme de base
Chiffrement
Gestion des clés Online
Proxy
Detection du jailbreak
Timers de session
Ce que contient notre Framework
Chiffrement
Gestion des clés Online
Proxy
Detection du jailbreak
Timers de session