Parlez de « hardware » à des décortiqueurs de code, et toutes les attentions sont captivées. Quand Charly Miller ou Cesar Cerrudo flinguent de l’Internet des Objets, quand Adam Laurie et Dimitry Nedospasov atomisent des circuits intégrés, même les Paganini du reversing et les sorciers du chiffrement retiennent leur souffle. Peu étonnant qu’Andrea Barisani ait fait salle comble, le second jour de NoSuchCon.
Son arme matérielle, ou plutôt son bouclier, s’appelle USB Armory. C’est un ordinateur miniature complet sous Debian, encapsulé dans un boîtier de clef usb avec une puissance un peu plus élevée que celle d’un Raspberry, 512 Mo de mémoire, un espace de stockage sur carte micro-SD et 5 gpio directement accessibles sur le circuit imprimé. Mais USB Armory, c’est surtout un système à boot sécurisé qui, par le truchement de 4 emplacements de mémoires à écriture unique, peut stocker autant de clefs personnalisées contrôlant soit le lancement et l’exécution d’un firmware certifié, soit la capacité de vérifier si l’ordinateur sur lequel est branché la clef fait bien partie d’un parc de machines de confiance, avant de « suicider » toute trace de données si ce n’est pas le cas. Sur la machine elle-même, des « zones de confiance », ou partitions, peuvent être créées pour séparer distinctement les applications et fichiers personnels et professionnels. C’est donc typiquement l’ordinateur-porte-clef qui, branché sur un poste de travail de web-café ou une tablette en mode OTG, garantira l’intégrité d’une session SSH entre le « road warrior » et ses serveurs. Tout en garantissant l’inaccessibilité de ses mémoires vives et de stockage depuis le monde extérieur durant ces transactions. En cas de perte, le contenu de ladite clef ou de la mémoire SD n’est pas lisible, et la perte financière ne dépasse pas la centaine d’euros.
Autrement dit, peu importe que l’ordinateur portable d’un itinérant soit perdu ou compromis par la pilule rouge d’une chambrière diabolique à la sauce Rutkowska : USB Armory ne peut être attaqué avec de tels vecteurs, il les ignore, il les contourne.
En pratique, cette clef intelligente se branche sur le port USB d’une machine et apparaît comme une machine reliée au réseau local. L’ordinateur hôte ne sert donc que de clavier, d’écran, de source d’alimentation et de passerelle vers le monde extérieur. Une passerelle quasiment passive puisque, dans les configurations les plus sécurisées, elle ne verra transiter que des trames chiffrées.
« J’ai tenu , précise Andrea Barisani, à ce que l’intégralité de ce nano-ordinateur soit ouverte. Toute la partie logicielle est publique, le noyau de prédilection est un linux, le schéma et le dessin du circuit imprimé même est diffusé sur Github ». Comble de l’openitude, même l’outil utilisé pour dessiner ledit circuit imprimé, Kicad, est open-source –français de surcroît. Un outil pourtant bien mal adapté pour réaliser des circuits 8 couches comportant des bus obligatoirement isochrones. Mais rien ne rebute Barisani. 8 mois durant, composant après composant, piste à piste, il passe des journées et des nuits entières à concevoir le schéma, optimiser le routage de son circuit. Pour les initiés aux choses matérielles, USB Armory compte 2 gros pavés BGA (dont le processeur ARM) et plusieurs QFN.
Pour qui sonne USB Armory ? En priorité pour les utilisateurs institutionnels qui cherchent à conserver une confidentialité des informations tant durant les transmissions via Internet –la clef se comporte en client et agent SSH- que durant toute la période de stockage locale, puisque sa mémoire de stockage est chiffrée automatiquement. C’est également une version évoluée des coffres forts à mot de passe, enrichis d’un portefeuille électronique Web intégré.
C’est également, et indiscutablement, un outil très « geek ». Barisani est venu à Paris avec 5 clefs de pré-production… il est reparti les mains vides. Pour un professionnel de la sécurité, USB Armory, c’est moins et surtout moins cher qu’un « PonyPlug », mais c’est beaucoup plus qu’un Kali-linux en mode persistant sur une simple flash usb. Outil de penstest exposé à l’occasion d’une conférence truffée de pentesteurs, on imagine les regards envieux que jetaient les participants sur les rares privilégiés usbarmorisés. C’est également l’équivalent d’une machine de prototypage facile à transporter (un raspberry ou un Odroid U3 sans la filasse usb, hdmi alimentation etc.) ainsi qu’un système embarquable complet qui ne nécessite que d’une alimentation 5V pour fonctionner. Or, dans le domaine OEM, il n’existe pas de système embarqué sécurisé véritablement ouvert et fiable et de petite taille que l’on pourrait intégrer sans crainte dans l’un des innombrables « internet des objets » qui voient le jour ces temps-ci.
A ces champs d’applications presque classiques, j’ajouterais par exemple, conclut Barisani, le domaine du contrôle de processus industriel sécurisé, secteur ou le « soft » est toujours très en retard sur le « hard », ou encore dans les méthodes de déploiement de programmes dans le cadre d’infrastructures informatiques classiques, secteur ou la connaissance du « hard » est très en retrait sur la culture « soft ». »
2 commentaires