SlideShare a Scribd company logo
1 of 22
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
1
Now you can trust the browser
Ben Gidley, Tim Charman
AMSTERDAM 16 - 17 MAY 2017
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
2
State of the Web
TLS and Certificates
Sandbox
HTML
JavaScript
CSS
Network Security
IDS
WAF
RASP
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
3
1 - Browsers are controlled by users
VS.
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
4
2 -TLS is all about protecting the consumer
What does this mean exactly?
• The connection is encrypted, and only people the consumers computer trusts
can intercept it
• A certificate authority has verified the owner of the domain has approved the
certificate
And that’s all it promises
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
5
2 - TLS is all about protecting the consumer
What does this mean exactly?
As the web site operator you have no idea if
• The connection has been intercepted
• The user is a person or a bot
• Your client side code is running
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
6
User is innocent, yet
▪ Zero day in browser
▪ Zero day in TLS/SSL on server
▪ Incorrectly trusted certificate
▪ Vendor issued but leaked trust
certificate
▪ Hijack update mechanism for any
software on the device
▪ Trojan software that exploits
device
User unknowingly does something to
make it easy
▪ Convince user to install MITM
certificate
▪ Convince user to plug in USB
drive
▪ Convince user to install software
▪ Malicious browser extensions
3 - TLS MITM is actually quite easy – 10 ways to do it…
For more details see bit.ly/mitm-is-easy
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
7
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
Demo
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
8
So what have we learnt
▪ You can’t really trust the browser
▪ Anything running in the browser may or may not run
▪ Any data sent may be modified by the user or third parties
So should we all go back to pen & paper?
▪ No! What IF we could
▪ Load a trusted set of code into the browser
▪ Validate the code at load and runtime
▪ Encrypt / decrypt in the browser and not have the keys stolen
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
9
The Problem
Browser
Web App
Web Site
Web Site
Unprotected
HTML/JS/CSS
Can we check what’s running on the client?
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
10
1st Attempt
Browser
Unprotected
Web App
Security
Libraries
Verification
Verification
Web Site
Web Site
Unprotected
HTML/JS/CSS
Web Site
To be protected
JavaScript
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
11
Browser
2nd Attempt
Unprotected
Web App
Protected Web
App
Security
Libraries
Verification
Verification
Web Site
Web Site
Unprotected
HTML/JS/CSS
Web Site
To be protected
JavaScript
Obfuscation
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
12
3rd Attempt
Browser
Unprotected
Web App
Protected Web
App
Security
Libraries
Verification
Obfuscation
Verification
Web Site
Web Site
Unprotected
HTML/JS/CSS
Web Site
To be protected
JavaScript
Whitebox
Crypto
But is that enough?
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
13
The solution!
Verification
Diversification
Verification
Logging
Web Site
Web Site
Unprotected
HTML/JS/CSS
Web Site
To be protected
JavaScript
Browser
Unprotected
Web App
Protected Web
App
Security
Libraries
Whitebox
Crypto
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
14
So what have we achieved?
Verification
Diversification
Verification
Logging
Web Site
Web Site
Unprotected
HTML/JS/CSS
Web Site
To be protected
JavaScript
Secured
connection with
private whitebox
keys
Tamper
detection
Browser
Unprotected
Web App
Protected Web
App
Security
Libraries
Whitebox
Crypto
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
15
So is this really possible?
This may sound a bit like black magic, We’re claiming by mixing
▪ Obfuscation
▪ Diversity
▪ Whiteboxes
I can change the security model of the browser to let us have some degree of trust,
in the process stopping Man-In-The-Middle attacks and hindering a bunch of other
common attacks
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
16
Whitebox AES was invented in 2004
by Cloakware (part of Irdeto) and is
based on a mathematical approach
We write a special AES
implementation and then ‘bake’ a key
into it to make it possible to use it
without exposing the key.
See bit.ly/whitebox-tutorial for the
(basic version) of the maths
Whitebox Cryptography
Key Seed
Transcoder
Whitebox
Code
Whitebox
Instance
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
17
Tethered Integrity Verification
Easiest way to explain this is to show it….
Assuming I don’t trust Tim here…
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
18
Obfuscated
JavaScript
Security
Library
Seeds
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
19
Making security inseparable from your software
Multi-Layered and Interlocked Protection
Debug Detection & Anti-Debug
Node-locking
Secured Storage
Code Encryption
Obfuscated Code
Diversity & Renewability
Data Flow Transformation
White Box Cryptography and Key Hiding
Control Flow Transformation
Integrity Verification
● Protect code against a
collection of attacks
● Provides a multi-layered and
interlocked defences
● Making the security layer
inseparable from the code
being protected
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
20
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
So let’s see it all
working
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
21
Option 1)
▪ You could implement this
yourselves
▪ (But it’s quite tricky to do it right)
Option 2)
▪ Use Irdeto’s SaaS
How to use this type of solution in the real world
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
22
©2017 Irdeto, All Rights Reserved. – www.irdeto.com
If you have more questions please come
see us in the sponsors area.
Questions?

More Related Content

What's hot

DefCamp 2013 - Are we there yet?
DefCamp 2013 - Are we there yet?DefCamp 2013 - Are we there yet?
DefCamp 2013 - Are we there yet?DefCamp
 
Turgay dereli 283286 software eng. ass 2-
Turgay dereli 283286 software eng. ass 2-Turgay dereli 283286 software eng. ass 2-
Turgay dereli 283286 software eng. ass 2-Turgay Dereli
 
Believe It Or Not SSL Attacks
Believe It Or Not SSL AttacksBelieve It Or Not SSL Attacks
Believe It Or Not SSL AttacksAkash Mahajan
 
Propelling security
Propelling securityPropelling security
Propelling securityJayant Kumar
 
Targeted  &  Persistent  Attacks  in  EU
Targeted  &  Persistent  Attacks  in  EU Targeted  &  Persistent  Attacks  in  EU
Targeted  &  Persistent  Attacks  in  EU DFLABS SRL
 
Security Kung Fu: Security vs. Compliance
Security Kung Fu: Security vs. ComplianceSecurity Kung Fu: Security vs. Compliance
Security Kung Fu: Security vs. ComplianceJoshua Berman
 
[Cisco Connect 2018 - Vietnam] Brian cotaz cyber security strategy
[Cisco Connect 2018 - Vietnam] Brian cotaz   cyber security strategy [Cisco Connect 2018 - Vietnam] Brian cotaz   cyber security strategy
[Cisco Connect 2018 - Vietnam] Brian cotaz cyber security strategy Nur Shiqim Chok
 

What's hot (7)

DefCamp 2013 - Are we there yet?
DefCamp 2013 - Are we there yet?DefCamp 2013 - Are we there yet?
DefCamp 2013 - Are we there yet?
 
Turgay dereli 283286 software eng. ass 2-
Turgay dereli 283286 software eng. ass 2-Turgay dereli 283286 software eng. ass 2-
Turgay dereli 283286 software eng. ass 2-
 
Believe It Or Not SSL Attacks
Believe It Or Not SSL AttacksBelieve It Or Not SSL Attacks
Believe It Or Not SSL Attacks
 
Propelling security
Propelling securityPropelling security
Propelling security
 
Targeted  &  Persistent  Attacks  in  EU
Targeted  &  Persistent  Attacks  in  EU Targeted  &  Persistent  Attacks  in  EU
Targeted  &  Persistent  Attacks  in  EU
 
Security Kung Fu: Security vs. Compliance
Security Kung Fu: Security vs. ComplianceSecurity Kung Fu: Security vs. Compliance
Security Kung Fu: Security vs. Compliance
 
[Cisco Connect 2018 - Vietnam] Brian cotaz cyber security strategy
[Cisco Connect 2018 - Vietnam] Brian cotaz   cyber security strategy [Cisco Connect 2018 - Vietnam] Brian cotaz   cyber security strategy
[Cisco Connect 2018 - Vietnam] Brian cotaz cyber security strategy
 

Similar to Now you can trust the browser - Ben Gidley, Tim Charman - Codemotion Amsterdam 2017

Android P Security Updates: What You Need to Know
Android P Security Updates: What You Need to KnowAndroid P Security Updates: What You Need to Know
Android P Security Updates: What You Need to KnowNowSecure
 
You Spent All That Money And Still Got Owned
You Spent All That Money And Still Got OwnedYou Spent All That Money And Still Got Owned
You Spent All That Money And Still Got OwnedJoe McCray
 
Bridgera enterprise IoT security
Bridgera enterprise IoT securityBridgera enterprise IoT security
Bridgera enterprise IoT securityRon Pascuzzi
 
Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...
Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...
Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...Edureka!
 
Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...Codemotion
 
Introduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth ProfileIntroduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth ProfileNat Sakimura
 
Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...
Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...
Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...Amazon Web Services
 
Netwatcher Credit Union Tech Talk
Netwatcher Credit Union Tech TalkNetwatcher Credit Union Tech Talk
Netwatcher Credit Union Tech TalkNetWatcher
 
BitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYC
BitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYCBitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYC
BitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYCWill O'Brien
 
What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...
What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...
What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...Edureka!
 
Securing the Ecosystem - Collaborating Inside & Out
Securing the Ecosystem - Collaborating Inside & OutSecuring the Ecosystem - Collaborating Inside & Out
Securing the Ecosystem - Collaborating Inside & OutTrent Adams
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansendrewz lin
 
Protecting IDAAS with FIDO Authentication
Protecting IDAAS with FIDO AuthenticationProtecting IDAAS with FIDO Authentication
Protecting IDAAS with FIDO AuthenticationFIDO Alliance
 
Protecting your Organisation from the Internet of Evil Things
Protecting your Organisation from the Internet of Evil ThingsProtecting your Organisation from the Internet of Evil Things
Protecting your Organisation from the Internet of Evil ThingsZeshan Sattar
 
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...Eric Vanderburg
 
ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...
ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...
ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...David Dexter
 
Xamarin security talk slideshare
Xamarin security talk slideshareXamarin security talk slideshare
Xamarin security talk slideshareMarcus de Wilde
 
Cisco Cybersecurity #10YearChallenge
Cisco Cybersecurity #10YearChallengeCisco Cybersecurity #10YearChallenge
Cisco Cybersecurity #10YearChallengeCristian Garcia G.
 
Eliminating Passwords with Biometrics for Identity Access Management Webinar
Eliminating Passwords with Biometrics for Identity Access Management WebinarEliminating Passwords with Biometrics for Identity Access Management Webinar
Eliminating Passwords with Biometrics for Identity Access Management WebinarVeridium
 

Similar to Now you can trust the browser - Ben Gidley, Tim Charman - Codemotion Amsterdam 2017 (20)

Android P Security Updates: What You Need to Know
Android P Security Updates: What You Need to KnowAndroid P Security Updates: What You Need to Know
Android P Security Updates: What You Need to Know
 
You Spent All That Money And Still Got Owned
You Spent All That Money And Still Got OwnedYou Spent All That Money And Still Got Owned
You Spent All That Money And Still Got Owned
 
The Art of Executing JavaScript by Akhil Mahendra
The Art of Executing JavaScript by Akhil MahendraThe Art of Executing JavaScript by Akhil Mahendra
The Art of Executing JavaScript by Akhil Mahendra
 
Bridgera enterprise IoT security
Bridgera enterprise IoT securityBridgera enterprise IoT security
Bridgera enterprise IoT security
 
Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...
Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...
Top 10 Reasons to Learn Blockchain | Blockchain Training | Blockchain Tutoria...
 
Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...
 
Introduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth ProfileIntroduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth Profile
 
Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...
Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...
Secure Your Edge-to-Cloud IoT Solution with Intel and AWS - IOT337 - re:Inven...
 
Netwatcher Credit Union Tech Talk
Netwatcher Credit Union Tech TalkNetwatcher Credit Union Tech Talk
Netwatcher Credit Union Tech Talk
 
BitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYC
BitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYCBitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYC
BitGo Presents Multi-Sig Bitcoin Security at Inside Bitcoins NYC
 
What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...
What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...
What is Hyperledger | Blockchain Technology | Blockchain Tutorial for Beginne...
 
Securing the Ecosystem - Collaborating Inside & Out
Securing the Ecosystem - Collaborating Inside & OutSecuring the Ecosystem - Collaborating Inside & Out
Securing the Ecosystem - Collaborating Inside & Out
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Protecting IDAAS with FIDO Authentication
Protecting IDAAS with FIDO AuthenticationProtecting IDAAS with FIDO Authentication
Protecting IDAAS with FIDO Authentication
 
Protecting your Organisation from the Internet of Evil Things
Protecting your Organisation from the Internet of Evil ThingsProtecting your Organisation from the Internet of Evil Things
Protecting your Organisation from the Internet of Evil Things
 
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
 
ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...
ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...
ExpressionEngine Conference: Rock Solid - Securing You Client's ExpressionEng...
 
Xamarin security talk slideshare
Xamarin security talk slideshareXamarin security talk slideshare
Xamarin security talk slideshare
 
Cisco Cybersecurity #10YearChallenge
Cisco Cybersecurity #10YearChallengeCisco Cybersecurity #10YearChallenge
Cisco Cybersecurity #10YearChallenge
 
Eliminating Passwords with Biometrics for Identity Access Management Webinar
Eliminating Passwords with Biometrics for Identity Access Management WebinarEliminating Passwords with Biometrics for Identity Access Management Webinar
Eliminating Passwords with Biometrics for Identity Access Management Webinar
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Now you can trust the browser - Ben Gidley, Tim Charman - Codemotion Amsterdam 2017

  • 1. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 1 Now you can trust the browser Ben Gidley, Tim Charman AMSTERDAM 16 - 17 MAY 2017
  • 2. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 2 State of the Web TLS and Certificates Sandbox HTML JavaScript CSS Network Security IDS WAF RASP
  • 3. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 3 1 - Browsers are controlled by users VS.
  • 4. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 4 2 -TLS is all about protecting the consumer What does this mean exactly? • The connection is encrypted, and only people the consumers computer trusts can intercept it • A certificate authority has verified the owner of the domain has approved the certificate And that’s all it promises
  • 5. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 5 2 - TLS is all about protecting the consumer What does this mean exactly? As the web site operator you have no idea if • The connection has been intercepted • The user is a person or a bot • Your client side code is running
  • 6. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 6 User is innocent, yet ▪ Zero day in browser ▪ Zero day in TLS/SSL on server ▪ Incorrectly trusted certificate ▪ Vendor issued but leaked trust certificate ▪ Hijack update mechanism for any software on the device ▪ Trojan software that exploits device User unknowingly does something to make it easy ▪ Convince user to install MITM certificate ▪ Convince user to plug in USB drive ▪ Convince user to install software ▪ Malicious browser extensions 3 - TLS MITM is actually quite easy – 10 ways to do it… For more details see bit.ly/mitm-is-easy
  • 7. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 7 ©2017 Irdeto, All Rights Reserved. – www.irdeto.com Demo
  • 8. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 8 So what have we learnt ▪ You can’t really trust the browser ▪ Anything running in the browser may or may not run ▪ Any data sent may be modified by the user or third parties So should we all go back to pen & paper? ▪ No! What IF we could ▪ Load a trusted set of code into the browser ▪ Validate the code at load and runtime ▪ Encrypt / decrypt in the browser and not have the keys stolen
  • 9. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 9 The Problem Browser Web App Web Site Web Site Unprotected HTML/JS/CSS Can we check what’s running on the client?
  • 10. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 10 1st Attempt Browser Unprotected Web App Security Libraries Verification Verification Web Site Web Site Unprotected HTML/JS/CSS Web Site To be protected JavaScript
  • 11. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 11 Browser 2nd Attempt Unprotected Web App Protected Web App Security Libraries Verification Verification Web Site Web Site Unprotected HTML/JS/CSS Web Site To be protected JavaScript Obfuscation
  • 12. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 12 3rd Attempt Browser Unprotected Web App Protected Web App Security Libraries Verification Obfuscation Verification Web Site Web Site Unprotected HTML/JS/CSS Web Site To be protected JavaScript Whitebox Crypto But is that enough?
  • 13. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 13 The solution! Verification Diversification Verification Logging Web Site Web Site Unprotected HTML/JS/CSS Web Site To be protected JavaScript Browser Unprotected Web App Protected Web App Security Libraries Whitebox Crypto
  • 14. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 14 So what have we achieved? Verification Diversification Verification Logging Web Site Web Site Unprotected HTML/JS/CSS Web Site To be protected JavaScript Secured connection with private whitebox keys Tamper detection Browser Unprotected Web App Protected Web App Security Libraries Whitebox Crypto
  • 15. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 15 So is this really possible? This may sound a bit like black magic, We’re claiming by mixing ▪ Obfuscation ▪ Diversity ▪ Whiteboxes I can change the security model of the browser to let us have some degree of trust, in the process stopping Man-In-The-Middle attacks and hindering a bunch of other common attacks
  • 16. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 16 Whitebox AES was invented in 2004 by Cloakware (part of Irdeto) and is based on a mathematical approach We write a special AES implementation and then ‘bake’ a key into it to make it possible to use it without exposing the key. See bit.ly/whitebox-tutorial for the (basic version) of the maths Whitebox Cryptography Key Seed Transcoder Whitebox Code Whitebox Instance
  • 17. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 17 Tethered Integrity Verification Easiest way to explain this is to show it…. Assuming I don’t trust Tim here…
  • 18. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 18 Obfuscated JavaScript Security Library Seeds
  • 19. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 19 Making security inseparable from your software Multi-Layered and Interlocked Protection Debug Detection & Anti-Debug Node-locking Secured Storage Code Encryption Obfuscated Code Diversity & Renewability Data Flow Transformation White Box Cryptography and Key Hiding Control Flow Transformation Integrity Verification ● Protect code against a collection of attacks ● Provides a multi-layered and interlocked defences ● Making the security layer inseparable from the code being protected
  • 20. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 20 ©2017 Irdeto, All Rights Reserved. – www.irdeto.com So let’s see it all working
  • 21. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 21 Option 1) ▪ You could implement this yourselves ▪ (But it’s quite tricky to do it right) Option 2) ▪ Use Irdeto’s SaaS How to use this type of solution in the real world
  • 22. ©2017 Irdeto, All Rights Reserved. – www.irdeto.com 22 ©2017 Irdeto, All Rights Reserved. – www.irdeto.com If you have more questions please come see us in the sponsors area. Questions?

Editor's Notes

  1. While displayed do intro I’m Ben Gidley, Director of Technology for Irdeto a company based in Hoofddorp, just by the airport, who specialize in Digital Platform Security. I’m a developer by background and have worked in media and cyber security for a number of years. My name is Tim Charman, an Architect at Irdeto, my background is systems integration and managing data across government, media, manufacturing and payments. Ben: Today we’re going to talk about browser security and some of the new options emerging to secure code running in it. This is especially important given the recent trend for serverless apps and more and more ‘smarts’ being run in the browser.
  2. TIM The web is a great thing, and it’s quite successful. The basic architecture has a number of security elements built in Firewalls and network security for the servers Browser sandboxing, isolation for the browser TLS/SSL for the network Ben BUT even with all this we ‘don’t trust the browser’ to run our JavaScript code. There are a three core reasons
  3. Tim Browsers are controlled by users. Users pick them, install them and can make the do whatever you want. The developer writing a website can only be sure 2 things have happened Someone has downloaded your HTML/JS/CSS You got some data back What happens out on the browser will vary – it could be the user loads your page, runs your JavaScript, and does what you tested. It could also be they did something entirely different, or that they are not a human at all and instead are a bot feeding data to your server. Some users want to play by the rules, others don’t. Those that don’t can change your code and ‘mess’ with it.
  4. Ben TLS as deployed to consumers asserts 2 things The connection is encrypted, and only people the consumers computer trusts can intercept it A certificate authority has verified the owner of the domain has approved the certificate There is little certainty for the consumer about what code was downloaded Most consumers don’t understand this, they just know “things are secure now”.
  5. Ben It tells you, the server API, NOTHING about the consumer and the integrity of the connection. The only exception to this is 2 way TLS, but that’s too hard for most consumers. 2 Way TLS is where the consumer has a personal certificate, they securely store on their computer which identifies them. The problem is most people can’t keep their computers secure, and most likely don’t even know it exists.
  6. Tim Introduce 3 MITM For more details see http://bit.ly/mitm-is-easy Ben CITE Google/Firefox research that 10-18% of all connections are MITM’d in real world! Some of this is ‘harmless’ corporate proxies Some of this is incompetence from AV vendors/IT departments Some of this is hackers But don’t just believe us let’s see how easy it is…
  7. Pineapple Kali – hotspot Chromebook – join evil hotspot Install Certificate I’m using site that set up right and is up to date etc Give me key and install certificate Cite IBM USB drive screw up Evil Portal This looks like a great free wifi Ask audience for who will buy it Do it twice ??? View hack see my credit card
  8. Tim top bit should include ‘even though reputable e-commerce site’ Ben second bit
  9. Tim – state problem
  10. We could put a server in the middle to verify checksums from the code running on the browser. However this would still leave us open to attacks – an a bad guy can simply modify the security libraries and make them tell us everything is fine and when it isn’t. Remember we can’t trust anything that’s going on in the browser.
  11. So what if we also obfuscated the JavaScript. This would make it difficult for an attacker to modify the code. However with just obfuscation the attacker could still ‘spoof’ our messages, they’d just have to watch what was being sent to the server and send their own messages. Can we add cryptography to sign the message?
  12. Now if we add Whitebox Crypto into the security library we can start signing and encrypting things. BUT what’s to stop the attacker looking at this code and extracting the keys? Well that’s the ‘magic’ of whitebox. White-box is a version of a crypto algorithm designed with the assumption that The hacker can read the memory The hacker can read the code BUT they can’t extract the key. This is very proven tech – Irdeto’s version of this is deployed on over 5 billion devices worldwide and is well suited to running in JavaScript in a browser. We’ll come back to this in a bit to explain a bit more how it’s possible. But is that enough?
  13. Not really If we just use a single crypto key – it’s likely to get broken. Whitebox is good, but it’s not perfect. We can however diversify. This means we change the keys, the obfuscation over time to make it even harder to hack.
  14. I started off by focusing on MITM attacks but this also hinders a range of other attacks. Take for example any kind of XSS attack, any attempt to modify the page will fail IV, which in turn would stop the modified code talking to the underlying API. The XSS vulnerability would still be in the page, but it would be a lot harder to exploit.
  15. Ben
  16. If if these cards…. I’ve put them in an order I know Then I give them to Tim, and ask him to Take 2 cards and put them on the bottom Go 3 cards cards from top and put next 2 card on bottom (card 4 and 5) Tell me what card you have at card 4 from top This is a simple example, but we can more complex for example if I told tim to take every other card move it up 3 etc If we build this to the business logic of the page, then Tim is forced to follow the logic to keep being able the challenges Take one off the top and put it on the top This alone isn’t enough – but when we combine with with obfuscation and diversity we can make it really difficult for Tim to know the right answers to the questions (as we obfuscate the question) and mix up the data so it’s very hard to tell us the right answer. We also add in anti-replay features to stop him just ’parroting’ a working client. This means the same operations will always give different answers. The end result is we can ask questions only someone running our code can answer. This is then fed to the whitebox algo to securely communicate the result.
  17. Picture Notes: Need ‘sausage machine diagram’ – ideally like this but with Keys & seeds separate and Obfuscated JS coming out on right Tim tells He has a sick cat, 🐈, and the vet has prescribed some pills.  The trouble is, the cat doesn’t have the same idea about the pills as my neighbours.  So for the first two days, the cat would take the pill.  But the next day, no luck.  So my neighbour wrapped the pill in pate.  The cat likes pate, but that only worked for two more days.  So my neighbour ground up the pill and mixed it with a bit of cat food.  Again, after two days it had learnt.  The last thing he tried is lifting the cats top lip up, which makes it drop its bottom jaw, shoves in the pill, and makes it swallow.  After two days, the cat learnt to regurgitate the pill.  Now he’s stuck. With the right tooling you can generate as many techniques/JavaScript as you need. This makes it robust against attack as a hacker who figures out your technique has broken only instance, which most cases means they figured out how to hack they are currently using – e.g. they stolen their own credit card.
  18. 19
  19. Demo of it working and showing encrypted code. Show tamper detection failing
  20. Irdeto are hiring