SlideShare a Scribd company logo
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

ODP
ISSA COISS: : Phishing Forensics - Is it just suspicious or is it malicious?
ODP
BSides Cleveland: Phishing Forensics - Is it just suspicious or is it malicious?
PDF
Web Security: A Primer for Developers
PDF
http security response headers for web security
PDF
Web Security - Introduction v.1.3
PPTX
BrightonSEO Sep 2015 - HTTPS | Mark Thomas
PDF
Sf startup-security
PPT
Web browser privacy and security
ISSA COISS: : Phishing Forensics - Is it just suspicious or is it malicious?
BSides Cleveland: Phishing Forensics - Is it just suspicious or is it malicious?
Web Security: A Primer for Developers
http security response headers for web security
Web Security - Introduction v.1.3
BrightonSEO Sep 2015 - HTTPS | Mark Thomas
Sf startup-security
Web browser privacy and security

What's hot (20)

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

Similar to The Evil Friend in Your Browser (20)

PDF
Chrome Extensions: Threat Analysis and Countermeasures
PDF
Chrome extensions threat analysis and countermeasures
PPTX
Chrome Extensions: Masking risks in entertainment
PDF
Introduction to Web Browser Extension/Add-ons
PDF
[ENG] Hacker halted 2012 - Zombie browsers, spiced with rootkit extensions
PDF
Zombie browsers spiced with rootkit extensions - DefCamp 2012
PDF
[ENG] Zombie browsers spiced with rootkit extensions - Hacktivity 2012
PDF
Hacktivityonly 121013141039-phpapp02
PDF
Chrome Extensions - Basic concepts powerpoint
PDF
Elsevier NESE - Spying on the Browser
PDF
Make Browser Extensions Great Again
PPTX
Firefox security (prasanna)
PPT
Sunil - Hacking Firefox - ClubHack2007
PPT
Hack Firefox to steal websecrets
DOCX
Browser Security – Issues and Best Practices1Outli
PPT
Sunil-Hacking_firefox
PPTX
Web Extensions Solve all Enterprise-y Everythings
PDF
Lecture #18 - #20: Web Browser and Web Application Security
PDF
Issues with chrome extensions presentation (OWASP Ukraine 2018)
PPTX
Firefox (in)Security
Chrome Extensions: Threat Analysis and Countermeasures
Chrome extensions threat analysis and countermeasures
Chrome Extensions: Masking risks in entertainment
Introduction to Web Browser Extension/Add-ons
[ENG] Hacker halted 2012 - Zombie browsers, spiced with rootkit extensions
Zombie browsers spiced with rootkit extensions - DefCamp 2012
[ENG] Zombie browsers spiced with rootkit extensions - Hacktivity 2012
Hacktivityonly 121013141039-phpapp02
Chrome Extensions - Basic concepts powerpoint
Elsevier NESE - Spying on the Browser
Make Browser Extensions Great Again
Firefox security (prasanna)
Sunil - Hacking Firefox - ClubHack2007
Hack Firefox to steal websecrets
Browser Security – Issues and Best Practices1Outli
Sunil-Hacking_firefox
Web Extensions Solve all Enterprise-y Everythings
Lecture #18 - #20: Web Browser and Web Application Security
Issues with chrome extensions presentation (OWASP Ukraine 2018)
Firefox (in)Security
Ad

More from Achim D. Brucker (20)

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

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Approach and Philosophy of On baking technology
PPTX
Cloud computing and distributed systems.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Electronic commerce courselecture one. Pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
cuic standard and advanced reporting.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Diabetes mellitus diagnosis method based random forest with bat algorithm
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Monthly Chronicles - July 2025
Approach and Philosophy of On baking technology
Cloud computing and distributed systems.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Electronic commerce courselecture one. Pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
cuic standard and advanced reporting.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication

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