Chapter 3 - Programs and programming Flashcards

1
Q

Error

A

a human makes a mistake in performing some

software activity

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

Fault

A

an incorrect step, command, process, or data definition in a computer program, design, or documentation.

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

Failure

A

a departure from the system’s required behavior

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

Program counter

A

Computers use a pointer or register that indicates the

next instruction.

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

Heap

A

storage for dynamically created data

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

Stack

A

Storage for subtask call and return data

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

Program fault

A

Trying to execute something that does not correspond to a valid instruction or trying to execute a privileged instruction when not in the proper mode

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

Privilege escalation

A

By replacing a few instructions right after returning from his or her own procedure, the attacker regains control from the operating system, possibly with
raised privileges.

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

Buffer (or array or string)

A

a space in which data can be held.

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

local data

A

data used strictly within one procedure

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

shared or common or global data

A

shared between two or more procedures

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

Stack frame

A

This data group of parameters, return address, and stack pointer

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

stack smashing

A

Arbitrary data in the wrong place causes strange behavior, but particular data in a predictable location causes a planned impact.

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

data driven attack

A

the harm occurs by the data the attacker sends.

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

static code analyzer

A

analyzes source code to detect unsafe conditions

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

canary

A

to protect the stack, we can do that by wrapping each stack frame in a protective layer.

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

mediation

A

Verifying that the subject is authorized to perform the operation on an object

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

time-of-check to time-of-use (TOCTTOU)

A

concerns mediation that is performed with a
“bait and switch” in the middle. it exploits the delay between the two actions: check and use. That is, between the time the access was checked and the time the result of the check was used, a change occurred, invalidating the result of the check.

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

backdoor or trapdoor

A

An undocumented access point

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

integer overflow

A

occurs because a storage location is of fixed, finite size and therefore can contain only integers up to a certain limit.

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

null terminated

A

meaning that the end of the string is denoted by a null byte

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

race condition or serialization flaw

A

two processes execute concurrently, and the outcome of the computation depends on the order in which instructions of the processes execute.

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

Malicious code or rogue programs or malware

A

the general name for programs or program parts planted by an agent with malicious intent to cause unanticipated or undesired effects.

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

virus

A

a program that can replicate itself and pass on malicious code to other non-malicious programs by modifying them.

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

transient virus

A

a life span that depends on the life of its host; the virus runs when the program to which it is attached executes, and it terminates when the attached program ends.

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

resident virus

A

locates itself in memory; it can then remain active or be activated as a stand-alone program, even after its attached program ends.

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

worm

A

a program that spreads copies of itself through a network.

28
Q

bot (short for robot)

A

a kind of worm used in vast numbers by search engine hosts like Bing and Google.

29
Q

Trojan horse

A

malicious code that, in addition to its primary effect, has a second, nonobvious, malicious effect. slips inside a program undetected and produces unwelcome effects later on.

30
Q

zero-day attack

A

use of malware that exploits a previously unknown vulnerability or a known vulnerability for which no countermeasure has yet been distributed.

31
Q

zero-day exploit

A

An attack before availability of the control

32
Q

virus hoaxes

A

messages falsely warning of a piece of malicious code, apparently to cause receivers to panic and forward the message to contacts, thus spreading the panic.

33
Q

multipartite form

A

they install themselves in several pieces in distinct locations, sometimes to carry out different objectives.

34
Q

interpretive data

A

Although such a file is not executable as a program itself, it can cause activity in the program that handles it.

35
Q

stealth

A

avoiding detection during installation, while

executing, or even at rest in storage.

36
Q

Steganography

A

permits data to be hidden in large, complex, redundant data sets.

37
Q

polymorphic virus

A

A virus that can change its appearance

38
Q

encrypting viruses.

A

A simple variety of polymorphic virus uses encryption under various keys to make the stored form of the virus different.

39
Q

modular

A

to create a design or code in small, self-contained units, called components or modules;

40
Q

encapsulation

A

If a component is isolated from the effects of other components, then the system is designed in a way that limits the damage any fault causes. developers can readily see where vulnerabilities may lie
if the component is isolated.

41
Q

Information hiding

A

each component hides its precise implementation or some other design decision from the others.

42
Q

Modularization

A

the process of dividing a task into subtasks

43
Q

cohesion

A

all the elements of a component have a logical and functional reason for being there; every aspect of the component is tied to the component’s single purpose.

44
Q

Coupling

A

the degree with which a component depends on other components in the system.

45
Q

mutual suspicion

A

operate as if other routines in the system were malicious or incorrect.

46
Q

confined program

A

strictly limited in what system resources it can access

47
Q

SSL

secure socket layer

A

a cryptographic technique by which browser web communications are secured, for example, to protect the privacy of a banking transaction.

48
Q

Address-space-layout randomization

A

a technique by which a module is loaded into different locations at different times (using a relocation device similar to base and bounds registers)

49
Q

module testing, component testing, or unit testing

A

verifies that the component functions properly with the types of input expected from a study of the component’s design.

50
Q

Integration testing

A

the process of verifying that the system components work together as described in the system and program design specifications.

51
Q

function test

A

evaluates the system to determine whether the functions described by the requirements specification are actually performed by the integrated system.

52
Q

performance test

A

compares the system with the remainder of these software and hardware requirements.

53
Q

acceptance test

A

the system is checked against the customer’s requirements description.

54
Q

installation test

A

run to make sure that the system still functions as it should

55
Q

regression testing

A

After a change is made to enhance the system or fix a problem ensures that all remaining functions are still working and that performance has not been degraded by the change.

56
Q

Black-box testing

A

testers cannot “see inside” the system, so they apply particular inputs and verify that they get the expected output.

57
Q

Clear-box testing

A

allows visibility. Here, testers can examine the design and code directly, generating test cases based on the code’s actual construction.

58
Q

program verification

A

involves making initial assertions about the program’s inputs and then checking to see if the desired output is generated.

59
Q

Validation

A

assuring that the system developers have implemented all requirements.

60
Q

design by contract™ (a trademark of Eiffel Software) or

programming by contract

A

a formal program development approach, but more widely, these terms refer to documenting for each program module its preconditions, postconditions, and invariants.

61
Q

assertions

A

explicit statements about modules.

62
Q

penetrate-and-patch

A

analysts searched for and repaired flaws.

63
Q

security by or through obscurity

A

ineffective countermeasure of assuming the attacker will not find a vulnerability. the belief that a system can be secure as long as nobody outside its implementation group is told anything about its internal mechanisms.

64
Q

work factor

A

the amount of effort necessary for an adversary to defeat a security control.

65
Q

halting problem

A

asks whether a computer program stops execution or

runs forever.