Skip to content

Latest commit

 

History

History
286 lines (185 loc) · 6.8 KB

slides.md

File metadata and controls

286 lines (185 loc) · 6.8 KB

dhcpcanon

DHCP client disclosing less identifying information.

https://github.com/dhcpap

PrototypeFund demo day, Berlin, 31st August 2017


What is DHCP


Dynamic Host Configuration Protocol (DHCP)

  • network protocol to get IP addresses and networking parameters automatically
  • transparent to the end user
  • user interact with a network manager

Local network image

image


DHCP session

image

  1. my laptop: can i have an address?
  2. server: i can offer you 192.168.1.23
  3. my laptop: i request 192.168.1.23
  4. server: assigned to you!

DHCP session, detailed

  1. my laptop: can i have an address?
  • btw my laptop name is juga_laptop
  • it's a Dell i bought in Copenhague in 2013
  • i use Debian with dhclient version 4.3.5
  • i like the coffee with milk
  1. server: i can offer you 192.168.1.23
  • btw, you can find milk in the fridge

Issues with DHCP

  • reveal identifying information
  • new standard to minimize it (RFC 7844)
  • only a Windows 10 implementation

image


What I had before

image

  • dhcpcanon: a prototype Python DHCP client implementing part of the protocol
  • ideas on how to further develop it

Achieved


dhcpcanon

  • decisions on what and how to implement: follow Windows 10 implementation instead of restricted version of RFC 7844
  • complete the protocol
  • automatic testing
  • improve documentation
  • Debian package
  • contact with different Linux distributions to test it

Example Windows 10 capture

image


Example dhclient capture

image


systemd (system manager)

  • modified DHCP client code to enable Anonymity Profiles
  • code in the process of being merge by systemd team

Gnome Network Manager (network manager)

Developing a proper integration in process


dhcpcfp

A network scanner to show:

  • which is the identifying information can be found
  • how is different to the Anonymity profiles
  • how operating system, device and/or person can be guessed

Internet Engineering Task Force meeting

image

IETF

  • suggestions from the main author of the RFC 7844

Bornhack hacker camp

image

Bornhack

  • presentation: feedback and interesting ideas
  • workshop: catch bugs

Linux distribution communities

Interest on integrating dhcpcanon: Debian, Tails, Subgraph, Gentoo, Archlinux

image image image image image


Learned


Worth to remember

  • release early, release often
  • divide and conquer (on tasks)
  • is fun and productive to work with others
  • challenging to explain technical concepts to non technical users

New

  • present earlier to get feedback and bug reports earlier
  • strategies to develop awareness (thanks marketing coaching!!)

IETF community

  • worldwide open standards organization
  • anyone can participate
  • though difficult without funding nor corporate sponsor
  • rough consensus and working code

Internet protocols development

  • political and historical reasons
  • how the need for the Anonymity Profiles actually happens

image


DHCP fingerprint databases

image


Did not work as planned

  • planning :(
  • the protocol and integration with operating systems can be more complex than i knew or expected

What is next


dhcpcanon, systemd

  • more people to test it to be ready for end users
  • further development (IPv6)
  • further operating systems compatibility (WIP)
  • further documentation

Others

  • domain and Web page to facilitate finding documentation (WIP)
  • final report
  • more presentations and/or worshops
  • Raspberry Pi image for demonstration purposes

image


Other operating systems implementations

image image image

Android, FreeBSD, Mac OS, iOS...


Thank you very much!

Many people for their very valuable ideas and suggestions.

Excelent PrototypeFund team :-)

image image


Contact

image

juga at riseup dot net

2DA8 1D01 455C 3A00 3219 8850 F305 447A F806 D46B

IRC: #dhcpcanon at havana.baconsvin.org:6697