Securing .NET – further issues Flashcards
(60 cards)
What is Code Access Security (CAS)?
A .NET mechanism to run code with varying trust levels.
Why is CAS needed?
Allows protected execution of code from untrusted systems.
How does CAS protect systems?
Shields against malicious mobile code.
What does CAS allow?
Code from unknown origins to run with protection.
How does CAS prevent security issues?
Stops trusted code from unintentionally compromising security.
How is trust assigned in CAS?
Based on code origin and identity, not just user.
What minimizes fully trusted code in CAS?
Enforces varying trust levels to reduce risk.
How does CAS reduce code misuse?
Limits operations exploitable by malicious code.
How does CAS reduce liability?
Specifies allowed and forbidden code operations.
How does CAS minimize vulnerability damage?
Restricts code impact from security flaws.
Who benefits from CAS?
All managed code targeting the CLR.
Should .NET apps make CAS requests?
Yes, to ensure proper security enforcement.
What is a CAS versioning problem?
Inconsistent behavior across .NET versions.
How did CAS policy confuse users?
Managed apps ran differently from native apps.
Why is CAS complex?
Involves multiple policy and permission layers.
What does CAS policy include?
Policy levels, code groups, caspol.exe.
What is CAS enforcement?
Demanding and asserting permissions.
What are CAS permissions?
Operations an app is allowed, set by policy or host.
What changed in .NET v4 for CAS?
CAS policy deprecated, decisions left to app host.
How are desktop apps treated in .NET v4?
Run as full-trust applications.
What apps run as full-trust in .NET v4?
Computer apps and network share apps.
How do partially trusted apps run in .NET v4?
In a sandbox determining their grant set.
What overrides permissions in .NET v4?
Security transparency rules.
What is a strong name signature?
A public-key digital signature for assembly identity.