Domain 8 Flashcards
__ application security testing involves probing a fielded or running application in order to discover potential flaws. This is considered __ box testing.
dynamic application security testing or dynamic application testing, black box testing.
__ computing includes client/server (user over server-based applications by interfacing via the client), 3-tier (web apps e.g. web front-end, middleware, backend data store), peer-to-peer (each endpoint equally capable.
distributed computing
__ is if you find a vulnerability in Microsoft’s code and you publicly release it, that forces Microsoft to fix it. __ is going straight to Microsoft and waiting for them to release it.
full disclosure, closed disclosure
__ is the acronym for “Secure: by Design, by Default, by Deployment and Communications”
SD3+C, Application security is always best when integrated from the beginning e.g. Windows 8 will always be more secure than Windows XP since security wasn’t a critical design goal at that time.
__ is the development of a working model with test or real data using an iterative approach supported by user and developer interaction. This SDLC model typically implies frequent customer/client interaction throughout the project.
software prototyping
__ occur in applications which request and later improperly release memory. Sensitive information can also be divulged.
memory leaks
__ overflow can add a bit and overwrite information on the stack. Potential issues with this attack are: Memory holding an overflowed variable may be reset to zero (UID 0 is root on Unix), other memory may be corrupted, program logic can misfire due to unexpected values
integer overflow
__ seeks to address issues that can arise from the separation of development and the operational environment.
DevOps (Development + Operations): application issues can stem from code, but can also stem from the operational environment
__ tools can be used to develop application systems faster and to increase programmers’ and analysts’ productivity.
CASE Tools: Computer-Aided Software Engineering tools
A __ can mitigate a simple stack-smashing attack since this value is checked before the function returns. If it is changed, the function will normally exit with an error since the return pointer is eliminated (so you know malicious software is running).
canary
A __ tool is a computer-based product aimed at supporting one or more activities within any aspect of the software development process. It might support only one particular part of this process (such as compilers, editors or UI generators).
CASE Tools: Computer-Aided Software Engineering tools
Application issues can arise from flaws in code, but also from issues within the operational environment. This approach seeks better understanding, communication and integration among the development and operations portions of an organization.
DevOps (Development and Operations)
Canaries may be used in a heap (where dynamic memory allocation normally occurs). What does Microsoft call a heap canary?
cookie
Difference between open source and closed source.
open source: source is provided to you. Closed source: source is not provided to you. It is not free vs commercial. Sometimes commercial vendors will provide the source code so you could validate it from security perspective
Different types of canaries include a terminator canary (smashing the stack will normally alter and kill the canary), null canary (all null bytes) and a random canary (each byte is a random number). Which is the most secure form of canary?
random canary
Eclipse and MS Visual Studio are two popular __.
IDEs (Integrated Development Environment)
For this CMMI level continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies.
Level 5 Optimizing
In addition to avoiding flaws, this approach also seeks to streamline the process of deploying an application into operations, which can make for more efficient application updates.
DevOps (Development + Operations)
In distributed applications a client can send input to a remote system process to carry out an action. This communication is referred to as a __. __ is a traditional solution to this problem.
RPC (Remote Procedure Call), CORBA (Common Object Request Broker Architecture) employs an Object Request Broker as an intermediary to solve the problem of coordinating the communication.