Passive Client Taxonomy
authorDenton Gentry <dgentry@google.com>
Mon, 15 Aug 2016 04:42:48 +0000 (21:42 -0700)
committerJouni Malinen <j@w1.fi>
Wed, 21 Sep 2016 21:45:24 +0000 (00:45 +0300)
commit04059ab84458f43dda9130e4fff745b268424b99
tree721e97b115588a12766fb6a31974af2fad20ae34
parent5e993390f6ce34b169bf37becb2e5561262ec68f
Passive Client Taxonomy

Implement the signature mechanism described in the paper
"Passive Taxonomy of Wifi Clients using MLME Frame Contents"
published by Denton Gentry and Avery Pennarun.

http://research.google.com/pubs/pub45429.html
https://arxiv.org/abs/1608.01725

This involves:
1. Add a CONFIG_TAXONOMY compile option. Enabling taxonomy incurs
   a memory overhead of up to several kilobytes per associated
   station.
2. If enabled, store the Probe Request and (Re)Associate Request frame in
   struct sta_info.
3. Implement code to extract the ID of each Information Element,
   plus selected fields and bitmasks from certain IEs, into a
   descriptive text string. This is done in a new source file,
   src/ap/taxonomy.c.
4. Implement a "signature qq:rr:ss:tt:uu:vv" command
   in hostapd_cli to retrieve the signature.

Signatures take the form of a text string. For example, a signature
for the Nexus 5X is:
  wifi4|probe:0,1,127,45,191,htcap:01ef,htagg:03,htmcs:0000ffff,vhtcap:338061b2,
  vhtrxmcs:030cfffa,vhttxmcs:030cfffa,extcap:00000a0201000040|assoc:0,1,48,45,
  221(0050f2,2),191,127,htcap:01ef,htagg:03,htmcs:0000ffff,vhtcap:339071b2,
  vhtrxmcs:030cfffa,vhttxmcs:030cfffa,extcap:0000000000000040

Signed-off-by: dgentry@google.com (Denton Gentry)
Signed-off-by: denny@geekhold.com (Denton Gentry)
Signed-off-by: rofrankel@google.com (Richard Frankel)
Signed-off-by: richard@frankel.tv (Richard Frankel)
12 files changed:
hostapd/Makefile
hostapd/ctrl_iface.c
hostapd/defconfig
hostapd/hostapd_cli.c
src/ap/beacon.c
src/ap/ctrl_iface_ap.c
src/ap/ctrl_iface_ap.h
src/ap/ieee802_11.c
src/ap/sta_info.c
src/ap/sta_info.h
src/ap/taxonomy.c [new file with mode: 0644]
src/ap/taxonomy.h [new file with mode: 0644]