Cloud Computing · Topic 1 of 2
Cloud Concepts, Containers and Serverless
Learn cloud service and deployment models, shared responsibility, Docker and Kubernetes basics, and serverless computing with their security issues.
- 5 min
- IaaS gives the customer the most control, and SaaS the least.
- The customer is always responsible for their data and access management.
- Containers share the host kernel, so they isolate less than virtual machines.
What it is
Cloud computing delivers computing resources over a network on demand, so customers rent capacity instead of owning hardware. The NIST definition (SP 800-145) lists five essential characteristics, three service models and four deployment models.
Containers package an application with its dependencies so it runs the same everywhere. Serverless computing runs small functions without the customer managing servers. The exam asks you to name models, place responsibilities and spot security issues in containers and functions.
How it works
Cloud concepts
Five NIST characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service.
| Service model | Customer manages | Provider manages | Example |
|---|---|---|---|
| IaaS (infrastructure as a service) | Operating system, apps, data | Hardware, virtualization | A virtual machine |
| PaaS (platform as a service) | Apps and data | Everything below, including the runtime | A managed app platform |
| SaaS (software as a service) | Data and user access | The whole application | Web based email |
| Deployment model | Meaning |
|---|---|
| Public | Shared infrastructure run by a provider for many customers |
| Private | Infrastructure used by one organization |
| Community | Shared by organizations with common needs |
| Hybrid | A mix of two or more models, linked together |
Shared responsibility model: the provider secures the cloud itself (facilities, hardware, base services), and the customer secures what they put in the cloud (data, identities, configuration). The more managed the service, the more the provider handles, but the customer always owns their data and access control.
Other terms: multi-tenancy means several customers share the same hardware, and a hypervisor is the software that creates and runs virtual machines.
Container technology
A container is a lightweight, isolated process that bundles an application and its libraries. Unlike a virtual machine it shares the host's operating system kernel, so it starts fast but isolates less.
| Element | Role |
|---|---|
| Image | A read only template used to create containers |
| Registry | A store for images, such as Docker Hub |
| Docker | A common container platform. The Docker daemon manages containers. |
| Orchestrator | Software such as Kubernetes that schedules and scales many containers |
Kubernetes components: the API server (the control point), etcd (the key value store holding cluster state and secrets), the scheduler, the controller manager, and on each node the kubelet and kube-proxy. Workloads run in pods.
Container security issues:
- Images with known vulnerabilities or hidden malware, often from untrusted registries.
- Secrets baked into images.
- Containers run as root or in privileged mode, which makes escape to the host easier.
- An exposed Docker daemon API (unencrypted API port 2375) or an open Kubernetes API or kubelet.
- Weak role based access control (RBAC) and no network policies between pods.
- Container escape through a kernel or runtime flaw, which gives access to the host.
Countermeasures include scanning images (tools such as Trivy, Clair and Anchore), using trusted and signed images, running as a non-root user, dropping capabilities, restricting the API with authentication and TLS, enabling RBAC and network policies, and auditing with benchmarks (Docker Bench for Security, kube-bench). The tool kube-hunter looks for weaknesses in a cluster.
Serverless computing
In serverless computing, also called function as a service (FaaS), the customer uploads code that runs in response to events, and the provider handles servers, scaling and patching. Examples include AWS Lambda, Azure Functions and Google Cloud Functions. Billing is by execution.
Serverless security issues:
- Event data injection: input from triggers (storage events, messages, HTTP requests) is trusted and not validated.
- Over privileged function roles: a function that can do more than it needs lets an attacker move further.
- Vulnerable dependencies in packaged libraries.
- Secrets stored in code or environment variables in clear text.
- Denial of service and "denial of wallet": floods of invocations raise cost or exhaust limits.
- Limited visibility: short lived functions leave few traces unless logging is enabled.
Countermeasures: validate every event input, give each function the least privilege role, scan dependencies, keep secrets in a managed secrets store, set concurrency and budget limits, and log invocations.
A worked example
A team runs a web app in containers on Kubernetes. A scan shows the kubelet API is reachable from the internet without authentication, and several pods run in privileged mode.
An attacker could run commands in containers and escape to the node. The fix is to restrict API access, require authentication, remove privileged mode, and apply network policies. Image scanning in the build pipeline would catch vulnerable components earlier.
How the exam asks about this
- "In which service model does the customer manage the operating system?" → IaaS.
- "Which Kubernetes component stores cluster state and secrets?" → etcd.
- "What is another name for serverless computing?" → Function as a service.
What to remember for the exam
- IaaS gives the customer the most control, and SaaS the least.
- The customer is always responsible for their data and access management.
- Containers share the host kernel, so they isolate less than virtual machines.
- etcd, the API server and the kubelet must be protected from open access.
- Serverless risks are input injection, over privileged roles and weak logging.
Serverless does not mean no security work. The provider patches the servers, but the customer still owns the code, permissions and data.
Common mistakes
Assuming the provider secures everything. Misconfigurations on the customer side cause most incidents.
Treating containers as virtual machines. They share a kernel, so a kernel flaw can affect all containers on the host.
Mixing IaaS and PaaS. In PaaS the customer no longer manages the operating system.
Check yourself
Which service model leaves the customer only the data and user access?
SaaS.
Why is a privileged container risky?
It has wide access to the host, so a compromise can lead to a container escape and host takeover.
What is a serverless function trigger?
An event, such as an HTTP request or storage upload, that starts the function.
Topic 1 of 2 in Cloud Computing
Test yourself on Cloud Computing
The full EC-Council 312-50 question bank has 1,000 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by EC-Council. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.