Skip to the content
PCBKitNew board
2 layers68.6 × 53.3 mmKiCad Shield, the printed circuit board in 3D

A Low-cost ICS Security Testbed for Education and Research

Size
68.6 × 53.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
76
Nets
63
Pads
187
Tracks, vias
302, 60
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
1 Oct 2019
Updated
16 Mar 2024

Overview

KiCad Shield is an open-source printed circuit board by thainnos, from the thainnos/LICSTER repository on GitHub. It is a 2-layer board of 68.6 × 53.3 mm with 76 parts on 63 nets, routed with 302 tracks and 60 vias.

It is built around the BSS138 and BSS83P. Its parts include 52 resistors, 10 connectors, 4 diodes, 4 transistors and 1 capacitor.

Main components

2

README

README.md

Low-cost ICS Testbed

C/C++ CI Python Integration Python Bandit zapproxy Flawfinder C Codacy Security Scan CodeQL

The project aims to help setup a minimal, low-cost Industrial Control System (ICS) testbest for students, researchers, or anyone with an interest in industrial security. The project contains a list of affordable hardware to build the minimalistic ICS with, instructions, configurations and installation scripts to instantiate the system as well as various attacker scenarios and their implications.

Our goal is to ease the entry into the industrial security sector. Industrial hardware is usually quite expensive as well as mostly proprietary, both of which do not encourage easy learning. With the upcoming of Industry 4.0, however, it has become imperative that the security of industrial networks and components is up to par with the modern cyber risks of the connected world. Practice and knowledge has to be accessible and affordable to empower engineers and developers to master the challenges of the fourth industrial revolution.

Although the testbed only comprises of the bare minimum components necessary for an ICS, the concepts and more importantly, the attack scenarios are mostly the same.

Setup with simple Fischertechnik model

The picture shows the setup of the testbed with the HMI and the physical process.

LICSTER video series

LICSTER Playlist

Testbed parameters

This project was set up with the following requirements in mind:

  • Testbed components for about 500 Euro, which is affordable by most researchers and students.
  • A real-world physical process controlled by an ICS, which enables to demonstrate and analyze the impacts of cyber attacks in the real-world.
  • The components are open-source and open-hardware, as far as possible. This allows a wide range of further research.
  • We provide attacker models and attacks to understand threat scenarios in industrial environments.
  • The feasibility of the testbed is shown and ideas for further research and teaching is discussed.

Content

Components

Prerequisites

We try to keep the prerequisites as little as possible to reduce the hurdle for beginners.

Licenses

  • OpenPLC is licensed under GPL-3.0
  • CubeMX generated code for STM32 is copyrighted by STMicroelectronics
  • ScadaLTS is licensed under MIT License

Getting started

At the beginning you may be a bit confused by the many different components. However, the assembly is not as difficult as expected.

  1. Ordering the necessary components (click)
  2. Assembly and wiring (to-do)
  3. Programming the devices (stm32/RPI)
  4. Testing LICSTER
  5. Have fun and make the world more secure

Contributers

NameContribution
Matthias NiedermaierMaintainer
Felix SauerDeveloper
Susanne KießlingLearning concepts
Dominik MerliCoordinator
Fabian KlemmSecure webapplication for HMI
Eric HoffmannIntrusion detection system
Raphael HausmanningerSecure communication between PLC and Remote-IO
Michael JanzerIntrusion detection system
Muhammet BilbeySecure communication between PLC and Remote-IO
Athanasios LuludisSecure webapplication for HMI
Janis SchickramIntrusion detection system

Paper

You find the research paper here. To cite the work you can use the official bibtex entry:

@article{ScienceOpenVid:4fa78131-80f5-4fca-b45a-bfd6a04ae2cc,\ author = {Sauer, Felix and Niedermaier, Matthias and Kießling, Susanne and Merli, Dominik},\ title = {LICSTER – A Low-cost ICS Security Testbed for Education and Research},\ journal = {},\ year = 2019,\ volume = {},\ number = {},\ pages = {1-10},\ doi = {10.14236/ewic/icscsr19.1}\ }

Parts

76
QtyValueFootprintReferences
36RResistor_SMD:R_0603_1608MetricR1, R2, R3, R10, R15, R16, R17, R18, R19, R20, R25, R26, R27, R28, R29, R30 +20
1010kResistor_SMD:R_0603_1608MetricR11, R12, R13, R14, R45, R46, R48, R49, R50, R52
4CONN_1Socket_Arduino_Uno:Arduino_1pinP5, P6, P7, P8
4LEDLED_SMD:LED_0603_1608MetricD1, D2, D3, D4
4RResistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR21, R22, R23, R24
22k2Resistor_SMD:R_0603_1608MetricR47, R51
2BSS138Package_TO_SOT_SMD:SOT-23Q1, Q3
2BSS83PPackage_TO_SOT_SMD:SOT-23Q2, Q4
1ATECC508APackage_SO:SOIC-8_3.9x4.9mm_P1.27mmIC1
1AnalogSocket_Arduino_Uno:Socket_Strip_Arduino_1x06P2
1CCapacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolderC1
1CONN_01X10Pin_Headers:Pin_Header_Straight_1x10P9
1Conn_01x04_MaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ1
1DigitalSocket_Arduino_Uno:Socket_Strip_Arduino_1x10P3
1DigitalSocket_Arduino_Uno:Socket_Strip_Arduino_1x08P4
1PowerSocket_Arduino_Uno:Socket_Strip_Arduino_1x08P1

The 72 most common of 76 parts.

Questions

How big is the KiCad Shield PCB?

It measures 68.6 × 53.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the KiCad Shield use?

76 parts, built around the BSS138 and BSS83P. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the KiCad Shield KiCad files?

From the thainnos/LICSTER repository on GitHub, at the commit this page was made from: the board is devices/remote_io/hardware/KiCad_Shield.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the KiCad Shield design in my own project?

Its repository states no licence, so its author keeps all rights: ask thainnos before reusing the design.

Similar boards

  • 2 layers99.9 × 51.4 mmGR AVR Programmer, the printed circuit board in 3D

    GR AVR Programmer

    GadgetReboot/AVR_Programmer

    Atmel AVR programmer based on Arduino Pro Micro, intended for development into ISP and HVSP using various AVR programming interfaces and protocols.

    52 parts7
  • 2 layers95 × 45 mmHdmi2c, the printed circuit board in 3D

    Hdmi2c

    wlcx/hdmi2c

    A HTTP -> DDC (I2C) bridge

    61 parts6
  • 4 layers500 × 34 mmPrecision clock, the printed circuit board in 3D

    Precision clock

    Alan-JH/precision-clock

    ECE 362 Final Project

    150 parts
  • 2 layers31.5 × 96.7 mmGaussCheck, the printed circuit board in 3D

    GaussCheck

    xeno27/GaussCheck

    67 partsMIT
  • 2 layers50 × 50 mmRoom hub, the printed circuit board in 3D

    Room hub

    lucanastasio/myHomeAutomation

    Home automation stuff

    125 parts1
  • 2 layers21.4 × 37.8 mmCamera v2, the printed circuit board in 3D

    Camera v2

    proveskit/development_boards

    Miscellaneous dev boards to test the components of the PROVES Kit on a smaller scale.

    30 parts1
  • 2 layers75 × 35 mmCANPower, the printed circuit board in 3D

    CANPower

    RaphWeyman/CANPower

    Accessory power controller for BMW CAN bus bikes

    66 parts10GPL-2.0