OWASP SaaS Rest API Secure Guide

=Main=



{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 * valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |

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

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

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.


 * valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |

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

 * Tony Hsu [mailto:hsiang_chih@yahoo.com @]

Related Projects

 * OWASP Top Ten Project
 * Cheat Sheets
 * REST Security Cheat Sheet


 * valign="top" style="padding-left:25px;width:200px;" |

Quick Download
To be updated

News and Events

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

Classifications
=REST API Builder=
 * }

Summary
=REST API Consumer= =REST API Platform= =Top 10 Mapping=

=FAQs=

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 [mailto:hsiang_chih@yahoo.com @]

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.

= Acknowledgements =

Contributors
The first contributors to the project were:


 * Tony Hsu