Termineter: Smart Meter Security Testing Framework

Termineter

Termineter is a Python framework that provides a platform for the security testing of smart meters. It implements the C1218 and C1219 protocols for communication over an optical interface. Currently supported are Meters using C1219-2007 with 7-bit character sets. This is the most common configuration found in North America. Termineter communicates with Smart Meters via a connection using an ANSI type-2 optical probe with a serial interface.

Install

Requirements

Termineter supports Python 2.7 and 3.4+. It is recommended that users use Python3.

git clone https://github.com/securestate/termineter.git

The requirements are listed in the requirements.txt file. They can be installed with python3 -m pip install -r requirements.txt.

How To Install Termineter

No installation or modification is necessary. Start a command prompt, navigate to the termineter directory and use python to run termineter.

If using a USB optical probe with an FTDI chip, you may need to load and configure the appropriate serial to USB driver in order to use the device. The following command will configure the hardware on Linux.

Kernel version < 3.12

modprobe ftdi-sio vendor=0xVVVV product=0xPPPP

Kernel version >= 3.12

modprobe ftdi-sio
echo VVVV PPPP > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

Where VVVV is the vendor ID and PPPP is the product ID. These values can be obtained from the lsusb command.

Usage

Copyright (c) 2012-2018, SecureState LLC
All rights reserved.

Source: https://github.com/securestate/