yuvadm / amenthes

A secure Linux environment for EYES ONLY document viewing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Amenthes

A fully customizable hardened Linux desktop, run from live USB, which enables secure EYES ONLY viewing of a batch of (leaked? 😏) encrypted files. A technically-competent user can use the Amenthes scripts to build a sneakernet deliverable to a trusted party. For more information read the design section.

The project is based on the wonderful archiso scripts.

Prerequisites

Development

An existing x86_64 Arch Linux system with archiso or archiso-git installed. This is currently a hard requirement due to the nature of the mkarchiso script. Support for other Linuces and OSs is planned for future releases.

Target

Generated ISO currently supports x86_64 targets only, with i686 (32-bit) support planned for future releases. The desktop environment will run on most Intel, AMD/ATI and Nvidia video adapters.

Prepare

Collect all the payload files under the liveusb/encrypt directory:

$ cp /path/to/payload/files/* liveusb/encrypt/

If your payload requires any special packages, add them now:

$ echo 'additional-package' >> packages.x86_64

Build

$ sudo su  # become root now, otherwise you get ugly permissions problems
$ chown -R root:root liveusb
$ cd liveusb
$ ./build.sh

You should now see out/amenthes-x86_64.iso, which can be directly copied to a USB drive:

$ dd bs=4M if=out/amenthes-x86_64.iso of=/dev/sdX && sync

Testing

For test builds targeting a VirtualBox VM, use the -t flag to add some required packages:

$ ./build.sh -t

Never target a VM for the real-life scenario, a VM client cannot be secured against a malicious VM host. Using this flag lets the end-user run under a VM, so just don't.

If you do not have an up-to-spec environment to build on, you can use the CI artifacts to get a testing ISO you can easily run on a VM for evaluation purposes. The latest successfully built ISO can be found here.

Design

First and foremost, Amenthes is a proof of concept project, and should never be used as is, assuming it will save your ass when shit hits the fan. Amenthes is a demonstration of technology which might be adopted to real-life use by experienced system administrators or developers. Having said that...

Consider the scenario in which a confidential source is interested in physically delivering (sneakernet, deaddrop, etc.) a batch of files to a friendly party - a journalist, for example. Furthermore, the source requests that files remain off the record, for the time being.

Amenthes enables a Linux user with basic command line knowledge to create a complete bootable ISO which contains an encrypted of set of documents and files, and can then be distributed to the target user.

The target user then receives a ready-to-boot live USB which contains all the dropped files. Knowing the encryption passphrase, which can be delivered via a separate secure channel, the user now has full access to the files. The Amenthes live desktop contains all the neccesary programs to view common files of all types: documents, spreadsheets, audio and video files, etc.

Most importantly, the live desktop is hardened to prevent extraction of the files from the system. The Amenthes environment blocks all network connections and does not recognize any hard disks or external storage devices. The only way to extract files from a running Amenthes system is via low-level hardware exploits, such as BIOS malware or proprietary chip firmware exploits. These attack vectors are a serious risk to any environment, and dealing with them is, naturally, out of the scope of this project.

Threat Model

Amenthes assumes the target recipient is a friendly entity which obliges with the leaker's requests to keep all files EYES ONLY and off the record. If the target is not trustworthy, and has knowledge of the passphrase used to encrypt the content of the drive, it is possible for an experienced system administrator to extract the contents of the drive to a separate location.

If the physical device falls into the hands of an adversary, as long as the encryption passphrase is not revealed, the files can be considered as secure as the method used to encrypt them is against said adversary.

Hack

License

GPLv2

About

A secure Linux environment for EYES ONLY document viewing

License:GNU General Public License v2.0


Languages

Language:Shell 100.0%