satta / vast

:crystal_ball: Visibility Across Space and Time

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VAST VAST

Visibility Across Space and Time

The network telemetry engine for data-driven security investigations.

Build Status Static Build Status Examples Status Changelog Since Release License

Getting StartedInstallationDocumentationDevelopmentChangelogLicense and Scientific Use

Chat

Key Features

  • High-Throughput Ingestion: import numerous log formats over 100k events/second, including Zeek, Suricata, JSON, and CSV.

  • Low-Latency Queries: sub-second response times over the entire data lake, thanks to multi-level bitmap indexing and actor model concurrency. Particularly helpful for instant indicator checking over the entire dataset.

  • Flexible Export: access data in common text formats (ASCII, JSON, CSV), in binary form (MRT, PCAP), or via zero-copy relay through Apache Arrow for arbitrary downstream analysis.

  • Powerful Data Model and Query Language: the generic semi-structured data model allows for expressing complex data in a typed fashion. An intuitive query language that feels like grep and awk at scale enables powerful subsetting of data with domain-specific operations, such as top-k prefix search for IP addresses and subset relationships.

  • Schema Pivoting: the missing link to navigate between related events, e.g., extracting a PCAP for a given IDS alert, or locating all related logs for a given query.

Get VAST

We offer pre-packaged versions of VAST for download:

  • stable: see the artifacts of the latest official VAST release
  • development: we offer a static build of the master branch for Linux
curl -L -O https://storage.googleapis.com/tenzir-public-data/vast-static-builds/vast-static-latest.tar.gz

Unpack the archive. It contains three folders bin, etc, and share. To get started invoke the binary in the bin directory directly.

tar xfz vast-static-latest.tar.gz
bin/vast --help

To install VAST locally, simply place the unpacked directories in your install prefix, e.g., /usr/local.

The installation guide contains more detailed and platform-specific instructions on how to build and install VAST for all supported platforms.

Getting Started

Here are some commands to get a first glimpse of what VAST can do for you.

Start a VAST node:

vast start

Ingest Zeek logs of various kinds:

zcat *.log.gz | vast import zeek

Run a query over the last hour, rendered as JSON:

vast export json ':timestamp > 1 hour ago && (6.6.6.6 || 5353/udp)'

Ingest a PCAP trace with a 1024-byte flow cutoff:

vast import pcap -c 1024 < trace.pcap

Run a query over PCAP data, sort the packets by time, and feed them into tcpdump:

vast export pcap "sport > 60000/tcp && src !in 10.0.0.0/8" \
  | ipsumdump --collate -w - \
  | tcpdump -r - -nl

License and Scientific Use

VAST comes with a 3-clause BSD license. When referring to VAST in a scientific context, please use the following citation:

@InProceedings{nsdi16:vast,
  author    = {Matthias Vallentin and Vern Paxson and Robin Sommer},
  title     = {{VAST: A Unified Platform for Interactive Network Forensics}},
  booktitle = {Proceedings of the USENIX Symposium on Networked Systems
               Design and Implementation (NSDI)},
  month     = {March},
  year      = {2016}
}

You can download the paper from the NSDI '16 proceedings.

Developed with ❤️ by Tenzir

About

:crystal_ball: Visibility Across Space and Time

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 91.7%Language:CMake 3.3%Language:Python 2.3%Language:HCL 1.0%Language:Shell 0.7%Language:Nix 0.4%Language:Dockerfile 0.2%Language:SCSS 0.2%Language:JavaScript 0.1%Language:TypeScript 0.1%Language:R 0.1%Language:Zeek 0.0%Language:Makefile 0.0%Language:CSS 0.0%Language:Awk 0.0%