Combinant une fonctionnalité matérielle des processeurs de la société de semi-conducteurs Intel avec une méthode logicielle, Des chercheurs de l'Institut Max Planck pour les systèmes logiciels de Kaiserslautern et de Sarrebruck ont mis au point une nouvelle technologie appelée ERIM pour isoler les composants logiciels les uns des autres. De cette façon, par exemple, les données de carte de crédit ou les mots de passe peuvent être protégés contre les pirates lorsqu'ils sont traités par des services en ligne. Crédit :123RF
Protection des mots de passe, les numéros de carte de crédit ou les clés cryptographiques dans les programmes informatiques nécessiteront moins de travail de calcul à l'avenir. Des chercheurs de l'Institut Max Planck pour les systèmes logiciels de Kaiserslautern et de Sarrebruck ont mis au point une nouvelle technologie appelée ERIM pour isoler les composants logiciels les uns des autres. Cela permet de protéger les données sensibles des pirates lorsque les données sont traitées par des services en ligne, par exemple. La nouvelle méthode a trois à cinq fois moins de frais de calcul que la meilleure technologie d'isolation précédente, rendant plus pratique l'utilisation de la technologie pour les services en ligne. C'était une raison suffisante pour USENIX, une association américano-américaine de systèmes informatiques, et Facebook pour décerner leur Internet Defence Prize 2019 aux chercheurs.
Les programmes informatiques sont comme une forteresse. Tout comme une forteresse est protégée par des murs épais, douves et portails en fer, les pare-feu et autres technologies de sécurité empêchent les cybercriminels d'exploiter de manière malveillante les applications logicielles. Et tout comme une porte mal gardée ou un tunnel d'évacuation soi-disant secret peut permettre aux assiégeants de s'emparer d'un château, tout ce dont les pirates ont besoin, c'est d'une petite faille de sécurité pour accéder à tous les composants d'un logiciel. Au pire des cas, ils peuvent alors mettre la main sur les données qui leur donnent accès aux comptes d'utilisateurs ou même leur permettre d'effectuer des paiements par carte de crédit. Par exemple, le bogue Heartbleed dans le logiciel de cryptage OpenSSL largement utilisé a rendu les noms d'utilisateur et les mots de passe de divers services et programmes en ligne vulnérables aux pirates.
Les composants logiciels doivent être isolés comme des forteresses
Afin de prévenir de telles attaques mortelles, les développeurs de logiciels peuvent procéder de la même manière que les maîtres constructeurs de forteresses savamment conçues. Ils peuvent isoler divers composants logiciels les uns des autres, de même que plusieurs murs barrent l'accès direct au cœur d'une forteresse à tout assaillant qui parvient à franchir les remparts extérieurs.
Mais évidemment, meilleure est la protection, plus cela implique de travail :les châteaux ont besoin de plus de matériaux de construction et de gardes, et pour un logiciel cela signifie plus de temps de calcul. En réalité, les techniques d'isolation actuelles pour les programmes informatiques nécessitent jusqu'à 30 % de puissance CPU en plus, et un nombre proportionnellement plus élevé de serveurs doivent être exécutés par des services en ligne, ce qui augmente également les coûts d'infrastructure proportionnellement. "Un certain nombre de services ne pensent pas que cette augmentation de coût soit justifiée et n'utilisent donc pas de techniques d'isolement, " dit Deepak Garg, un scientifique de premier plan à l'Institut Max Planck pour les systèmes logiciels. "Notre technologie d'isolation n'utilise que cinq pour cent de temps de calcul en plus, ce qui le rend très attractif pour les entreprises. » Il n'est donc pas surprenant que les chercheurs aient reçu les 100 000 dollars américains Prix de la défense Internet 2019, avec lesquels USENIX et Facebook honorent les développements exceptionnels dans le domaine de la sécurité Internet.
La mémoire peut être divisée avec relativement peu d'effort
Une équipe dirigée par Deepak Garg et Peter Druschel, Directeur à l'Institut Max Planck des systèmes logiciels, a ingénieusement combiné une fonctionnalité matérielle récemment introduite dans les processeurs produits par la société de semi-conducteurs Intel avec une technique logicielle pour construire cette technologie d'isolation.-. La nouvelle fonctionnalité matérielle est connue sous le nom de clés de protection de la mémoire, ou MPK en abrégé, parmi les experts.
Cependant, MPK seul ne peut pas isoler de manière fiable les composants car il est toujours ouvert aux attaques de pirates informatiques ingénieux. Les chercheurs de Max Planck utilisent cette méthode avec une autre technique appelée réécriture d'instructions. « Le code d'un logiciel peut être réécrit de manière à ce qu'un attaquant ne puisse plus contourner les « murs » entre les composants logiciels, " dit Peter Druschel. " Cependant, cela ne modifie pas l'objectif réel du code." Ces deux méthodes peuvent être utilisées ensemble pour diviser la mémoire d'une application logicielle avec relativement peu de travail de calcul, puis isoler ces parties les unes des autres. D'autres technologies d'isolation accèdent au noyau du système d'exploitation à cette fin , ce qui implique un effort de calcul plus important. « Les développeurs de logiciels sont dans une course permanente contre la montre et les cybercriminels, " dit Peter Druschel. " Mais la protection des données doit toujours être pratique. Cela appelle parfois des approches systématiques mais non conventionnelles, comme celui que nous avons poursuivi avec ERIM."