Vous êtes sur la page 1sur 40

Anjan Mondal (Roll No. - 01) Arnab Pal (Roll No. - 02) M.E. (Software Engineering) Dept.

of Information Technology Jadavpur University

Sunday, April 22, 2012

Meaning of Agent
An agent is a computer system that is situated in some

environment, and that is capable of autonomous action in this environment in order to meet its design objectives. Two basic properties of Software Agents : Autonomicity ability to act without direct human intervention. Situatedness Agents tend to be used where the environment is challenging (dynamic, unpredictable and unreliable).

Sunday, April 22, 2012

How Agent works


SENSORS

ACTUATORS

Sunday, April 22, 2012

Other properties of Agent


Reactive senses changes in the environment and acts accordingly to those changes. Proactive persistently pursues goals.
Flexible has multiple ways of achieving goals. Robust recovers from failure.
Sunday, April 22, 2012

Properties of Agent contd.


Communicative able to communicate with other agents.
Mobile can travel from one host to another. Learning adapts in accordance with previous experience. Believable appears believable to the end-user.
Sunday, April 22, 2012

Definition of a Stationary Agent


A stationary agent executes only on the system where it begins execution. If it needs information that is not on that system, or needs to interact with an agent on a different system, it typically uses a communication mechanism such as remote procedure calling (RPC).

Sunday, April 22, 2012

What is a Mobile Agent?


Program that can migrate from system to system within a network environment
Performs some processing at each host

Agent decides when and where to move next


How does it move ?

Save state Transport saved state to next system Resume execution of saved state
Sunday, April 22, 2012

Evolution
End point in the incremental evolution of mobile

abstractions such as mobile code, mobile objects, mobile processes. Mobile Code transfers (code) Mobile Object transfers (code + data) Mobile Process transfers (code + data + thread state) Mobile Agent transfers (code + data + thread + authority of its owner)
Sunday, April 22, 2012

A Mobile Agent Dissected


A mobile agent contains the following 3 components:
Code - the program (in a suitable language) that defines

the agent's behavior.


State - the agent's internal variables etc., which enable it

to resume its activities after moving to another host.


Attributes - information describing the agent, its origin

and owner, its movement history, resource requirements, authentication keys etc. Part of this may be accessible to the agent itself, but the agent must not be able to modify the attributes
Sunday, April 22, 2012

Levels of Mobility
Weak Mobility
When moving a mobile agent carries

(code + data state)


Data State - global or instance variable

On moving, execution has to start from the

beginning
Sunday, April 22, 2012

Levels of Mobility
Strong Mobility
When moving a mobile agent carries

(code + data state + execution state) Data State - global or instance variable Execution State local variables and threads On moving, execution can continue from the point it stopped on the previous host

Sunday, April 22, 2012

Events in Mobile Agents life-time


Creation: a brand new agent is born and its state is

initialized.

Dispatch: an agent travels to a new host.

Cloning: a twin agent is born and the current state of

the original is duplicated in the clone. saved in persistent storage.

Deactivation: an agent is put to sleep and its state is Activation: a deactivated agent is brought back to life

and its state is restored from persistent storage.

Sunday, April 22, 2012

Events in Mobile Agents life-time


Retraction: an agent is brought back from a remote

host along with its state to the home machine.


Disposal: an agent is terminated and its state is lost

forever.
Communication: Notifies the agent to handle

messages incoming from other agents , which is the primary means of inter-agent correspondence.

Sunday, April 22, 2012

Agent Life-Cycle Model


Context A Context B

Dispose

Clone
Agent Agent

Dispatch
Agent Retract

Agent Life Cycle -Creation -Cloning Class -Dispatching and File Retraction (Mobility) -Activation and Deactivation (Persistence) -Disposal
Sunday, April 22, 2012

Create

Deactivate

Activate

Disk Storage

Applets, Servlets and Mobile Agents


Applet Downloaded from server to client.
Servlet Uploaded from client to server. Mobile Agents Detached from client, can have multiple hops.

Sunday, April 22, 2012

Mobile Code Systems: Design


Four basic types: Client/Server Code on Demand Remote Evaluation Mobile Agents Elements Data (stored result sets) Code (commands) Program stack (current status of the program)
Sunday, April 22, 2012

Client/Server

Sunday, April 22, 2012

Client/Server Discussion
Examples: WWW, RPC, Webservices, CORBA, EJBs Elements

data - mobile code - static program stack static


Advantages

easy to implement widespread Disadvantages theres no one size fits all


CORBA (Common Object Request Broker Architecture), EJB (Enterprise JavaBeans)

Sunday, April 22, 2012

Mobile Agents

Result
Sunday, April 22, 2012

Mobile Agents Discussion


Elements

data - semi-mobile (necessary data is mobile) code - mobile program stack mobile
The

Mobile Agent paradigm can solve all distributed computing issues NO! Mobile Agents are not a substitute for clientserver techniques. The two techniques augment each other and very often a combination of the two is the most appropriate.

Sunday, April 22, 2012

Seven Good Reasons for Mobile Agents


Danny Langes Seven Good Reasons For Mobile Agents

They reduce network load They overcome network latency They encapsulate protocols They execute asynchronously and autonomously They adapt dynamically They are naturally heterogeneous They are robust and fault-tolerant
There is still no killer app for mobile agents!
Sunday, April 22, 2012

Companies and Products


IBM: Aglets
Information on Aglets can be found at http://www.trl.ibm.co.jp/aglets

FTP Software: CyberAgents


Information on CyberAgents used to be able to be found at http://www.ftp.com/cyberagents

General Magic: Tabriz


More information on Tabriz can be found at http://www.genmagic.com/tabriz

Languages:
The following languages are being used today for authoring agents. Java, Telescript, TCL or Tools Control Language, Obliq, Python

Sunday, April 22, 2012

Sunday, April 22, 2012

Security Threats
Threats to security generally fall into three main classes:
Disclosure of information

Denial of service
Corruption of information

Sunday, April 22, 2012

Agent System Model


HOME platform Agent Agent platform

Network

Agent

platform

Sunday, April 22, 2012

Malicious agents Malicious agencies.

Sunday, April 22, 2012

Malicious Agents
Malicious agents are those that try to attack the hosting agency or other agent. Classification malicious agents according to the target they attack
Attacking the Hosting Agency. Attacking Other Agents

Sunday, April 22, 2012

Attacking the Hosting Agency


1.

The most obvious example of a malicious agent is one that consumes resources of the hosting environment in an improper way.

Recourses may be : Memory, CPU cycles, Network bandwidth Effect : The agency eventually is not able to provide its usual
service to other agents.
Sunday, April 22, 2012

Attacking the Hosting Agency(2)


2. The second type of attack to the hosting agency is when an agent tries to gain unauthorized access to the agency.
private keys of the agency or its users. An agent could also try to disclose the agencys code or

even try to terminate the agency completely

Sunday, April 22, 2012

Attacking Other Agents


No agent must have access to any other agent on the programming language level.
If we assume object-oriented programming languages, no agent should ever obtain a direct reference of another agent. Otherwise, the malicious agent would gain full control of the referenced agent.

Sunday, April 22, 2012

Attacking Other Agents(2)


A malicious agent could initiate denial of service attacks on other agents, for example, by sending thousands of spam messages.

Sunday, April 22, 2012

Malicious Agencies
A malicious agency is one that tries to attack mobile

agents currently residing on it or other agencies by attacking the communication link. Two types of attack can occur

Passive attack. Active attack.

Sunday, April 22, 2012

Passive attack
Traffic analysis
each message is encrypted because it is not important

whether the data is readable(understandable) to the attacker. Here, the adversary attempts to find patterns in the communication between two agencies, which might allow the adversary to derive certain assumptions based on these patterns.

Sunday, April 22, 2012

Passive attack
Traffic analysis
A B

Attacker
Sunday, April 22, 2012

Active Attack
Active attacks include security threats in which an

agency tries to manipulate agent code or data while it is transmitted between agencies. The most common examples of this kind of attack are alterations, in which an agents data is deleted or tampered with by an agency

Sunday, April 22, 2012

Active attack
Agency A Agency B A B

Malicious Agencies

Sunday, April 22, 2012

Example
Platform 4 Malicious host

Platform 2
Agent Migration

Platform 3

Sunday, April 22, 2012

Attacking Agents
cut and paste attack

This attack works even if data has been encrypted so that It can be read only at specific agencies.
An agent, , carries a data item protected with the public key of an

agency, Ai that the agent is going to visit. a malicious agency, Am, which currently is hosting agent , could cut the data item, paste it into a new agent, and let this agent migrate to Ai. The new agent decrypts the data item and carries it back to agency Am.

Sunday, April 22, 2012

References:
Mobile Agents Basic Concepts, Mobility Models, and the Tracy Toolkit

Peter Braun Swinburne University of Technology, Victoria, Australia Wilhelm Rossak ,Friedrich Schiller University, Jena, Thuringia, Germany.
Mobile agent security Niklas Borselius Mobile VCE Research Group Information Security Group, Royal Holloway, University of London
Artificial Intelligence A Modern Approach by Russell & Norvig, Second Edition, Prentice Hall.

Sunday, April 22, 2012

Thank You

Sunday, April 22, 2012

Vous aimerez peut-être aussi