PLP Final Flashcards
What does dynamic linking mean?
Dynamic linking means that there is no link phase at compile time. Classes that refer to each other are resolved at runtime
What are the 5 features of java?
Object-oriented
Multi-threaded
Strongly typed
Exception handling
Garbage handling(objects no longer in use are automatically removed)
What is a native method?
A java method whose implementation is also written in another programming language
What is the primordial class loader?
Loads trusted classes(systems classes which are on the boot class path) into the JVM
What are native methods needed for?
Methods needed to access some of the underlying OS functions. Once loaded, they are stored in the native method area
What is the execution engine
A virtual processor that executes bytecode. Performs memory management
What is the JIT - Just in time compiler
Translates bytecode into native code as needed. This happens after the class has been loaded and verified. Has performance overhead
What is the sandbox?
The java security model in which java programs can run safely without risk to the system or other users. Restricted what downloaded code could do.
What did the JDK 1.0 sandbox allow
Trusted code could run without any restrictions. Untrusted code could not access files, and only socket connections to the applets origin server were allowed
What verifies a signed applet
Certificate authority servers
What is a policy file?
A configuration file used by the JRE to determine permissions for each program
What is fine grained access control?
Allows every code access to system resources based on the definition in the policy file
What are the three pillars of java security?
- The security manager - Ensures permissions in policy file are not overridden
- Class loaders - Establish the protection domain/set of permissions for a loaded class
- The bytecode verifier - Checks code to ensure that rules arent violated, stack isnt overflowed, no illegal operations, etc.
What do cookies add to the http protocol?
State
Where does a XSS attack run?
An xss attack runs in client-side code that is executed by a browser
What tags does an XSS attack most commonly run in?
Script or Body
What is a reflected XSS attack?
An XSS attack in which the malicious script comes from the current HTTP request. Malicious JS is sent as part of the victims request