Présentation GENYMOBILE SEMINAIRE Châteaux de la Volonière Android et Sécurité des communications 25 Juillet 2012
Nov 29, 2014
Présentation GENYMOBILE
SEMINAIREChâteaux de la Volonière
Android et Sécurité des communications
25 Juillet 2012
Menaces
FORMATIONAgenda
Terminologie
Biens à protéger
Preuve par l'exemple
Contre-mesures
FORMATIONTerminologie
FORMATIONCommunicationsBiens à protéger
Informations échangées
Confidentialité Intégrité
Disponibilité
FORMATIONMenaces
FORMATIONMenaces
Divulgation : Interception sur le terminal Android Interception proxy Interception par écoute réseau Interception sur le serveur (ou le pair)
Modification : Interception sur le terminal Android Interception proxy Interception sur le serveur (ou le pair)
Déni de service : Flood terminal Android ou serveur Exploitation faille application Android ou serveur
FORMATION« Réponse classique »
SSLChiffrement de bout en bout
Le chiffrement « de bout en bout » assure une protection vis à vis des attaques visant à intercepter le contenu...
FORMATION…ou pas
Tout dépend du mécanisme de gestion des clés, particulièrement de la gestion des certificats racines
Le niveau de sécurité de la communication dépend de la protection du keystore contenant les certificats racine.
Android <4.0 : Nécessité d'être root pour ajouter un certificat racine
Android >=4.0 : Liste des certificats racines accessible depuis les paramètres système
FORMATIONExemple : Interception « Google Check-in »
Installation d'un certificat racine « fake » sur le terminal Android Mise en place d'une solution d'interception de requêtes HTTP/HTTPS via redirection vers un proxy transparent [SQUID] qui envoie le contenu vers un serveur ICAP [C-ICAP] Le proxy transparent génère à la volée un faux certificat serveur signé par le certificat racine « fake », ce qui lui permet ensuite de décoder les requêtes reçues Le serveur ICAP stocke les informations reçues pour analyse
FORMATIONExemple : Interception « Google Check-in »
1: "352XXXX4131XXXX" (IMEI : my tablet 'phone ID')2: 352XXXX992470XXXX65 (Android ID : unique Android terminal ID)3: "KfblIp3D9a3TzIxvjI4Ncw==" (value of 'digest' in table 'main' of /data/databases/com.google.android.gsf/services.db)4 { 1 { 1: "samsung/GT-P1000/GT-P1000/GT-P1000:2.2/FROYO/BUJI4:user/release-keys" 2: "GT-P1000" (device model) 3: "samsung" (device manufacturer) 4: "unknown" 5: "unknown" 6: "android-hms-vf-fr" 7: 1285664195 (date : Tue, 28 Sep 2010 08:56:35 GMT) 8: 8 9: "GT-P1000" (device model) } 2: 1293573920130 (seems to be a date followed by ‘130’ : Tue, 28 Dec 2010 22:05:20 GMT) 6: "20810" (MNC that identifies the telco - here SFR) 7: "20810" (MNC that identifies the telco - SFR) 8: "mobile-notroaming"}6: "fr_FR"7: 6482298392203156173 (in Hexa : 59F5C00C6DC0F - value of 'logging_id2' of table 'partner' in /data/databases/com.google.android.gsf/googlesettings.db)9: "BC4760XXXX2B" (WIFI adapter MAC address)11: "[[email protected]]" (the Google account I've configured on the tablet)11: "DQAAAHwAAADfx4A26--_sWF8..." (SID linked to the Google account)12: "Europe/Paris" (Timezone)13: 0x2fXXXX7XXXXbc3b1 (“securityToken”)14: 215: "1Z5kM2XXXXX4hPRXXXX/Roh/A8E="
FORMATIONConclusion
Biens/Menaces/Objectifs → Contre-mesures
SSL : Attention à la gestion des clés !!!