• # on se dit la vérité, c'est pour un darkphone ?

    Posté par . En réponse au journal Sécurisation du port USB-C sur smartphone pour moules barbares. Évalué à 6.

    Je pense ne pas être le seul a effectivement me demander l'intérêt d'un tel niveau de sécurité, ou plus exactement le type d'attaquant imaginé.

    Honnêtement dans toutes les théories sur le pourquoi d'un tel niveau de sécurité une seule chose me semble cohérente avec l'utilisation d'un téléphone avec OS maison, deux applications seulement, des attaquants étatique, l'utilisation d'equipements grand public, etc., c'est la création de dark phones type EncroChat...

    Parceque si c'est pour n'avoir que deux applications, en dehors d'une plateforme de discussion chiffrée et d'une plateforme d'audio chiffrée, je vois mal l'intérêt d'avoir un smartphone.

    J'en vois qui font les gros yeux à ceux qui sont un peu curieux des raisons d'une telle recherche, mais soyons honnêtes, au delà de la curiosité un peu voyeuriste de type "mais attends t'a prévu de faire quoi pour avoir besoin de ça", se poser la question est quand même un peu légitime. Je veux dire on parle pas d'une personne qui demande comment garder ses données privées face à un attaquant criminel/économique/idéologique même très motivé, ni même une attaque étatique globale.

    Là on est clairement sur une personne qui demande comment créer une flotte d'appareils résistants à une attaque ciblée, individualisée et physique par un acteur de niveau étatique prêt à mettre des moyens humains et techniques relativement extrêmes, mais pas à recourir à la violence. Et probablement un acteur prêt à perfectionner sa technique sur plusieurs essais pour apprendre des contre-mesures employées par le fabricant du smartphone et mettre en place des attaques capables de circonvenir ces contre-mesures. Et on parle pas non plus d'une personne qui parle d'un exercice théorique, mais bien d'une personne qui nous dit qu'il a déjà un travail concret en cours sur le projet et qui est prêt à casser du matos (donc basiquement brûler des billets) pour faire des tests.

    Au minimum la curiosité pousse à demander "mais t'as prévu de faire quoi pour rentrer dans ce cadre". Et la question de savoir ce que la personne va faire des informations qu'on lui donne et de notre responsabilité dans l'utilisation finale est pas est illégitime.
    Si un mec dans la rue me demande le chemin de la mosquée/synagogue la plus proche, je lui file le chemin. Si un mec habillé avec un t-shirt marqué 88, un bidon d'essence à la main et un tatouage d'aigle sur le bras me demande le chemin de la mosquée/synagogue la plus proche, je pense que je vais lui répondre que je suis pas du coin...
    Alors la façon dont on souhaite répondre à nos suspicions est le choix de chacun et je ne suis pas pour uncm climat de paranoïa ambiante. Mais il faudrait voir à rester courtois avec ceux qui placent le curseur à un endroit différent et je pas nier contre toute forme d'évidence le caractère "étrange" de la question.
    Et puis au delà de la curiosité, il faut aussi dire que pour définir le moment où la sécurité sera suffisante il faut connaître le niveau de sophistication possible de l'attaquant. Parceque clairement si on parle d'un attaquant avancé qui a une et une seule occasion de tester et qui a une limite de temps très définie, c'est une chose. Mais si on parle d'un attaquant qui peut préparer son attaque pendant des mois, faire des tests et des analyses de composants sur plusieurs téléphones récupérés au préalables jusqu'à mener l'attaque sur la cible finale, on est pas sur le même niveau de contre-mesures.
    Tout ceci étant dit, je pense que le plus simple dans le cadre d'une production en série serait effectivement de commencer par boucher le port USB avec une résine très résistante aux solvants comme la ep41s-5 qui est une résine notamment utilisée pour protéger les puces électroniques contre la rétro ingénierie. Rien n'empêche de casser le port avant de le remplir ce qui compliquera encore la tâche.
    Je ne sais pas exactement comment cette résine résiste à la chaleur et au froid mais j'aurais tendance à imaginer que ça doit être assez résistant vu le domaine d'application.
    Pour prévenir les attaques qui contournent le port par un branchement direct, il faudrait étudier les emplacements physiques sur le téléphone pour connaître les chemins d'attaque possible.
    Je vois quatre vecteurs.
    1 - Démontage normal en s'assurant de garder la batterie brancher, jusqu'à accéder au pc et aux points de soudure du port. Il suffit ensuite de souder des câbles directement sur les ports et le tour est joué. Pour répondre à cette attaque il faut choisir un téléphone ou le démontage nécessite obligatoirement de retirer la batterie. Si possibilité de démonter le téléphone sans trop de difficulté ajouter une forme de coupe circuit sur l'ouverture, qui coupe le courant, ce qui videra la mémoire. Au minimum ça ralentira l'exploitation.
    2 - Démontage barbare par la face avant. Jusqu'à accéder au pc et rebelote. Là aussi même méthode que par la face arrière. Mais je pense que ça sera plus dur de trouver un téléphone modifiable facilement pour ajouter un coupe circuit lors du démontage de la face avant.
    3 - Perçage direct a travers le téléphone jusqu'à l'emplacement d'une piste cuivre qui mène au contrôleur USB, pour éviter tout démontage. C'est pas forcément évident mais j'imagine qu'avec un patron et du matériel adapté il est possible de percer juste jusqu'à toucher la piste de cuivre. J'ai pas de solution parfaite mais je miserais sur le fait de choisir un téléphone avec une gravure pcb très fine et un contrôleur USB avec soudure a billes et très proche du port pour minimiser la surface de travail.
    J'imagine qu'on pourrait imaginer d'ajouter sur la face avant et arrière un coupe circuit fait de deux conducteurs séparés par une couche d'isolant (par exemple des feuilles d'aluminium ou mieux un maillage en acier, séparés par une couche de kapton). Au perçage les deux conducteurs sont mis en contact et coupent la batterie.
    Une autre solution qui me semble simple et intéressante est de trouver un téléphone dans lequel on puisse déplacer physiquement le pcb. On démonte, on decale aléatoirement le pcb de quelques millimètres et on le refixe. Ça oblige à utiliser un patron déplaçable et à trouver un moyen de prédire la position finale (par exemple via un scanner rayons x).
    4 - Perçage de façon à viser directement les soudures du ports usb-c. Probablement encore plus compliqué à prévenir sans un démontage en profondeur.

    Globalement si tu peux démonter le téléphone et accédez au pcb je pense que ça vaut vraiment le coup d'arracher purement et simplement le port usb-c (pas besoin de dessouder, une pince suffit largement) puis de combler à la résine époxy. Si tu le fais toujours sur le même type de téléphone, j'irais aussi identifier le contrôleur USB, imprimer en 3d un patron pour pouvoir répéter l'opération facilement, et foutre un coup de perceuse au moins sur la piste de data au plus prêt du composant.
    Sans démontage avancé possible je miserais tout sur l'epoxy ep41s-5 dans le port. Ça laisse les autres vecteurs d'attaque mais ça limite les possibilités au mieux de ce qui est possible sans démontage.
    Autre point, je m'assurerai aussi qu'aucun système de déverrouillage biométrique ne soit fonctionnel. C'est encore et toujours le moyen le plus simple d'ouvrir le téléphone d'une cible, même sans qu'elle le sache.