SlideShare a Scribd company logo
1 of 56
Download to read offline
The Evil Friend in Your Browser
Achim D. Brucker and Michael Herzberg
{a.brucker, msherzberg1}@sheffield.ac.uk
Software Assurance & Security Research
Department of Computer Science, The University of Sheffield, Sheffield, UK
https://logicalhacking.com/
May 12, 2017
The Evil Friend in Your Browser
Abstract
On the one hand, browser extensions, e.g., for Chrome, are very useful, as they extend web browsers with additional
functionality (e.g., blocking ads). On the other hand, they are the most dangerous code that runs in your browsers: extension
can read and modify both the content displayed in the browser. As they also can communicate with any web-site or
web-service, they can report both data and metadata to external parties.
The current security model for browser extensions seems to be inadequate for expressing the security or privacy needs of
browser users. Consequently, browser extensions are a "juice target" for attackers targeting web users.
We present results of analysing over 2500 browser extensions on how they use the current security model and discuss examples
of extensions that are potentially of high risk. Based on the results of our analysis of real world browser extensions as well as
our own threat model, we discuss the limitations of the current security model form a user perspective. need of browser users.
Outline
1 Motivation
2 What are extensions: user perspective
3 What are extensions: developer perspective
4 Little shop of horrors
5 Outlook
Outline
1 Motivation
2 What are extensions: user perspective
3 What are extensions: developer perspective
4 Little shop of horrors
5 Outlook
Browsers are the new operating systems
Browsers are the new operating systems
Browsers are the new operating systems
Browsers are the new operating systems
Browsers are the new operating systems
Browsers are the new operating systems
Browsers are the new operating systems
Protecting Web Users
HttpOnly
Same-origin policy
Content Security Policy (CSP)
...
Security of web browsers
The major browser vendors
take security seriously
investing a lot in making web browsers
secure and trustworthy
Security of web browsers
The major browser vendors
take security seriously
investing a lot in making web browsers
secure and trustworthy
We have a good basis for secure web applications
Security of web browsers
The major browser vendors
take security seriously
investing a lot in making web browsers
secure and trustworthy
We have a good basis for secure web applications,
until we add extensions:
can extend/modify the browser
anybody can write/offer them
Security of web browsers
The major browser vendors
take security seriously
investing a lot in making web browsers
secure and trustworthy
We have a good basis for secure web applications,
until we add extensions:
can extend/modify the browser
anybody can write/offer them
might tear down the defence from inside
Outline
1 Motivation
2 What are extensions: user perspective
3 What are extensions: developer perspective
4 Little shop of horrors
5 Outlook
Browser extensions
Add-ons extending your browser
Google says:
small software programs
little to no user interface
Browser extensions
Add-ons extending your browser
Google says:
small software programs
little to no user interface
Browser extensions
Add-ons extending your browser
Google says:
small software programs
little to no user interface
What we find:
complex and large programs
sophisticated user interfaces
Browser extensions
Add-ons extending your browser
Google says:
small software programs
little to no user interface
What we find:
complex and large programs
sophisticated user interfaces
What extension can do:
modify the user interface
(how your browser behaves)
modify web pages
(what you see)
modify web request
(what you enter)
Let’s search for a simple calculator
Let’s search for a simple calculator
Let’s search for a simple calculator
Let’s search for a simple calculator
Let’s search for a simple calculator
Let’s search for a simple calculator
Malicious extensions are a real threat to users (1/2)
Malicious extensions are a real threat to users (1/2)
Malicious extensions are a real threat to users (2/2)
Web of Trust (WoT) logged all web requests
Malicious extensions are a real threat to users (2/2)
Web of Trust (WoT) logged all web requests
and sold the data to third parties
Malicious extensions are a real threat to users (2/2)
Web of Trust (WoT) logged all web requests
and sold the data to third parties
A German TV station bought the data
Malicious extensions are a real threat to users (2/2)
Web of Trust (WoT) logged all web requests
and sold the data to third parties
A German TV station bought the data
“de-anonymized” it
Malicious extensions are a real threat to users (2/2)
Web of Trust (WoT) logged all web requests
and sold the data to third parties
A German TV station bought the data
“de-anonymized” it
and found critical data, e.g.:
tax declaration of a member of the German
parliament
details about international search warrants
...
Outline
1 Motivation
2 What are extensions: user perspective
3 What are extensions: developer perspective
4 Little shop of horrors
5 Outlook
The architecture of browser extensions
Web Browser
Tab
Extension
Site
Scripts
DOM
(Origin A)
Content
Scripts
Site
Scripts
DOM
(Origin C)
Content
Scripts
iframeiframe
Site
Scripts
DOM
(Origin B)
postMessage
popup.html
+ Scripts
background.html
+ Scripts
- Permissions
- CSP
Operating System
Native App
Filesystem USB Camera
postMessage
(externally_
connectable)postMessage
sendNativeMessage
(Allowed Plugin)
HTML5 API
{
"update_url": "https :// clients2.google.com/service/update2/
"name": "Test␣Extension",
"version": "0.1",
" manifest_version ": 2,
" description ": "This␣is␣a␣harmless␣extension ...",
" permissions ": [
"tabs", "<all_urls >", "webRequest"
],
" content_scripts ": [
{
"all_frames": true ,
"js": [" content_script .js"],
"matches": ["<all_urls >"],
"run_at": " document_start "
}
],
"background": {
"scripts": ["background.js"]
}
}
Security mechanism: Permissions
Background Scripts
Two-dimensional permission system:
functional permissions: tabs, bookmarks,
webRequest, desktopCapture, ...
host permissions: https://*.google.com,
http://www.facebook.com,
but also <all_urls> and https://*/*
Host permissions restrict effect of some functional
permissions
Content Scripts
Black and white: either injecting script, or not
Outline
1 Motivation
2 What are extensions: user perspective
3 What are extensions: developer perspective
4 Little shop of horrors
5 Outlook
Chrome Web Store
Main way of distributing extensions
We monitored 115k extensions over 3 months
Wide variety of categories:
productivity 29.29%
fun 11.65%
communication 10.24%
web_development 9.15%
games 7.52%
accessibility 7.22%
Extensions are big ...
<10kB 10kB - 100kB100kB - 1MB 1MB - 10MB >10MB
Extension Size
0
5000
10000
15000
20000
25000
#Extensions
<100 100 - 1000 1000 - 10k 10k - 100k >100k
JavaScript LoC
0
5000
10000
15000
20000
25000
30000
35000
#Extensions
... and old
0 1 2 - 5 5 - 10 >10
# of updates in 3 months
0
20000
40000
60000
80000
100000
#Extensions
15% use old jQuery version! (1.x or 2.x)
Case one: Read all your history
Permission: tabs or <all_urls>, or content script
on all sites
Needed for many simple extensions
Can monitor your complete history, incl. full urls
Case one: Read all your history
Permission: tabs or <all_urls>, or content script
on all sites
Needed for many simple extensions
Can monitor your complete history, incl. full urls
34% of 115.000 extensions
total downloads: 715m
Case two: Read and write all data on your websites
Permission: <all_urls>, or content script on all
sites
Minimum level of permissions for many
extensions
Gives full access to the web site
Case two: Read and write all data on your websites
Permission: <all_urls>, or content script on all
sites
Minimum level of permissions for many
extensions
Gives full access to the web site
21% of 115.000 extensions
total downloads: 615m
Case three: Circumvent security measures
Permission: <all_urls> and webRequest
Can intercept and change all HTTP headers!
Disable Content-Security-Policy, Same-origin
Policy, etc.
Breaks security guarantees of web browsers!
Case three: Circumvent security measures
Permission: <all_urls> and webRequest
Can intercept and change all HTTP headers!
Disable Content-Security-Policy, Same-origin
Policy, etc.
Breaks security guarantees of web browsers!
6% of 115.000 extensions
total downloads: 325m
It’s that easy...
Outline
1 Motivation
2 What are extensions: user perspective
3 What are extensions: developer perspective
4 Little shop of horrors
5 Outlook
How can we make web browsing great*
again?
*great = ensuring the security, integrity, and privacy of the user of a web browser
How can we make web browsing great*
again?
Integrity:
content modifications
layout modifications
Confidentiality:
data storage
transmitted data
Privacy:
access to sensors
personal identifiers
*great = ensuring the security, integrity, and privacy of the user of a web browser
Outlook: On the long term
Sandboxing of extensions
A different permission model
granularity?
dynamic vs static?
Better explanation for users
Better analysis/test tools for extensions
Expect updates from us in the future ...
Outlook: On the short term (1/2)
Be aware of the risk
Check the vendor of the extension carefully
Check the permissions (i.e., active domains)
Use browser profiles
Outlook: On the short term (2/2)
Frequent updates vs Governance
Thank you for your attention!
Any questions or remarks?
Contact: Dr. Achim D. Brucker and Michael Herzberg
Department of Computer Science
University of Sheffield
Regent Court
211 Portobello St.
Sheffield S1 4DP, UK
ƀ {a.brucker, msherzberg1}@sheffield.ac.uk
į https://logicalhacking.com/blog/
Document Classification and License Information
© 2017 LogicalHacking.com, Achim D. Brucker and Michael Herzberg {a.brucker, msherzberg1}@sheffield.ac.uk.
This presentation is classified as Public (CC BY-NC-ND 4.0):
Except where otherwise noted, this presentation is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives
4.0 International Public License (CC BY-NC-ND 4.0).

More Related Content

What's hot

Securing Java EE Web Apps
Securing Java EE Web AppsSecuring Java EE Web Apps
Securing Java EE Web Apps
Frank Kim
 

What's hot (20)

Web Security 101
Web Security 101Web Security 101
Web Security 101
 
Starwest 2008
Starwest 2008Starwest 2008
Starwest 2008
 
OWASPTop 10
OWASPTop 10OWASPTop 10
OWASPTop 10
 
Web security presentation
Web security presentationWeb security presentation
Web security presentation
 
Top Ten Web Hacking Techniques (2008)
Top Ten Web Hacking Techniques (2008)Top Ten Web Hacking Techniques (2008)
Top Ten Web Hacking Techniques (2008)
 
Securing Java EE Web Apps
Securing Java EE Web AppsSecuring Java EE Web Apps
Securing Java EE Web Apps
 
Proxy Caches and Web Application Security
Proxy Caches and Web Application SecurityProxy Caches and Web Application Security
Proxy Caches and Web Application Security
 
Hacking the Web
Hacking the WebHacking the Web
Hacking the Web
 
Xss talk, attack and defense
Xss talk, attack and defenseXss talk, attack and defense
Xss talk, attack and defense
 
XSS
XSSXSS
XSS
 
Session1-Introduce Http-HTTP Security headers
Session1-Introduce Http-HTTP Security headers Session1-Introduce Http-HTTP Security headers
Session1-Introduce Http-HTTP Security headers
 
Top Ten Web Hacking Techniques of 2012
Top Ten Web Hacking Techniques of 2012Top Ten Web Hacking Techniques of 2012
Top Ten Web Hacking Techniques of 2012
 
When Ajax Attacks! Web application security fundamentals
When Ajax Attacks! Web application security fundamentalsWhen Ajax Attacks! Web application security fundamentals
When Ajax Attacks! Web application security fundamentals
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )
 
Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008
 
[DevDay2018] Hacking for fun and profit - By: Dennis Stötzel, Head of Securit...
[DevDay2018] Hacking for fun and profit - By: Dennis Stötzel, Head of Securit...[DevDay2018] Hacking for fun and profit - By: Dennis Stötzel, Head of Securit...
[DevDay2018] Hacking for fun and profit - By: Dennis Stötzel, Head of Securit...
 
Xss (cross site scripting)
Xss (cross site scripting)Xss (cross site scripting)
Xss (cross site scripting)
 
Owasp Top 10 A3: Cross Site Scripting (XSS)
Owasp Top 10 A3: Cross Site Scripting (XSS)Owasp Top 10 A3: Cross Site Scripting (XSS)
Owasp Top 10 A3: Cross Site Scripting (XSS)
 
Web security leeds sharp dot netnotts
Web security leeds sharp dot netnottsWeb security leeds sharp dot netnotts
Web security leeds sharp dot netnotts
 
Steve Kosten - Exploiting common web application vulnerabilities
Steve Kosten - Exploiting common web application vulnerabilities Steve Kosten - Exploiting common web application vulnerabilities
Steve Kosten - Exploiting common web application vulnerabilities
 

Similar to The Evil Friend in Your Browser

Browser Security – Issues and Best Practices1Outli
Browser Security – Issues and Best Practices1OutliBrowser Security – Issues and Best Practices1Outli
Browser Security – Issues and Best Practices1Outli
VannaSchrader3
 
Andrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.pptAndrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.ppt
SilverGold16
 
Web sever environmentA Web server is a program that uses HTTP (Hy.pdf
Web sever environmentA Web server is a program that uses HTTP (Hy.pdfWeb sever environmentA Web server is a program that uses HTTP (Hy.pdf
Web sever environmentA Web server is a program that uses HTTP (Hy.pdf
aquacareser
 
Sql Injection Attacks And A Web Application Environment
Sql Injection Attacks And A Web Application EnvironmentSql Injection Attacks And A Web Application Environment
Sql Injection Attacks And A Web Application Environment
Sheri Elliott
 

Similar to The Evil Friend in Your Browser (20)

Browser Security – Issues and Best Practices1Outli
Browser Security – Issues and Best Practices1OutliBrowser Security – Issues and Best Practices1Outli
Browser Security – Issues and Best Practices1Outli
 
Module 11 (hacking web servers)
Module 11 (hacking web servers)Module 11 (hacking web servers)
Module 11 (hacking web servers)
 
Cisco WebEx vulnerability: it’s a kind of magic
Cisco WebEx vulnerability: it’s a kind of magicCisco WebEx vulnerability: it’s a kind of magic
Cisco WebEx vulnerability: it’s a kind of magic
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
 
Browser Security ppt.pptx
Browser Security ppt.pptxBrowser Security ppt.pptx
Browser Security ppt.pptx
 
Chrome Extensions: Masking risks in entertainment
Chrome Extensions: Masking risks in entertainmentChrome Extensions: Masking risks in entertainment
Chrome Extensions: Masking risks in entertainment
 
Andrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.pptAndrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.ppt
 
New or obscure web browsers 4x3 (rcsi draft 6)
New or obscure web browsers 4x3 (rcsi draft 6)New or obscure web browsers 4x3 (rcsi draft 6)
New or obscure web browsers 4x3 (rcsi draft 6)
 
Web browser and Security Threats
Web browser and Security ThreatsWeb browser and Security Threats
Web browser and Security Threats
 
Owasp top 10 2013
Owasp top 10 2013Owasp top 10 2013
Owasp top 10 2013
 
Web sever environmentA Web server is a program that uses HTTP (Hy.pdf
Web sever environmentA Web server is a program that uses HTTP (Hy.pdfWeb sever environmentA Web server is a program that uses HTTP (Hy.pdf
Web sever environmentA Web server is a program that uses HTTP (Hy.pdf
 
2016 Guide to User Data Security
2016 Guide to User Data Security2016 Guide to User Data Security
2016 Guide to User Data Security
 
Module 12 (web application vulnerabilities)
Module 12 (web application vulnerabilities)Module 12 (web application vulnerabilities)
Module 12 (web application vulnerabilities)
 
10 server security hacks to secure your web servers
10 server security hacks to secure your web servers10 server security hacks to secure your web servers
10 server security hacks to secure your web servers
 
Seguridad Corporativa Con Internet Explorer 8(1)
Seguridad Corporativa Con Internet Explorer 8(1)Seguridad Corporativa Con Internet Explorer 8(1)
Seguridad Corporativa Con Internet Explorer 8(1)
 
Tsc summit #2 - HTTP Header Security
Tsc summit #2  - HTTP Header SecurityTsc summit #2  - HTTP Header Security
Tsc summit #2 - HTTP Header Security
 
Ch21 system administration
Ch21 system administration Ch21 system administration
Ch21 system administration
 
Sql Injection Attacks And A Web Application Environment
Sql Injection Attacks And A Web Application EnvironmentSql Injection Attacks And A Web Application Environment
Sql Injection Attacks And A Web Application Environment
 
Chrome Extensions: Threat Analysis and Countermeasures
Chrome Extensions: Threat Analysis and CountermeasuresChrome Extensions: Threat Analysis and Countermeasures
Chrome Extensions: Threat Analysis and Countermeasures
 

More from Achim D. Brucker

Usable Security for Developers: A Nightmare
Usable Security for Developers: A NightmareUsable Security for Developers: A Nightmare
Usable Security for Developers: A Nightmare
Achim D. Brucker
 
Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...
Achim D. Brucker
 
Service Compositions: Curse or Blessing for Security?
Service Compositions: Curse or Blessing for Security?Service Compositions: Curse or Blessing for Security?
Service Compositions: Curse or Blessing for Security?
Achim D. Brucker
 

More from Achim D. Brucker (20)

Usable Security for Developers: A Nightmare
Usable Security for Developers: A NightmareUsable Security for Developers: A Nightmare
Usable Security for Developers: A Nightmare
 
Formalizing (Web) Standards: An Application of Test and Proof
Formalizing (Web) Standards: An Application of Test and ProofFormalizing (Web) Standards: An Application of Test and Proof
Formalizing (Web) Standards: An Application of Test and Proof
 
Your (not so) smart TV is currently busy with taking down the Internet
Your (not so) smart TV is currently busy  with taking down the InternetYour (not so) smart TV is currently busy  with taking down the Internet
Your (not so) smart TV is currently busy with taking down the Internet
 
Combining the Security Risks of Native and Web Development: Hybrid Apps
Combining the Security Risks of Native and Web Development: Hybrid AppsCombining the Security Risks of Native and Web Development: Hybrid Apps
Combining the Security Risks of Native and Web Development: Hybrid Apps
 
How to Enable Developers to Deliver Secure Code
How to Enable Developers to Deliver Secure CodeHow to Enable Developers to Deliver Secure Code
How to Enable Developers to Deliver Secure Code
 
Developing Secure Software: Experiences From an International Software Vendor
Developing Secure Software: Experiences From an International Software VendorDeveloping Secure Software: Experiences From an International Software Vendor
Developing Secure Software: Experiences From an International Software Vendor
 
Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...
 
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
 
Isabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof AssistantIsabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof Assistant
 
Agile Secure Software Development in a Large Software Development Organisatio...
Agile Secure Software Development in a Large Software Development Organisatio...Agile Secure Software Development in a Large Software Development Organisatio...
Agile Secure Software Development in a Large Software Development Organisatio...
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...
 
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
 
Industrial Challenges of Secure Software Development
Industrial Challenges of Secure Software DevelopmentIndustrial Challenges of Secure Software Development
Industrial Challenges of Secure Software Development
 
SAST for JavaScript: A Brief Overview of Commercial Tools
SAST for JavaScript: A Brief Overview of Commercial ToolsSAST for JavaScript: A Brief Overview of Commercial Tools
SAST for JavaScript: A Brief Overview of Commercial Tools
 
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
 
Deploying Static Application Security Testing on a Large Scale
Deploying Static Application Security Testing on a Large ScaleDeploying Static Application Security Testing on a Large Scale
Deploying Static Application Security Testing on a Large Scale
 
Model-based Conformance Testing of Security Properties
Model-based Conformance Testing of Security PropertiesModel-based Conformance Testing of Security Properties
Model-based Conformance Testing of Security Properties
 
Service Compositions: Curse or Blessing for Security?
Service Compositions: Curse or Blessing for Security?Service Compositions: Curse or Blessing for Security?
Service Compositions: Curse or Blessing for Security?
 
Encoding Object-oriented Datatypes in HOL: Extensible Records Revisited
Encoding Object-oriented Datatypes in HOL: Extensible Records RevisitedEncoding Object-oriented Datatypes in HOL: Extensible Records Revisited
Encoding Object-oriented Datatypes in HOL: Extensible Records Revisited
 
A Framework for Secure Service Composition
A Framework for Secure Service CompositionA Framework for Secure Service Composition
A Framework for Secure Service Composition
 

Recently uploaded

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
 
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
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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
 
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
 
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...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

The Evil Friend in Your Browser

  • 1. The Evil Friend in Your Browser Achim D. Brucker and Michael Herzberg {a.brucker, msherzberg1}@sheffield.ac.uk Software Assurance & Security Research Department of Computer Science, The University of Sheffield, Sheffield, UK https://logicalhacking.com/ May 12, 2017
  • 2. The Evil Friend in Your Browser Abstract On the one hand, browser extensions, e.g., for Chrome, are very useful, as they extend web browsers with additional functionality (e.g., blocking ads). On the other hand, they are the most dangerous code that runs in your browsers: extension can read and modify both the content displayed in the browser. As they also can communicate with any web-site or web-service, they can report both data and metadata to external parties. The current security model for browser extensions seems to be inadequate for expressing the security or privacy needs of browser users. Consequently, browser extensions are a "juice target" for attackers targeting web users. We present results of analysing over 2500 browser extensions on how they use the current security model and discuss examples of extensions that are potentially of high risk. Based on the results of our analysis of real world browser extensions as well as our own threat model, we discuss the limitations of the current security model form a user perspective. need of browser users.
  • 3. Outline 1 Motivation 2 What are extensions: user perspective 3 What are extensions: developer perspective 4 Little shop of horrors 5 Outlook
  • 4. Outline 1 Motivation 2 What are extensions: user perspective 3 What are extensions: developer perspective 4 Little shop of horrors 5 Outlook
  • 5. Browsers are the new operating systems
  • 6. Browsers are the new operating systems
  • 7. Browsers are the new operating systems
  • 8. Browsers are the new operating systems
  • 9. Browsers are the new operating systems
  • 10. Browsers are the new operating systems
  • 11. Browsers are the new operating systems
  • 12. Protecting Web Users HttpOnly Same-origin policy Content Security Policy (CSP) ...
  • 13. Security of web browsers The major browser vendors take security seriously investing a lot in making web browsers secure and trustworthy
  • 14. Security of web browsers The major browser vendors take security seriously investing a lot in making web browsers secure and trustworthy We have a good basis for secure web applications
  • 15. Security of web browsers The major browser vendors take security seriously investing a lot in making web browsers secure and trustworthy We have a good basis for secure web applications, until we add extensions: can extend/modify the browser anybody can write/offer them
  • 16. Security of web browsers The major browser vendors take security seriously investing a lot in making web browsers secure and trustworthy We have a good basis for secure web applications, until we add extensions: can extend/modify the browser anybody can write/offer them might tear down the defence from inside
  • 17. Outline 1 Motivation 2 What are extensions: user perspective 3 What are extensions: developer perspective 4 Little shop of horrors 5 Outlook
  • 18. Browser extensions Add-ons extending your browser Google says: small software programs little to no user interface
  • 19. Browser extensions Add-ons extending your browser Google says: small software programs little to no user interface
  • 20. Browser extensions Add-ons extending your browser Google says: small software programs little to no user interface What we find: complex and large programs sophisticated user interfaces
  • 21. Browser extensions Add-ons extending your browser Google says: small software programs little to no user interface What we find: complex and large programs sophisticated user interfaces What extension can do: modify the user interface (how your browser behaves) modify web pages (what you see) modify web request (what you enter)
  • 22. Let’s search for a simple calculator
  • 23. Let’s search for a simple calculator
  • 24. Let’s search for a simple calculator
  • 25. Let’s search for a simple calculator
  • 26. Let’s search for a simple calculator
  • 27. Let’s search for a simple calculator
  • 28. Malicious extensions are a real threat to users (1/2)
  • 29. Malicious extensions are a real threat to users (1/2)
  • 30. Malicious extensions are a real threat to users (2/2) Web of Trust (WoT) logged all web requests
  • 31. Malicious extensions are a real threat to users (2/2) Web of Trust (WoT) logged all web requests and sold the data to third parties
  • 32. Malicious extensions are a real threat to users (2/2) Web of Trust (WoT) logged all web requests and sold the data to third parties A German TV station bought the data
  • 33. Malicious extensions are a real threat to users (2/2) Web of Trust (WoT) logged all web requests and sold the data to third parties A German TV station bought the data “de-anonymized” it
  • 34. Malicious extensions are a real threat to users (2/2) Web of Trust (WoT) logged all web requests and sold the data to third parties A German TV station bought the data “de-anonymized” it and found critical data, e.g.: tax declaration of a member of the German parliament details about international search warrants ...
  • 35. Outline 1 Motivation 2 What are extensions: user perspective 3 What are extensions: developer perspective 4 Little shop of horrors 5 Outlook
  • 36. The architecture of browser extensions Web Browser Tab Extension Site Scripts DOM (Origin A) Content Scripts Site Scripts DOM (Origin C) Content Scripts iframeiframe Site Scripts DOM (Origin B) postMessage popup.html + Scripts background.html + Scripts - Permissions - CSP Operating System Native App Filesystem USB Camera postMessage (externally_ connectable)postMessage sendNativeMessage (Allowed Plugin) HTML5 API { "update_url": "https :// clients2.google.com/service/update2/ "name": "Test␣Extension", "version": "0.1", " manifest_version ": 2, " description ": "This␣is␣a␣harmless␣extension ...", " permissions ": [ "tabs", "<all_urls >", "webRequest" ], " content_scripts ": [ { "all_frames": true , "js": [" content_script .js"], "matches": ["<all_urls >"], "run_at": " document_start " } ], "background": { "scripts": ["background.js"] } }
  • 37. Security mechanism: Permissions Background Scripts Two-dimensional permission system: functional permissions: tabs, bookmarks, webRequest, desktopCapture, ... host permissions: https://*.google.com, http://www.facebook.com, but also <all_urls> and https://*/* Host permissions restrict effect of some functional permissions Content Scripts Black and white: either injecting script, or not
  • 38. Outline 1 Motivation 2 What are extensions: user perspective 3 What are extensions: developer perspective 4 Little shop of horrors 5 Outlook
  • 39. Chrome Web Store Main way of distributing extensions We monitored 115k extensions over 3 months Wide variety of categories: productivity 29.29% fun 11.65% communication 10.24% web_development 9.15% games 7.52% accessibility 7.22%
  • 40. Extensions are big ... <10kB 10kB - 100kB100kB - 1MB 1MB - 10MB >10MB Extension Size 0 5000 10000 15000 20000 25000 #Extensions <100 100 - 1000 1000 - 10k 10k - 100k >100k JavaScript LoC 0 5000 10000 15000 20000 25000 30000 35000 #Extensions
  • 41. ... and old 0 1 2 - 5 5 - 10 >10 # of updates in 3 months 0 20000 40000 60000 80000 100000 #Extensions 15% use old jQuery version! (1.x or 2.x)
  • 42. Case one: Read all your history Permission: tabs or <all_urls>, or content script on all sites Needed for many simple extensions Can monitor your complete history, incl. full urls
  • 43. Case one: Read all your history Permission: tabs or <all_urls>, or content script on all sites Needed for many simple extensions Can monitor your complete history, incl. full urls 34% of 115.000 extensions total downloads: 715m
  • 44. Case two: Read and write all data on your websites Permission: <all_urls>, or content script on all sites Minimum level of permissions for many extensions Gives full access to the web site
  • 45. Case two: Read and write all data on your websites Permission: <all_urls>, or content script on all sites Minimum level of permissions for many extensions Gives full access to the web site 21% of 115.000 extensions total downloads: 615m
  • 46. Case three: Circumvent security measures Permission: <all_urls> and webRequest Can intercept and change all HTTP headers! Disable Content-Security-Policy, Same-origin Policy, etc. Breaks security guarantees of web browsers!
  • 47. Case three: Circumvent security measures Permission: <all_urls> and webRequest Can intercept and change all HTTP headers! Disable Content-Security-Policy, Same-origin Policy, etc. Breaks security guarantees of web browsers! 6% of 115.000 extensions total downloads: 325m
  • 49. Outline 1 Motivation 2 What are extensions: user perspective 3 What are extensions: developer perspective 4 Little shop of horrors 5 Outlook
  • 50. How can we make web browsing great* again? *great = ensuring the security, integrity, and privacy of the user of a web browser
  • 51. How can we make web browsing great* again? Integrity: content modifications layout modifications Confidentiality: data storage transmitted data Privacy: access to sensors personal identifiers *great = ensuring the security, integrity, and privacy of the user of a web browser
  • 52. Outlook: On the long term Sandboxing of extensions A different permission model granularity? dynamic vs static? Better explanation for users Better analysis/test tools for extensions Expect updates from us in the future ...
  • 53. Outlook: On the short term (1/2) Be aware of the risk Check the vendor of the extension carefully Check the permissions (i.e., active domains) Use browser profiles
  • 54. Outlook: On the short term (2/2) Frequent updates vs Governance
  • 55. Thank you for your attention! Any questions or remarks? Contact: Dr. Achim D. Brucker and Michael Herzberg Department of Computer Science University of Sheffield Regent Court 211 Portobello St. Sheffield S1 4DP, UK ƀ {a.brucker, msherzberg1}@sheffield.ac.uk į https://logicalhacking.com/blog/
  • 56. Document Classification and License Information © 2017 LogicalHacking.com, Achim D. Brucker and Michael Herzberg {a.brucker, msherzberg1}@sheffield.ac.uk. This presentation is classified as Public (CC BY-NC-ND 4.0): Except where otherwise noted, this presentation is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License (CC BY-NC-ND 4.0).