wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Week 10 - Software security

Total questions: 13

Worksheet time: 26mins

Name
Class
Date
1.

Which of the following(s) describes Command Injection

a)

Exploiting the vulnerability of accepting unexpected user input

b)

inserting new malicious code into a vulnerable application, which executes

c)

Executing arbitrary commands in a system shell or other parts of the environment

d)

To override original command, gain access to a system, obtain sensitive data

2.

Buffer overflow: A condition at an interface under which more input can be placed into a buffer or data holding area than the capacity allocated, overwriting other information. This holding area for the buffer is known as a ... ?

(a)  

3.

Which of the followings are techniques used in Good Programming practices to prevent command injection?

a)

Secure programming - nothing is assumed

b)

Use safe APIs instead of unsafe APIs

c)

Proper input validation (black/whitelist)

d)

Enable CORs to prevent malicious codes accessing unauthorized memory

4.

strcpy(dest, src) is considered unsafe compared to its counterpart strncpy(dest, src, num). What does the parameter 'num' do?

a)

It ensures that the char length is equal or smaller than num

b)

It ensures that the char length is equal to num

c)

It ensures that the char length is larger than num

d)

It ensures that the address is num

5.

Buffer overflow Counter measure: System supports

Which of the following are system support techniques

a)

Immutable code and inexecutable data in the memory

b)

Use memory safe languages

c)

Address randomization when program is launched

d)

Control flow integrity enforcements

6.

Which system supports does this:

The OS has an ACL-like approach to specify whether bytes in a memory region can be read, written or executed

a)

Immutable code and inexecutable data in the memory

b)

Address randomization when a program is launched

c)

Control flow integrity enforcement

d)

Discretionary Access Control

7.

Memory safe languages have bult-in defense against memory errors because they have inbuilt interpreters. Which languages are NOT memory safe

a)

C#

b)

C++

c)

C

d)

Rust

8.

Which type of malware(s) have the following properties:

Non-replicating

Parasitic

a)

Virus

b)

Trojan horse

c)

Time bomb

d)

Logic bomb

9.

Which type of malware(s) have the following properties:

Self-contained

a)

Worm

b)

Bot

c)

Virus

d)

Logic bomb

10.

Malware have many ways to conceal themself. Which of the following malware that has these traits:

- Encrypt itself

- Change its code

- Core behavior remains the same

a)

Metamorphic virus

b)

Polymorphic virus

c)

Encrypted virus

d)

Endomorphic virus

11.

Which is/are not a trait in static malware analysis

a)

Check features such as file name, hashes (e.g.,MD5 checksums), file type, file size

b)

Analyze its source code or binary code to understand its behaviors

c)

Control malware execution to collect the malware’s runtime behavior such as API calls, data flow, network traffic, etc

d)

Monitoring malware behaviour is VMs

12.

Which system supports does this:

During execution, the program checks whether a control transfer destination inuse violates predefined policies.

a)

Immutable code and inexecutable data in the memory

b)

Address randomization when a program is launched

c)

Control flow integrity enforcement

d)

Mandatory Access Control

13.

Which of the following statements are FALSE about countermeasures for software vulnerabilities?

a)

Good programming practices such as the use of safe APIs or proper input validation are good countermeasures against software vulnerabilities

b)

Whitelist and blacklist are measures used in input validation

c)

Memory address randomization is a common measure used to reduce the effectiveness of buffer overflow

d)

Putting code/data in unmodifiable/non-executable memory regions can be an effective way to prevent Worms