Shellshock: un problème très sérieux

26/09/14 à 14:41 - Mise à jour à 14:41

Source: Datanews

Le problème est double: Shellshock rend vulnérables un nombre inconnu, mais particulièrement important de systèmes (et d'applications), et peut être facilement exploité par des personnes mal intentionnées.

Shellshock: un problème très sérieux

Le problème est double: Shellshock rend vulnérables un nombre inconnu, mais particulièrement important de systèmes (et d'applications), et peut être facilement exploité par des personnes mal intentionnées. L'appellation 'Shellshock' fait référence à l'abus d'un outil largement répandu dans les environnements orientés Unix - le 'shell' -, où le malfaiteur introduit des variables 'adaptées' pour exécuter des commandes qui, normalement, ne peuvent l'être sans restriction (1).

A cette fin, il utilise une faiblesse dans le shell Bash - alias le 'Bourne-again shell' - une alternative logicielle gratuite au shell Bourn, lancée en 1989. Ce shell a été proposé dans le cadre de la plate-forme GNU et est intégré par défaut dans bon nombre de versions Linux et dans le système d'exploitation Apple Mac OS X. Bash a aussi été adapté à l'environnement Windows.

Pourquoi est-ce sérieux?

Comme dans d'autres environnements, l'on utilise aussi dans un environnement Unix un 'shell' sur le système d'exploitation, afin d'entrer directement les commandes, à des fins d'interaction avec le système et les applications qui y tournent. Cela forme en fait une application ayant un large accès à tout le système, jusqu'au coeur même du système d'exploitation.

L'institut américain des standards décrit les effets possibles de Shellshock de la manière très stricte suivante: "Allows unauthorized disclosure of information, allows unauthorized modification, allows disruption of service."

Il n'y a pas que les vastes possibilités d'attaque qui rendent Bash dangereux. Le shell Bash est aussi particulièrement populaire et est utilisé à une très large échelle. C'est ainsi que beaucoup de programmes le font tourner en toile de fond pour accéder à des fonctions spécifiques. Il est donc actif dans nettement plus de systèmes que ce que les utilisateurs peuvent supposer.

Si Heartbleed s'avérait déjà dangereux en raison du grand nombre de sites touchés par le problème, Shellshock l'est encore plus, parce qu'il a été intégré depuis nettement plus longtemps dans un nombre inconnu d'environnements et d'applications... Y compris dans des installations industrielles ou d'autres systèmes ICT non-administratifs d'entreprises.

Dans un article, la vulnérabilité a été décrite comme vraiment aiguë, puisqu'on y suggère que même des 'ampoules intelligentes' peuvent être victimes de Shellshock.

Ces mises en garde démontrent en tout cas la propagation potentiellement extrêmement large du problème avec tout ce que cela peut comporter comme difficultés pour le résoudre.

Chez Red Hat, l'on a déjà réagi au security blog, en renvoyant vers un premier 'workaround' et un FAQ.

Le test suivant est du reste proposé sur plusieurs sites web:

Type this in your shell
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
If it says vulnerable then you are vulnerable.
If it says
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello
then you are good.

Apple elle-même n'a pas encore réagi pour l'instant, mais le sujet est certes débattu dans les Apple support communities et sur toute une série de sites orientés Apple.

Conclusion
Shellshock exige une très grande attention de la part des gestionnaires de systèmes à court terme. De quoi être en quelque sorte... 'shellshocked'.

Lançons aussi une fois encore un 'wake up call' à l'attention des développeurs de systèmes et d'applications, afin d'accorder plus d'attention à la qualité et à la sécurité des outils, structures et composants qu'ils utilisent.

La seule popularité n'est manifestement pas suffisante pour que l'entreprise recherche par elle-même les composants largement utilisés et documente clairement ce qui est employé dans quel environnement, pour quelle application et dans quelle version.

Pour rappel
Le bug Heartbleed est une faiblesse dans l'implémentation d'un élément destiné à établir des connexions sécurisées avec des sites, en l'occurrence OpenSSL. Des personnes mal intentionnées peuvent ainsi puiser plus d'informations que souhaité dans la communication, comme éventuellement des mots de passe et d'autres informations d'authentification.

(1) Le CVE-2014-7169 décrit le problème comme suit: "GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of environment variables, which allows remote attackers to write to files or possibly have unknown other impact via a crafted environment,[...]"

En savoir plus sur:

Nos partenaires