Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In Java SE 6 and Java SE 7, privileged code must either use the AccessController mechanism or be signed by an owner (or provider) whom the user trusts. Attackers could link privileged code with malicious code if the privileged code directly or indirectly invokes code from another package. Trusted JAR files often contain code that requires no elevated privileges itself, but that depends on privileged code; such code is known as security-sensitive code. If an attacker can link security-sensitive code with malicious code, he or she can indirectly cause incorrect behavior. This is called a mix-and-match attack.

Execution Normally, execution of untrusted code causes loss of privileges; the Java security model rescinds priveleges when a trusted method invokes an untrusted one. When trusted code calls untrusted code that attempts to perform some action requiring permissions withheld by the security policy, the Java security model disallows that action is not allowed. However, privileged code may use a class that exists in an untrusted container and performs only unprivileged operations. If the attacker were to replace the class in the trusted untrusted container with a malicious implementationclass, the trusted code might retrieve receive incorrect results and cause the privileged code to misbehave at the attack's discretiondiscretion of the malicious code.

Wiki Markup
According to the Java API \[[EMA 2011|AA. References#EMA 2011]\]:

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="aeea64ee2a0fd74a-c17929ce-4bbe45be-8ab68b92-562ecbcac00dc4bbe33a752b"><ac:plain-text-body><![CDATA[

[[EMA 2011

AA. References#EMA 2011]]

Optional Package Sealing

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="be76595bb9c5177b-a0a2c892-4a984f30-84619d2c-04f1c91edd3a396b469f59be"><ac:plain-text-body><![CDATA[

[[McGraw 1999

AA. References#Ware 99]]

Rule 7, If you must sign your code, put it all in one archive file

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a2a489b3554b976b-fa6db972-4aac4c85-b5578290-767dd599c35d3e6db4a4776d"><ac:plain-text-body><![CDATA[

[[Ware 2008

AA. References#Ware 08]]

 

]]></ac:plain-text-body></ac:structured-macro>

...