Shifting to Software-Defined
Showing results for 
Search instead for 
Did you mean: 

Cloud Security Threats - Insecure APIs


This is the third blog in a series of 5 looking at some specific cloud security threats identified by the Cloud Security Alliance, available to download here. The other articles in the series can be accessed by searching the blog for the tag cloudsecthreats.

This blog will look at the challenges around insecure interfaces and specifically Application Programming Interfaces (API) in the cloud. In many cloud systems, these APIs are the only asset outside of the trusted organizational boundary with a public IP address, so they are very likely to be the first port of call for many attackers attempting to breach an organization.

APIs are used by cloud service providers and software developers to allow customers to interact, manage, and extract information from cloud services. APIs could be used, for example, to gather logs from an application, to provide integration with databases and storage components, or to control specific cloud resources. APIs are also often the way that a mobile application can interact with a website or back end services, and can provide the ability to authenticate users, as well as query information.

API.JPGHowever it is very important that the APIs have been designed with security in mind and take into consideration adequate authentication and access control methods together with encryption technologies to make sure that information isn’t leaked. A recent example of a breach that happened due to an insecure API took place at Moonpig, an online greeting card vendor. A mobile application, using static authentication, allowed attackers to gather customer information by simply trying all customer IDs sequentially.

So why are APIs a security challenge in the cloud? As mentioned above, they are the public front door to your application, and by default need to be accessible externally. For companies following a security by design approach to application development, they will hopefully understand the security requirements around publishing APIs, and will take appropriate steps to ensure sufficient authentication, authorization, and encryption is built in, as well as making sure the code itself doesn’t contain any obvious vulnerabilities. But unfortunately too many organizations have not yet embraced secure coding methodologies, and release code to production that is not adequately hardened.

There are luckily a couple of steps that can be taken to at least get a better understanding of the risks in software development, but an important first step is to educate the developers to think about security when they are writing code – involve security during the initial product requirements planning, introduce code analysis as a gate process before code is compiled, and perform regular application testing in the production environment.

There are a bunch of good resources out there, including software maturity models such as BSIMM and OpenSAMM, a good white paper from the SANS institute on the state of application security, open source tools such as Syntribos from the OpenStack project, as well as tools within the HPE Fortify portfolio.

0 Kudos
About the Author


Simon Leech is a Certified Information Systems Security Professional with a specialisation in Security Architecture (CISSP-ISSAP), Certified Information Security Manager (CISM), Certified in Risk and Information Systems Control (CRISC), Certified in Cloud Security Knowledge (CCSK) and working in the Worldwide Security Center of Excellence within HPE Pointnext Advisory and Professional Services. Simon is active on Twitter as @DigitalHeMan

See posts for
HPE at 2018 Technology Events
Learn about the technology events where Hewlett Packard Enterprise will have a presence in 2018.
Read more
See posts for dates/locations
Reimagine 2018
Join us at one of the Reimagine 2018 stops and see how we Simplify Hybrid IT, innovate at the Intelligent Edge and bring it all together with HPE Poin...
Read more
View all