Common Software Vulnerabilities and Controls Flashcards
What are the vulnerability databases and tracking systems?
National Vulnerability Database (NVD); US Computer Emergency Response Team (CERT) Vulnerability Notes Database; Open Source Vulnerability Database; Common Vulnerabilities and Exposures (CVE); OWASP Top 10; Common Weakness Enumeration (CWE™)
NVD
National Vulnerability Database includes security checklists, security-related software flaws, misconfigurations of products, products affected, and impact metrics.
CERT
US Computer Emergency Response Team (CERT) Vulnerability Notes Database - In software that is being developed, they focus on vulnerability discovery, and in software that is already deployed, on vulnerability remediation.
Open Source Vulnerability Database is an independent and open source database that is created by and for …
the security community, with the goal of providing accurate, detailed, current, and unbiased technical information on security vulnerabilities.
CVE
The Common Vulnerabilities and Exposures is a dictionary of publicly known information security vulnerabilities and exposures. It is free for use and international in scope.
CWE
The Common Weakness Enumeration provides a common language for describing architectural, design, or coding software security weaknesses.
The CWE/SANS top 25 lists of most dangerous programming errors fall into the following three categories:
Insecure interaction between components; Risky resource management; Porous defenses.
Injection flaws, such as SQL, OS, and LDAP injection, occur when …
untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing unauthorized data.
Broken Authentication and Session Management compromises the application functions related to authentication and session management that are often not implemented correctly, allowing attackers to …
compromise passwords, keys, session tokens, or exploit implementation flaws to assume other users’ identities.
Cross-Site Scripting (XSS) flaws occur whenever an application takes …
untrusted data and sends it to a web browser without proper validation and escaping. XSS allows attackers to execute script in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites.
A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key.
Insecure Direct Object References occur because …
without an access control check or other protection, attackers can manipulate these references to access unauthorized data.
Security Misconfiguration can be avoided by …
having a secure configuration defined for the application, framework, web server, application server, and platform; all these settings should be defined, implemented, and maintained as many are not shipped with secure defaults.
Many web applications do not properly protect sensitive data at rest or when it is in motion. In order to avoid Sensitive Data Exposure, appropriate protection mechanisms shall be implemented such as … in addition, When transport layer protection is limited only to certain operations like authentication and end-to-end transport layer protection is absent, …
encryption/hashing or secure transport; sensitive information can be intercepted and disclosed.
Missing Function Level
XXXXXXXXXXX
When resources are requested by the browser, virtually all web applications validate resource requests for access rights by verifying function level access rights, prior to serving up that request to the User Interface (UI). One kind of well-known check is the check of the Uniform Resource Locator (URL) access rights check, which the web application performs before rendering protected links and buttons. When web applications fail to perform access control checks attackers will be able to forge requests and URLs to access these unauthorized functionality and pages.
Cross-Site Request Forgery (CSRF) attack forces a logged-on victim’s browser to send …
a forged HTTP request, including the victim’s session cookie and any other authentication information, to a vulnerable web application. This allows the attacker to force the victim’s browser to generate requests the vulnerable application thinks are legitimate requests from the victim.
Using Components (libraries, frameworks, and other software modules) with Known Vulnerabilities almost run with full privilege. So, if exploited, they can cause …
serious data loss or server takeover; applications using these vulnerable components may undermine their defenses and enable a range of possible attacks and impacts.
Web applications frequently redirect and forward users to other pages and websites, and use untrusted data to determine the destination pages.
Unvalidated Redirects and Forwards occur when web applications do not perform …
proper validation, attackers can redirect victims to phishing or malware sites, or use forwards to access unauthorized pages.
A buffer overflow is a condition that occurs when …
data that is being copied into the buffer (contiguous allocated storage space in memory) is more than what the buffer can handle.
EIP
Execution Instruction Counter (EIP) is used to maintain the sequence order of functions indicating the address of the next instruction to be executed.
Stack overflow
If a malicious user manages to overwrite the return address (RET) to point to an address space in memory, where an exploit code (also known as payload) has been injected, then upon the completion of a function, the overwritten return address will be loaded into the EIP register, and program execution will be overflowed, potentially executing the malicious payload.
Which are the Unsafe functions that may lead to memory overflow?
strcpy() and strcat(), since they do not intrinsically perform length checks before copying data into the memory buffer.
Heap overflow
Heap overflows does not necessarily overflow but corrupts the heap memory space (buffer), overwriting variables and function pointers on the heap.
Heap corruption can cause …
serious side effects including denial of service and exploit code execution and protection mechanisms must not be ignored.
What are the reasons that can be attributed to causing buffer overflows?
Copying of data into the buffer without checking the size of input; Accessing the buffer with incorrect length values; Improper validation of array index; Integer overflows or wraparound; Incorrect calculation of buffer size before its allocation.