SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Protecting users against XSS-based
password manager abuse
AsiaCCS 2014, Kyoto
Ben Stock, Martin Johns
Agenda
●  Basics on Password Managers
●  Intention & Implementation
●  Automating attacks on Password Managers
●  Analysis of browsers and applications
●  Analysis of built-in password managers
●  Study of password fields on the Web
●  Our proposal to a more secure password manager
●  Summary & Conclusion
2
Password managers and attacks against them
Password managers
●  In a perfect world... one password per site
●  hard task to remember multiple complex passwords
●  Solution: password managers
●  take burden to remember these passwords off the user
●  Implementation in two locations
1.  submitting a form è ask user to save password
2.  loading a form è fill in user and password
4
host=http://localhost, user=user1, pwd=secret
1
2
Password manager security issues
●  Password manager detects form
●  looks up stored credentials
●  inserts them into form (and thus the DOM)
●  DOM is accessible by JavaScript
●  both benign code and XSS payloads
●  Attacker code may access field data (in clear text)
5
Automating attacks
●  Consider XSS attacker (similarly for network attacker)
●  capable of injecting HTML markup (and JavaScript code)
1.  inject form with user/password fields
2.  wait for the Password Manager to fill out form
3.  retrieve credentials and send them to the attacker
6
Password	
  
Manager	
  
A.acker	
  
Code	
  
Ninja exploitation
7
h.p://ki.enpics.org	
  
Password	
  
Manager	
  
A.acker	
  
Code	
  
Factors for a successful attack
●  URL matching
●  is XSS on any document on the domain sufficent?
●  Form matching
●  can we use a minimal form to easily automate attacks?
●  Autofilling in frames
●  can we exploit multiple domains the same time?
●  User interaction
●  can we fully automate the attack?
●  Autocomplete attribute
●  can a Web site opt out of password storage?
8
Analysis of browsers and applications
What we learned thus far...
●  Automated attacks are dependent on
●  password manager implementations
●  Web application implementation
●  autocomplete=off!
●  (delivery	
  over	
  HTTPS)	
  
●  Two analyses to conduct
●  Password manager implementations
●  Chrome, Firefox, IE, Safari, Opera and Maxthon
●  Analysis of password fields on the Web
●  Secure delivery, autocomplete, ...
10
Highlights of built-in password managers*
11
●  URL matching
●  only IE stores the URL, Maxthon does not even store protocol or
port
●  Form matching
●  no browser stored structure/target URL
●  Autofilling in frames
●  only IE refuses to insert credentials into frames
●  User interaction
●  only IE requires user interaction
●  Autocomplete attribute
●  Chrome, Opera and Maxthon do not adhere to autocomplete
*refer to the paper for the complete analysis
Analysis of password fields on the Web
●  Crawl of Alexa Top 4000
●  natural languages matching to detect login forms
●  wrapping getter for password fields to detect access
12
Characteris*c	
   #	
  Sites	
   %	
  rel.	
   %	
  abs.	
  
Password	
  field	
   2,143	
   100%	
   53,6%	
  
Form	
  on	
  HTTPS	
  page	
   821	
   38,3%	
   20,5%	
  
AcMon	
  on	
  HTTPS	
  page	
   1,197	
   55,9%	
   29,9%	
  
Autocomplete	
  off	
   293	
   13,6%	
   7,3%	
  
JavaScript	
  access	
   325	
   15,1%	
   8,1%	
  
Summarizing our findings
●  Password managers are quite relaxed in matching criteria
●  XSS on same-domain is sufficient for all but IE
●  Chrome, Opera and Maxthon don't adhere to autocomplete
●  Password fields are meant to work with managers
●  only 13,6% opt-out with autocomplete=off!
èPassword managers need to be protected
against XSS attackers
13
Building a secure password manager
Mismatch in notion/implementations
●  Password Managers should aid in authentication
●  Authentication: "Credentials are sent to the server"
●  Implementation: "Credentials are inserted into forms and
then sent to the server"
●  We propose to align implementation with notion
15
Our proposed solution
16
Password
Username
Pwd	
  
Mgr	
   Password
Nonce
Username Username
Pwd	
  
Mgr	
   Password
Username
Nonce
Username
Pwd	
  
Mgr	
  
Constraints for this approach
●  Potential pitfalls
●  Attacker changes a form's target
●  posting data to his own server / a page that reflects the content
●  Attacker changes method to GET
●  .. and subsequently reads the URL to which a frame was redirected
●  Proposed constraints
●  strict checking of form target URL
●  exchanging nonce only in POST parameters
17
PoC Implementation
Our ExtensionPassword Manager
host=http://localhost, user=user1, pwd=secret
host=http://localhost, user=user1, pwd=nonce
1
2
3
18
PoC Implementation
POST /login.php
Data: user=user1&pwd=nonce
POST /login.php
Data: user=user1&pwd=secret
Our Extension
POST /search.php
Data: user=user1&query=nonce
POST /search.php
Data: user=user1&query=nonce
19
Functional evaluation
●  325 domains used JavaScript to access password fields
●  229 domains only check that field is not empty
●  96 domains send password via XHR
●  23 domains hash password before sending it out
●  1 domain applies base64 encoding
●  6 domains send password in GET parameters
●  30/2143 domains have issues with our solution
●  98,6% of all domains we analyzed work just fine
●  storing passwords in XHRs is not currently supported by
browsers
20
Summary and Conclusion
Summary & Conclusion
●  Most current implementations of password managers
allow for automatic stealing of passwords
●  Cause: passwords are inserted into forms
●  not into outgoing request
●  We propose alignment of notion and implementation
●  PoC implemented as a Firefox extension
●  working with 98,6% of domains we analyzed
22
Thank you for your attention!
Special thanks to my student workers Eric Schmall and Armin Stock
●  @kcotsneb
●  http://kittenpics.org
●  ben.stock@fau.de

Contenu connexe

Tendances

Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site Scripting
Ali Mattash
 

Tendances (20)

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)
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
 
Browser Security
Browser SecurityBrowser Security
Browser Security
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site ScriptingReflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
 
Security Best Practices for Bot Builders
Security Best Practices for Bot BuildersSecurity Best Practices for Bot Builders
Security Best Practices for Bot Builders
 
Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 
Xss talk, attack and defense
Xss talk, attack and defenseXss talk, attack and defense
Xss talk, attack and defense
 
What is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgetsWhat is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgets
 
Understanding dom based xss
Understanding dom based xssUnderstanding dom based xss
Understanding dom based xss
 
XSS Injection Vulnerabilities
XSS Injection VulnerabilitiesXSS Injection Vulnerabilities
XSS Injection Vulnerabilities
 
Hacking A Web Site And Secure Web Server Techniques Used
Hacking A Web Site And Secure Web Server Techniques UsedHacking A Web Site And Secure Web Server Techniques Used
Hacking A Web Site And Secure Web Server Techniques Used
 
BsidesDelhi 2018: DomGoat - the DOM Security Playground
BsidesDelhi 2018: DomGoat - the DOM Security PlaygroundBsidesDelhi 2018: DomGoat - the DOM Security Playground
BsidesDelhi 2018: DomGoat - the DOM Security Playground
 
Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site Scripting
 
Web security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsersWeb security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsers
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web ApplicationsIdentifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
 
Offline web app - Let's kill the downasaur
Offline web app - Let's kill the downasaurOffline web app - Let's kill the downasaur
Offline web app - Let's kill the downasaur
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
 

En vedette

En vedette (7)

25 Million Flows Later – Large-scale Detection of DOM-based XSS
25 Million Flows Later – Large-scale Detection of DOM-based XSS25 Million Flows Later – Large-scale Detection of DOM-based XSS
25 Million Flows Later – Large-scale Detection of DOM-based XSS
 
WhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
WhiteFire Marketing | Build your Brand | Social Viral Marketing TorontoWhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
WhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
 
Cross Site Scripting Going Beyond the Alert Box
Cross Site Scripting Going Beyond the Alert BoxCross Site Scripting Going Beyond the Alert Box
Cross Site Scripting Going Beyond the Alert Box
 
Sukam solar ppt
Sukam solar pptSukam solar ppt
Sukam solar ppt
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similaire à Protecting Users Against XSS-based Password Manager Abuse

Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptxCourse_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
ssuser020436
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
amiable_indian
 
[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers
OWASP
 

Similaire à Protecting Users Against XSS-based Password Manager Abuse (20)

Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018
 
Evaluating a password manager
Evaluating a password managerEvaluating a password manager
Evaluating a password manager
 
Drupal and security - Advice for Site Builders and Coders
Drupal and security - Advice for Site Builders and CodersDrupal and security - Advice for Site Builders and Coders
Drupal and security - Advice for Site Builders and Coders
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
 
Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptxCourse_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
 
PHP BASIC PRESENTATION
PHP BASIC PRESENTATIONPHP BASIC PRESENTATION
PHP BASIC PRESENTATION
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdf
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
 
Hunting Security Bugs in Modern Web Applications
Hunting Security Bugs in Modern Web ApplicationsHunting Security Bugs in Modern Web Applications
Hunting Security Bugs in Modern Web Applications
 
005.itsecurity bcp v1
005.itsecurity bcp v1005.itsecurity bcp v1
005.itsecurity bcp v1
 
Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Real-time applications with sockets and websockets. Introduction to Smartfoxs...Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Real-time applications with sockets and websockets. Introduction to Smartfoxs...
 
[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers
 
12 Ways to Improve Magento 2 Security and Performance
12 Ways to Improve Magento 2 Security and Performance12 Ways to Improve Magento 2 Security and Performance
12 Ways to Improve Magento 2 Security and Performance
 
Finding and exploiting novel flaws in Java software (SyScan 2015)
Finding and exploiting novel flaws in Java software (SyScan 2015)Finding and exploiting novel flaws in Java software (SyScan 2015)
Finding and exploiting novel flaws in Java software (SyScan 2015)
 
Angular SEO
Angular SEO Angular SEO
Angular SEO
 
Hacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass FirewallsHacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass Firewalls
 
Dust.js
Dust.jsDust.js
Dust.js
 

Dernier

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 

Protecting Users Against XSS-based Password Manager Abuse

  • 1. Protecting users against XSS-based password manager abuse AsiaCCS 2014, Kyoto Ben Stock, Martin Johns
  • 2. Agenda ●  Basics on Password Managers ●  Intention & Implementation ●  Automating attacks on Password Managers ●  Analysis of browsers and applications ●  Analysis of built-in password managers ●  Study of password fields on the Web ●  Our proposal to a more secure password manager ●  Summary & Conclusion 2
  • 3. Password managers and attacks against them
  • 4. Password managers ●  In a perfect world... one password per site ●  hard task to remember multiple complex passwords ●  Solution: password managers ●  take burden to remember these passwords off the user ●  Implementation in two locations 1.  submitting a form è ask user to save password 2.  loading a form è fill in user and password 4 host=http://localhost, user=user1, pwd=secret 1 2
  • 5. Password manager security issues ●  Password manager detects form ●  looks up stored credentials ●  inserts them into form (and thus the DOM) ●  DOM is accessible by JavaScript ●  both benign code and XSS payloads ●  Attacker code may access field data (in clear text) 5
  • 6. Automating attacks ●  Consider XSS attacker (similarly for network attacker) ●  capable of injecting HTML markup (and JavaScript code) 1.  inject form with user/password fields 2.  wait for the Password Manager to fill out form 3.  retrieve credentials and send them to the attacker 6 Password   Manager   A.acker   Code  
  • 7. Ninja exploitation 7 h.p://ki.enpics.org   Password   Manager   A.acker   Code  
  • 8. Factors for a successful attack ●  URL matching ●  is XSS on any document on the domain sufficent? ●  Form matching ●  can we use a minimal form to easily automate attacks? ●  Autofilling in frames ●  can we exploit multiple domains the same time? ●  User interaction ●  can we fully automate the attack? ●  Autocomplete attribute ●  can a Web site opt out of password storage? 8
  • 9. Analysis of browsers and applications
  • 10. What we learned thus far... ●  Automated attacks are dependent on ●  password manager implementations ●  Web application implementation ●  autocomplete=off! ●  (delivery  over  HTTPS)   ●  Two analyses to conduct ●  Password manager implementations ●  Chrome, Firefox, IE, Safari, Opera and Maxthon ●  Analysis of password fields on the Web ●  Secure delivery, autocomplete, ... 10
  • 11. Highlights of built-in password managers* 11 ●  URL matching ●  only IE stores the URL, Maxthon does not even store protocol or port ●  Form matching ●  no browser stored structure/target URL ●  Autofilling in frames ●  only IE refuses to insert credentials into frames ●  User interaction ●  only IE requires user interaction ●  Autocomplete attribute ●  Chrome, Opera and Maxthon do not adhere to autocomplete *refer to the paper for the complete analysis
  • 12. Analysis of password fields on the Web ●  Crawl of Alexa Top 4000 ●  natural languages matching to detect login forms ●  wrapping getter for password fields to detect access 12 Characteris*c   #  Sites   %  rel.   %  abs.   Password  field   2,143   100%   53,6%   Form  on  HTTPS  page   821   38,3%   20,5%   AcMon  on  HTTPS  page   1,197   55,9%   29,9%   Autocomplete  off   293   13,6%   7,3%   JavaScript  access   325   15,1%   8,1%  
  • 13. Summarizing our findings ●  Password managers are quite relaxed in matching criteria ●  XSS on same-domain is sufficient for all but IE ●  Chrome, Opera and Maxthon don't adhere to autocomplete ●  Password fields are meant to work with managers ●  only 13,6% opt-out with autocomplete=off! èPassword managers need to be protected against XSS attackers 13
  • 14. Building a secure password manager
  • 15. Mismatch in notion/implementations ●  Password Managers should aid in authentication ●  Authentication: "Credentials are sent to the server" ●  Implementation: "Credentials are inserted into forms and then sent to the server" ●  We propose to align implementation with notion 15
  • 16. Our proposed solution 16 Password Username Pwd   Mgr   Password Nonce Username Username Pwd   Mgr   Password Username Nonce Username Pwd   Mgr  
  • 17. Constraints for this approach ●  Potential pitfalls ●  Attacker changes a form's target ●  posting data to his own server / a page that reflects the content ●  Attacker changes method to GET ●  .. and subsequently reads the URL to which a frame was redirected ●  Proposed constraints ●  strict checking of form target URL ●  exchanging nonce only in POST parameters 17
  • 18. PoC Implementation Our ExtensionPassword Manager host=http://localhost, user=user1, pwd=secret host=http://localhost, user=user1, pwd=nonce 1 2 3 18
  • 19. PoC Implementation POST /login.php Data: user=user1&pwd=nonce POST /login.php Data: user=user1&pwd=secret Our Extension POST /search.php Data: user=user1&query=nonce POST /search.php Data: user=user1&query=nonce 19
  • 20. Functional evaluation ●  325 domains used JavaScript to access password fields ●  229 domains only check that field is not empty ●  96 domains send password via XHR ●  23 domains hash password before sending it out ●  1 domain applies base64 encoding ●  6 domains send password in GET parameters ●  30/2143 domains have issues with our solution ●  98,6% of all domains we analyzed work just fine ●  storing passwords in XHRs is not currently supported by browsers 20
  • 22. Summary & Conclusion ●  Most current implementations of password managers allow for automatic stealing of passwords ●  Cause: passwords are inserted into forms ●  not into outgoing request ●  We propose alignment of notion and implementation ●  PoC implemented as a Firefox extension ●  working with 98,6% of domains we analyzed 22
  • 23. Thank you for your attention! Special thanks to my student workers Eric Schmall and Armin Stock ●  @kcotsneb ●  http://kittenpics.org ●  ben.stock@fau.de