Avis d’expert : « Les dangers des liens partagés »

Les liens partagés, ça a l’air génial ! Mais qu’est-ce qui pourrait mal tourner ? Par Norman Girard, Vice Président Europe de Varonis.

De nombreuses applications web donnent aux utilisateurs la possibilité de partager des informations privées avec des utilisateurs non authentifiés à travers des URL obscures et accessibles au public. Ces URL, souvent appelées « liens externes » ou « liens partagés », sont un moyen pratique permettant de collaborer avec des personnes sans leur donner un nom d’utilisateur et un mot de passe.

Comment le monde peut-il être en sécurité si les URL sont publiquement accessibles ?

En générant une URL qui n’est pas un lien hypertexte, qui n’est pas explorable par les moteurs de recherche et qui n’est pas facile à deviner par des humains ou des ordinateurs (voir plus de détails plus loin), vous pouvez être un peu plus confiant sur le fait que seules les personnes qui reçoivent le lien partagé peuvent accéder à vos données. C’est une forme de sécurité dans l’obscurité.

Vous avez probablement trouvé la possibilité de créer des liens partagés dans la plupart de vos applications préférées telles que Evernote, Dropbox, Trello, Github, etc. En revanche, de nombreuses applications sont loin d’être aussi claires que Google Docs, qui décrit assez clairement sa fonction de lien partagé, lorsqu’elles expliquent à l’utilisateur final ce qu’elles font en créant et distribuant un lien partagé.

Ça a l’air génial ! Qu’est-ce qui pourrait mal tourner ?

Il y a quelques facteurs essentiels qui sont indispensables à la sécurité des liens partagés et des données vers lesquelles ils pointent. Le premier est sans doute assez évident : nous devons être confiants que la personne avec laquelle nous partageons le lien ne passera pas ce dernier à quelqu’un d’autre, que ce soit intentionnellement ou non. Le deuxième, que j’ai mentionné plus tôt, est celui selon lequel l’URL est si obscure qu’elle n’est pas facile à deviner par un humain ou par un ordinateur.

Qu’entendons-nous exactement par obscure et pas facile à deviner ? Tout comme on nous encourage à créer des mots de passe solides, les liens partagés doivent également être solides. Nous devons empêcher quiconque d’écrire un script qui tente d’accéder au hasard aux URL des applications Web dans l’espoir d’y trouver quelque chose de précieux.

L’utilisation de GUID

GUID signifie « globally unique identifier » (identifiant unique à l’échelon mondial). Un GUID est une chaîne hexadécimale de 128 bits aléatoires qui ressemble à ceci: 3F2504E0-4F89-11D3-9A0C-0305E82C3301. L’idée est que les GUID sont si nombreux qu’il est très improbable que deux personnes choisissent le même.

Mais quelle est précisément la probabilité que quelqu’un devine votre lien partagé si il contient un GUID aléatoire ? Si vous générez 1 milliard de GUID par seconde, il vous faudrait 36 années pour produire une collision.

Si votre application web préférée a créé des liens partagés qui ressemblent à ceci, vous êtes entre d’assez bonnes mains : https://gist.github.com/rsobers/2016e57e0cb00c8e7a2d.

Donc, tout le monde utilise les GUID, n’est-ce pas ?

Pas de chance… Il y a quelques applications web qui, par défaut, génèrent des liens partagés simples et faciles à deviner (par ex.: https://company.example.com/person/1234). Je ne citerai pas de nom, mais inutile de préciser que c’est une pratique horrible qui devrait être évitée.

Cependant, une pratique beaucoup moins terrible mais néanmoins dangereuse consiste à permettre aux utilisateurs de personnaliser les liens partagés. Il s’agit d’une fonctionnalité que possède Box et, récemment, l’un de ses utilisateurs s’est tiré une balle dans le pied en changeant la valeur par défaut imprévisible d’un lien partagé pour un document sensible en quelque chose d’extrêmement facile à deviner.

La réponse électronique de Box visant à sensibiliser ses clients a été très bien faite ! L’utilisateur ignorait les conséquences du choix de ce réglage en libre accès. Il est plus faciles aux gens de trouver les liens personnalisés que de trouver les chaînes à 20 caractères que Box crée automatiquement pour les liens partagés, il est donc important d’être conscient de ce risque potentiel et d’éduquer les utilisateurs sur l’option, soit de maintenir les niveaux d’accès ouverts, soit de choisir une option différente telle que limitée à un cercle de collaborateurs restreint ou uniquement aux personnes de votre entreprise.

Amazon S3 permet également aux utilisateurs de nommer leurs propres buckets publics (un bucket est le conteneur de plus haut niveau dans la terminologie d’Amazon S3) et, comme la recherche de Rapid7 l’a montré, non seulement les gens utilisent des noms qu’il est possible de deviner dans leurs URL, mais en plus ils y mettent des tonnes de contenus sensibles (bonjour, motsdepasse.txt !) les croyant introuvables.

Quels en sont les autres risques ou préoccupations ?

  • Robots.txt

Une autre mauvaise configuration qui pourrait exposer les liens partagés se situe au niveau du fournisseur de l’application. Si le fournisseur effectue une mauvaise configuration de ses fichiers robots.txt (qui indiquent aux moteurs de recherche quels chemins ne pas explorer) et que l’une des pages internes de son application est par inadvertance explorée par Google, vous pouvez voir des informations privées apparaître dans les résultats de recherche publics.

  • Cryptage SSL

Si l’application Web que vous utilisez n’emploie pas le protocole HTTPS pour toutes les requêtes, une personne pourrait détecter sur un réseau Wi-Fi public les liens partagés hors connexion en utilisant une application telle que Firesheep. Même si cette application n’utilise pas le protocole HTTPS, des cybercriminels pourraient simplement voler votre cookie et obtenir l’accès à tout dans l’application et pas seulement aux éléments qu’il est possible d’obtenir à travers les liens partagés.

  • Audit des accès

Nombreuses sont les applications de cloud computing qui ne vous donnent pas de piste d’audit permettant d’avoir un historique des personnes qui accèdent à vos liens partagés. Cela signifie qu’une personne pourrait y accéder sans même que vous le sachiez. Comment savez-vous avec certitude que personne n’a découvert vos URL partagées et n’est pas en mesure d’accéder régulièrement à vos données ? Inquiétant, ne trouvez vous pas ?

  • Classification des contenus

Où sont mes données sensibles de toute façon ? L’une des choses que Box a conseillé de faire dans son email de sensibilisation est que les utilisateurs désactivent les accès publics aux données particulièrement sensibles. Mais le fait est qu’avec des giga-octets voir des téraoctets de données, la plupart des organisations n’ont aucune idée de ce qui est sensible. Vous ne pourrez prendre des mesures supplémentaires pour protéger vos données sensibles que si vous savez où elles sont situées.

Les fournisseurs de cloud computing tels que Box et Amazon numériseront-ils et classeront-ils jamais les contenus pour vous ? Je n’en suis pas sûr, mais cela pourrait être difficile étant donné qu’ils ne devraient probablement pas consulter des données qui ne leur appartiennent pas (et peut-être même ne vous appartiennent pas !).

Destruction de lien

Que se passe-t-il lorsqu’une personne quitte votre entreprise ? Ou peut-être lorsque vous n’avez plus envie de partager des données avec une personne ? Si ces dernières avaient un accès complet à votre système, vous auriez probablement désactivé leur nom d’utilisateur et leur mot de passe. Mais si elles avaient accès à quelques dizaines de liens partagés ? Votre application dispose-t-elle d’un moyen d’expiration ou de destruction de ces liens afin qu’ils ne soient plus valables ?

En conclusion

Les liens partagés sont fabuleux. Je peux partager rapidement des données uniquement avec les personnes avec qui je veux les partager et je n’ai pas à encombrer mon annuaire utilisateur. Mais si utiliser l’obscurité comme moyen de sécurité est mieux que rien, cela n’offre certainement pas une grande protection. Si vous ajoutez la probabilité d’une mauvaise configuration utilisateur ou admin due à un manque de compréhension et à des interfaces utilisateurs pauvres, comme nous l’avons vu avec Box et Amazon, les risques sont élevés, par conséquent procédez avec prudence.

Norman Girard, Vice Président Europe de Varonis


Voir aussi

Silicon.fr étend son site dédié à l’emploi IT
Silicon.fr en direct sur les smartphones et tablettes