03.12.2012 Views

Security - Telenor

Security - Telenor

Security - Telenor

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1. Rendering data uninterpretable for all practical<br />

purposes (which is what encryption does),<br />

such that the usual transformation of data to<br />

information through interpretation becomes<br />

practically impossible.<br />

2. Partitioning data into discrete units, and treating<br />

the units as distinct objects in a secret<br />

sharing scheme, or more generally: an access<br />

control scheme.<br />

3. Blocking the release of non-sensitive data A<br />

that could reveal information about other, sensitive<br />

data B due to known or deducible functional<br />

dependencies between A and B. In practice<br />

these are inference controls as those used<br />

in statistical databases.<br />

For platforms the techniques for implementing<br />

these are well-known. The challenge is replicating<br />

those mechanisms in mobile agents. It might<br />

also be of interest to replicate them for embedded<br />

agents.<br />

EXAMPLE 4. An embedded agent might be contained<br />

in a partially encrypted document, with<br />

instructions to only reveal the encrypted parts to<br />

pre-specified platforms. This is something with<br />

typical application to Word documents or similar<br />

document formats.<br />

5.1 Agent Attacks<br />

The agent attacks are fairly well studied. Some<br />

ways of leaking confidential information are<br />

1. attempting unauthorized accesses of other<br />

agents’ code/data areas;<br />

2. installing a payload on the host computer,<br />

executable outside the platform as a “normal”<br />

process (such as word macro viruses with<br />

DOS virus payloads);<br />

3. attempting to manipulate the platform in order<br />

to gain access to confidential information<br />

(attacking crypto-APIs, for example); or<br />

4. using pure information theoretic attacks to<br />

design queries used by agents to collect data<br />

for subsequent tracker-type attacks (see [5])<br />

on collected data, a technique which could<br />

typically be employed in business (or other)<br />

intelligence activities.<br />

The first attack above is fairly effectively halted<br />

by a virtual machine-based platform (as for Java<br />

applets), provided the transformation from an<br />

agent’s implementation language to the code<br />

actually run on the platform is correct, and introduces<br />

no new functionality. For agents somehow<br />

running as native machine code, one needs hard-<br />

Telektronikk 3.2000<br />

ware support for controlling memory access<br />

from the operating system and/or platform such<br />

that agents cannot exploit host-specific architectural<br />

information to mount attacks.<br />

The second attack above is not necessarily<br />

halted by a virtual machine-based platform,<br />

although such a platform still forms a fairly<br />

effective defense. The reason is that if the agent<br />

is allowed to write to a file and can choose part<br />

of or all of its name, it can still attempt the<br />

installation of a Trojan horse.<br />

The third attack represents the typical attack<br />

implemented by a hostile Java applet, where<br />

bugs in the implementation are exploited in<br />

order to execute unauthorized actions. Defending<br />

against this type of attack depends for the<br />

most part on a correct implementation that actually<br />

logically isolates the agent from manipulating<br />

the platform in an unauthorized manner.<br />

The fourth attack is hard to avert. Any investment<br />

spent to defend against these attacks<br />

depends on how information is made available<br />

to the agent.<br />

5.2 Platform Attacks<br />

The complementary case, where the platform is<br />

regarded as a potentially malicious entity resembles<br />

to a great degree the problem outlined in a<br />

paper by Anderson and Needham [1]. The host<br />

has effectively complete control of all plaintext<br />

data, including the agent platform, and any<br />

agents executing on it, along with any of their<br />

code and data stored at the host in question.<br />

The host can under such circumstances achieve<br />

effortless compromise of all information, save<br />

that which somehow is encrypted in such a form<br />

as to still be of use to the agent. This problem is<br />

a difficult one to solve. It appears to be crucial<br />

to enable mobile agents to:<br />

1. use secrets in their data without revealing<br />

them to the platform;<br />

2. securely generate digital signatures; and<br />

3. securely encrypt information extracted from<br />

the host platform or decrypt encrypted information<br />

meant for that platform.<br />

Properties such as these are only possible if one<br />

can encrypt the agent’s code without changing<br />

its properties when viewed from the outside as<br />

a process. In other words, the encrypted agent<br />

must ideally be able to:<br />

1. encrypt/decrypt selected inputs and/or outputs;<br />

39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!