Securing .NET – further issues Flashcards

(60 cards)

1
Q

What is Code Access Security (CAS)?

A

A .NET mechanism to run code with varying trust levels.

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

Why is CAS needed?

A

Allows protected execution of code from untrusted systems.

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

How does CAS protect systems?

A

Shields against malicious mobile code.

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

What does CAS allow?

A

Code from unknown origins to run with protection.

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

How does CAS prevent security issues?

A

Stops trusted code from unintentionally compromising security.

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

How is trust assigned in CAS?

A

Based on code origin and identity, not just user.

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

What minimizes fully trusted code in CAS?

A

Enforces varying trust levels to reduce risk.

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

How does CAS reduce code misuse?

A

Limits operations exploitable by malicious code.

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

How does CAS reduce liability?

A

Specifies allowed and forbidden code operations.

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

How does CAS minimize vulnerability damage?

A

Restricts code impact from security flaws.

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

Who benefits from CAS?

A

All managed code targeting the CLR.

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

Should .NET apps make CAS requests?

A

Yes, to ensure proper security enforcement.

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

What is a CAS versioning problem?

A

Inconsistent behavior across .NET versions.

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

How did CAS policy confuse users?

A

Managed apps ran differently from native apps.

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

Why is CAS complex?

A

Involves multiple policy and permission layers.

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

What does CAS policy include?

A

Policy levels, code groups, caspol.exe.

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

What is CAS enforcement?

A

Demanding and asserting permissions.

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

What are CAS permissions?

A

Operations an app is allowed, set by policy or host.

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

What changed in .NET v4 for CAS?

A

CAS policy deprecated, decisions left to app host.

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

How are desktop apps treated in .NET v4?

A

Run as full-trust applications.

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

What apps run as full-trust in .NET v4?

A

Computer apps and network share apps.

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

How do partially trusted apps run in .NET v4?

A

In a sandbox determining their grant set.

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

What overrides permissions in .NET v4?

A

Security transparency rules.

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

What is a strong name signature?

A

A public-key digital signature for assembly identity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What does a strong name verify?
Data integrity from signer to verifier.
26
Why use strong names?
Ensures unambiguous assembly references.
27
How are strong names created?
Signed during the build process, verified on load.
28
How do strong names prevent tampering?
Stop malicious parties from altering assemblies.
29
Do strong names verify publisher trust?
No, only that the key owner signed the assembly.
30
What does Microsoft recommend over strong names?
Authenticode for trusting third-party code.
31
Why are strong name keys vulnerable?
Private keys can be inferred from public keys.
32
What is the default strong name key size?
1024 bits, inadequate for modern security.
33
Why is upgrading strong name keys hard?
Breaks binaries referencing the old identity.
34
What algorithm do strong names use?
SHA-1, found inadequate for secure hashing.
35
Why is SHA-1 problematic?
May lose FIPS-compliant status.
36
What is a FIPS standard?
Federal guidelines for security and communications.
37
What algorithm is recommended over SHA-1?
SHA-256 or stronger.
38
What is an enhanced strong name?
Supports SHA-2 while maintaining compatibility.
39
How do enhanced strong names help?
Allow migration to SHA-2 without breaking references.
40
Can new assemblies use SHA-2?
Yes, if unconcerned with old strong name compatibility.
41
What is a benefit of enhanced strong names?
Claims identity equivalence for compatibility.
42
Why is SHA-1 inadequate?
Vulnerable to attacks, less secure than SHA-2.
43
What happens if CAS permissions are missing?
Code may fail, needing extra error handling.
44
How does CAS reduce mobile code risks?
Limits capabilities of untrusted code.
45
What is a sandbox in .NET v4?
A restricted environment for partially trusted apps.
46
Why was CAS policy deprecated?
Caused confusion and inconsistent app behavior.
47
What is caspol.exe?
Tool to manage CAS policy settings.
48
What is a stack walk in CAS?
Verifies permissions across the call stack.
49
Why specify forbidden operations in CAS?
Reduces unintended security breaches.
50
How does CAS differ from OS security?
Considers code identity, not just user.
51
What is the CLR in .NET?
Common Language Runtime, manages code execution.
52
Why use Authenticode over strong names?
Provides publisher trust and certificate hierarchy.
53
What is a strong name’s limitation?
No certificate hierarchy or publisher verification.
54
How does CAS enhance security?
Reduces trusted code needed to run apps.
55
What is security transparency in .NET v4?
Rules overriding traditional permission systems.
56
Why are larger keys needed?
Protect against attacks inferring private keys.
57
How does .NET v4 handle network apps?
Runs them as full-trust by default.
58
What is the role of a host in .NET v4?
Determines security policy for apps.
59
Why is strong name compatibility important?
Ensures existing binaries reference assemblies correctly.
60
How does CAS minimize vulnerability impact?
Limits damage from code flaws via restricted trust.