Cloud Application Security (Chapter 6) Flashcards

1
Q

What are the Common Cloud Application Deployment Pitfalls?

A
  • Performance
  • Scalability
  • Interoperability
  • Portability
  • Availabiltiy and Reliability
  • API Security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Common Cloud Application Deployment Pitfalls: Explain Performance pitfalls.

A

Cloud software development often relies on loosely coupled services. That means that designing for performance and ensuring performance goals are met can be complex, as multiple components may interact in unexpected ways, even in relatively simple designs.

The same complexity that can lead to performance issues can also allow developers to operate at almost any scale without maintaining infrastructure for the highest use cases, even when the solution is not being heavily used.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Common Cloud Application Deployment Pitfalls: Explain Scalability Pitfalls.

A

One of the key features of cloud environments is the ability to scale, allowing applications and services to grow and shrink as need and demands fluctuate.

It needs to be able to run across many instances at once, to retain state regardless of which instance or server is handling requests, and to handle faults with individual servers cleanly.

At the same time, developers need to ensure that data remains secure in transit at rest in an environment that is scaling as needed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Common Cloud Application Deployment Pitfalls: Explain Interoperability Pitfalls.

A

Interoperability, or the ability to work across platforms, services, or systems, can be very important for cloud environments.

If you are providing a service, being able to interoperate with the systems that customers rely on can be a business advantage. If you are running your own services, being able to work on multiple platforms or in different cloud provider environments can help control costs and increase your options for hosting and service provider choice.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Common Cloud Application Deployment Pitfalls: Explain Portability Pitfalls.

A

Designing software that can move between on-premises and cloud environments, or between cloud providers, requires that the software be portable.

Portability concerns in cloud software development typically center around avoidance of components specific to certain cloud vendors, like APIs or internal tools.

At the same time, avoiding use of those APIs and tools can require additional work or may make it harder to leverage the advantages that the cloud environment can offer to applications and services that leverage their native tools.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Common Cloud Application Deployment Pitfalls: Explain Availability and Reliability Pitfalls.

A

At the same time, cloud providers do experience outages, and those outages can have a widespread impact. Even an outage that impacts a different cloud service provider than your own, or one that is centered in a different region or availability zone, can cause issues for your infrastructure or applications.

The interwoven and complex nature of cloud services means that understanding dependencies and how they may impact the reliability and availability of your own services can be challenging. In fact, they may be close to impossible to fully document in many organizations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why is Cryptography important in the cloud scenario?

A

Cryptography is a key element of [[3. Cloud Data Security|data security in the cloud]], and application designs and architecture need to take into account where cryptography will be used throughout the [[3.1 Cloud Data Lifecycle|data lifecycle]].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What kind of encryptions do you have in the cloud?

A
  • Encryption of Data at Rest
  • Encryption of Data in Transit
  • Whole-Instance Encryption - Full Disk Encryption
  • Volume Encryption
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explain encryption of data at rest.

A

Data at rest, whether it be short-term or long-term storage, should be protected from potential issues created by the use of shared infrastructure (multitenancy) in cloud environments.

Encrypting data at rest is a great way to prevent unauthorized access to data and to prevent breaches if inadvertent access occurs or if remenant data is accessible to future users of the shared infrastructure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the primary requirement for security for any encryption scheme?

A

Keep in mind that the primary requirement for security any encryption scheme is the safe storage and management of the keys used to encrypt and decrypt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Explain Full-Disk Encryption and Whole-Instance Encryption.

A

Also known as full-disk encryption (FDE), whole-instance encryption involves encrypting a complete system’s disk or storage.

Full-disk encryption protects data on the device in the event the device itself is lost or stolen, including if a shutdown instance or snapshot is stolen or breached.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explain Volume Encryption.

A

Much like encrypting an entire device, volume encryption refers to encrypting only a partition on a hard drive or cloud storage that is presented as a volume, as opposed to an entire disk.

This is useful when the entire disk does not need to be encrypted because only the protected sections have data of any value, such as underlying operating system files that do not contain sensitive data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Explain Encryption of Data in Transit.

A

Encryption of data in transit helps prevent attacks on the network path between systems or users.

The most common means of protecting data in transit is via Transport Layer Security (TLS), a protocol designed to ensure privacy when communicating between applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Is SSL and TLS the same?

A

You may here TLS referred to as SSL (Secure Sockets Layer), the protocol was used before TLS. In almost all modern cases, references to SSL actually mean TLS; but as a security practitioner you will have to make sure you check. SSL is outmoded and shouldn’t be in actual use!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does the term unencrypted protocol describe?

A

The term unencrypted protocols describes systems that attempt to encrypt traffic whenever they can, only falling back to unencrypted when they don’t succeed.

This often means wrapping communications using TLS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Sandboxing?

A

Sandboxing places systems or code into an isolated, secured environment where testing can be performed. Cloud sandboxing architectures often take advantage of the ability to quickly create independent, short-lived environments with built-in instrumentation and code-based infrastructure to allow sandbox testing.

17
Q

What is application virtualization

A

Application virtualization allows applications to be run without being directly linked to the underlying operating system. Unlike [[1.8.1 Hypervisors|hypervisors]] for system virtualization, application virtualization does not virtualize the entire system.

Instead, application virtualization tools insert themselves between applications and the operating system and virtualize that interface. This allows for greater [[6.1.1.4 Cloud Deployment Pitfalls - Portability|portability]] and segmentation while consuming fewer resources than a full virtual machine.

Common examples of application virtualization include Amazon’s AppStream, Citirx’s XenApp, Microsoft’s App-V, and VMware’s ThinApp.

18
Q

What are the high level differences between each type of virtualization?

A

Image

19
Q

What are the different virtualization types?

A
  • Virtualization
  • Containerization
  • Application Virtualization
20
Q

What are the two common types of APIs?

A
  • REST (Representational State Transfer)
  • SOAP (Simple Object Access Protocol)
21
Q

What is Representational State Transfer (REST) used for?

A

The first is RESTful APIs. REST stands for Representational State Transfer. It is a software approach designed to scale the capabilities of web-based applications and is based on guidelines and best practices for creating scalable web applications.

22
Q

Name some characterists of the REST approach:

A
  • Low processing/traffic overhead (“lightweight”)
  • Uses simple URLs/URIs
  • Not reliant on any single programming language
  • Scalable
  • Offers outputs in many formats (XML, JSON, and others)
  • Uses HTTP verbs like:
    • POST to create an object
    • GET to read data
    • PUT to update or replace data
    • PATCH to update or modify an object
    • DELETE to delete an object
23
Q

What are the situations in which REST works well?

A
  • when bandwidth is limited
  • when stateless operations are used
  • when caching is neede
24
Q

What is the Simple Object Access Protocol (SOAP)?

A

SOAP is the other common API approach you should be familiar with. Simple Object Access Protocol (SOAP) is a protocol specification providing for the exchange of structured information or data in web services. It also works over other protocols such as SMTP, FTP, and HTTP.

25
Q

Name a few characteristics of Simple Object Access Protocol (SOAP).

A

SOAP also has the following characteristics:
- Standards based
- Reliant on XML
- Highly intolerant of errors
- Slower
- Built-in error handling

26
Q

What is Simple Object Access Protocol (SOAP) well suited for?

A

SOAP is well suited to:
- asynchronous processing,
- format contracts,
- and stateful operations.

27
Q

Name the three different API models.

A
  • Public APIs
  • Partner APIs
  • Private, or Internal, APIs
28
Q

Explain Public APIs.

A

Public APIs, which are provided to those outside the organization, allowing for integration by third parties. These are often licensed or have a pay-per-use model and need to be secured against misuse and overuse.

29
Q

Explain Partner APIs.

A

Partner APIs are provided to business partners or other organizations that your organization has an established relationship with. They are often used as part of shared business processes. Since they are exposed outside the organization, they often require additional security and monitoring.

30
Q

Explain Private, or Internal APIs.

A

Private, or Internal, APIs which are used for internal uses and are not made available to third parties. Private APIs are often exposed via an internal API directory and can leverage internal authentication and authorization capabilities more easily than a public or partner API.

31
Q

What are the 6 common API threats?

A

The following API threats are common:
- Injection attacks
- Denial-of-service (DOS) attacks
- Poorly secured API servers or services
- On-Path attacks
- Credential attacks, including
- stolen credentials
- accidental API key exposure
- brute force attacks
- Poor API key generation techniques

32
Q

What are API keys for?

A

API keys are unique identifies used for authentication and authorization to an API.
API keys may be associated with privileges or resource restrictions, and API key breaches can allow third parties to gain unauthorized access to an API, so keeping API keys secure is a critical security task.

33
Q

What are common security practices around API keys?

A
  • avoiding API keys in code or in code repositories
  • restricting their use
  • deleting unneeded API keys
  • ## regenerating keys so that long-lived keys aren’t useful to malicious actors who acquire them.
34
Q
A