Cloud Security Fundamentals - Apprentice Flashcards
3 Properties of cloud technologies as defined by the Cloud Native Computing Foundation?
- Container Packaged
- Dynamically Managed
- Microserviced
Container Packaged
Running applications and processes in software containers as isolated units of application deployment, and as mechanisms to achieve high levels of resource isolation. Improves overall developer experience, fosters code and component reuse, and simplifies operations for cloud native applications.
Dynamically Managed
Actively scheduled and actively managed by a central orchestrating process. Radically improves machine efficiency and resource utilization while reducing the cost associated with maintenance and operations.
Microserviced
Loosely coupled with dependencies explicitly described (for example, through service endpoints). Significantly increases the overall agility and maintainability of applications. The foundation will shape the evolution of the technology to advance the state of the art for application management, and to make the technology ubiquitous and easily available through reliable interfaces.
hypervisor
A hypervisor allows multiple, virtual (or guest) operating systems to run concurrently on a single physical host computer.
Native (Type 1 or bare metal) Hypervisor
A native (also known as a Type 1 or bare metal) hypervisor runs directly on the host computer’s hardware.
Hosted (type 2) Hypervisor
A hosted (also known as a Type 2) hypervisor runs within an operating system environment.
What is the foundation of cloud computing?
Virtualization
_______ software allows multiple, virtual guest operating systems to run concurrently on a single physical host computer.
Hypervisor
Hypervisor functions between ______ and _______
Computer Operating Systems
Hardware Kernel
VM Sprawl
Virtual environments can grow quickly, leading to a breakdown in change management processes and exacerbating security issues such as dormant VMs, hypervisor vulnerabilities, and intra-VM communications.
Kubernetes
an open-source orchestration platform that provides an application programming interface (API) that enables developers to define container infrastructure in a declarative fashion, that is, infrastructure as code (IaC).
Microservices
Microservices architecture is a software development technique that uses containers to break large enterprise application code into smaller chunks, called microservices, for programmers to work on. These microservices run on separate containers, and Kubernetes orchestrates these containers to run the entire application code.
Hypervisors vs Containers
hypervisors abstract hardware and allow you to run operating systems.
Containers abstract the operating system to enable you to run applications.
Micro-VM
Micro-VMs are scaled-down, lightweight virtual machines that run on hypervisor software. Micro-VMs contain only the Linux operating system kernel features necessary to run a container.
Cloud Compute Service (AWS/Azure/GCP)
AWS - EC2
Azure - Azure VM
GCP - Computer Engine
Cloud Object Storage Service (AWS/Azure/GCP)
AWS - S3
Azure - Blob Storage
GCP - Cloud Storage
Cloud Database Service (AWS/Azure/GCP)
AWS - RDS
Azure - SQL Database
GCP - Cloud SQL
Cloud Networking Service (AWS/Azure/GCP)
AWS - Direct Connect
Azure - Virtual Network
GCP - Cloud Interconnect
Benefits for Serverless Model
Reduced Operational Overheard
Increased Agility
Reduced Costs
DAST
Dynamic Application Security Testing
DAST tools will only provide testing coverage for HTTP interfaces. This limited capability poses a problem when testing serverless applications that consume input from non-HTTP sources or interact with backend cloud services.
SAST
Static Application Security Testing
SAST tools rely on data-flow analysis, control flow, and semantic analysis to detect vulnerabilities in software. This is because serverless applications contain multiple distinct functions that are stitched together using event triggers and cloud services
IAST
Interactive Application Security Testing
IAST tools have better odds at accurately detecting vulnerabilities in serverless applications when compared to both DAST and SAST.
In which model do applications rely on managed services that abstract away the need to manage, patch, and secure infrastructure and virtual machines?
Serverless