Device fingerprinting
Nesrine Ammar – ProgRes 2018
nesrine.ammar@etu.upmc.fr
Fingerprinting basé sur les informations partagées par les protocoles de
découverte de services dans un réseau
local
Internet des objets
Internet des objets: services
Services
Bonjour
• Créé par Apple
• Protocole de découverte de services dans le réseau
• Basé sur le protocole DNS-SD qui utilize mDNS (message multicast) au lieu de DNS (message unicast)
• Basé sur le principe zero-conf:
1. Permet à l’objet d’obtenir une adresse IP même en cas d’absence de DHCP
2. Permet à l’objet d’obtenir un nom local même en cas d’absence du serveur DNS
3. Permet au objet de publier et découvrir les services d’autres objets
Bonjour: zero-conf
Bonjour: Découverte
Bonjour: Découverte
Bonjour: Découverte
mDNS: Type de records
• A: assure la correspondance entre le nom et l’adresse IP de l’objet (ipv4)
• AAAA: assure la correspondance entre le nom et l’adresse IP de l’objet (ipv6)
• SRV: assure la correspondance entre l’instance de service et le nom local de l’objet + port d’accès
<instance de service>.<type de service>.<domain>
• PTR: assure la correspondance entre le type de service et l’instance de service
<type de service>.<domain>
• TXT: information complémentaire fournies par le vendeur
DNS vs mDNS
• Utilise multicast au lieu d’unicast
• Utilise le port 5353 au lieu de 53
• Packet UDP plus grand
• Permet d’envoyer plus de questions dans un query
• Permet la compression des noms dans les records
• …
mDNS: Type de records
mDNS: Type de records
mDNS: A/SRV records
UPnP
• UPnP Universal Plug and Play
• Fournie un réseau domestique invisible
• Supporte une architecture pour l'auto-configuration et l’auto-description des objets connectés
• Peut supporter la zéro configuration dans le réseau
UPnP
• Commencez de manière simple
Construire seulement des choses universelles que tout le monde puisse utiliser
Ajouter selon le besoin
• Minimiser les exigences
Connectivité réseau IP de base Pile de protocole HTTP commune
• Tirer parti des normes existantes
UDP, HTTP, XML
UPnP
UPnP: fonctionnement
UPnP: fonctionnement
• Découverte:
Permet au objet de prévenir les point de contrôle dans le réseau de ses services et aux points de contrôle de chercher des objets adéquats pour un service
spécifique
• Description:
Permet au point de contrôle d’apprendre davantage sur un objet et ses services
• Contrôle:
Après qu’un point de contrôle ait reçu la description d’un objet, cette étape
permet d’envoyer des actions au service d’un objet
UPnP: fonctionnement
• Notification:
Permet au point de contrôle de suivre le statut de l’objet de du service fournie
• Présentation:
Permet au point de contrôle d’accéder au service d’un objet à travers le
navigateur en utilisant toutes les informations nécessaires envoyé par l’objet
UPnP: fonctionnement
UPnP: NOTIFY
NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900
CACHE-CONTROL: max-age = seconds until advertisement expires LOCATION: URL for UPnP description for root device
NT: search target NTS: ssdp:alive
USN: advertisement UUID
UPnP: SEARCH
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900 MAN: “ssdp:discover”
MX: seconds to delay response
ST: search target
UPnP: RESPONSE
HTTP/1.1 200 OK
CACHE-CONTROL: max-age = seconds until advertisement expires
LOCATION: URL for UPnP description for root device ST: search target
USN: advertisement UUID
UPnP: Description d’un objet
UPnP: Description d’un objet
Le point de contrôle
• Apprend des informations sur l’objet
• Apprend les différents services fournies par l’objet
UPnP: Description d’un objet
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://192.168.0.4:5431</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:tvdevice:1</deviceType>
<friendlyName>UPnP Television Emulator</friendlyName>
<manufacturer>TV Manufacturer Name</manufacturer>
<manufacturerURL>http://www.manufacturer.com</manufacturerURL>
<modelDescription>UPnP Television Device Emulator 1.0</modelDescription>
<modelName>TVEmulator</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>http://www.manufacturer.com/TVEmulator/</modelURL>
<serialNumber>123456789001</serialNumber>
<UDN>uuid:Upnp-TVEmulator-1_0-1234567890001</UDN>
<UPC>123456789</UPC>
………..