Cloud

3/12/2019
10:30 AM
Ory Segal
Ory Segal
Commentary
Connect Directly
Twitter
LinkedIn
RSS
E-Mail vvv
50%
50%

The 12 Worst Serverless Security Risks

A new guide from the Cloud Security Alliance offers mitigations, best practices, and a comparison between traditional applications and their serverless counterparts.

Serverless computing has seen tremendous growth in recent years. This growth was accompanied by a flourishing rich ecosystem of new solutions that offer observability, real-time tracing, deployment frameworks, and application security.

As awareness around serverless security risks started to gain attention, scoffers, and cynics repeated the age-old habit of calling "FUD" — fear, uncertainty and doubt — on any attempt to point out that while serverless offers tremendous value in the form of rapid software development and huge reduction in TCO, there are also new security challenges.

The Evolving Serverless Ecosystem
One of the key indicators for a mature technology is the ecosystem that evolves around it. Having a thriving community, extensive documentation, best-practices guides, and tooling is what will drive organizations to trust new technologies and adopt them.

Recently, the Cloud Security Alliance (CSA) joined forces with PureSec, where I am CTO and co-founder, to develop an extensive serverless security guide. The guide draws much of its content from last year's effort, but with the addition of two important risk classes.

The guide, titled "The 12 Most Critical Risks for Serverless Applications," was written for both security and development audiences dealing with serverless applications but goes well beyond pointing the risks. It also provides best practices for all major platforms. The risk categories are defined as follows:

Risk 1: Function Event-Data Injection
Serverless functions can consume input from different types of event sources, and each event source has its own message format and encoding schemes. Various parts of these event messages may contain attacker-controlled or untrusted inputs that should be carefully inspected.

Risk 2: Broken Authentication
Since serverless promotes a microservices-oriented system design, applications may contain dozens or even hundreds of functions. Applying robust authentication can easily go awry if not executed carefully.

Risk 3: Insecure Serverless Deployment Configuration
Cloud providers offer many configuration settings to adapt services for specific needs. Out-of-the-box settings are not necessarily always the most secure. As more organizations are migrating to the cloud, cloud configuration flaws will become more prevalent.

Risk 4: Overprivileged Function Permissions and Roles
Managing function permissions and roles is one of the most daunting security tasks organizations are facing when deploying applications to the cloud. It is quite common to see developers cut corners and apply a "wildcard" (catch-all) permission model.

Risk 5: Inadequate Function Monitoring and Logging
While most cloud vendors provide extremely capable logging facilities, these logs are not always suitable for the purpose of providing a full security event audit trail at the application layer.

Risk 6: Insecure Third-Party Dependencies
While the problem of insecure third-party libraries is not specific to serverless, being able to detect malicious packages is more complex in serverless environments given the lack of ability to apply network and behavioral security controls.

Risk 7: Insecure Application Secrets Storage
One of the most frequently recurring mistakes related to application secrets storage, is to simply store these secrets in a plain text configuration file that is a part of the software project. Another common mistake is to store these secrets in plain text, as environment variables.

Risk 8: Denial-of-Service and Financial Resource Exhaustion
Serverless architectures bring promises of automated scalability and high availability; however, as with any other type of application, it is critical to apply best practices and good design in order to avoid bottlenecks.

Risk 9: Serverless Business Logic Manipulation
Business logic manipulation is a common problem in many types of software. However, serverless applications are unique, as they often follow the microservices design and contain numerous functions chained together to form the overall logic. Without proper enforcement, attackers may be able to tamper with the intended logic. 

Risk 10: Improper Exception Handling and Verbose Error Messages
Line-by-line debugging options for serverless-based applications are limited (and more complex) when compared with debugging capabilities for standard applications. As a result, developers frequently adopt the use of verbose error messages, which may leak sensitive data.

Risk 11: Legacy/Unused Functions & Cloud Resources
Over time, serverless functions and related cloud resources may become obsolete and should be decommissioned. The reason behind pruning obsolete components is to reduce unnecessary costs and eliminate avoidable attack surfaces. Obsolete serverless application components may include deprecated serverless function versions, unused cloud resources, unnecessary event sources, unused roles or identities, and unused dependencies.

Risk 12: Cross-Execution Data Persistency
Serverless platforms offer application developers local disk storage, environment variables, and memory to perform their tasks. To make serverless platforms efficient in handling new invocations, cloud providers might reuse the execution environment for subsequent invocations. If the serverless execution environment is reused for subsequent invocations, belonging to different users or sessions, it is possible that sensitive data will be left behind and might be exposed.

It's important to note that the purpose of the guide is to raise awareness and help organizations innovate with serverless securely, not to spread fear. Security risks exist in any type of platform, and serverless is no different. CSA's goal in raising these issues is to encourage organizations to adopt new technologies while avoiding risks and common mistakes.

Editors' note: Ory Segal is a CSA Israel chapter board member. He led the effort behind the "The 12 Most Critical Risks for Serverless Applications" guide.

Related Content:

 

 

 

Join Dark Reading LIVE for two cybersecurity summits at Interop 2019. Learn from the industry's most knowledgeable IT security experts. Check out the Interop agenda here.

Ory Segal is a world-renowned expert in application security, with 20 years of experience in the field. Ory is the CTO and co-founder of PureSec, a start-up that enables organizations to secure serverless applications. Prior to PureSec, Ory was senior director of threat ... View Full Bio
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Crowdsourced vs. Traditional Pen Testing
Alex Haynes, Chief Information Security Officer, CDL,  3/19/2019
BEC Scammer Pleads Guilty
Dark Reading Staff 3/20/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: Well, at least it isn't Mobby Dick!
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
The State of Cyber Security Incident Response
The State of Cyber Security Incident Response
Organizations are responding to new threats with new processes for detecting and mitigating them. Here's a look at how the discipline of incident response is evolving.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2016-10743
PUBLISHED: 2019-03-23
hostapd before 2.6 does not prevent use of the low-quality PRNG that is reached by an os_random() function call.
CVE-2019-9947
PUBLISHED: 2019-03-23
An issue was discovered in urllib2 in Python 2.x through 2.7.16 and urllib in Python 3.x through 3.7.2. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \r\n (specifically in the query string or PATH_INFO) follo...
CVE-2019-9948
PUBLISHED: 2019-03-23
urllib in Python 2.x through 2.7.16 supports the local_file: scheme, which makes it easier for remote attackers to bypass protection mechanisms that blacklist file: URIs, as demonstrated by triggering a urllib.urlopen('local_file:///etc/passwd') call.
CVE-2019-9945
PUBLISHED: 2019-03-23
SoftNAS Cloud 4.2.0 and 4.2.1 allows remote command execution. The NGINX default configuration file has a check to verify the status of a user cookie. If not set, a user is redirected to the login page. An arbitrary value can be provided for this cookie to access the web interface without valid user...
CVE-2019-9942
PUBLISHED: 2019-03-23
A sandbox information disclosure exists in Twig before 1.38.0 and 2.x before 2.7.0 because, under some circumstances, it is possible to call the __toString() method on an object even if not allowed by the security policy in place.