lethe 0.2.2

A secure, free, cross-platform and open-source drive wiping utility
lethe-0.2.2 is not a library.
Visit the last successful build: lethe-0.1.0

Lethe

Build Status

A secure, free, cross-platform and open-source drive wiping utility.

Should work with any HDD, SSD (read below) and flash drives.

The usual method for wiping a drive is filling it with randomly generated data or zeroes (or any other constant value). The best results are achieved by performing a combination of these steps. This is basically what this tool does.

In case of SSDs, however, it is practically impossible to prove the data was sucessfully wiped (or overwritten) because of various optimizations performed by modern SSD controllers, namely wear leveling and compression. The situation improves with a better implementations of native wiping features like Secure Erase but for now the best way of action is:

  • never store any sensitive data on SSD unencrypted,
  • wipe using multiple random fill passes
  • additionally perform Secure Erase if possible (not supported by lethe yet)

Features

  • Supports Mac OS and Linux (but not WSL). Windows support is planned.
  • Validates the data (reads back) to make sure all write commands were successful
  • Uses fast cryptographic random generator
  • Allows to override OS recommended block size for possibly faster operations

Download

Current release: v0.2.2

Download and unzip binaries for your OS:

Or build lethe yourself using latest Rust toolchain:

cargo build --release

Usage

lethe is a CLI (command-line interface). Run it without parameters or use help command to dispay usage information.

lethe help

You can also use help command to get more information about any particular command.

lethe help wipe

Note that lethe operates on a low level and will require a root access (e.g. sudo) to work with any real drives (and not loopback devices, for example).

Benchmarks

Mac OS

Tested on Macbook Pro 2015 with Mac OS 10.14.4 (Mojave) using a Sandisk 64G Flash Drive with USB 3.0 interface. OS recommended block size is 128k.

Zero fill

Command Block size Time taken (seconds)
dd if=/dev/zero of=/dev/rdisk3 bs=131072 128k 2667.21
lethe wipe --scheme=zero --verify=no /dev/rdisk3 128k 2725.77
dd if=/dev/zero of=/dev/rdisk3 bs=1m 1m 2134.99
lethe wipe --scheme=zero --blocksize=1048576 --verify=no /dev/rdisk3 1m 2129.61

Random fill

Command Block size Time taken (seconds)
dd if=/dev/urandom of=/dev/rdisk3 bs=131072 128k 4546.48
lethe wipe --scheme=random --verify=no /dev/rdisk3 128k 2758.11

License

Lethe is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.