OWASP SaaS Rest API Secure Guide

From OWASP
Jump to: navigation, search
OWASP Project Header.jpg

The OWASP Security Principles

The project is to discuss SaaS rest API threats, security design and operation best practices for the following key roles.

  1. SaaS API provider: For API builder, the key challenge is to build secure API and ensure the security validation for public API uses
  2. App Builder based on SaaS API: App builder needs to securely implement the authorization/authentication to access the SaaS resource. Handling of access token are the key security topic in App builder.
  3. 3SaaS platform service provider: SaaS platform service provider is to ensure the API platform security such as authorization/authentication management, API interaction between app and end user, abnormal API access monitoring, resource access control and so on.

The SaaS API security is an ecosystem. The security practices require not only SaaS provider but also app builder, and end user involvement. For SaaS API builder, he may follow secure coding guide, OWASP Top 10 to deliver the restAPI. For App builder, he needs to handle the access token securely, verify the certificate of target website, redirect user to authentication (JWT, OpenID connect, SAML) and authorization (Oauth2) through secure transmission HTTPS/TLS. Any missing of the security practices will introduce security risks. Then, the SaaS platform provider constantly monitoring and auditing the usage of services, manage accounts/API, hardening platform. Finally, the end user security awareness to identify phishing app/site will complete the whole security cycle.

Proposed Agenda

  • Key threats
  1. Access Token misuses
  2. Insecure Transmission
  3. 3rd party App insecure implementation
  4. End user Awareness


  • API Provider
  1. Authentication (SSO, JWT, SAML, OpenID connect)
  2. Authorization (Oauth2.0)
  3. Error handling
  4. Input Validation
  5. Security Token


  • App Builder security
  1. Handling of Access Token
  2. Secure Transmission
  3. Target SaaS host CA verification
  4. Storage of sensitive information
  5. Secure rest API implementation
  6. App Security Release Review


  • SaaS platform Operation Security
  1. Password Policy
  2. Auditing and Logging
  3. Access Control
  4. API access rate/traffic Management
  5. Login and Authentication
  6. Session Management
  7. Compliance
  8. Host/Platform Security

Licensing

The OWASP Proactive Controls document is free to use under the Creative Commons ShareAlike 3 License.


What is OWASP Security Principles Project?

The end goal is to identify, cite, and document the fundamental principles of Rest API security in terms of API builder, SaaS platform provider, and API consumer/builder.

This document should be as a guide to security technical architects, API builder and SaaS platform API provider outlining the fundamental principles of security.

Presentation

  • To be updated

Project Leader

Key Contributors

Related Projects

Quick Download

To be updated


News and Events

  • [June 2016] Project Initiated. Call for Contributors.

Classifications

New projects.png Owasp-builders-small.png
Owasp-defenders-small.png
Cc-button-y-sa-small.png
Project Type Files DOC.jpg

Summary

How can I participate in your project?

All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key. Project Lead contact Tony Hsu @

If I am not a programmer can I participate in your project?

Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator.

Contributors

The first contributors to the project were: