Secure Software Processes Flashcards
Code analysis is the process of …
inspecting the code for quality and weaknesses that can be exploited. It is primarily accomplished by two means; static and dynamic.
The primary advantage that a binary code analyzer has over static code analyzers is that a binary code analyzer can …
detect vulnerabilities and code inefficiencies that have been introduced by the compiler, since it is inspecting the compiled object code, after the compilation process. It also has the ability to look into libraries that are linked during the compilation process.
The benefits of performing static code analysis are …
errors and vulnerabilities can be detected early and addressed before the deployment of the software; can be performed in the development and testing environment.
Dynamic code analysis is the inspection of …
the code when it is being executed (run as a program).
Dynamic code analysis can be performed to ascertain that …
the code is reliably functioning as expected and is not prone to errors or exploitation.
Code/Peer Review can be performed manually or using
tools. It is a systematic evaluation of …
the source code with the goal of finding out syntax issues and weaknesses in the code that can impact the performance and security of the software.
What is not detected in the code review? Code review can be used to validate …
Semantic issues such as business logic and design flaws are usually not detected in a code review, but a code review can be used to validate the threat model generated in the design phase of the software development project.
Injection flaws check for …
code that makes injection attacks possible. E.g. lack of input validation.
Non-repudiation Mechanisms in code review should ensure that …
auditing is properly implemented and that the authenticity of the code and the user or system actions are not disputable.
Spoofing Attacks in code review check for code that makes spoofing attacks possible. This check should ensure that …
session identifiers are not predictable, passwords are not hard-coded, credentials are not cached and code that allows changes to the impersonation context is not implemented.
Errors and Exception Handling in code review must check to make sure that …
errors, when reported, don’t reveal more information than is necessary, and that the software fails securely when errors occur.
Cryptographic Strength in a code review that uses non-standard or custom cryptographic algorithms are considered …
weak and must be avoided.
Unsafe and Unused Functions and Routines must be …
reviewed to ascertain that deprecated and banned APIs are not used.
Reversible Code in code review can be used to …
determine the internal architecture and design, and implementation details of software functionality.
For code review, privileged code is the code that violates the … As part of the code review, checks must be performed to ensure that …
principle of least privilege; code that requires administrative rights to execute are explicitly controlled and monitored.