GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - kpcyrd/tr1pd: tamper resistant audit log

BranchesTags
Open more actions menu

Latest commit

 

History

108 Commits
108 Commits

Folders and files

NameName
Last commit message
Last commit date
benches
benches
 
 
ci
ci
 
 
contrib
contrib
 
 
docs
docs
 
 
examples
examples
 
 
fuzz
fuzz
 
 
src
src
 
 
.dockerignore
.dockerignore
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
audit.sh
audit.sh
 
 
tr1pd.service
tr1pd.service
 
 

Repository files navigation

tr1pd Build Status Crates.io docs.rs

Status: Very unstable, do not use

tr1pd is a tamper resistant audit log.

Usage

# setup your keyring
tr1pctl init
# start the tr1pd daemon
systemctl start tr1pd
# start a sensor
./sensor01 | tr1pctl write &
# verify your logs
tr1pctl fsck
# view the logs of your current session
tr1pctl ls @..

Installation

Make sure you have the following dependencies installed: Debian/Ubuntu: libsodium-dev libseccomp-dev libzmq3-dev, Archlinux: libsodium libseccomp zeromq, Alpine: make libsodium-dev libseccomp-dev zeromq-dev, OpenBSD: libsodium zeromq.

cargo install tr1pd

Setup

If possible, use your package manager to setup the system (Archlinux AUR). After that you need to add the users that should have access to tr1pctl to the tr1pd group with usermod -aG tr1pd youruser.

If no package is available, you can also run a standalone setup (this is also recommended for development). Edit the paths as needed.

# standalone configuration (~/.config/tr1pd.toml)

[daemon]
socket = "ipc:///home/user/.tr1pd/tr1pd.sock"
datadir = "/home/user/.tr1pd/"

pub_key = "/home/user/.tr1pd/pub.key"
sec_key = "/home/user/.tr1pd/sec.key"

Run tr1pctl init to setup the keyring in your homefolder and tr1pd in a seperate terminal. Verify everything is working correctly by executing tr1pctl ping.

Writing sensors

Sensors can be written in any language using stdio. tr1pctl write is a simple line based interface that writes each line into a block. You can also enable binary mode with tr1pctl write -s 65535. To monitor your auth.log you can simply write:

tail -f /var/log/auth.log | tr1pctl write

Benchmark

While this is not a common usecase, tr1pd is fast enough for Ultra HD video, according to netflix. This means that you can write >= 25 Megabits per second. Make sure you're compiling both tr1pctl and tr1pd with --release.

dd if=/dev/zero | pv | cargo run --release --bin tr1pctl -- write -s 65535

The program says block a lot, is this a blockchain?

No. tr1pd uses merkle tree like constructs that are heavily inspired by bitcoin, but lacks some essential properties to qualify as a blockchain.

Trivia

The initial draft for the protocol was designed in 2014 for perimeter intrustion detection to verify integrity of buildings. Multiple prototypes have been written in 2017 and the first deployment was on a server located at the 34C3 to ensure integrity inside the congress colocation.

License

AGPLv3+

About

tamper resistant audit log

crates.io/crates/tr1pd

Topics

antiforensicsforensicsintrusion-detectionperimeter-securityphysical-securityrustsandboxedsecuritysecurity-incidents

Resources

Readme
AGPL-3.0 license
Activity

Stars

18 stars

Watchers

1 watching

Forks

3 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.