Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a key security challenge unique to serverless computing?
A key challenge is managing the increased attack surface due to many small, event-driven functions that can be triggered independently.
Click to reveal answer
beginner
Why is least privilege important in serverless security?
Least privilege means giving functions only the permissions they need, reducing risk if a function is compromised.
Click to reveal answer
intermediate
How can environment variables pose a security risk in serverless functions?
If sensitive data like API keys are stored in environment variables without encryption, they can be exposed if the function environment is accessed improperly.
Click to reveal answer
intermediate
What role does monitoring and logging play in serverless security?
Monitoring and logging help detect unusual activity or attacks quickly, which is critical since serverless functions are short-lived and distributed.
Click to reveal answer
beginner
How does the shared responsibility model affect serverless security?
Cloud providers secure the infrastructure, but users must secure their code, configurations, and data access controls.
Click to reveal answer
What is a common way to reduce risk in serverless functions?
AUsing least privilege access controls
BGranting all permissions to every function
CDisabling logging to improve speed
DStoring secrets in plain text environment variables
✗ Incorrect
Using least privilege access controls limits what each function can do, reducing potential damage if compromised.
Why is monitoring important in serverless environments?
ABecause functions run for a long time
BBecause functions are short-lived and distributed
CBecause serverless eliminates all security risks
DBecause monitoring slows down functions
✗ Incorrect
Functions are short-lived and run in many places, so monitoring helps detect issues quickly.
Who is responsible for securing the serverless infrastructure?
AThird-party vendors only
BThe user only
CNo one
DThe cloud provider
✗ Incorrect
Cloud providers secure the underlying infrastructure; users secure their code and configurations.
What risk comes from storing secrets in environment variables without encryption?
AExposure of sensitive data if accessed improperly
BNo risk at all
CImproved security
DFaster function execution
✗ Incorrect
Unencrypted secrets can be exposed if someone gains access to the function environment.
What increases the attack surface in serverless computing?
AUsing a single large server
BDisabling all network access
CHaving many small, independent functions
DNot using any cloud services
✗ Incorrect
Many small functions increase points where attackers can try to exploit vulnerabilities.
Explain the shared responsibility model in serverless security and what users must do to protect their applications.
Think about who handles what in cloud security.
You got /4 concepts.
Describe why monitoring and logging are critical in serverless environments and how they help improve security.
Consider the nature of serverless functions and how to spot problems.
You got /4 concepts.
Practice
(1/5)
1. What is a key security principle to follow when configuring permissions for serverless functions?
easy
A. Allow permissions only during business hours
B. Give all permissions to avoid errors
C. Use default permissions without changes
D. Grant only the minimum permissions needed for the function to work
Solution
Step 1: Understand the principle of least privilege
Least privilege means giving only the permissions necessary for a task, nothing extra.
Step 2: Apply least privilege to serverless functions
Serverless functions should have minimal permissions to reduce risk if compromised.
Final Answer:
Grant only the minimum permissions needed for the function to work -> Option D
Quick Check:
Least privilege = Grant minimum permissions [OK]
Hint: Always limit permissions to what is strictly needed [OK]
Common Mistakes:
Giving too many permissions increases risk
Using default permissions without review
Assuming permissions can be broad safely
2. Which of the following is the correct way to validate input data in a serverless function?
easy
A. Ignore input validation to save time
B. Validate inputs against expected formats and reject invalid data
C. Trust all inputs from authenticated users
D. Validate inputs only after processing
Solution
Step 1: Recognize the importance of input validation
Validating inputs prevents malicious or malformed data from causing harm.
Step 2: Apply validation before processing inputs
Rejecting invalid data early protects the function and backend systems.
Final Answer:
Validate inputs against expected formats and reject invalid data -> Option B
Quick Check:
Input validation = Check and reject bad data [OK]
Hint: Always check inputs before using them in your code [OK]
Common Mistakes:
Trusting inputs from authenticated users blindly
Skipping validation to speed up development
Validating inputs only after processing
3. Consider this serverless function snippet that processes user data:
def handler(event):
user_input = event.get('input')
if not user_input:
return 'No input'
return f'Processed: {user_input}'
What is a potential security risk in this code?
medium
A. It does not validate or sanitize the user input
B. It does not encrypt the user input
C. It uses a return statement
D. It checks if input is missing
Solution
Step 1: Analyze input handling in the function
The function accepts user input but does not check if it is safe or clean.
Step 2: Identify missing input validation or sanitization
Without validation, malicious input could cause injection or other attacks.
Final Answer:
It does not validate or sanitize the user input -> Option A
Quick Check:
Missing input validation = Security risk [OK]
Hint: Look for missing input checks in code snippets [OK]
Common Mistakes:
Thinking encryption is needed for all inputs
Confusing return usage with security
Ignoring input validation importance
4. A developer wrote this serverless function to encrypt data but it fails to run:
A. The cryptography module does not have a direct encrypt function
B. The function encrypts data correctly
C. Missing import for json module
D. The function encrypts data twice
Solution
Step 1: Check the cryptography module usage
The cryptography library requires specific classes and methods for encryption, not a direct encrypt function.
Step 2: Identify the incorrect function call
Calling cryptography.encrypt(data) will cause an error because no such function exists directly.
Final Answer:
The cryptography module does not have a direct encrypt function -> Option A
Quick Check:
cryptography.encrypt() does not exist [OK]
Hint: Check library docs for correct function names [OK]
Common Mistakes:
Assuming all modules have simple encrypt() functions
Ignoring import errors
Confusing encryption with data formatting
5. You want to secure a serverless app that processes sensitive user data. Which combination of practices best improves security?
hard
A. Encrypt data only after processing and ignore monitoring
B. Grant full permissions to speed up development and skip input validation
C. Use least privilege permissions, validate inputs, encrypt data at rest and in transit, and monitor logs for suspicious activity
D. Use default permissions and rely on cloud provider security alone
Solution
Step 1: Identify best security practices for serverless apps
Key practices include least privilege, input validation, encryption, and monitoring.
Step 2: Evaluate each option against these practices
Use least privilege permissions, validate inputs, encrypt data at rest and in transit, and monitor logs for suspicious activity includes all important steps; others skip critical protections.
Final Answer:
Use least privilege permissions, validate inputs, encrypt data at rest and in transit, and monitor logs for suspicious activity -> Option C