1.6 Explain the impact associated with types of vulnerabilities. Flashcards

1
Q

Race Conditions

A

A programming flaw that occurs when two sets of code attempt to access the same resource. The first one to access resource wins, which can result in inconsistent results.

To be more exact, A race condition is a software programming issue where two (or more) threads (a thread is a unit of work) have access to shared data. Problems can arise if both threads are accessing the shared data and one thread modifies the shared data while the other thread is executing logic based on the value of the thread data before the data was changed.

To solve race conditions, programmers put locks on the shared data so that only one thread can access the shared data at one time. Applications vulnerable to race conditions could have the hacker access a resource when he/she should not be able to (because the resource should be locked).

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

Vulnerabilities Due to - End-of-life Systems

A

An end-of-life (EOL) system is a system that has reached the end of its usefulness (or profitability) from a vendor’s point of view. EOL systems are typically referred to as legacy systems and are vulnerable because vendors stop maintaining them after they reach their EOL date. For example, a vendor will not create patches for any new vulnerabilities found in software that has reached EOL.

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

Vulnerabilities Due to - Embedded Systems

A

An embedded system is a small computer system that contains minimal hardware, such as a processor, circuit board, and memory, and usually a stripped-down version of an OS, and is embedded within a larger device or system to perform specific functions. Because hardware devices run embedded systems with software, they are vulnerable to attack just like a regular computer system if the running software has vulnerabilities.

Embedded systems are often overlooked from a security standpoint, so extra effort should be made to locate embedded systems and evaluate vulnerabilities that
might exist.

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

Vulnerabilities Due to - Lack of Vendor Support

A

One of the largest reasons for vulnerabilities is lack of vendor support. All software has vulnerabilities, and once a vulnerability has been found, the vendor typically creates a fix for the vulnerability. If you are using a product that the vendor no longer supports, that means the vendor is no longer creating fixes for vulnerabilities that arise.

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

Improper Input Handling

A

Input handling is another job for software programmers. Any time data is passed into an application, the programmer is supposed to validate that data and ensure it is appropriate for the task. If the data is invalid, an error is displayed to the user instead of processing the information. If the programmer does not validate input, hackers can inject malicious data into the application
to control the software in a manner that is not desired.

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

Improper Error Handling

A

Error handling is yet another job of software programmers and includes ensuring that the application traps any errors that occur and then handles those errors appropriately so that the application doesn’t crash. When testing the software, developers are testing for the existence of errors.

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

Misconfiguration/Weak Configuration

A

Most vulnerabilities exist because software or the operating system has been misconfigured and placed in a nonsecure state.

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

Default Configuration

A

When installing software or systems, always make sure to change the default configuration. Hackers know the default configurations of products and learn how to exploit systems based on the default configurations. You should change the defaults to make hackers more likely to give up and look for easier targets.

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

Resource Exhaustion

A

Insufficient manpower to get the job done properly is a type of vulnerability. For example, not having enough programmers may result in cutting corners and skipping important tasks such as input validation. Similarly, overworked programmers are more prone to make errors.

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

Untrained Users

A

Security training is one of the most important steps an organization can take to help improve the security posture of the organization. For example, users should be trained to never place unknown DVDs or flash drives into the system. Users should be taught about viruses, the need to secure their personal systems, and the importance of mobile device security. Untrained users are also more susceptible to social engineering attacks, as they are not familiar with how to recognize when someone is trying to trick the user into compromising security.

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

Improperly Configured Accounts

A

Having user accounts that are not configured properly is a huge vulnerability to the organization. Examples of improperly configured accounts include having too many accounts in the admin group or configuring accounts to never have passwords expire.

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

Vulnerable Business Processes

A

Having vulnerable business processes is another weakness for hackers to exploit. Be sure to review all business processes and ensure they follow security best practices. Examples of business processes for the HR department include how to handle a vacation request and what to do when given notice that an employee is leaving the organization. In both examples, you want to be sure that the HR department is following security best practices, such as ensuring there is a backup person to cover a job role when someone goes on vacation, or ensuring that an employee participates in an exit interview before leaving the organization.

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

Weak Cipher Suites and Implementations

A

Another common vulnerability in systems today is the use of weak encryption technologies or protocols. For example, never use WEP for wireless encryption because it is an encryption type that is easily cracked

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

Memory/Buffer Vulnerability - Memory Leak

A

A memory leak occurs when a program does not release memory for other processes to use after it is done with it. If each program held on to memory after it was done with it, the system would run out of memory and crash.

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

Memory/Buffer Vulnerability - Integer Overflow

A

When data is stored in memory, it is assigned a block of memory of a specific size. An integer overflow error occurs when a block of memory has been created to store an integer value, but the result of the arithmetic operation exceeds the maximum size of the integer type assigned.

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

Memory/Buffer Vulnerability - Buffer Overflow

A

A buffer overflow occurs when software writes to areas of memory outside the areas that are has been assigned.

17
Q

Memory/Buffer Vulnerability - Pointer Dereference

A

Pointers are a programming tool that programmers use to refer to an area of memory. When a programmer wants to read the contents of memory, they dereference the pointer. From a security point of view, make sure that you block the execution of untrusted or injected code so that hackers cannot read these areas of memory

18
Q

Memory/Buffer Vulnerability - DLL Injection

A

DLL injection occurs when a program is forced to load a dynamic link library (DLL) in its address space and run the code of the DLL. The code in the DLL could be malicious code the hacker wants to execute on the system.

19
Q

System Sprawl/Undocumented Assets

A

System sprawl refers to when an organization adds more and more servers or systems to the network without properly documenting their maintenance requirements, or perhaps even their existence. Eventually, systems are forgotten about and as a result, become vulnerable because they are not maintained.

20
Q

Architecture/Design Weaknesses

A

Another reason for vulnerabilities is weak design of the product or technology. A good example of this is WEP wireless encryption; the use of initialization vectors (IVs) caused the encryption to be vulnerable to being cracked.

21
Q

New Threats/Zero Day

A

One of the biggest types of vulnerabilities to be aware of are the zero-day threats, which are undisclosed vulnerability that the vendor is not aware of yet and thus has had no opportunity to patch.

22
Q

Improper Certificate and Key Management

A

Management of certificate keys is critical in a cryptography system. You want to ensure that the private keys of each entity are kept in a secure location.