Skip to main content

Extract signatures from IoT event network traffic

Project description

Extraction of network signatures of IoT events

GitHub License GitHub language count

signature-extraction is a Python package which extracts network pattern signatures, i.e. a sequence of network flows, from network traffic related to IoT (smart home) events.

Glossary

  • (User) event: interaction with an IoT device that triggers a change in its state, and the associated network traffic.
  • (Network) packet: unit of data transmitted over a network.
  • (Network) 5-tuple: set of five values that uniquely identify a network flow: source IP address, source port, destination IP address, destination port, and layer 4 protocol.
  • (Network) flow: time-ordered sequence of network packets having the same network 5-tuple.
  • Flow Fingerprint: set of relevant packet features which identify a packet / flow. Includes part of, or all, the packet's 5-tuple, as well as other protocol-dependent features, e.g.:
    • HTTP: method, URI
    • DNS: query name, query type
    • DHCP: message type
    • CoAP: message type, method, URI
  • Network pattern: sequence of flows / flow fingerprints that repeatedly occurs together, potentially indicating a specific user event.
  • (Event) signature: network pattern that uniquely identifies a user event.

Features

This package is split into three main modules, each responsible for part of the pipeline:

Translation to firewall

Additionally, flow fingerprints can be converted to configuration scripts for @fdekeers's smart-home-firewall, or to a YAML profile exhaustively describing such configuration.

Installation

From PyPI

pip install signature-extraction

PyPI project page

From local source

Clone the repository and install the dependencies using pip.

git clone https://github.com/smart-home-network-security/signature-extraction.git
cd signature-extraction
pip install -r requirements.txt
pip install .

License

This project is licensed under the GPL-3.0 License -- see the LICENSE file for details.

Acknowledgements

This work is part of the Smart Home Network Security research project made by @fdekeers and UCLouvain.

It was partially authored by @remivanboxem during his internship at UCLouvain.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signature_extraction-1.0.6.tar.gz (39.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signature_extraction-1.0.6-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

Details for the file signature_extraction-1.0.6.tar.gz.

File metadata

  • Download URL: signature_extraction-1.0.6.tar.gz
  • Upload date:
  • Size: 39.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for signature_extraction-1.0.6.tar.gz
Algorithm Hash digest
SHA256 8dc760b6c6752bbb3929b86d18c9cbbe1c07dd1510d588f74e68830c2d17618b
MD5 183d58c65307103688e88f36ddedbb72
BLAKE2b-256 ac0e16c37b8cd5a4a7ac0f5dfbcb024c80f1de6eb4c62c9e813072002e497244

See more details on using hashes here.

File details

Details for the file signature_extraction-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for signature_extraction-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7692f16f0daf737d5ba03b0fda93b48e1a5e31ec676c30416026a6c2be04fbef
MD5 820c2a4ca068f8778e3d8f8b09dc4725
BLAKE2b-256 3679d15d47b5c4d80be72d2ccf6f361fc9e6b5a1dfa14f131c88154e30f12123

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page