SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
OWASP API Security Top 10
OWASP API Security Top 10
Erez Yalon
Director of Security Research
Checkmarx
OWASP API Top 10 project lead
Dmitry Sotnikov
Vice President of Cloud Platform
42Crunch
OWASP API Top 10 contributor
Traditional vs. Modern
Traditional
Application
Modern
Application
OWASP API Security Top 10
• A1 : Broken Object Level Authorization
• A2 : Broken Authentication
• A3 : Excessive Data Exposure
• A4 : Lack of Resources & Rate Limiting
• A5 : Missing Function Level Authorization
• A6 : Mass Assignment
• A7 : Security Misconfiguration
• A8 : Injection
• A9 : Improper Assets Management
• A10 : Insufficient Logging & Monitoring
A1: Broken Object Level Authorization
T-Mobile API Breach (2017)
• API behind a web portal
• Phone numbers as IDs
• Was exploited in the wild (e.g.
“SIM swap”)
https://www.vice.com/en_us/article/7xkyyz/t-mobile-customer-data-bug-hackers-no-excuse
A1: Mitigation
• Implement authorization checks with user policies and hierarchy
• Don’t rely on IDs sent from client. Use IDs stored in the session object.
• Check authorization each time there is a client request to access database
• Use random non-guessable IDs (UUIDs)
A2: Broken Authentication
Balboa hot tubs (2018)
• The mobile app controlling the hot tub is
invoking the hot tub’s API over the internet
• The APIs are “protected” with a shared
hardcoded password
• Each hot tub comes with an unprotected WiFi
hotspot
• The APIs use the WiFi hotspot ID as the device
identifier
https://apisecurity.io/issue-14-hacked-hot-tubs-airlines-trading-sites-json-encoding-best-practices/
A2: Mitigation
• Check all possible ways to authenticate to all APIs
• Password reset APIs and one-time links also allow users to get
authenticated and should be protected just as seriously
• Use standard authentication, token generation, password storage, MFA
• Use short-lived access tokens
• Authenticate your apps (so you know who is talking to you)
• Use stricter rate-limiting for authentication, implement lockout policies and
weak password checks
A3: Excessive Data Exposure
Uber account takeover (2019)
1. Error message leaking user UUID
Request
Response
https://apisecurity.io/issue-49-uber-account-takeover-leaky-get-api/
2. Make a request with the UUID
Uber account takeover (2019)
Request
https://apisecurity.io/issue-49-uber-account-takeover-leaky-get-api/
Uber account takeover (2019)
Response
(173 lines!!!)
https://apisecurity.io/issue-49-uber-account-takeover-leaky-get-api/
3. Receive tons of user data including mobile app authentication token
A3: Mitigation
• Never rely on client to filter data
• Review all responses and adapt responses to what the API consumers really
need
• Define schemas of all the API responses
• Don’t forget about error responses
• Identify all the sensitive or PII info and justify its use
• Enforce response checks to prevent accidental data and exception leaks
A4: Lack of Resources & Rate Limiting
Instagram account takeover (2019)
• Used password reset API
• Passcode expires in 10 minutes
• Rate limiting 200 / minute / IP
• 5000 cloud VMs can enumerate all 6-digit codes
• AWS/GCP cost ~ $150
Requesting passcode
POST /api/v1/users/lookup/
Host: i.instagram.com
q=mobile_number&
device_id=android-device-id
Verify passcode
POST /api/v1/accounts
/account_recovery_code_verify/
Host: i.instagram.com
recover_code=123456&
device_id=android-device-id
https://apisecurity.io/issue-40-instagram-7-eleven-zipato/
A4: Mitigation
• Rate limiting
• Payload size limits
• Rate limits specific to API methods, clients, addresses
• Checks on compression ratios
• Limits on container resources
A5: Missing Function Level Authorization
Gator kids smartwatches (2019)
• Simple request of User[Grade] value from 1 to
0 enabled management of all smartwatches
https://apisecurity.io/issue-18-security-audits-for-your-api-contracts-google-limits-gmail-api-access/
A5: Mitigation
• Don’t rely on app to enforce admin access
• Deny all access by default
• Only allow operation to users that belong to the appropriate group or role
• Properly design and test authorization
A6: Mass Assignment
Harbor (2019)
POST /api/users
{“username”:”test”,”email”:”test123@gmai.com”
,”realname”:”no
name”,”password”:”Password1u0021″,”comment”:
null,
“has_admin_role”:true}
https://apisecurity.io/issue-50-harbor-api-vulnerability-dangers-crud-apis/
• Making yourself an admin
A6: Mitigation
• Don’t automatically bind incoming data and internal objects
• Explicitly define all the parameters and payloads you are expecting
• For object schemas, use the readOnly set to true for all properties that can
be retrieved via APIs but should never be modified
• Precisely define at design time the schemas, types, patterns you will accept
in requests and enforce them at runtime
A7: Security Misconfiguration
Equifax
• Unpatched Apache Struts
• Lack of control of Content-Type HTTP header content
• Hackers penetrated by sending a crafted header with injection
https://apisecurity.io/issue-41-tinder-and-axway-breached-equifax-fined/
A7: Mitigation
• Repeatable hardening and patching processes
• Automated process to locate configuration flaws
• Disable unnecessary features
• Restrict administrative access
• Define and enforce all outputs including errors
A8: Injection
Samsung SmartThings Hub (2018)
• SmartThings Hub is able to communicate with cameras
• /credentials API can be used to set credentials for remote server
authentication
• Data is saved in SQLite database
• JSON keys with ; allowed to execute arbitrary queries
# using curl from inside the hub, but the same request could be sent using a SmartApp
$ sInj='","_id=0 where 1=2;insert into camera values (123,replace(substr(quote(zeroblob((10000 + 1) /
2)), 3, 10000), "0", "A"),1,1,1,1,1,1,1,1,1,1,1,1,1,1);--":"'
$ curl -X POST 'http://127.0.0.1:3000/credentials' -d
"{'s3':{'accessKey':'','secretKey':'','directory':'','region':'','bucket':'','sessionToken':'${sInj}'},'
videoHostUrl':'127.0.0.1/'}"
$ curl -X DELETE "http://127.0.0.1:3000/cameras/123"
https://www.talosintelligence.com/reports/TALOS-2018-0556/
A8: Mitigation
• Never trust your API consumers, even if internal
• Strictly define all input data: schemas, types, string patterns - and enforce
them at runtime
• Validate, filter, sanitize all incoming data
• Define, limit, and enforce API outputs to prevent data leaks
A9: Improper Assets Management
JustDial (2019)
• India’s largest local search service
• Had old unused unprotected API
• It was connected to live database
• Was leaking 100 mln users’ data
https://apisecurity.io/issue-28-breaches-tchap-shopify-justdial/
A9: Mitigation
• Inventory all API hosts
• Limit access to anything that should not be public
• Limit access to production data. Segregate access to production and non-
production data.
• Implement additional external controls such as API firewalls
• Properly retire old versions or backport security fixes
• Implement strict authentication, redirects, CORS, etc.
A10: Insufficient Logging & Monitoring
7-Elevel Japan: 7Pay
• Payment app
• Password reset allowed email change if
personal details were supplied
• Attackers used API to try combinations of
info for various Japanese citizens
• $510K was stolen from 900 customers
• The company only noticed after too many
users complained
https://apisecurity.io/issue-40-instagram-7-eleven-zipato/
A10: Mitigation
• Log failed attempts, denied access, input validation failures, any failures in
security policy checks
• Ensure that logs are formatted to be consumable by other tools
• Protect logs as highly sensitive
• Include enough detail to identify attackers
• Avoid having sensitive data in logs - If you need the information for
debugging purposes, redact it partially.
• Integrate with SIEMs and other dashboards, monitoring, alerting tools
Additional Resources
• Details:
OWASP API Security Top 10
• PDF:
OWASP API Sec cheat sheet
• Participate:
GitHub Project
• Get news and updates:
APIsecurity.io
• Commercial API sec tools:
42Crunch
dmitry@42crunch.com | @DSotnikov | 42crunch.com | APIsecurity.io
Thank You!

Más contenido relacionado

La actualidad más candente

Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASP
Marco Morana
 
OWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesOWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application Vulnerabilities
Software Guru
 

La actualidad más candente (20)

OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 
OWASP Top 10 API Security Risks
OWASP Top 10 API Security RisksOWASP Top 10 API Security Risks
OWASP Top 10 API Security Risks
 
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Checkmarx meetup API Security -  API Security top 10 - Erez YalonCheckmarx meetup API Security -  API Security top 10 - Erez Yalon
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang Bhatnagar
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
 
Security testing
Security testingSecurity testing
Security testing
 
Secure Code Review 101
Secure Code Review 101Secure Code Review 101
Secure Code Review 101
 
Xss attack
Xss attackXss attack
Xss attack
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASP
 
OWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesOWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application Vulnerabilities
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
Web application security
Web application securityWeb application security
Web application security
 
Getting Started with API Security Testing
Getting Started with API Security TestingGetting Started with API Security Testing
Getting Started with API Security Testing
 
OWASP Top Ten in Practice
OWASP Top Ten in PracticeOWASP Top Ten in Practice
OWASP Top Ten in Practice
 
Owasp top 10 vulnerabilities
Owasp top 10 vulnerabilitiesOwasp top 10 vulnerabilities
Owasp top 10 vulnerabilities
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
 
OWASP API Security Top 10 Examples
OWASP API Security Top 10 ExamplesOWASP API Security Top 10 Examples
OWASP API Security Top 10 Examples
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
 

Similar a OWASP API Security Top 10 - API World

Layered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To KnowLayered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To Know
AaronLieberman5
 

Similar a OWASP API Security Top 10 - API World (20)

OWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps DaysOWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps Days
 
APIsecure 2023 - API First Hacking, Corey Ball, Author of Hacking APIs
APIsecure 2023 - API First Hacking, Corey Ball, Author of Hacking APIsAPIsecure 2023 - API First Hacking, Corey Ball, Author of Hacking APIs
APIsecure 2023 - API First Hacking, Corey Ball, Author of Hacking APIs
 
5 step plan to securing your APIs
5 step plan to securing your APIs5 step plan to securing your APIs
5 step plan to securing your APIs
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your App
 
APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide
 
[WSO2 Integration Summit San Francisco 2019] Protecting API Infrastructures —...
[WSO2 Integration Summit San Francisco 2019] Protecting API Infrastructures —...[WSO2 Integration Summit San Francisco 2019] Protecting API Infrastructures —...
[WSO2 Integration Summit San Francisco 2019] Protecting API Infrastructures —...
 
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
 
The API Primer (OWASP AppSec Europe, May 2015)
The API Primer (OWASP AppSec Europe, May 2015)The API Primer (OWASP AppSec Europe, May 2015)
The API Primer (OWASP AppSec Europe, May 2015)
 
apidays Hong Kong - Attack API Architecture, Alvin Tam, Hong Kong Computer So...
apidays Hong Kong - Attack API Architecture, Alvin Tam, Hong Kong Computer So...apidays Hong Kong - Attack API Architecture, Alvin Tam, Hong Kong Computer So...
apidays Hong Kong - Attack API Architecture, Alvin Tam, Hong Kong Computer So...
 
apidays LIVE Paris - Protecting financial grade API: adopting the right secur...
apidays LIVE Paris - Protecting financial grade API: adopting the right secur...apidays LIVE Paris - Protecting financial grade API: adopting the right secur...
apidays LIVE Paris - Protecting financial grade API: adopting the right secur...
 
Hacker vs AI
Hacker vs AI Hacker vs AI
Hacker vs AI
 
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
 
How Secure Is Your Secure API?
How Secure Is Your Secure API?How Secure Is Your Secure API?
How Secure Is Your Secure API?
 
Protecting Microservices APIs with 42Crunch API Firewall
Protecting Microservices APIs with 42Crunch API FirewallProtecting Microservices APIs with 42Crunch API Firewall
Protecting Microservices APIs with 42Crunch API Firewall
 
INTERFACE by apidays 2023 - Something Old, Something New, Colin Domoney, 42Cr...
INTERFACE by apidays 2023 - Something Old, Something New, Colin Domoney, 42Cr...INTERFACE by apidays 2023 - Something Old, Something New, Colin Domoney, 42Cr...
INTERFACE by apidays 2023 - Something Old, Something New, Colin Domoney, 42Cr...
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
 
Layered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To KnowLayered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To Know
 
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
 

Más de 42Crunch

REST API Security by Design with Azure Pipelines
REST API Security by Design with Azure PipelinesREST API Security by Design with Azure Pipelines
REST API Security by Design with Azure Pipelines
42Crunch
 
WEBINAR: Positive Security for APIs: What it is and why you need it!
 WEBINAR: Positive Security for APIs: What it is and why you need it! WEBINAR: Positive Security for APIs: What it is and why you need it!
WEBINAR: Positive Security for APIs: What it is and why you need it!
42Crunch
 
The Dev, Sec and Ops of API Security - NordicAPIs
The Dev, Sec and Ops of API Security - NordicAPIsThe Dev, Sec and Ops of API Security - NordicAPIs
The Dev, Sec and Ops of API Security - NordicAPIs
42Crunch
 
The Dev, Sec and Ops of API Security - API World
The Dev, Sec and Ops of API Security - API WorldThe Dev, Sec and Ops of API Security - API World
The Dev, Sec and Ops of API Security - API World
42Crunch
 

Más de 42Crunch (15)

Top API Security Issues Found During POCs
Top API Security Issues Found During POCsTop API Security Issues Found During POCs
Top API Security Issues Found During POCs
 
REST API Security by Design with Azure Pipelines
REST API Security by Design with Azure PipelinesREST API Security by Design with Azure Pipelines
REST API Security by Design with Azure Pipelines
 
Are You Properly Using JWTs?
Are You Properly Using JWTs?Are You Properly Using JWTs?
Are You Properly Using JWTs?
 
WEBINAR: Positive Security for APIs: What it is and why you need it!
 WEBINAR: Positive Security for APIs: What it is and why you need it! WEBINAR: Positive Security for APIs: What it is and why you need it!
WEBINAR: Positive Security for APIs: What it is and why you need it!
 
The Dev, Sec and Ops of API Security - NordicAPIs
The Dev, Sec and Ops of API Security - NordicAPIsThe Dev, Sec and Ops of API Security - NordicAPIs
The Dev, Sec and Ops of API Security - NordicAPIs
 
The Dev, Sec and Ops of API Security - API World
The Dev, Sec and Ops of API Security - API WorldThe Dev, Sec and Ops of API Security - API World
The Dev, Sec and Ops of API Security - API World
 
API Security in a Microservices World
API Security in a Microservices WorldAPI Security in a Microservices World
API Security in a Microservices World
 
Applying API Security at Scale
Applying API Security at ScaleApplying API Security at Scale
Applying API Security at Scale
 
APIDays Paris Security Workshop
APIDays Paris Security WorkshopAPIDays Paris Security Workshop
APIDays Paris Security Workshop
 
Better API Security with Automation
Better API Security with Automation Better API Security with Automation
Better API Security with Automation
 
Advanced API Security Patterns
Advanced API Security PatternsAdvanced API Security Patterns
Advanced API Security Patterns
 
SecDevOps for API Security
SecDevOps for API SecuritySecDevOps for API Security
SecDevOps for API Security
 
42crunch-API-security-workshop
42crunch-API-security-workshop42crunch-API-security-workshop
42crunch-API-security-workshop
 
Why you need API Security Automation
Why you need API Security AutomationWhy you need API Security Automation
Why you need API Security Automation
 
API Security: the full story
API Security: the full storyAPI Security: the full story
API Security: the full story
 

Último

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

OWASP API Security Top 10 - API World

  • 2. OWASP API Security Top 10 Erez Yalon Director of Security Research Checkmarx OWASP API Top 10 project lead Dmitry Sotnikov Vice President of Cloud Platform 42Crunch OWASP API Top 10 contributor
  • 4. OWASP API Security Top 10 • A1 : Broken Object Level Authorization • A2 : Broken Authentication • A3 : Excessive Data Exposure • A4 : Lack of Resources & Rate Limiting • A5 : Missing Function Level Authorization • A6 : Mass Assignment • A7 : Security Misconfiguration • A8 : Injection • A9 : Improper Assets Management • A10 : Insufficient Logging & Monitoring
  • 5. A1: Broken Object Level Authorization
  • 6. T-Mobile API Breach (2017) • API behind a web portal • Phone numbers as IDs • Was exploited in the wild (e.g. “SIM swap”) https://www.vice.com/en_us/article/7xkyyz/t-mobile-customer-data-bug-hackers-no-excuse
  • 7. A1: Mitigation • Implement authorization checks with user policies and hierarchy • Don’t rely on IDs sent from client. Use IDs stored in the session object. • Check authorization each time there is a client request to access database • Use random non-guessable IDs (UUIDs)
  • 9. Balboa hot tubs (2018) • The mobile app controlling the hot tub is invoking the hot tub’s API over the internet • The APIs are “protected” with a shared hardcoded password • Each hot tub comes with an unprotected WiFi hotspot • The APIs use the WiFi hotspot ID as the device identifier https://apisecurity.io/issue-14-hacked-hot-tubs-airlines-trading-sites-json-encoding-best-practices/
  • 10. A2: Mitigation • Check all possible ways to authenticate to all APIs • Password reset APIs and one-time links also allow users to get authenticated and should be protected just as seriously • Use standard authentication, token generation, password storage, MFA • Use short-lived access tokens • Authenticate your apps (so you know who is talking to you) • Use stricter rate-limiting for authentication, implement lockout policies and weak password checks
  • 11. A3: Excessive Data Exposure
  • 12. Uber account takeover (2019) 1. Error message leaking user UUID Request Response https://apisecurity.io/issue-49-uber-account-takeover-leaky-get-api/
  • 13. 2. Make a request with the UUID Uber account takeover (2019) Request https://apisecurity.io/issue-49-uber-account-takeover-leaky-get-api/
  • 14. Uber account takeover (2019) Response (173 lines!!!) https://apisecurity.io/issue-49-uber-account-takeover-leaky-get-api/ 3. Receive tons of user data including mobile app authentication token
  • 15. A3: Mitigation • Never rely on client to filter data • Review all responses and adapt responses to what the API consumers really need • Define schemas of all the API responses • Don’t forget about error responses • Identify all the sensitive or PII info and justify its use • Enforce response checks to prevent accidental data and exception leaks
  • 16. A4: Lack of Resources & Rate Limiting
  • 17. Instagram account takeover (2019) • Used password reset API • Passcode expires in 10 minutes • Rate limiting 200 / minute / IP • 5000 cloud VMs can enumerate all 6-digit codes • AWS/GCP cost ~ $150 Requesting passcode POST /api/v1/users/lookup/ Host: i.instagram.com q=mobile_number& device_id=android-device-id Verify passcode POST /api/v1/accounts /account_recovery_code_verify/ Host: i.instagram.com recover_code=123456& device_id=android-device-id https://apisecurity.io/issue-40-instagram-7-eleven-zipato/
  • 18. A4: Mitigation • Rate limiting • Payload size limits • Rate limits specific to API methods, clients, addresses • Checks on compression ratios • Limits on container resources
  • 19. A5: Missing Function Level Authorization
  • 20. Gator kids smartwatches (2019) • Simple request of User[Grade] value from 1 to 0 enabled management of all smartwatches https://apisecurity.io/issue-18-security-audits-for-your-api-contracts-google-limits-gmail-api-access/
  • 21. A5: Mitigation • Don’t rely on app to enforce admin access • Deny all access by default • Only allow operation to users that belong to the appropriate group or role • Properly design and test authorization
  • 24. A6: Mitigation • Don’t automatically bind incoming data and internal objects • Explicitly define all the parameters and payloads you are expecting • For object schemas, use the readOnly set to true for all properties that can be retrieved via APIs but should never be modified • Precisely define at design time the schemas, types, patterns you will accept in requests and enforce them at runtime
  • 26. Equifax • Unpatched Apache Struts • Lack of control of Content-Type HTTP header content • Hackers penetrated by sending a crafted header with injection https://apisecurity.io/issue-41-tinder-and-axway-breached-equifax-fined/
  • 27. A7: Mitigation • Repeatable hardening and patching processes • Automated process to locate configuration flaws • Disable unnecessary features • Restrict administrative access • Define and enforce all outputs including errors
  • 29. Samsung SmartThings Hub (2018) • SmartThings Hub is able to communicate with cameras • /credentials API can be used to set credentials for remote server authentication • Data is saved in SQLite database • JSON keys with ; allowed to execute arbitrary queries # using curl from inside the hub, but the same request could be sent using a SmartApp $ sInj='","_id=0 where 1=2;insert into camera values (123,replace(substr(quote(zeroblob((10000 + 1) / 2)), 3, 10000), "0", "A"),1,1,1,1,1,1,1,1,1,1,1,1,1,1);--":"' $ curl -X POST 'http://127.0.0.1:3000/credentials' -d "{'s3':{'accessKey':'','secretKey':'','directory':'','region':'','bucket':'','sessionToken':'${sInj}'},' videoHostUrl':'127.0.0.1/'}" $ curl -X DELETE "http://127.0.0.1:3000/cameras/123" https://www.talosintelligence.com/reports/TALOS-2018-0556/
  • 30. A8: Mitigation • Never trust your API consumers, even if internal • Strictly define all input data: schemas, types, string patterns - and enforce them at runtime • Validate, filter, sanitize all incoming data • Define, limit, and enforce API outputs to prevent data leaks
  • 31. A9: Improper Assets Management
  • 32. JustDial (2019) • India’s largest local search service • Had old unused unprotected API • It was connected to live database • Was leaking 100 mln users’ data https://apisecurity.io/issue-28-breaches-tchap-shopify-justdial/
  • 33. A9: Mitigation • Inventory all API hosts • Limit access to anything that should not be public • Limit access to production data. Segregate access to production and non- production data. • Implement additional external controls such as API firewalls • Properly retire old versions or backport security fixes • Implement strict authentication, redirects, CORS, etc.
  • 35. 7-Elevel Japan: 7Pay • Payment app • Password reset allowed email change if personal details were supplied • Attackers used API to try combinations of info for various Japanese citizens • $510K was stolen from 900 customers • The company only noticed after too many users complained https://apisecurity.io/issue-40-instagram-7-eleven-zipato/
  • 36. A10: Mitigation • Log failed attempts, denied access, input validation failures, any failures in security policy checks • Ensure that logs are formatted to be consumable by other tools • Protect logs as highly sensitive • Include enough detail to identify attackers • Avoid having sensitive data in logs - If you need the information for debugging purposes, redact it partially. • Integrate with SIEMs and other dashboards, monitoring, alerting tools
  • 37. Additional Resources • Details: OWASP API Security Top 10 • PDF: OWASP API Sec cheat sheet • Participate: GitHub Project • Get news and updates: APIsecurity.io • Commercial API sec tools: 42Crunch
  • 38. dmitry@42crunch.com | @DSotnikov | 42crunch.com | APIsecurity.io Thank You!