Secure Software Design - Access Control Flashcards

1
Q

What are the two core principles of access control?

A

Record everything and detect and deal with intrusions.

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

List the four main types of credentials used in access control.

A

Knowledge-based (passwords), Possession-based (key or card), Biometric (fingerprints), Social Access (authorization by a known person).

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

Fill in the blank: The principle of granting only necessary access is called the ______.

A

Principle of least privilege.

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

Why is session management important in access control?

A

It prevents unauthorized access by managing and protecting session IDs, ensuring they are not exposed or reused.

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

What is broken access control?

A

A vulnerability where permission checks are insufficient, allowing unauthorized access to restricted resources.

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

Name two common vulnerabilities in access control.

A

Broken access control and bad session management.

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

Fill in the blank: Insecure session management can lead to the theft of ______.

A

Credentials.

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

What is a direct way to prevent access control vulnerabilities?

A

Verify all references to data and functions with appropriate access control checks.

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

What is the purpose of multi-factor authentication (MFA)?

A

To strengthen security by requiring multiple pieces of evidence for user verification.

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

List the three types of multi-factor authentication (MFA) factors.

A

Something you know, something you have, something you are.

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

What is a security token?

A

A device or software that verifies ‘something you have,’ unique to the user for authentication purposes.

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

Explain the difference between paper, software, and hardware tokens.

A

Paper tokens are one-time passwords; software tokens are installed on devices; hardware tokens are physical devices for secure access.

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

What is a drawback of software tokens?

A

They can be copied if the device is infected or compromised.

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

Why are hardware tokens considered more secure?

A

They are less vulnerable to tampering and copying, making them suitable for strong two-factor authentication.

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

Fill in the blank: Passwords stored in databases should be hashed with a ______ for added security.

A

Salt.

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

What is the purpose of salting in password storage?

A

Salting adds a unique value to each password, making it harder for attackers to use precomputed tables like rainbow tables.

17
Q

How does broken session management affect security?

A

It can allow attackers to hijack sessions, exposing sensitive user data or access.

18
Q

List three methods for storing secure passwords.

A

Using cryptographic hash functions, adding salts, and not storing plaintext passwords.

19
Q

Explain how one-time passwords (OTPs) prevent replay attacks.

A

OTPs are valid for a single transaction, so once used, they cannot be reused by attackers.

20
Q

Fill in the blank: ______ is the process of verifying that a user has the correct permissions for each data or function reference.

A

Access control verification.

21
Q

Why is it critical to avoid using direct database references in access control?

A

Direct references can be guessed or manipulated by attackers to access unauthorized resources.

22
Q

What is the main benefit of multi-factor authentication in terms of access control?

A

It increases security by requiring multiple independent factors, reducing the risk of unauthorized access.

23
Q

What does session timeout help prevent?

A

Unauthorized access from an inactive session, especially on shared or public devices.

24
Q

Fill in the blank: Hashing a password with a unique value added is called ______.

A

Salting.

25
Q

What is a rainbow table?

A

A precomputed table of hash chains that helps attackers reverse cryptographic hashes if passwords are unsalted.

26
Q

How does salting protect against rainbow table attacks?

A

Salting ensures each password hash is unique, preventing the use of precomputed tables for mass password cracking.

27
Q

Explain the concept of ‘one-time password (OTP).’

A

A password valid for one transaction only, designed to improve security and prevent replay attacks.

28
Q

Fill in the blank: In access control, MFA usually combines a ______ with a ______.

A

Password (something you know) with a token (something you have).

29
Q

Why is it important to log and monitor all access attempts?

A

Logging helps in tracking unauthorized access and auditing security issues.

30
Q

What is an advantage of using cryptographic key-based authentication?

A

Only users with the private key can sign in, offering strong security if the key is protected.

31
Q

Describe a scenario where bad session management can lead to a security breach.

A

Leaving session IDs in URLs can allow attackers to hijack sessions by simply copying the URL.

32
Q

What type of attack does hashing with salt help mitigate?

A

Dictionary and rainbow table attacks.

33
Q

Fill in the blank: Secure access control involves verifying both user ______ and their ______ for each resource.

A

Authentication and authorization.

34
Q

Why are access logs essential in secure access control?

A

They provide evidence of who accessed what resources and can identify suspicious activity.

35
Q

Define ‘session hijacking.’

A

A type of attack where an unauthorized user takes over an active session, usually due to exposed session IDs.

36
Q

Fill in the blank: Multi-factor authentication improves security by requiring more than one method to verify ______.

A

Identity.