DNS: détourner son utilisation (File reputation - Cloud)

Le système DNS (Domain Name System) est la base de l’internet d’aujourd’hui. Sans ce système nous serions bien embêter pour utiliser internet. Le DNS permet de correspondre un nom de domaine à une IP et ainsi pouvoir communiquer avec le système distant. Mais on peut détourner un peu ce système pour d’autres utilisations.

Petit rappel du DNS: lorsque vous visitez le site www.koto.fr votre ordinateur va demander la résolution du nom de domaine www.koto.fr en IP grâce au système DNS. Le serveur DNS va répondre www.koto.fr = 88.171.83.192. Votre ordinateur peut ainsi communiquer avec le serveur Web.

Le serveur DNS contient une table avec des associations entre DNS et IP:

www.koto.fr IN A 88.171.83.192

exemple.koto.fr IN A xxx.xxx.xxx.xxx

Les avantages du DNS sont:

  • sa fiabilité (nombreux serveurs DNS avec hiérarchie et redondance possible),
  • sa rapidité (une demande de résolution est peu couteuse en bande passante).

Je vais expliquer une technique de détournement de ce système pour l’utilisation de la file réputation.

File reputation

La file reputation est un concept utilisé par les éditeurs d’antivirus. Ils ont une base (gigantesque, plusieurs To de données) qui comprend des signatures de fichiers vérolés et/ou sains et/ou potentiellement dangereux. Cette base de données est alimentée par les clients et l’éditeur. Un fichier détecté par plusieurs milliers de clients est pondéré dans cette base de données. Une infection mondiale ou par secteur géographique peut rapidement être detectée. La file reputation peut se baser sur des statistiques etc.

La signature d’un fichier est son empreinte unique, cette signature est calculée grâce à un algorithme de hash (md5, sha1, …). A cette signature est associé une description, un type, etc.

Exemple:

Hash                                   Type           Description

abc123Thaisjajsi23zaz   VirusA       Lorem Ipsum

efg123hsxhsjxhjx2333   Trojan        Lorem Ipsum

gh129njskzsjn223nsz2   Clean          Lorem Ipsum

Cette base est interrogée par les clients antivirus. Lorsque le client veut vérifier un fichier, il calcule sa signature et la compare à la base de données en ligne de l’éditeur. Selon la réponse le client sait si le fichier est dangereux ou non.

Les avantages de cette base de données en ligne:

  • l’ensemble des signatures est à un seul endroit (le cloud pour les commerciaux),
  • l’éditeur peut rapidement mettre à jour cette base de données. L’éditeur met à jour une seule base de données au lieu de mettre à jour ces millions de clients.

Le challenge technique maintenant est de savoir comment les clients vont interroger cette base de données. L’objectif est que cette interrogation soit rapide et fiable.

Détournement du DNS

Pourquoi pas utiliser le système DNS pour vérifier la signature d’un fichier?

Une signature est une chaine alpha numérique (hash md5, sha1, sha256, …), comme un nom de domaine. On peut donc imaginer que notre base de données soit un serveur DNS.

Soit la zone DNS « filereputation.com ». Dans cette zone nous allons ajouter des hosts qui ont pour nom la signature d’un fichier vérolé. On fixe que l’IP 127.0.0.1 correspond à un virus de type A, l’IP 127.0.0.2 un trojan et l’IP 127.0.0.3 un fichier sain. Si aucune résolution n’existe pour une signature, c’est un fichier sain.

(On peut envisager cette technique avec un enregistrement TXT dans le serveur DNS, qui est plus adapté)

Exemple du serveur DNS:

efg123hsxhsjxhjx2333.filereputation.com IN A 127.0.0.1

efg123hsxhsjxhjx2333.filereputation.com IN A 127.0.0.2

gh129njskzsjn223nsz2.filereputation.com IN A 127.0.0.3

Le client antivirus doit simplement faire une résolution du nom de domaine: hash + .filereputation.com.

Selon la réponse DNS le client sait déterminer si le fichier est dangereux.

DNS File reputation
File reputation basé sur DNS

L’éditeur constitue son infrastructure DNS avec les fichiers qu’il détecte ou des échantillons des clients.

On peut imaginer que l’association d’un DNS avec l’IP xxx.xxx.xxx.xxx correspond à un fichier potentiellement dangereux. Et bien d’autres règles encore… Le nombre d’IP semble suffisant et l’infrastructure DNS a fait ses preuves.

Je pense que les éditeurs antivirus utilisent un système différent mais semblable au DNS. L’objectif est de fournir une base en ligne et rapide d’interrogation!

 

Le système DNS est très puissant. On peut imaginer un système de contrôle basé sur ce système et bien d’autres choses!