für Anlagen, Maschinen und Embedded Systeme
Marco Blume | Product [email protected]
Rüdiger Kügler | Security [email protected]
Schutz und Sicherheit
Speaker 3
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 2
Einleitung
Ausgangssituation
Bedrohungen für Hersteller
Bedrohungen für Betreiber
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 3
Ausgangssituation
98% aller Prozessoren sind in Embedded Systemen verbaut Embedded Systeme sind zunehmend vernetzt Industrie 4.0
Neue Bedrohungsszenarien für Cyber Physical Systems
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 4
Bedrohungen für Hersteller / Maschinenbauer und Betreiber
Betreiber Manipulation
Sabotage Geheimdienste / Unzufriedene Mitarbeiter
Geistiges Eigentum Rezepte / Betriebsparameter / Schnittmuster
Produktions-Daten Maschinentagebuch Produktionsmengen
Nicht autorisierter Zugang zur Maschine Servicefall Betrieb / Operator
Hersteller / Maschinenbauer Nachbau einer Maschine Nachahmen einer Maschine
Extraktion von geistigem Eigentum
Manipulation (Gewährleistung) Nicht autorisierte Updates Veränderung des Betriebsstundenzähler Veränderung des Flugschreibers
Nicht autorisierter Zugriff auf Service Dokumente
Nicht autorisierter Zugriff auf Quellcode
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 5
Die Lösung - CodeMeter
Desktop Software
Embedded Devices
SPS / PLC
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 6
CodeMeter - Überblick
CodeMeter Schlüsselspeicher (Hardware / Software)
Lizenzmodelle
Software Integration Automatische Verschlüsselung / API
Backoffice Integration Lizenzen ausliefern
Lizenzen verwalten
Software Integration
Backoffice Integration
TechnologyCodeMeter
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 7
CodeMeter @ Embedded Devices
CodeMeter Embedded Driver Schlanker Treiber als Library / Source Code
Krypto-API
Basis CodeMeter Features
CmDongles / CmActLicenses
Wibu Protection Suite ExProtector
AxProtector
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 8
CodeMeter @ SPS
CODESYS Boot Projekt Schutz
API-Zugriff
Source Code Schutz
Bernecker + Rainer Technology Guard
Rockwell Source Code Schutz
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 9
Wibu Protection Suite
Automatische Verschlüsslung
Schutz von ausführbarem Code
Signatur von Code
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 10
.NET
Stan
dard
Fam
ewor
k
Java
SE
Java
EE
Embe
dded
Ope
ratin
gSy
stem
s
OS
X
Win
dows
Desk
top
Linu
x
Wibu Protection Suite - Overview
Autorisierung von Software(Secure Loader)
IndividuelleMethodenverschlüsselung
Integritätsschutz(Tamper Protection)
Automatischer Schutz(IP Protection)
ExPr
otec
tor
AxPr
otec
tor .
NET
AxPr
otec
tor
Java
Wibu Protection Suite
AxProtector
IxProtector
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 11
VxW
orks
QNX
Win
dows
Embe
dded
Embe
dded
Linu
x
Wibu Protection Suite @ Embedded Devices
Andr
oid
Win
dows
Embe
dded
Com
pact
Wibu Protection Suite
AxPr
otec
tor
ExPr
otec
tor
ExPr
otec
tor
AxPr
otec
tor
ExPr
otec
tor
AxPr
otec
tor
AxPr
otec
tor
ExPr
otec
tor
Embedded DriverCodeMeterRuntime Embedded Driver Embedded Driver
Autorisierung von Software(Secure Loader)
Individueller API-Zugriff
Integritätsschutz(Tamper Protection)
Automatischer Schutz(IP Protection)
Embedded DriverEmbedded Driver
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 12
AxProtector .NET – Ungeschütztes Assembly
.Net (und Java) Code kann einfach dekompiliert
werden
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 13
AxProtector .NET – Schutzprozess
Prot
ecte
d As
sem
bly
Com
pile
d As
sem
bly
Header
Original Code
Header
Stub Code(Ohne Intellectual
Properties)
AxEngine(Security Engine)
Encrypted Code(Original Code mit
Intellectual Properties)
AxProtector .NET
Definitionvon Lizenzen und
Modulen
Assembly hat die gleiche Struktur wie das originale
Assembly
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 14
AxProtector .NET – Geschütztes Assembly
Code in jetzt verschlüsselt!
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 15
AxProtector – Schutzprozess
Prot
ecte
d Ex
ecut
able
/ Li
brar
y
Com
pile
d Ex
ecut
able
/ Li
brar
y
Header
Code Section
Header
EncryptedCode Section
AxEngine(Security Engine)
AxProtector
Definitionvon Lizenzen und
Modulen
Data SectionEncrypted
Data Section
EncryptedResource Section
Resource Section
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 16
ExProtector – Schutzprozess
Prot
ecte
d Ex
ecut
able
/ Li
brar
y
Orig
inal
Exe
cuta
ble
/ Lib
rary
Header
Original Code
Header
Encrypted Code
Credentials(Hash, Signature, …)
ExProtector
Schlüssel für Verschlüsselung
und Signatur
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 17
ExProtector – Schlüssel und Credentials
Prot
ecte
d Ex
ecut
able
/ Li
brar
y
Orig
inal
Exe
cuta
ble
/ Lib
rary
Header
Original Code
Header
Encrypted Code
Credentials(Hash, Signature, …)
ExProtector
Schlüssel für Verschlüsselung
und Signatur
AES Key (FSB)
ECC Private Key
Certificate(s)
Encrypted Random AES Key
Firm Code | Product Code
Hash
Signature
Certificate(s)
ExProtector
Credentials(Hash, Signature, …)
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 18
ExProtector – Integration in den Loader
Operating System
ExEngine(ExProtector Runtime)
CodeMeter Embeded Driver
Operating System(Ohne Änderung)
Engineering
Modified LoaderOriginal Loader
Root Public Key
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 19
ExProtector – Zur Laufzeit (Laden von Executable / Library)
Mem
ory
of E
mbe
dded
Dev
ice
Prot
ecte
d Ex
ecut
able
/ Li
brar
y
Header
Encrypted Code
Header
Decrypted CodeExEngine
Public Root KeyLicense mit
Firm Code undProduct Code
Credentials(Hash, Signature, …)
Credentials(Hash, Signature, …)
Zusätzliche Sicherheit:Watchdog
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 20
Sicherer Schlüsselspeicher
CmDongles
CmActLicenses
Lizenzserver im Netzwerk
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 21
CmDongle – Sicherer Smartcard Chip
Smartcard Chip Geschützt gegen Seitenkanalattacken
Differential Power Analysis (DPA)
Firmware Update Neue Sicherheitsfeatures
Neue Funktionen / Features
Sicherer Update Kanal
64 kByte | 384 kByte sicherer Speicher für Lizenzen
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 22
CodeMeter – Firm Code und Product Code
Lizenzeintrag = Firm Code | Product Code Firm Code: Vergeben von Wibu-Systems Product Code: Vergeben vom Hersteller Jeder Lizenzeintrag kann verschiedene
Lizenzoptionen besitzen: Product ItemOptions (PIOs)
6.000 pro CmDongle oder CmActLicense
…
Firm Code: 10
PIOs
Product Code: 301.000
PIOs
Product Code: 301.001
PIOs
Product Code: 301.002
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 23
Aktivierung per Internet (Online)
Vendor UserSOAP (XML), JSON,HTTP Post
Ticket +Lizenzanforderung
Lizenzupdate
Quittung
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 24
Aktivierung per Datei (Offline)
UserVendor
ü
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 25
CmActLicenses
Virtueller CmDongle Gleiche Funktionen wie CmDongle
Remote Aktivierung
Lizenzmodelle / Product Item Options
CodeMeter SmartBind® für Desktop Systeme Adapter für Embedded Systeme Lizenz ist an Eigenschaften des Gerätes gebunden
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 26
CmActLicenses – Bindung an die Hardware
Public Key (Fingerprint)
License File
C
Computer VendorCC VV
Data(Encryption Keys)
Hash
Signature
AES Key Verschlüsselt
Signiert
C
V
Verschlüsselt mit dem Public Key des Computers
Signiert mit dem Private Key des Vendors
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 27
Schlüsselfeatures
Symmetric Encryption 128-Bit AES (Advanced Encryption Standard)
Verwendung für Verschlüsselung von Software und Daten
Asymmetric Encryption 224-Bit ECC (Elliptic Curve Cryptography)
2048-Bit RSA (Rivest Shamir Adleman)
Verwenden für Signaturen und Authentifizierung
Schutz von Software as a Service (SaaS) Anwendungen
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 28
Secure Boot
Vorwärts Überprüfung
Rückwärts Überprüfung
Vertrauenswürdiger Anker
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 29
Secure Boot
Integritätsschutz beginnt bereits mit dem Boot-Prozess Integration in den Boot-Loader Signatur und Verschlüsslung des kompletten Betriebssystems Vorwärts Überprüfung vor dem Ausführen von Modulen Module überprüft rückwärts, ob es in einer vertrauenswürdigen Umgebung
ist
13.04.2023
Secure Boot
Application / Runtime / PLC
Operating System (VxWorks, …)
Boot Loader (UEFI, …)
Hardware / Pre-Boot Loader
Load Check Start Check
Load Check Start Check
Load Check Start Check
Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 30
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 31
Vorwärts und Rückwärts Überprüfung
InnerLevel
OuterLevel
TrustedDevice
Setzt Status
Überprüft StatusVerwendet Status
Nicht erlaubt
InnerLevel
OuterLevel
Hash &Signatur
Vorwärts Überprüfung Rückwärts Überprüfung
CmDongleoderTPM
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 32
Herausforderungen
Prüfung auf allen Ebenen Zertifikats-Ketten
Prozess der Erzeugung und Verwaltung von Schlüsseln und Zertifikaten
Erlaubte Geräte ID des Gerätes / CmActLicense
Performanz der Lösung Tiefe der Zertifikats-Kette
Vertrauenswürdiger Anker
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 33
Zertifikats-Ketten
Zertifikat ist X.509 ähnlich Hersteller legt die Regeln fest Public Root Key muss sicher im
Embedded Device hinterlegt werden (Vertrauenswürdiger Anker)
Verwaltung und Verteilung mit CodeMeter License Central
Authority ID Subject ID Name of subject Public key Signature of private key Certificate chain Access level (Boot | OS |
App | Config) * Device class / ID range * Expiration Data
Trusted
Certificate
13.04.2023 Schutz und Sicherheit für Anlagen, Maschinen und Embedded Systeme 34
Vielen Dank
WIBU-SYSTEMS AG
www.wibu.com