SlideShare a Scribd company logo
1 of 34
Copyright ©2016, @leomrlima
DetroitJUG
IoT Security: Cases and Methods
Leonardo Lima
@leomrlima
http://v2com.mobi
Copyright ©2016, @leomrlima
DetroitJUG About me
Leonardo Lima
•Computer engineer, server & embedded SW developer
•From São Paulo, Brasil, now in Austin, TX
•CTO at
•Spec Lead – JSR363
•V2COM’s Representative at JCP Executive Committee
[www.linkedin.com/in/leomrlima]
Copyright ©2016, @leomrlima
DetroitJUG
INTERMISSION!
THE JAVA COMMUNITY PROCESS
Copyright ©2016, @leomrlima
DetroitJUG What’s the JCP and why should I care?
It’s the way to make Java a healthy, multi-vendor
environment
What happens here impacts on your job
YOU can be part of the change you want for the platform
It’s easy for YOU to join and start: just fill a webform!
Copyright ©2016, @leomrlima
DetroitJUG But… how do I join?
1. Go to jcp.org
2. Register to use the site
(there’s a button on the left
side menu)
3. Use the ”get involved
section”
4. Remember to vote on the EC
election if you join until
tomorrow!
Copyright ©2016, @leomrlima
DetroitJUG
ASPECTS OF IOT SECURITY
Copyright ©2016, @leomrlima
DetroitJUG On connecting things
The buzz of IoT is connecting things
Does everything needs to be connected?
The implications of connectivity
Copyright ©2016, @leomrlima
DetroitJUG In a study…
Attacks on Internet of Things devices will increase rapidly due to
hypergrowth in the number of connected objects, poor security
hygiene, and the high value of data on IoT devices.
Copyright ©2016, @leomrlima
DetroitJUG
RECENT ATTACKS AND EXPOSURES
Copyright ©2016, @leomrlima
DetroitJUG Cameras
“Every camera [out of 9 models] had one hidden account that a consumer
can’t change because it’s hard coded or not easily accessible. Whether
intended for admin or support, it gives an outsider backdoor access to
the camera.”
Copyright ©2016, @leomrlima
DetroitJUG Barbies
”On the service side, ToyTalk’s server domain was susceptible to a known
SSL encryption flaw called POODLE, which could allow attackers to
steal communications and other data. A credentialing issue could also
let attackers probe for further vulnerabilities.”
Copyright ©2016, @leomrlima
DetroitJUG Cars
As the two hackers remotely toyed with the
air-conditioning, radio, and windshield
wipers, I mentally congratulated myself on
my courage under pressure. That’s when
they cut the transmission.
Immediately my accelerator stopped working.
As I frantically pressed the pedal and
watched the RPMs climb, the Jeep lost half
its speed, then slowed to a crawl. This
occurred just as I reached a long overpass,
with no shoulder to offer an escape. The
experiment had ceased to be fun.
Copyright ©2016, @leomrlima
DetroitJUG Electrical grid
He watched as [the mouse] navigated
purposefully toward buttons
controlling the circuit breakers at a
substation in the region and then
clicked on a box to open the breakers
and take the substation offline. A
dialogue window popped up on screen
asking to confirm the action, and the
operator stared dumbfounded as the
cursor glided to the box and clicked to
affirm. Somewhere in a region outside
the city he knew that thousands of
residents had just lost their lights and
heaters.
Copyright ©2016, @leomrlima
DetroitJUG Zombie IoT army!
Massive DDoS attack – 10s of millions –
in DNS infrastructure (from Dyn) last
Friday (October 21, 2016)
Mirai botnet was created exploiting the
vulnerabilities just described (default
passwords)
The code for ”recruiting” devices was
open-sourced, so anyone can take a
swing
Copyright ©2016, @leomrlima
DetroitJUG Zombie IoT army – The attack
Copyright ©2016, @leomrlima
DetroitJUG Zombie IoT army - the virus
Mirai’s attack function enables it to
launch HTTP floods and various
network (OSI layer 3-4) DDoS
attacks.
For network layer assaults, Mirai is
capable of launching GRE IP and
GRE ETH floods, as well as SYN and
ACK floods, STOMP (Simple Text
Oriented Message Protocol) floods,
DNS floods and UDP flood attacks.
Mirai uses a brute force technique for
guessing passwords
a.k.a. dictionary attacks based on
the following list
Another interesting thing about Mirai
is its “territorial” nature. The
malware holds several killer scripts
meant to eradicate other worms and
Trojans, as well as prohibiting
remote connection attempts of the
hijacked device.
Copyright ©2016, @leomrlima
DetroitJUG Zombie IoT army - the cure
1. Stop using default/generic passwords.
2. Disable all remote (WAN) access to your devices. To verify that your
device is not open to remote access, you can scan the following ports:
SSH (22), Telnet (23) and HTTP/HTTPS (80/443).
Copyright ©2016, @leomrlima
DetroitJUG IoT Security
The Industrial Internet of Things Volume G4: Security Framework
Many different aspects, like IT/OT convergence
Copyright ©2016, @leomrlima
DetroitJUG IoT Security is ”messy”…
Copyright ©2016, @leomrlima
DetroitJUG Security, Trust & Privacy
• Endpoint security
• Communication security between the endpoints
• Data distribution and secure storage
• Management and monitoring security of both the
endpoints and the communication mechanism
Copyright ©2016, @leomrlima
DetroitJUG ”Broad security”
• Trust – data is coming from known device
• Integrity – data was not tampered with since it
was sent from the device
• Uniqueness – data is not being ”reused”
• Privacy – data is not being used by unauthorized
parties
Copyright ©2016, @leomrlima
DetroitJUG Security X Easiness X Cost
• These 3 variables can’t be maximized at the same
time – if you want to maximize one or two, the third
will be minimized
• Many of the attacks mentioned before happened
because of ”wrong” maximization.
• Security aspects have to be thought since the
beginning – adding security later adds more cost and
less security
Copyright ©2016, @leomrlima
DetroitJUG
USING JAVA FOR A (MORE) SECURE IOT
Copyright ©2016, @leomrlima
DetroitJUG Java Security Guidelines
Secure Coding Guidelines for Java SE helps with the most
effective approach to minimizing vulnerabilities is to have
obviously no flaws rather than no obvious flaws
Java Coding Guidelines from CERT is also a good resource to
understand how to program more securely
There’s a page from Oracle that covers many aspects of
security, such as platform security, cryptography and secure
communications
Copyright ©2016, @leomrlima
DetroitJUG Java Cryptography Architecture
Provides Cryptography pluggable
support for many different providers
and capacities.
Supports standards like PKCS#11, TLS
and many others
Standard implementations in Java SE
VMs
https://docs.oracle.com/javase/8/docs/te
chnotes/guides/security/crypto/Crypto
Spec.html
Copyright ©2016, @leomrlima
DetroitJUG JCA Related Libraries
Oracle’s JVM already includes an implementation that can help
you get started with security
The Legion of Bouncy Castle, aka, https://www.bouncycastle.org/,
has many algorithms for JCA and related, such as X.509
certificates, OpenPGP and Lightweight APIs for TLS and DTLS
(RFC 4347)
Security hardware vendors also provide providers for JCA, so you
can leverage different levels of security with no change in code
Copyright ©2016, @leomrlima
DetroitJUG Example of software only encryption
Public/Private Key
Infrastructure +
Symmetric Shared
Secret
Fragility: your keys are
still ”hackable”, as
they’re in non-protected
memory!
Copyright ©2016, @leomrlima
DetroitJUG Secure Element
Provides a safe place to execute sensitive code
and store hardware identity and private keys
Hardware protection to prevent tampering
Many form factors
Copyright ©2016, @leomrlima
DetroitJUG Secure Element
// Create a PKCS#11 cryptographic provider which uses the Secure Element
Provider myPKCS11Provider = new
sun.security.pkcs11.SunPKCS11(PKCS11_CONFIG);
// The PIN code protecting the Security Element
char [] myPIN = {'0','0','0','0'};
// Create a KeyStore corresponding to the Secure Element
KeyStore.PasswordProtection pinProtection = new
KeyStore.PasswordProtection(myPIN);
KeyStore.Builder ksb = KeyStore.Builder.newInstance("PKCS11",
myPKCS11Provider, pinProtection);
KeyStore ks = ksb.getKeyStore();
// Add the SE as a cryptographic provider
Security.addProvider(myPKCS11Provider);
Copyright ©2016, @leomrlima
DetroitJUG Secure Element
// We sign with ECDSA
Signature ecSign = Signature.getInstance("SHA256withECDSA");
// Retrieve the signature key in keystore by it’s alias
PrivateKey privKey = (PrivateKey) ks.getKey("SignKey", myPassword);
// And we sign !
ecSign.initSign(privKey);
ecSign.update(s1.getBytes());
byte[] signature = ecSignCard.sign();
Copyright ©2016, @leomrlima
DetroitJUG JavaCard
Mini-Java for Secure Elements and Trusted Execution Environments
Led by the JavaCard forum (it’s not JCP related)
Copyright ©2016, @leomrlima
DetroitJUG Summary
• Security is an ever increasing concern
• Security has to be thought from the start of a project
• You can be as secure as you want
• Java has lot of infrastructure for secure IoT devices
Copyright ©2016, @leomrlima
DetroitJUG
Q & A
Copyright ©2016, @leomrlima
DetroitJUG
Thanks!

More Related Content

What's hot

The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
Julien Vermillard
 

What's hot (20)

Ryan Wilson - ryanwilson.com - IoT Security
Ryan Wilson - ryanwilson.com -  IoT SecurityRyan Wilson - ryanwilson.com -  IoT Security
Ryan Wilson - ryanwilson.com - IoT Security
 
Internet of Things (IoT) Security and Privacy Recommendations by Jason Living...
Internet of Things (IoT) Security and Privacy Recommendations by Jason Living...Internet of Things (IoT) Security and Privacy Recommendations by Jason Living...
Internet of Things (IoT) Security and Privacy Recommendations by Jason Living...
 
IOT Security
IOT SecurityIOT Security
IOT Security
 
IoT Security Briefing FBI 07 23-2017 final
IoT Security Briefing FBI 07 23-2017 finalIoT Security Briefing FBI 07 23-2017 final
IoT Security Briefing FBI 07 23-2017 final
 
Security in the Internet of Things
Security in the Internet of ThingsSecurity in the Internet of Things
Security in the Internet of Things
 
IoT security fresh thinking 2017 sep 9
IoT security fresh thinking 2017 sep 9IoT security fresh thinking 2017 sep 9
IoT security fresh thinking 2017 sep 9
 
IoT Security by Sanjay Kumar
IoT Security by Sanjay KumarIoT Security by Sanjay Kumar
IoT Security by Sanjay Kumar
 
Security for iot and cloud aug 25b 2017
Security for iot and cloud aug 25b 2017Security for iot and cloud aug 25b 2017
Security for iot and cloud aug 25b 2017
 
IoT Security and Privacy Considerations
IoT Security and Privacy ConsiderationsIoT Security and Privacy Considerations
IoT Security and Privacy Considerations
 
IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015
 
Iot security amar prusty
Iot security amar prustyIot security amar prusty
Iot security amar prusty
 
IoT Security, Mirai Revisited
IoT Security, Mirai RevisitedIoT Security, Mirai Revisited
IoT Security, Mirai Revisited
 
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
 
Mark Horowitz - Stanford Engineering - Securing the Internet of Things
Mark Horowitz - Stanford Engineering - Securing the Internet of ThingsMark Horowitz - Stanford Engineering - Securing the Internet of Things
Mark Horowitz - Stanford Engineering - Securing the Internet of Things
 
IoT Security
IoT SecurityIoT Security
IoT Security
 
IoT Security – Executing an Effective Security Testing Process
IoT Security – Executing an Effective Security Testing Process IoT Security – Executing an Effective Security Testing Process
IoT Security – Executing an Effective Security Testing Process
 
IoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.PrabhakaranIoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.Prabhakaran
 
Introduction to IoT Security
Introduction to IoT SecurityIntroduction to IoT Security
Introduction to IoT Security
 
Practical IoT Security in the Enterprise
Practical IoT Security in the EnterprisePractical IoT Security in the Enterprise
Practical IoT Security in the Enterprise
 
Internet of Things Security Patterns
Internet of Things Security PatternsInternet of Things Security Patterns
Internet of Things Security Patterns
 

Viewers also liked

JSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of EverythingJSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of Everything
Werner Keil
 
Cloud computing security & forensics (manu)
Cloud computing security & forensics (manu)Cloud computing security & forensics (manu)
Cloud computing security & forensics (manu)
ClubHack
 

Viewers also liked (20)

M2M, Sensor Web, Observations and Measurements
M2M, Sensor Web, Observations and MeasurementsM2M, Sensor Web, Observations and Measurements
M2M, Sensor Web, Observations and Measurements
 
The First IoT JSR: Units of Measurement JSR-363 [BOF5981]
The First IoT JSR: Units of Measurement JSR-363 [BOF5981]The First IoT JSR: Units of Measurement JSR-363 [BOF5981]
The First IoT JSR: Units of Measurement JSR-363 [BOF5981]
 
Srmv
SrmvSrmv
Srmv
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363
 
JSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of EverythingJSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of Everything
 
Developing a Future-Proof IoT Roadmap for Connected Devices and Data
Developing a Future-Proof IoT Roadmap for Connected Devices and DataDeveloping a Future-Proof IoT Roadmap for Connected Devices and Data
Developing a Future-Proof IoT Roadmap for Connected Devices and Data
 
Successful Industrial IoT patterns
Successful Industrial IoT patterns Successful Industrial IoT patterns
Successful Industrial IoT patterns
 
Using Java and Standards for Fast IoT Development [CON5513]
Using Java and Standards for Fast IoT Development [CON5513]Using Java and Standards for Fast IoT Development [CON5513]
Using Java and Standards for Fast IoT Development [CON5513]
 
IoT Cloud2Cloud Connector
IoT Cloud2Cloud ConnectorIoT Cloud2Cloud Connector
IoT Cloud2Cloud Connector
 
5 Ways To Fight A DDoS Attack
5 Ways To Fight A DDoS Attack5 Ways To Fight A DDoS Attack
5 Ways To Fight A DDoS Attack
 
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
 
The Cloud: Privacy and Forensics
The Cloud: Privacy and ForensicsThe Cloud: Privacy and Forensics
The Cloud: Privacy and Forensics
 
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
 
IoT DDoS Attacks: the stakes have changed
IoT DDoS Attacks: the stakes have changed IoT DDoS Attacks: the stakes have changed
IoT DDoS Attacks: the stakes have changed
 
IT Service Level Agreement
IT Service Level AgreementIT Service Level Agreement
IT Service Level Agreement
 
Internet of Things Service Level Agreements: Market Outlook and Forecast for ...
Internet of Things Service Level Agreements: Market Outlook and Forecast for ...Internet of Things Service Level Agreements: Market Outlook and Forecast for ...
Internet of Things Service Level Agreements: Market Outlook and Forecast for ...
 
The security of SAAS and private cloud
The security of SAAS and private cloudThe security of SAAS and private cloud
The security of SAAS and private cloud
 
Cloud Computing Security Challenges
Cloud Computing Security ChallengesCloud Computing Security Challenges
Cloud Computing Security Challenges
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the Cloud
 
Cloud computing security & forensics (manu)
Cloud computing security & forensics (manu)Cloud computing security & forensics (manu)
Cloud computing security & forensics (manu)
 

Similar to IoT Security: Cases and Methods

You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
Michael Noel
 

Similar to IoT Security: Cases and Methods (20)

International Refereed Journal of Engineering and Science (IRJES)
International Refereed Journal of Engineering and Science (IRJES)International Refereed Journal of Engineering and Science (IRJES)
International Refereed Journal of Engineering and Science (IRJES)
 
Where in the world is your Corporate data?
Where in the world is your Corporate data?Where in the world is your Corporate data?
Where in the world is your Corporate data?
 
Smart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and ExploitationSmart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and Exploitation
 
Flak+technologies
Flak+technologiesFlak+technologies
Flak+technologies
 
Flak+technologies
Flak+technologiesFlak+technologies
Flak+technologies
 
The Internet of Things: We've Got to Chat
The Internet of Things: We've Got to ChatThe Internet of Things: We've Got to Chat
The Internet of Things: We've Got to Chat
 
Touring the Dark Side of Internet: A Journey through IOT, TOR & Docker
Touring the Dark Side of Internet: A Journey through IOT, TOR & DockerTouring the Dark Side of Internet: A Journey through IOT, TOR & Docker
Touring the Dark Side of Internet: A Journey through IOT, TOR & Docker
 
Ipsec And Ssl Protocols ( Vpn )
Ipsec And Ssl Protocols ( Vpn )Ipsec And Ssl Protocols ( Vpn )
Ipsec And Ssl Protocols ( Vpn )
 
Security Threats and Vulnerabilities-2.pptx
Security Threats and Vulnerabilities-2.pptxSecurity Threats and Vulnerabilities-2.pptx
Security Threats and Vulnerabilities-2.pptx
 
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
 
Cybersecurity Interview Questions_Part1.pdf
Cybersecurity Interview Questions_Part1.pdfCybersecurity Interview Questions_Part1.pdf
Cybersecurity Interview Questions_Part1.pdf
 
Implementing an improved security for collin’s database and telecommuters
Implementing an improved security for collin’s database and telecommutersImplementing an improved security for collin’s database and telecommuters
Implementing an improved security for collin’s database and telecommuters
 
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
 
How to 2FA-enable Open Source Applications
How to 2FA-enable Open Source ApplicationsHow to 2FA-enable Open Source Applications
How to 2FA-enable Open Source Applications
 
Introduction To Information Security
Introduction To Information SecurityIntroduction To Information Security
Introduction To Information Security
 
Meeting02_RoT.pptx
Meeting02_RoT.pptxMeeting02_RoT.pptx
Meeting02_RoT.pptx
 
IoTNEXT 2016 - SafeNation Track
IoTNEXT 2016 - SafeNation TrackIoTNEXT 2016 - SafeNation Track
IoTNEXT 2016 - SafeNation Track
 
Hamza
HamzaHamza
Hamza
 
Security & Identity for the Internet of Things Webinar
Security & Identity for the Internet of Things WebinarSecurity & Identity for the Internet of Things Webinar
Security & Identity for the Internet of Things Webinar
 
LogMeIn Security White Paper
LogMeIn Security White PaperLogMeIn Security White Paper
LogMeIn Security White Paper
 

More from Leonardo De Moura Rocha Lima

More from Leonardo De Moura Rocha Lima (10)

Top 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQLTop 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQL
 
JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...
JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...
JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...
 
JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]
JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]
JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]
 
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
 
Java & IoT
Java & IoTJava & IoT
Java & IoT
 
Collections.compare(JDK, Eclipse, Guava, Apache...);
Collections.compare(JDK, Eclipse, Guava, Apache...);Collections.compare(JDK, Eclipse, Guava, Apache...);
Collections.compare(JDK, Eclipse, Guava, Apache...);
 
JSR363 - Devoxx US
JSR363 - Devoxx USJSR363 - Devoxx US
JSR363 - Devoxx US
 
Secure IoT with Blockchain: Fad or Reality? [BOF5490]
Secure IoT with Blockchain: Fad or Reality? [BOF5490]Secure IoT with Blockchain: Fad or Reality? [BOF5490]
Secure IoT with Blockchain: Fad or Reality? [BOF5490]
 
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
 
A internet das coisas e o futuro - Java ME 8 e adiante!
A internet das coisas e o futuro - Java ME 8 e adiante!A internet das coisas e o futuro - Java ME 8 e adiante!
A internet das coisas e o futuro - Java ME 8 e adiante!
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

IoT Security: Cases and Methods

  • 1. Copyright ©2016, @leomrlima DetroitJUG IoT Security: Cases and Methods Leonardo Lima @leomrlima http://v2com.mobi
  • 2. Copyright ©2016, @leomrlima DetroitJUG About me Leonardo Lima •Computer engineer, server & embedded SW developer •From São Paulo, Brasil, now in Austin, TX •CTO at •Spec Lead – JSR363 •V2COM’s Representative at JCP Executive Committee [www.linkedin.com/in/leomrlima]
  • 4. Copyright ©2016, @leomrlima DetroitJUG What’s the JCP and why should I care? It’s the way to make Java a healthy, multi-vendor environment What happens here impacts on your job YOU can be part of the change you want for the platform It’s easy for YOU to join and start: just fill a webform!
  • 5. Copyright ©2016, @leomrlima DetroitJUG But… how do I join? 1. Go to jcp.org 2. Register to use the site (there’s a button on the left side menu) 3. Use the ”get involved section” 4. Remember to vote on the EC election if you join until tomorrow!
  • 7. Copyright ©2016, @leomrlima DetroitJUG On connecting things The buzz of IoT is connecting things Does everything needs to be connected? The implications of connectivity
  • 8. Copyright ©2016, @leomrlima DetroitJUG In a study… Attacks on Internet of Things devices will increase rapidly due to hypergrowth in the number of connected objects, poor security hygiene, and the high value of data on IoT devices.
  • 10. Copyright ©2016, @leomrlima DetroitJUG Cameras “Every camera [out of 9 models] had one hidden account that a consumer can’t change because it’s hard coded or not easily accessible. Whether intended for admin or support, it gives an outsider backdoor access to the camera.”
  • 11. Copyright ©2016, @leomrlima DetroitJUG Barbies ”On the service side, ToyTalk’s server domain was susceptible to a known SSL encryption flaw called POODLE, which could allow attackers to steal communications and other data. A credentialing issue could also let attackers probe for further vulnerabilities.”
  • 12. Copyright ©2016, @leomrlima DetroitJUG Cars As the two hackers remotely toyed with the air-conditioning, radio, and windshield wipers, I mentally congratulated myself on my courage under pressure. That’s when they cut the transmission. Immediately my accelerator stopped working. As I frantically pressed the pedal and watched the RPMs climb, the Jeep lost half its speed, then slowed to a crawl. This occurred just as I reached a long overpass, with no shoulder to offer an escape. The experiment had ceased to be fun.
  • 13. Copyright ©2016, @leomrlima DetroitJUG Electrical grid He watched as [the mouse] navigated purposefully toward buttons controlling the circuit breakers at a substation in the region and then clicked on a box to open the breakers and take the substation offline. A dialogue window popped up on screen asking to confirm the action, and the operator stared dumbfounded as the cursor glided to the box and clicked to affirm. Somewhere in a region outside the city he knew that thousands of residents had just lost their lights and heaters.
  • 14. Copyright ©2016, @leomrlima DetroitJUG Zombie IoT army! Massive DDoS attack – 10s of millions – in DNS infrastructure (from Dyn) last Friday (October 21, 2016) Mirai botnet was created exploiting the vulnerabilities just described (default passwords) The code for ”recruiting” devices was open-sourced, so anyone can take a swing
  • 15. Copyright ©2016, @leomrlima DetroitJUG Zombie IoT army – The attack
  • 16. Copyright ©2016, @leomrlima DetroitJUG Zombie IoT army - the virus Mirai’s attack function enables it to launch HTTP floods and various network (OSI layer 3-4) DDoS attacks. For network layer assaults, Mirai is capable of launching GRE IP and GRE ETH floods, as well as SYN and ACK floods, STOMP (Simple Text Oriented Message Protocol) floods, DNS floods and UDP flood attacks. Mirai uses a brute force technique for guessing passwords a.k.a. dictionary attacks based on the following list Another interesting thing about Mirai is its “territorial” nature. The malware holds several killer scripts meant to eradicate other worms and Trojans, as well as prohibiting remote connection attempts of the hijacked device.
  • 17. Copyright ©2016, @leomrlima DetroitJUG Zombie IoT army - the cure 1. Stop using default/generic passwords. 2. Disable all remote (WAN) access to your devices. To verify that your device is not open to remote access, you can scan the following ports: SSH (22), Telnet (23) and HTTP/HTTPS (80/443).
  • 18. Copyright ©2016, @leomrlima DetroitJUG IoT Security The Industrial Internet of Things Volume G4: Security Framework Many different aspects, like IT/OT convergence
  • 19. Copyright ©2016, @leomrlima DetroitJUG IoT Security is ”messy”…
  • 20. Copyright ©2016, @leomrlima DetroitJUG Security, Trust & Privacy • Endpoint security • Communication security between the endpoints • Data distribution and secure storage • Management and monitoring security of both the endpoints and the communication mechanism
  • 21. Copyright ©2016, @leomrlima DetroitJUG ”Broad security” • Trust – data is coming from known device • Integrity – data was not tampered with since it was sent from the device • Uniqueness – data is not being ”reused” • Privacy – data is not being used by unauthorized parties
  • 22. Copyright ©2016, @leomrlima DetroitJUG Security X Easiness X Cost • These 3 variables can’t be maximized at the same time – if you want to maximize one or two, the third will be minimized • Many of the attacks mentioned before happened because of ”wrong” maximization. • Security aspects have to be thought since the beginning – adding security later adds more cost and less security
  • 23. Copyright ©2016, @leomrlima DetroitJUG USING JAVA FOR A (MORE) SECURE IOT
  • 24. Copyright ©2016, @leomrlima DetroitJUG Java Security Guidelines Secure Coding Guidelines for Java SE helps with the most effective approach to minimizing vulnerabilities is to have obviously no flaws rather than no obvious flaws Java Coding Guidelines from CERT is also a good resource to understand how to program more securely There’s a page from Oracle that covers many aspects of security, such as platform security, cryptography and secure communications
  • 25. Copyright ©2016, @leomrlima DetroitJUG Java Cryptography Architecture Provides Cryptography pluggable support for many different providers and capacities. Supports standards like PKCS#11, TLS and many others Standard implementations in Java SE VMs https://docs.oracle.com/javase/8/docs/te chnotes/guides/security/crypto/Crypto Spec.html
  • 26. Copyright ©2016, @leomrlima DetroitJUG JCA Related Libraries Oracle’s JVM already includes an implementation that can help you get started with security The Legion of Bouncy Castle, aka, https://www.bouncycastle.org/, has many algorithms for JCA and related, such as X.509 certificates, OpenPGP and Lightweight APIs for TLS and DTLS (RFC 4347) Security hardware vendors also provide providers for JCA, so you can leverage different levels of security with no change in code
  • 27. Copyright ©2016, @leomrlima DetroitJUG Example of software only encryption Public/Private Key Infrastructure + Symmetric Shared Secret Fragility: your keys are still ”hackable”, as they’re in non-protected memory!
  • 28. Copyright ©2016, @leomrlima DetroitJUG Secure Element Provides a safe place to execute sensitive code and store hardware identity and private keys Hardware protection to prevent tampering Many form factors
  • 29. Copyright ©2016, @leomrlima DetroitJUG Secure Element // Create a PKCS#11 cryptographic provider which uses the Secure Element Provider myPKCS11Provider = new sun.security.pkcs11.SunPKCS11(PKCS11_CONFIG); // The PIN code protecting the Security Element char [] myPIN = {'0','0','0','0'}; // Create a KeyStore corresponding to the Secure Element KeyStore.PasswordProtection pinProtection = new KeyStore.PasswordProtection(myPIN); KeyStore.Builder ksb = KeyStore.Builder.newInstance("PKCS11", myPKCS11Provider, pinProtection); KeyStore ks = ksb.getKeyStore(); // Add the SE as a cryptographic provider Security.addProvider(myPKCS11Provider);
  • 30. Copyright ©2016, @leomrlima DetroitJUG Secure Element // We sign with ECDSA Signature ecSign = Signature.getInstance("SHA256withECDSA"); // Retrieve the signature key in keystore by it’s alias PrivateKey privKey = (PrivateKey) ks.getKey("SignKey", myPassword); // And we sign ! ecSign.initSign(privKey); ecSign.update(s1.getBytes()); byte[] signature = ecSignCard.sign();
  • 31. Copyright ©2016, @leomrlima DetroitJUG JavaCard Mini-Java for Secure Elements and Trusted Execution Environments Led by the JavaCard forum (it’s not JCP related)
  • 32. Copyright ©2016, @leomrlima DetroitJUG Summary • Security is an ever increasing concern • Security has to be thought from the start of a project • You can be as secure as you want • Java has lot of infrastructure for secure IoT devices

Editor's Notes

  1. In developing for IoT, security is not often the highest priority: APIs exposed without care and devices deployed with default passwords become gateways to your network and your data. Many best practices can be used to thwart attacks on your devices, but they have to be thought through from the first architectural design. This session covers many recent IoT attacks, their consequences, and how they could have been prevented. It also explores the many security levels one device can have, from totally exposed to completely secured against physical tampering and identity theft.
  2. - Where is the value? - Security and privacy are great implications of connectivity
  3. http://www.mcafee.com/us/security-awareness/articles/mcafee-labs-threats-predictions-2015.aspx
  4. https://www.wired.com/2015/12/2015-the-year-the-internet-of-things-got-hacked/
  5. http://fusion.net/story/192189/internet-connected-baby-monitors-trivial-to-hack/
  6. http://www.pcworld.com/article/3012220/security/internet-connected-hello-barbie-doll-can-be-hacked.html
  7. https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/#slide-2
  8. https://www.wired.com/2016/03/inside-cunning-unprecedented-hack-ukraines-power-grid/
  9. DDoS data: http://www.dailydot.com/layer8/ddos-mirai-iot-botnet-broken-internet/ Source code release: https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/
  10. Image from http://i.imgur.com/DIvzSFq.png
  11. https://www.incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html
  12. https://www.incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html
  13. http://www.iiconsortium.org/IISF.htm
  14. There are many different aspects to consider!
  15. Aspects to consider
  16. Aspects to consider: there’s no winning it all!!
  17. There are many different Java technologies, like JAAS, that are for the server-side of IoT. I considered the embedded side development here.
  18. http://www.oracle.com/technetwork/java/seccodeguide-139067.html https://www.securecoding.cert.org/confluence/display/java/Java+Coding+Guidelines http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html
  19. https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html
  20. http://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html https://javacardforum.com/