Cloud native
Be careful with your cloud ☁️
About
Cloud-native security refers to a set of security practices and technologies designed specifically for applications built and deployed in cloud environments. It involves a shift in mindset from traditional security approaches, which often rely on network-based protections, to a more application-focused approach that emphasizes identity and access management, container security and workload security, and continuous monitoring and response.
In a cloud-native security approach, security is built into the application and infrastructure from the ground up, rather than added on as an afterthought. This requires a combination of automated security controls, DevOps processes, and skilled security professionals who can manage the complex and dynamic nature of cloud environments. The goal of cloud native-security is to protect against threats and vulnerabilities that are unique to cloud environments, while also ensuring compliance with regulations and standards. [1]
Best practices
From OWASP Cloud-Native Application Security Top 10 [2] (CNAS, by order), try to avoid:
Injection flaws (app layer, cloud events, cloud services)
SQL injection
XXE
NoSQL injection
OS command injection
Serverless event data injection
Improper authentication & authorization
Unauthenticated API access on a microservice
Over-permissive cloud IAM role
Lack of orchestrator node trust rules (e.g. unauthorized hosts joining the cluster)
Unauthenticated orchestrator console access
Unauthorized or overly-permissive orchestrator access
CI/CD pipeline & software supply chain flaws
Insufficient authentication on CI/CD pipeline systems
Use of untrusted images
Use of stale images
Insecure communication channels to registries
Overly-permissive registry access
Using a single environment to run CI/CD tasks for projects requiring different levels of security
Insecure secrets storage
Orchestrator secrets stored unencrypted
API keys or passwords stored unencrypted inside containers
Hardcoded application secrets
Poorly encrypted secrets (e.g. use of obsolete encryption methods, use of encoding instead of encryption, etc.)
See Cryptography
Mounting of storage containing sensitive information
Over-permissive or insecure network policies
Over-permissive pod to pod communication allowed
Internal microservices exposed to the public Internet
No network segmentation defined
End-to-end communications not encrypted
Network traffic to unknown or potentially malicious domains not monitored and blocked
Using components with known vulnerabilities
Vulnerable 3rd party open source packages
Vulnerable versions of application components
Use of known vulnerable container images
Improper assets management
Undocumented microservices & APIs
Obsolete & unmanaged cloud resources
Inadequate "compute" resource quota limits
Resource-unbound containers
Over-permissive request quota set on APIs
Ineffective logging & monitoring (e.g. runtime activity)
No container or host process activity monitoring
No network communications monitoring among microservices
No resource consumption monitoring to ensure availability of critical resources
Lack of monitoring on orchestration configuration propagation and stale configs
Resources
Find here a complete list of resources related to cloud security.
Governance
AWS Governance
MultiCloud Governance
Standards
Compliances
Benchmarks
Tools
Infrastructure
aws_pwn: A collection of AWS penetration testing junk
aws_ir: Python installable command line utility for mitigation of instance and key compromises.
aws-firewall-factory: Deploy, update, and stage your WAFs while managing them centrally via FMS.
aws-vault: A vault for securely storing and accessing AWS credentials in development environments.
awspx: A graph-based tool for visualizing effective access and resource relationships within AWS.
azucar: A security auditing tool for Azure environments
checkov: A static code analysis tool for infrastructure-as-code.
cloud-forensics-utils: A python lib for DF & IR on the cloud.
Cloud-Katana: Automate the execution of simulation steps in multi-cloud and hybrid cloud environments.
cloudlist: Listing Assets from multiple Cloud Providers.
Cloud Sniper: A platform designed to manage Cloud Security Operations.
Cloudmapper: Analyze your AWS environments.
Cloudmarker: A cloud monitoring tool and framework.
Cloudsploit: Cloud security configuration checks.
CloudQuery: Open source cloud asset inventory with set of pre-baked SQL policies for security and compliance.
Cloud-custodian: Rules engine for cloud security, cost optimization, and governance.
consoleme: A Central Control Plane for AWS Permissions and Access
cs suite: Tool for auditing the security posture of AWS/GCP/Azure.
Deepfence ThreatMapper: Apache v2, powerful runtime vulnerability scanner for kubernetes, virtual machines and serverless.
dftimewolf: A multi-cloud framework for orchestrating forensic collection, processing and data export.
diffy: Diffy is a digital forensics and incident response (DFIR) tool developed by Netflix.
ElectricEye: Continuously monitor AWS services for configurations.
Forseti security: GCP inventory monitoring and policy enforcement tool.
Hammer: A multi-account cloud security tool for AWS. It identifies misconfigurations and insecure data exposures within most popular AWS resources.
kics: Find security vulnerabilities, compliance issues, and infrastructure misconfigurations early in the development cycle of your infrastructure-as-code.
Matano: Open source serverless security lake platform on AWS that lets you ingest, store, and analyze data into an Apache Iceberg data lake and run realtime Python detections as code.
Metabadger: Prevent SSRF attacks on AWS EC2 via automated upgrades to the more secure Instance Metadata Service v2 (IMDSv2).
Open policy agent: Policy-based control tool.
pacbot: Policy as Code Bot.
pacu: The AWS exploitation framework.
Prowler: Command line tool for AWS Security Best Practices Assessment, Auditing, Hardening and Forensics Readiness Tool.
ScoutSuite: Multi-cloud security auditing tool.
Security Monkey: Monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.
SkyWrapper: Tool helps to discover suspicious creation forms and uses of temporary tokens in AWS.
Smogcloud: Find cloud assets that no one wants exposed.
Steampipe: A Postgres FDW that maps APIs to SQL, plus suites of API plugins and compliance mods for AWS/Azure/GCP and many others.
Terrascan: Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
tfsec: Static analysis powered security scanner for Terraform code.
Zeus: AWS Auditing & Hardening Tool.
AWS Security Benchmark (⚠️): Open source demos, concept and guidance related to the AWS CIS Foundation framework.
AWS Missing Tools by CloudAvail (⚠️): tools for managing AWS resources including EC2, EBS, RDS, IAM, CloudFormation and Route53.
Container
auditkube: Audit for for EKS, AKS and GKE for HIPAA/PCI/SOC2 compliance and cloud security.
Falco: Container runtime security.
mkit: Managed kubernetes inspection tool.
Open policy agent: Policy-based control tool.
Grype: A vulnerability scanner for container images and filesystems.
Kai: KAI (Kubernetes Automated Inventory) can poll Kubernetes Cluster API(s) to tell Anchore which Images are currently in-use.
Syft: CLI tool and library for generating a Software Bill of Materials from container images and filesystems.
Cloudsploit: Cloud Security Posture Management (CSPM).
Kube-Bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark.
Kube-Hunter: Hunt for security weaknesses in Kubernetes clusters.
Kubectl-who-can: Show who has RBAC permissions to perform actions on different resources in Kubernetes.
Trivy: Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more.
Docker - Docker Bench for Security: The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.
Elias - Dagda: a tool to perform static analysis of known vulnerabilities, trojans, viruses, malware & other malicious threats in docker images/containers and to monitor the docker daemon and running docker containers for detecting anomalous activities.
Falco Security - Falco: Cloud Native Runtime Security.
Harbor - Harbor: An open source trusted cloud native registry project that stores, signs, and scans content.
Quay - Clair: Vulnerability Static Analysis for Containers.
Snyk - Snyk: Snyk CLI scans and monitors your projects for security vulnerabilities.
vchinnipilli - Kubestriker: A Blazing fast Security Auditing tool for Kubernetes.
SaaS
aws-allowlister: Automatically compile an AWS Service Control Policy with your preferred compliance frameworks.
binaryalert: Serverless S3 yara scanner.
cloudsplaining: An AWS IAM Security Assessment tool that identifies violations of least privilege and generates a risk-prioritized report.
Cloud Guardrails: Rapidly cherry-pick cloud security guardrails by generating Terraform files that create Azure Policy Initiatives.
Function Shield: Protection/destection lib of aws lambda and gcp function.
FestIN: S3 bucket finder and content discover.
GCPBucketBrute: A script to enumerate Google Storage buckets.
IAM Zero: Detects identity and access management issues and automatically suggests least-privilege policies.
Lambda Guard: AWS Lambda auditing tool.
Policy Sentry: IAM Least Privilege Policy Generator.
S3 Inspector: Tool to check AWS S3 bucket permissions.
Serverless Goat: A serverless application demonstrating common serverless security flaws.
SkyArk: Tool to helps to discover, assess and secure the most privileged entities in Azure and AWS.
Terraform for Policy Guru (⚠️): Terraform provider for Policy Sentry (IAM least privilege generator and auditor).
Aardvark: Aardvark is a multi-account AWS IAM Access Advisor API.
PolicyUniverse: Parse and Process AWS IAM Policies, Statements, ARNs, and wildcards.
Repokid (⚠️): AWS Least Privilege for Distributed, High-Velocity Deployment.
AWS IAM Generator (⚠️): Generate Multi-Account IAM users/groups/roles/policies from a simple YAML configuration file and Jinja2 templates.
Parliament: AWS IAM linting library.
CloudTracker (⚠️): CloudTracker helps you find over-privileged IAM users and roles by comparing CloudTrail logs with current IAM policies.
Native tools
AWS:
Artifact: Compliance report selfservice.
Audit manager: Continuously audit for AWS usage.
Certificate Manager: Private CA and certificate management service.
CloudTrail: Record and log API call on AWS.
Config: Configuration and resources relationship monitoring.
Elastic Disaster Recovery: Application recovery service.
Detective: Analyze and visualize security data and help security investigations.
Firewall Manager: Firewall management service.
GuardDuty: IDS service
CloudHSM: HSM service.
Inspector: Vulnerability discover and assessment service.
KMS: KMS service
Macie: Fully managed data security and data privacy service for S3.
Network Firewall: Network firewall service.
Secret Manager: Credential management service.
Security Hub: Integration service for other AWS and third-party security service.
Shield: DDoS protection service.
Single Sign-On: Service of centrally manage access AWS or application.
ThreatMapper: Identify vulnerabilities in running containers, images, hosts and repositories.
VPC Flowlog: Log of network traffic.
WAF: Web application firewall service.
Azure:
Application Gateway: L7 load balancer with optional WAF function.
DDoS Protection: DDoS protection service.
Dedicated HSM: HSM service.
Key Vault: KMS service
Monitor: API log and monitoring related service.
Security Center: Integration service for other Azure and third-party security service.
Sentinel: SIEM service.
GCP:
Access Transparency: Transparency log and control of GCP.
Apigee Sense: API security monitoring, detection, mitigation.
Armor: DDoS protection and WAF service
Asset Inventory: Asset monitoring service.
Assured workloads: Secure and compliant workloads.
Audit Logs: API logs.
Binanry Authorization: Binary authorization service for containers and serverless.
Cloud HSM: HSM service.
Cloud IDS: IDS service.
Confidential VM: Encrypt data in use with VM.
Context-aware Access: Enable zero trust access to applications and infrastructure.
DLP: DLP service:
EKM: External key management service
Identity-Aware Proxy: Identity-Aware Proxy for protect the internal service.
KMS: KMS service
Policy Intelligence: Detect the policy related risk.
Security Command Center: Integration service for other GCP security service.
Security Scanner: Application security scanner for GAE, GCE, GKE.
Shielded VM: VM with secure boot and vTPM.
Event Threat Detection: Threat dection service.
VPC Service Controls: GCP service security perimeter control.
Incident Response
Examples
Ex. Automated Security Assessment
Ex. Identity and Access Management
Ex. Web Application Firewall
Others
Reading
AWS:
AWS-IAM-Privilege-Escalation by RhinoSecurityLabs: A centralized source of all AWS IAM privilege escalation methods.
ThreatModel for Amazon S3: Library of all the attack scenarios on Amazon S3, and how to mitigate them following a risk-based approach
Azure:
MicroBurst by NetSPI: A collection of scripts for assessing Microsoft Azure security
GCP:
MicroBurst by NetSPI: A collection of scripts for assessing Microsoft Azure security
Podcasts
Testing & Learning
Labs:
Courses:
Learning Paths (by A Cloud Guru):
Others:
ccat: Cloud Container Attack Tool.
CloudBrute: A multiple cloud enumerator.
cloudgoat: "Vulnerable by Design" AWS deployment tool.
Leonidas: A framework for executing attacker actions in the cloud.
Sadcloud: Tool for spinning up insecure AWS infrastructure with Terraform.
TerraGoat: Bridgecrew's "Vulnerable by Design" Terraform repository.
WrongSecrets: A vulnerable app which demonstrates how to not use secrets. With AWS/Azure/GCP support.
Others
Cloud Risk Encyclopedia by Orca Security: 900+ documented cloud security risks, with ability to filter by cloud vendor, compliance framework, risk category, and criticality.
Sources
[1]: What Is Cloud-Native Security? - Palo Alto Networks
[2]: OWASP Cloud-Native Application Security Top 10 | OWASP Foundation
[3]: 4ndersonLin/awesome-cloud-security: 🛡️ Awesome Cloud Security Resources ⚔️ (github.com)
[5]: teamssix/awesome-cloud-security: awesome cloud security 收集一些国内外不错的云安全资源,该项目主要面向国内的安全人员 (github.com)
Last updated