IoT and Security
by Eugene Teo & Sayanee Basu
Use ⬅️ ➡️ keys to navigate these slides
Fun with IoT
Fun with IoT
[...]
require 'net/telnet'
coffee_machine_ip = '10.10.42.42'
password = '1234'
password_prompt = 'Password: '
delay_before_brew = 17
delay = 24
sleep delay_before_brew
con = Net::Telnet.new('Host' => coffee_machine_ip)
con.cmd('String' => password, 'Match' => /#{password_prompt}/)
con.cmd('sys brew')
sleep delay
con.cmd('sys pour')
con.close
https://github.com/NARKOZ/hacker-scripts/
Why Do We Care about Security?
What Drives the Modern Day Attacks?
What Drives the Modern Day Attacks?
|
Traditional malware |
Hacktivism |
Targeted threat |
Target |
Widespread, infecting anyone |
Organizations related to geopolitical tensions |
Specific organization or multiple organizations within a specific industry |
Attacker |
Individuals or small groups |
Individuals or networks of (anonymous) activists |
Attackers with time, resources and skills to design and execute organized attacks |
What Drives the Modern Day Attacks?
|
Traditional malware |
Hacktivism |
Targeted threat |
Goal |
For financial gains |
Drive political agendas |
Steal sensitive info or disrupt systems |
Approach |
Banking Trojans, ransomware, clickjacking |
DDoS, defacement, social media hacks |
Espionage, sabotage |
The Motivations Are Similar for IoT attacks
But IoT Security Is Not Just about the Device!
IoT DDoS
"Mirai-infected devices [...] mostly CCTV cameras [...] Other victimized devices included DVRs and routers."
"Using a hit-and-run tactic, the attack peaked at 280 Gbps and 130 Mpps, both indicating a very powerful botnet."
IoT Surveillance
A recent example: Weeping Angel.
"with access to Samsung Smart TVs, allowing a television’s built-in voice control microphone to be remotely enabled while keeping the appearance that the TV itself was switched off, called “Fake-Off mode.” Although the display would be switched off, and LED indicator lights would be suppressed, the hardware inside the television would continue to operate, unbeknownst to the owner."
"In the future, intelligence services might use the [internet of things] for identification, surveillance, monitoring, location tracking, and targeting for recruitment, or to gain access to networks or user credentials."
How Can We Improve Security?
Avoid Problems Repeatedly Seen in IoT Devices
- Use SSL for connections to the IoT device or the cloud
- Provide mutual authentication between the client and the server
- Enforce and use strong passwords
- Support 2FA for IoT cloud interfaces
- Protect against account harvesting, and implement account lockout
- Proper vulnerability management, and actively patch vulnerabilities found or reported
- Provide signed or encrypted firmware updates
Insecurity in the Internet of Things
Review the OWASP Internet of Things Top Ten Project
- I1 Insecure Web Interface
- I2 Insufficient Authentication/Authorization
- I3 Insecure Network Services
- I4 Lack of Transport Encryption
- I5 Privacy Concerns
- I6 Insecure Cloud Interface
- I7 Insecure Mobile Interface
- I8 Insufficient Security Configurability
- I9 Insecure Software/Fireware
- I10 Poor Physical Security
Internet of Things Top Ten
Adventures with
😴 a lamp 💡
😈 an oven 📺
🙈 a router 📻
Review the OWASP Internet of Things Top Ten Project
- I1 Insecure Web Interface
- I2 Insufficient Authentication/Authorization
- I3 Insecure Network Services
- I4 Lack of Transport Encryption
- I5 Privacy Concerns
- I6 Insecure Cloud Interface
- I7 Insecure Mobile Interface
- I8 Insufficient Security Configurability
- I9 Insecure Software/Fireware
- I10 Poor Physical Security
Internet of Things Top Ten
3 demos
Questions to ask 🤔
What's the insecurity?
Why should we care?
What's the fix?
People 🕵🏻👩🏾🔧👨🏻💻👩🏼🏭
security researcher
home owner
engineer / product manager
Demo A
I3 Insecure Network Services
Choose WiFi ISSS614 🔊
Go to URL lamp.local on 📱 💻 🖥
Demo A: What's the insecurity?
Demo A: Why should we care?
- cannot rely on device owner's network
Demo A: What's the fix?
- Use WPA2 encrypted WiFi
- Change router's default password
- Use devices on a separate home network
Demo B
I1 Insecure Web Interface
Choose WiFi ISSS614 🔊
Go to URL lamp.local on 📱 💻 🖥
Access oven and sniff packets
Demo B
I4 Lack of Transport Encryption
Choose WiFi ISSS614 🔊
Go to URL lamp.local on 📱 💻 🖥
Access oven and sniff packets
Demo B: What's the insecurity?
- username and password are send over clear text
Demo B: Why should we care?
- private data being sniffed
Demo B: Why should we care?
- decryption key + handshake capture = possible snooping
Demo B: What's the fix?
Demo C
I2 Insufficient Authentication/Authorization
Go to URL https://lamp.local on 📱 💻 🖥
Access oven and scan for devices
Demo C: What's the insecurity?
- default username and password
- full control of the device
#!/bin/bash
while true; do
echo 0 > /sys/class/gpio/gpio18/value
sleep 5
done
Demo C: Why should we care?
- physical infrastructure compromised
Demo C: What's the fix?
- force users to change default login
- have a mechanism to remotely update
Developing IoT products
- work with security researchers from day 1
- build a mechanism to remotely update firmware
- never rely on the security of device's network
- interoperability is challenging
- unique default password for every device
- use state of the art encryption
- design to limit the scope of damage