Bunker: A Privacy-Oriented Platform for Network Tracing


Description

Bunker is a network tracing system that offers strong privacy while simplifying the development of network tracing software. With Bunker, network operators can perform network tracing based on the following two-step usage model:

  1. Pre-load Bunker with the trace collection and anonymization software.
  2. Start data collection with Bunker.

With Bunker, all sensitive data is stored in a buffer on disk that is "locked down" along with the tracing software. In this way, no raw data can be lost, leaked, or stolen.

The locked down buffer is encrypted with a key stored in Bunker's RAM. Bunker uses virtualization, encryption, and restricted I/O interfaces to protect the key and the tracing software, exporting only an anonymized trace. For more information about Bunker's architecture and a performance evaluation, please read our research papers.

Research Papers

  • Andrew G. Miklas, Stefan Saroiu, Alec Wolman, and Angela Demke Brown
    Bunker: A Privacy-Oriented Platform for Network Tracing
    Proc. of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Boston, MA, April 2009.

  • Andrew G. Miklas, Stefan Saroiu, Alec Wolman, and Angela Demke Brown
    Tamper Resistant Network Tracing
    Proc. of the 6th Workshop on Hot Topics in Networks (HotNets-VI), Atlanta, GA, November 2007.

People

Download

There are many ways in which a Bunker can be constructed to protect the network tracing software and its data. Our implementation uses the Xen 3.1 VMM and a custom configuration of Linux ver 2.6.18 to construct the protected environment. Inside, we run a series of relatively simple Python scripts to parse HTTP.

  • For constructing the protected environment, you can download:
  • For the buffer on disk, you can download:
    • bfr: a pipe buffer between the online and offline components.
  • For TCP and HTTP reconstruction, you can download:
    • pynids-0.5: a TCP reconstruction library usable from Python (based on libnids).
    • httpparse.tgz: a state machine for parsing through HTTP written in Python.