Chapter 4: Domain 4: Cloud Application Security (Ben Malisow) Flashcards
ISO 27034 mandates a framework for application security within an organization. According to the standard, each organization should have a(n) _______________, and each application within the organization should have its own _______________.
A. Organizational Normative Framework (ONF), Application Normative Framework (ANF)
B. Application Normative Framework (ANF), Organizational Normative Framework (ONF)
C. Standard Application Security (SAS), Application Normative Framework (ANF)
D. Organizational Normative Framework (ONF), Standard Application Security (SAS)
A. Organizational Normative Framework (ONF), Application Normative Framework (ANF)
Explanation:
The ONF lists all the controls used in all the applications within an organization; each ANF lists the particular controls used in each application the organization has.
Standard Application Security is a made-up term therefore options C and D are incorrect
According to ISO 27034, there is one Organizational Normative Framework (ONF) in the organization, and _______________ Application Normative Framework (ANF[s]) for each application within that organization.
A. Many
B. Three
C. No
D. One
D. One
Explanation:
Each application will have its own ANF, derived from the organizations ONF.
This can be a difficult question because there are many ANFs in the organization, but only one for each application.
The reader needs to examine the question carefully.
What language is used in the Simple Object Access Protocol (SOAP) application design protocol?
A. Hypertext Markup Language (HTML)
B. X.509
C. Extensible Markup Language (XML)
D. Hypertext Transfer Protocol (HTTP)
C. Extensible Markup Language (XML)
Explanation:
SOAP necessarily uses XML
HTML is a language used to tag text files so that they can be displayed with different fonts, colors, graphics and hyperlinks.
HTML is not used in SOAP. Option A is incorrect
Option D is incorrect because HTTP is protocol and the question is about a programming language
Typically, representational state transfer (REST) interactions do not require _______________.
A. Credentials
B. Sessions
C. Servers
D. Clients
B. Sessions
Explanation:
Generally, a REST interaction involves the client asking the server (through an API for data, sometimes as a result of the processing; the server processes the request and returns the result.
In REST, an enduring session, where the server has to store some temporary data about the client, is not necessary
These interactions obviously involve servers and clients, so options C and D are not correct.
Using REST does not eliminate the need for credentials, so option A is not correct
Representational state transfer (REST) application programming interfaces (APIs) use _______________ protocol verbs.
A. Hypertext Markup Language (HTML)
B. Hypertext Transfer Protocol (HTTP)
C. Extensible Markup Language (XML)
D. American Standard Code for Information Interchange (ASCII)
B. Hypertext Transfer Protocol (HTTP)
Explanation:
Roy Fielding, the author of the PhD dissertation that created REST, was also the author of HTTP, so it is no surprise the command set is the same.
All the other options are incorrect because the REST APIs do not use HTML, XML or ASCII as protocol verbs
The architecture of the World Wide Web, as it works today, is _______________.
A. JavaScript Open Notation (JSON)
B. Denial of service (DoS)
C. Representational state transfer (REST)
D. Extensible Markup Language (XML)
C. Representational state transfer (REST)
Explanation:
The web is mainly HTTP, which is a RESTful protocol
All the other options are incorrect because they do not answer the question about the architecture of the World Wide Web
RESTful responses can come from the server in _______________ or _______________ formats.
A. Extensible Markup Language (XML), JavaScript Open Notation (JSON)
B. Hypertext Transfer Protocol (HTTP), X.509
C. American Standard Code for Information Interchange (ASCII), text
D. Hypertext Markup Language (HTML), Extensible Markup Language (XML)
A. Extensible Markup Language (XML), JavaScript Open Notation (JSON)
Explanation:
Server can return REST requests to clients in a number of formats, including XML and JSON
X.509 certificates are used for passing session encryption information, not data requests, so option B is incorrect
Servers usually return data requests in some sort of display format, not plain text or ASCII, so option C is incorrect
HTML responses would simply be an entire web page, not specific data, so option D is incorrect
Which of the following is an informal industry term for moving applications from a traditional environment into the cloud?
A. Instantiation
B. Porting
C. Grandslamming
D. Forklifting
D. Forklifting
Explanation:
All the other options are simply words used in other contexts. They are incorrect
Developers creating software for the cloud environment should bear in mind cloud-specific risks such as _______________ and _______________ .
A. DoS and DDoS (denial of service and distributed denial of service)
B. Multitenancy and third-party administrators
C. Unprotected servers and unprotected clients
D. Default configurations and user error
B. Multitenancy and third-party administrators
Explanation:
All the other options are risks that exist in the traditional environment as well as the cloud
When an organization considers cloud migrations, the organization’s software developers will need to know which _______________ and which _______________ the organization will be using, in order to properly and securely create suitable applications.
A. Geographic location, native language
B. Legal restrictions, specific ISP
C. Service model, deployment model
D. Available bandwidth, telecommunications country code
C. Service model, deployment model
Explanation:
In order for developers to properly create and secure applications, they will need to understand the extend of resource sharing (public/private/hybrid/community) and level of control (infrastructure as a service, platform as a service, software as a service the organization will expect in the cloud environment
Which of the following is perhaps the best method for reducing the risk of a specific application not delivering the proper level of functionality and performance when it is moved from the traditional environment into the cloud?
A. Remove the application from the organization’s production environment and replace it with something else.
B. Negotiate and conduct a trial run in the cloud environment for that application before permanently migrating.
C. Make sure the application is fully updated and patched according to all vendor specifications.
D. Run the application in an emulator.
B. Negotiate and conduct a trial run in the cloud environment for that application before permanently migrating.
Explanation:
A trial run in the cloud will reveal any functionality/performance loss before permanent cloud migration
Option A doesnt reduce any risk for a specific application; it trades the risk of one application not operating correctly with the risk of another application not working correctly.
This answer is wrong
All applications should be reasonably patched and updated, whether it is in the traditional environment or the cloud. Option C is incorrect.
An emulator wont reduce the risk of degraded performance; it will probably result in degraded performance. Option D is incorrect
Software developers designing applications for the cloud should expect to include options to ensure all of the following capabilities except _______________.
A. Encryption of data at rest
B. Encryption of data in transit
C. Data masking
D. Hashing database fields
D. Hashing database fields
Explanation:
Not all programs (or organizations) will require database access, or even use databases, and hashing is not a common requirement
All the other functions are expected in the majority of cloud operations
In a platform as a service (PaaS) model, who should most likely be responsible for the security of the applications in the production environment?
A. Cloud customer
B. Cloud provider
C. Regulator
D. Programmers
A. Cloud customer
Explanation:
In PaaS, the customer is responsible for the administration (and security) of applications
Neither regulators nor programmers are responsible for the security of the applications in the production environment.
That is the responsibility of the cloud customer
It may appear as though the cloud provider should be responsible for application security, however, as the cloud customer acquires more responsibility for their cloud environment, the cloud provider assumes less responsibility.
Option B is incorrect
In the testing phase of the software development lifecycle (SDLC), software performance and _______________ should both be reviewed.
A. Quality
B. Brevity
C. Requirements
D. Security
D. Security
Explanation:
Performance and security both need to be reviewed for adequacy
In this context, quality would be synonymous with performance and requirements, so D is a better answer than A or C
Brevity is not a trait we look for in testing, even though it may be desirable in programming, so B is incorrecrt
Regardless of which model the organization uses for system development, in which phase of the software development lifecycle (SDLC) will user input be requested and considered?
A. Define
B. Design
C. Develop
D. Detect
A. Define
Explanation:
In the Define phase, we are trying to determine the purpose of the software, in terms of meeting the users needs; therefore, we may solicit input from the user community in order to figure out what they really want
Options B and C are other phases of the SDLC, but not all SDLC models incorporate user input in these phases, so the options are not correct
Option D is not a phase of the SDLC and is incorrect
Which phase of the software development lifecycle (SDLC) is most likely to involve crypto-shredding?
A. Define
B. Design
C. Test
D. Disposal
D. Disposal
Explanation:
Disposal is the only phase concerned with t he sanitization of media or destruction of data,
All the other options are also SDLC phases, however, crypto-shredding is much more likely to be used in the disposal phase
Where are business requirements most likely to be mapped to software construction?
A. Define
B. Design
C. Test
D. Secure Operations
B. Design
Explanation:
Design is the correct answer, as this is where the requirements gathered during the Define phase are mapped to system designs
All the other options are SDLC phases where requirements are not mapped to software construction
All of the following are usually nonfunctional requirements except _______________.
A. Color
B. Sound
C. Security
D. Function
D. Function
Explanation:
Function is usually the functional requirement, describing what action the tool/process satisfies
All the others are usually nonfunctional requirements.
Exceptions to this are when the characteristics listed is the actual desired function.
For instance, if the product is a tool that enunciates text so that a blind user can hear the words, then sound would be the functional requirement.
If the product is a security tool such as a firewall or data loss prevention solution, then security would be a functional requirement.
Otherwise, these are non functional requirements for standard products
Designers making applications for the cloud have to take into consideration risks and operational constraints that did not exist or were not as pronounced in the traditional environment. Which of the following is an element cloud app designers may have to consider incorporating in software for the cloud that may not have been as important in the traditional environment?
A. Identity and access management (IAM) capability
B. Distributed denial of service (DDoS) resistance
C. Encryption for data at rest and in motion
D. Field validation
C. Encryption for data at rest and in motion
Explanation:
Traditional apps wont usually require encryption in all phases of the data lifecycle because data is protected in several stages in the traditional environment without the need for additional controls.
In the cloud environment, however, data exposed at any point in the lifecycle might constitute an inadvertent disclosure, so cloud apps require encryption for data at rest and in motion (and usually in use as well)
Even traditional apps require IAM and field validation functions, so options A and D are incorrect
Most anti-DDoS activity will be performed by hardware and communication software run by the cloud provider or ISP; developers should not typically need to include anti-DDoS elements in their programs.
Option B is incorrect
Designers making applications for the cloud have to take into consideration risks and operational constraints that did not exist or were not as pronounced in the traditional environment. Which of the following is an element cloud app designers may have to consider incorporating in software for the cloud that might not have been as important in the traditional environment?
A. Application isolation
B. Inference framing
C. Known secure library components
D. Testing that uses known bad data
A. Application isolation
Explanation:
Because the cloud is a multitenant environment, one of the concerns that developers should consider is how well the application prevents other applications or users from observing its operation and resource calls.
In the traditional environment, this is not usually required because the organization owns the underlying infrastructure (as a single tenant) and there is very little risk in exposing the applications functionality.
Inference framing is a nonsense term, used here only as a distractor
Software should include known secure components, and testing should include known bad data (fuzz testing), whether it is going to be used in the cloud or in a traditional environment, so options C and D are incorrect
Designers making applications for the cloud have to take into consideration risks and operational constraints that did not exist or were not as pronounced in the traditional environment. Which of the following is an element cloud app designers may not be able to use as readily in the cloud environment as it was deployed in the traditional environment?
A. Cryptography
B. STRIDE testing
C. Field validation
D. Logging
D. Logging
Explanation:
The cloud provider may have controls that restrict logging, or the delivery of log data, in the environment; this can make it complicated for cloud developers to include that functionality/security element in cloud apps.
All the other options are things that can (and should) be done with software whether the application is being used in traditional or cloud environments, so those options are incorrectr
All of these can affect the quality of service expected from an application except _______________.
A. Encryption
B. Egress monitoring
C. Anti-malware tools
D. Use of known secure libraries/components
D. Use of known secure libraries/components
Explanation:
Using only known secure libraries and components in software design may slow down development efforts but shouldnt impact how the application runs.
All the other options are security controls that will degrade performance because they require additional overhead; these options are incorrect
The possibility that a user could gain access or control of an application so as to take on administrator or management capabilities is called _______________.
A. Inversion
B. Spoofing
C. Repudiation
D. Escalation of privilege
D. Escalation of privilege
Explanation:
This is the definition of escalation of privilege
Inversion is a nonsense term in this context and just a distractor
Options B and C are threat modeling elements but are not correct answers for this question
Which of the following is not checked when using the STRIDE threat model?
A. The ability of users to gain administrative access rights without proper permission
B. The ability of internal personnel to trigger business continuity/disaster recovery activities
C. The ability of a participant in a transaction to refute that they’ve taken part in the transaction
D. The ability of an unauthorized user to pretend to be an authorized user
B. The ability of internal personnel to trigger business continuity/disaster recovery activities
Explanation:
The STRIDE threat model does not deal with business continuity and disaster recovery actions
All other options are elements of STRIDE (escalation of privilege, repudiation, and spoofing respectively) and are therefore not correct