Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Neo Jou
WHAT IS IOT
The internet working of physical devices, vehicles (also referred to as
"connected devices" and "smart devices"), buildings and other items
embedded with electronics, software, sensors, actuators, and network
connectivity that enable these objects to collect and exchange data.
Ref: wiki IoT
90s : Internet
SUN - JAVA (Oak)
1995 - -
Motorola - 50 / 66
IoE ( Internet of Everything ) - Cisco / Qualcomm
IOT GROW
WHERE - EVERY
SMART HOME
- smart lighting
- smart door
- smart coffee machine
- smart air conditioner
- smart weight meter
- smart vacuum cleaner
- smart water heater
IOT SCOPE
Big Data
ASIC / HW design
SW ( HAL / driver/ RTOS / communication protocol / )
multimedia : video / audio / .. :
AI : / / / ..
Security
WHY SECURITY
?
IOT
Server
IoT device
IOT ATTACKS
Program
coding errors like buffer overflow - secure coding
random number - TRNG
System
unnecessary open ports
firmware rollback / firmware update
Device Attack
: e.g. flash, steal code
DOS/DDOS/wifi jammer/ :
Cloud Server Connection Attack
SQL injection / XSS
: MD5/SHA1/SHA2
AES-128/AES-256
/
?
/ ( side channel attack )
, ,
DDOS
Distributed
Deny of Service
- ICMP flood
- ping flood
- UDP flood
- TCP SYNC flood
- HTTP flood
-
CPU / Network Resource
WEB ATTACK
1. https port 443
2. XOR-based firmware encryption
* Howard - HyperC OS
* Linker script -
http://njiot.blogspot.tw/2016/03/arduino-ameba-100-textdatabssheapstack.html
stack-based
buffer overflow
Ref: http://pws.niu.edu.tw/~hbc/StackBO.pdf
TCP 3WHS
Why not 2 ways?
SYNC FLOOD
Timeout : 1 sec
/ /....
SYNC COOKIE
SYNC PROXY
SYNC PROXY
sync cookie
SEC PROG
strcpy -> strncpy -> strlcpy
strncpy : NUL ,
strlcpy OpenBSD 2.4, ANSI C
compiler option : -fstack-protector-strong
SEC CODE
static code analysis
SEC POLICY
,
secure / non-secure :
secure ,
secure
ACL
secure / non-secure
WHAT TO DO
HW solutions - ARM
ARM v8m TrustZone
RTOS security solutions -
Communication Security
ARM ARCH
ARM V8M
ARM V7M
privileged
thread / handler
handler only have
privileged mode
ARM MPU
ARM11
ARMv7m , mbed MPU
uvisor
ARM V8M , size 2
0x3BC00
PMSAv
7
PMSAv
8
1kB
0x80400
16kB
256kB
1kB
memory SAU
secure / no-secure
IRQ secure / non-secure
Security
Attribution
Unit (SAU)
Non-Secure
MPU
Request to
System
System
Level
Control
Secure
MPU
TRUSTZONE
ARM TRUSTZONE
v8m , v8A
ARM V8M
SEC RTOS
wifi WPA2 , protocol
RC4->AES;
PSK: DK = PBKDF2(HMACSHA1,
passphrase, ssid, 4096, 256)
HTTPS
SSL -> TLS
DTLS : UDP
SEC INFO
BugTraq
IoT market and architecture
Why Security
Attacks
Solutions
HW based security solution - ARM v8M
RTOS security
Communication Security
AMEBA
AMEBA
Q&A
THANK YOU