C&ESAR 2011 - Sécurité des OS mobiles

par Dominique Bolignano – Prove & Run

La présentation parle de TEE : Trusted Execution Environement, un environement d’execution sécurisé à grand coup de crypto et de preuve formelle pour obtenir un OS signé. Un modèle similaire à celui poussé par Microsoft avec Windows 8 sur les technologies TPM/Trusted Boot, ou encore la playstation de Sony.

Ce qui pousse ces technologies, c’est la VOD et la catchup TV, et l’objectif est le contrôle de la diffusion du média vendu, pour éviter le piratage. Les autres services porteurs, ce sont les applications bancaires…

Cependant, les attaques matérielles et logicielles peuvent mettre à mal le modèle de sécurité de nos plateformes mobiles standard. Il y a un certain nombre de transactions et de calculs sensibles qui sont faisables au sein de la SIM, mais on ne peut pas tout y mettre, et les contraintes liées au format du device viennent limiter la puissance des cartes à puces.

Donc l’usage du téléphone en remplacement des Terminaux de Paiement Electronique pour des montants importants pose un certain nombre de problèmes. En effet, le commerçant ne va pas attaquer son TPE qu’il utilise au quotidien, là ou il est envisageable qu’un attaquant démonte et décortique son mobile et ses application pour pouvoir mettre en oeuvre une fraude.

Le volume de code d’un kernel standard et la multiplicité des drivers qu’il doit embarquer pour supporter les nombreux périphériques, empêche toute forme de Certification de l’OS (trop de code à contrôler/valider). L’idée est donc d’avoir un TEE qui tourne à coté de l’OS, capable d’accéder à un nombre restreint de périphériques d’entrée/sortie dont les drivers sont certifiés/vérifiés. Ainsi cet OS dans l’OS pourra faire tourner les applications sensibles de paiement, là ou les applications « classiques » fonctionneront sur l’OS.

Bref du micro-kernel certifié qui vient faire tourner l’OS en « userland »

D’après l’Orateur, il est possible de mettre à jour l’OS indépendamment du TEE, et donc si le constructeur l’autorise, d’installer une custom rom sans mettre à mal la sécurité du TEE (mais je voit mal un constructeur/opérateur autoriser une telle manipulation). Bien sûr, on est pas à l’abri d’un bug hardware ou d’un bug dans le CPU et de ses conséquences sur la sécurité du micro-kernel.