Eco-conception logicielle au service de la sécurité informatique
Le principe d’éco-conception est fréquemment illustré au niveau des interfaces graphiques par l’optimisation de la résolution des images ou des vidéos, et au niveau de l’accessibilité aux personnes présentant des difficultés pour utiliser certaines technologies.
Mais qu’est-ce que ce concept signifie dans le cadre d’une infrastructure informatique ou d’un serveur de traitement de données ?
En quoi une architecture numériquement sobre permet-elle de renforcer la sécurité des logiciels ?
Lorsque l’on considère l’ensemble des facteurs fondamentaux liés à l’éco-conception, le développement traditionnel des applications est presque entièrement remis en question.
Une application qui fonctionne n’est plus un critère d’acceptation suffisant !
Les systèmes ont maintenant le devoir d’évoluer et d’anticiper des besoins qui surviendront au cours de son utilisation, mais aussi de garantir la souveraineté et la sécurité du code qui exploite des données sensibles et consomment des ressources matérielles dans les datacenters.
Le nombre de machines infectées (botnet) dans le monde se comptent en dizaines de millions, et sont utilisées chaque seconde à des fins malveillantes.
- Qui porte alors la responsabilité des attaques informatiques d’envergure ?
- Est-ce que la négligence ou l’ignorance des concepteurs d’applications vulnérables peuvent être mises en cause ?
Le principe de sobriété numérique, qui se recoupe très fortement avec celui de l’éco-conception au sens large, met en exergue l’importance de limiter les possibilités intégrées dans les applications à des fonctionnalités identifiées.
Autrement dit, de ne pas embarquer de comportements qui ne sont pas nécessaires ou qui ne sont pas utilisés. Grâce à un code source réduit, les applications pourront fonctionner plus efficacement et le risque de failles sera diminué.
La tentation d’utiliser des librairies externes riches est encore trop présente dans les méthodologies de développement applicatifs classiques, ce qui conduit inexorablement vers une complexification des infrastructures et à la perte de la maitrise du code.
Les dégâts sont lourds en cas de découverte d’une nouvelle vulnérabilité (zero-day) dans une librairie utilisée par des millions d’applications dans le monde !
Pas un cas isolé :
- En Avril 2014, la faille « Heartbleed » a affecté des millions de serveurs web dans le monde, et a attiré l’attention sur le fait que ce composant critique n’était maitrisé que par une poignée de bénévoles.
- En Juin 2021, LinkedIn a été touché par une attaque exploitant une vulnérabilité zero-day qui a affecté près de 700 millions de comptes utilisateurs.
- En Décembre 2021, une nouvelle faille « Log4J » est découverte dans un composant mineur embarqué dans des milliers d’applications qui permet de prendre le contrôle des serveurs à distance.
Alerte Log4J !
Tout commence fin novembre lorsqu'une vulnérabilité a été constatée au niveau de Log4j, un composant présent dans la suite de librairies applicatives fourni par la fondation Apache. Et c’est officiellement le vendredi 10 décembre qu’un chercheur rend public une manière d’exploiter cette faille. Une fonctionnalité ignorée de presque tous devient alors un « zero-day ».
La course commence pour évaluer et constater la potentielle nocivité de cette faille de sécurité. Cette dépendance logicielle est présente dans des milliers de programmes utiles pour faire fonctionner des millions de serveurs dans le monde. Le comble, elle est présente alors même que les développeurs et utilisateurs ne savent même pas si le logiciel est utile, utilisé et bien souvent à quoi il sert.
Ce type de problème a le mérite de mettre en lumière certaines mauvaises pratiques latentes que nous pouvons observer dans le monde de l’IT.
Une correction est rapidement disponible, mais les cyberattaques se multiplient tous azimuts pour tenter d'exploiter la faille qui affecte de nombreux services cloud. Selon les chercheurs de la société Wiz, 93% des environnements cloud sont menacés, alors que début janvier 2022, seuls 45% d’entre eux ont été corrigés.
Des leçons à retenir ?
Le 10 janvier 2022, dans son article intitulé « des logiciels libres très répandus sur Internet volontairement sabotés par leur créateur » le journal Le Monde revient sur la dépendance des plus grands acteurs aux projets open source.
« Le problème est récurrent : les logiciels modernes utilisent pour la plupart des briques logicielles librement accessibles et modifiables, créées par des développeurs indépendants, qui sont souvent les seuls à assurer leurs mises à jour et leur suivi, de façon bénévole. »
Nous observons cette nouvelle prise de conscience concernant les dépendances tierces avec bienveillance. Le mode de distribution, propriétaire ou open source, n’a pas d’importance sur la sévérité des vulnérabilités qui peuvent être présentent dans le code écrit, somme toute, par des humains.
Et la sobriété numérique dans tout ça ?
Soyons clair, l’éco-conception et la sobriété numérique n’apportent pas de garantie par rapport à la qualité du code source. Ce sont cependant des pratiques modernes qui permettent aux éditeurs d’applications, de diminuer les risques et les inconnues liés à des composants non-maitrisés.
Connaitre son système, savoir ce qu’il fait et comment il le fait, est aujourd’hui essentiel afin d’assurer l’intégrité et la résilience des applications.
C’est sur ce constat global que le logiciel Aeonics repose.