SlideShare a Scribd company logo
IBWAS’10


   Bruno Pedro
17 November 2010


Is OAuth
   Really
Secure?

            http://www.flickr.com/photos/rooreynolds/2396418896/
Bruno Pedro
A n e x p e r i e n c e d We b d e v e l o p e r a n d
entrepreneur. Co-founder of tarpipe.com, a
social media publishing platform.

http://tarpipe.com/user/bpedro
Summary

• What is OAuth?
• Possible OWASP Top 10 threats
• Possible solutions
• Questions
What is OAuth?
1. Authorization protocol (RFC 5849)
What is OAuth?
2. Built on top of Google AuthSub,
   Flickr Auth and others




                        http://tinyurl.com/3yhys4n
What is OAuth?
3. Authentication solution
What is OAuth?
4. Available for Web, desktop and also
   mobile and device applications
A1 - Injection
           ask for token

consumer                   provider

           receive token
A1 - Injection
      ask for token

mer                     provider   ve
                                     rif
                                        yt
      receive token                        ok
                                             en




                                                  database


            potential injection
A3 - Broken authentication

 consumer        API call     provider

              access token
              access secret



• Weak or open access token and secret
• Possible user impersonation
A5 - CSRF


                       http://tinyurl.com/38o3r93




• End point might be open to CSRF
• Possible user impersonation
A7 - Insecure
Cryptographic Storage

consumer     tokens   provider




  database              database
A7 - Insecure
           Cryptographic Storage
                 access to        access to
mer              consumer    all consumers               prov
                 users        and all users




      database                                database
A10 - Unvalidated redirects




• After authorizing, user is redirected to a
  callback URL
• Callback might be an arbitrary value
Probably safe
A2 — Cross Site Scripting

A4 — Insecure Direct Object Reference

A6 — Security Misconfiguration

A8 — Failure to Restrict URL Access

A9 — Insuficient Transport Layer Protection
Pay attention to
A1 — Injection

A3 — Broken Authentication

A5 — Cross Site Request Forgery

A7 — Insecure Cryptographic Storage

A10 — Unvalidated Redirects
Possible solutions

• Encrypt all OAuth credentials

  mitigates A3 and A7
Possible solutions

• Generate verifiable consumer keys

 mitigates A1
Possible solutions

• Throttle undesired usage

  mitigates A1 and A3
More information

• OAuth: http://oauth.net
• OWASP: http://owasp.org
• OAuth Checklist: http://oauthchecklist.org
Questions?

 Thank you!

More Related Content

PPTX
10 Tips to Promote Your eCommerce Store
PPT
Website designing company in delhi
PDF
Rise of the smart machines: Gartner’s top tech predictions for 2016
PDF
The importance of /me
PDF
What's Next? Marketing 2015
PPT
How price comparison websites affect market performance in the UK
PPTX
English language learning online tools
PDF
170724 JP/UK Open Banking Summit English Translation
10 Tips to Promote Your eCommerce Store
Website designing company in delhi
Rise of the smart machines: Gartner’s top tech predictions for 2016
The importance of /me
What's Next? Marketing 2015
How price comparison websites affect market performance in the UK
English language learning online tools
170724 JP/UK Open Banking Summit English Translation

Similar to Is OAuth Really Secure? (20)

PPTX
How Does a Workload Authenticate an API Request?: Implementing Transaction To...
PDF
Web Application Security with PHP
PDF
Webapp security (with notes)
PPTX
An Authentication and Authorization Architecture for a Microservices World
PDF
CIS13: Introduction to OAuth 2.0
PPT
Rumor riding
PDF
Auth proxy pattern on Kubernetes
PPT
Authenticated Identites in VoIP Call Control
PPT
Presentation To Vo Ip Round Table V2
PDF
Introduction to OAuth
PDF
OAuth and OEmbed
PPTX
How to Build a Fortress with the Security of a Tent - Jacob Ideskog, Curity
PDF
OAuth - Open API Authentication
PDF
Api security with OAuth
PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
PDF
OAuth & OpenID Connect Deep Dive
PDF
Oauth Php App
PDF
Implementing OAuth with PHP
PDF
Authorization Architecture Patterns: How to Avoid Pitfalls in #OAuth / #OIDC ...
PDF
Implementing OAuth
How Does a Workload Authenticate an API Request?: Implementing Transaction To...
Web Application Security with PHP
Webapp security (with notes)
An Authentication and Authorization Architecture for a Microservices World
CIS13: Introduction to OAuth 2.0
Rumor riding
Auth proxy pattern on Kubernetes
Authenticated Identites in VoIP Call Control
Presentation To Vo Ip Round Table V2
Introduction to OAuth
OAuth and OEmbed
How to Build a Fortress with the Security of a Tent - Jacob Ideskog, Curity
OAuth - Open API Authentication
Api security with OAuth
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
OAuth & OpenID Connect Deep Dive
Oauth Php App
Implementing OAuth with PHP
Authorization Architecture Patterns: How to Avoid Pitfalls in #OAuth / #OIDC ...
Implementing OAuth
Ad

More from Bruno Pedro (20)

PDF
What are Web APIs
PDF
Growing your business with an API
PDF
Product growth with an API
PDF
How to grow your business with an API
PDF
APIs Love to Chat
PDF
How to Automate API Testing
PDF
Asynchronous Microservices in nodejs
PDF
How to Automate API Discovery
PDF
Api Design & The Paris Subway
PDF
Maintainable consumers
PDF
API Code Generation
PDF
Bridging the Gap Between APIs and Customers
PDF
Who's using your API?
PDF
node-fs
KEY
Link extraction and classification
PDF
tarpipe WordPress plugin demo
PDF
OAuth checklist
PDF
Everything OAuth
KEY
The Executable Web
KEY
Information Retrieval Challenges
What are Web APIs
Growing your business with an API
Product growth with an API
How to grow your business with an API
APIs Love to Chat
How to Automate API Testing
Asynchronous Microservices in nodejs
How to Automate API Discovery
Api Design & The Paris Subway
Maintainable consumers
API Code Generation
Bridging the Gap Between APIs and Customers
Who's using your API?
node-fs
Link extraction and classification
tarpipe WordPress plugin demo
OAuth checklist
Everything OAuth
The Executable Web
Information Retrieval Challenges
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Monthly Chronicles - July 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Is OAuth Really Secure?

  • 1. IBWAS’10 Bruno Pedro 17 November 2010 Is OAuth Really Secure? http://www.flickr.com/photos/rooreynolds/2396418896/
  • 2. Bruno Pedro A n e x p e r i e n c e d We b d e v e l o p e r a n d entrepreneur. Co-founder of tarpipe.com, a social media publishing platform. http://tarpipe.com/user/bpedro
  • 3. Summary • What is OAuth? • Possible OWASP Top 10 threats • Possible solutions • Questions
  • 4. What is OAuth? 1. Authorization protocol (RFC 5849)
  • 5. What is OAuth? 2. Built on top of Google AuthSub, Flickr Auth and others http://tinyurl.com/3yhys4n
  • 6. What is OAuth? 3. Authentication solution
  • 7. What is OAuth? 4. Available for Web, desktop and also mobile and device applications
  • 8. A1 - Injection ask for token consumer provider receive token
  • 9. A1 - Injection ask for token mer provider ve rif yt receive token ok en database potential injection
  • 10. A3 - Broken authentication consumer API call provider access token access secret • Weak or open access token and secret • Possible user impersonation
  • 11. A5 - CSRF http://tinyurl.com/38o3r93 • End point might be open to CSRF • Possible user impersonation
  • 12. A7 - Insecure Cryptographic Storage consumer tokens provider database database
  • 13. A7 - Insecure Cryptographic Storage access to access to mer consumer all consumers prov users and all users database database
  • 14. A10 - Unvalidated redirects • After authorizing, user is redirected to a callback URL • Callback might be an arbitrary value
  • 15. Probably safe A2 — Cross Site Scripting A4 — Insecure Direct Object Reference A6 — Security Misconfiguration A8 — Failure to Restrict URL Access A9 — Insuficient Transport Layer Protection
  • 16. Pay attention to A1 — Injection A3 — Broken Authentication A5 — Cross Site Request Forgery A7 — Insecure Cryptographic Storage A10 — Unvalidated Redirects
  • 17. Possible solutions • Encrypt all OAuth credentials mitigates A3 and A7
  • 18. Possible solutions • Generate verifiable consumer keys mitigates A1
  • 19. Possible solutions • Throttle undesired usage mitigates A1 and A3
  • 20. More information • OAuth: http://oauth.net • OWASP: http://owasp.org • OAuth Checklist: http://oauthchecklist.org

Editor's Notes

  • #2: \n
  • #3: \n
  • #4: \n
  • #5: RFC only published in April 2010\n
  • #6: Authorization - used most of the time\nAuthentication - 2 legged OAuth, “sign in with twitter”, no to be confused with OpenID\nBuilt as an Open Protocol on top of already existing solutions (Amazon,Yahoo)\n
  • #7: Authorization - used most of the time\nAuthentication - 2 legged OAuth, “sign in with twitter”, no to be confused with OpenID\nBuilt as an Open Protocol on top of already existing solutions (Amazon,Yahoo)\n
  • #8: \n
  • #9: \n
  • #10: Possible solution: verify tokens prior to database\n
  • #11: Possible solutions: crypto, throttle\n
  • #12: Possible solution: any CSRF solution\n
  • #13: \n
  • #14: Solution: crypto and more\n
  • #15: Possible solution: fix callback to same domain or even same page\n
  • #16: \n
  • #17: \n
  • #18: A3 - Broken authentication, A7 - Insecure cryptographic storage\n
  • #19: A1 - Injection\n
  • #20: A1 - Injection, A3 - Broken authentication\n
  • #21: \n
  • #22: \n