Mobile agent

41
Anjan Mondal (Roll No. - 01) Arnab Pal (Roll No. - 02) M.E. (Software Engineering) Dept. of Information Technology Jadavpur University Tuesday, June 21, 2022 1

Transcript of Mobile agent

Page 1: Mobile agent

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

Wednesday, May 3, 2023 1

Page 2: Mobile agent

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).

Wednesday, May 3, 2023 2

Page 3: Mobile agent

How Agent works

SENSORS

ACTUATORS

Wednesday, May 3, 2023 3

Page 4: Mobile agent

Other properties of AgentReactive – 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.

Wednesday, May 3, 2023 4

Page 5: Mobile agent

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.

Wednesday, May 3, 2023 5

Page 6: Mobile agent

Definition of a Stationary AgentA 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).

Wednesday, May 3, 2023 6

Page 7: Mobile agent

What is a Mobile Agent?Program that can migrate from system to

system within a network environmentPerforms some processing at each hostAgent decides when and where to move

nextHow does it move ? Save state Transport saved state to next system Resume execution of saved state

Wednesday, May 3, 2023 7

Page 8: Mobile agent

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)

Wednesday, May 3, 2023 8

Page 9: Mobile agent

A Mobile Agent DissectedA 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

Wednesday, May 3, 2023 9

Page 10: Mobile agent

Levels of MobilityWeak 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

Wednesday, May 3, 2023 10

Page 11: Mobile agent

Levels of MobilityStrong Mobility

When moving a mobile agent carries (code + data state + execution

state)Data State - global or instance variableExecution State – local variables and

threadsOn moving, execution can continue from

the point it stopped on the previous hostWednesday, May 3, 2023 11

Page 12: Mobile agent

Events in Mobile Agent’s life-timeCreation: 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.

Deactivation: an agent is put to sleep and its state is saved in persistent storage.

Activation: a deactivated agent is brought back to life and its state is restored from persistent storage.

Wednesday, May 3, 2023 12

Page 13: Mobile agent

Events in Mobile Agent’s life-timeRetraction: 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.

Wednesday, May 3, 2023 13

Page 14: Mobile agent

Agent Life-Cycle Model

Agent Agent

Class File Disk

Storage

Create Deactivate Activate

Dispose

Clone

Retract

Dispatch

Context BContext A

Agent Life Cycle

Agent

DiskStorage

DiskStorage

-Creation-Cloning-Dispatching andRetraction (Mobility)-Disposal

-Activation and Deactivation (Persistence)

Wednesday, May 3, 2023 14

Page 15: Mobile agent

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.

Wednesday, May 3, 2023 15

Page 16: Mobile agent

Mobile Code Systems: DesignFour 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)Wednesday, May 3, 2023 16

Page 17: Mobile agent

Wednesday, May 3, 2023 17

Page 18: Mobile agent

Client/Server DiscussionExamples: WWW, RPC, Webservices, CORBA,

EJBsElements data - mobile code - static program stack – static

Advantages easy to implement widespreadDisadvantages there‘s no “one size fits all“CORBA (Common Object Request Broker Architecture), EJB (Enterprise JavaBeans)

Wednesday, May 3, 2023 18

Page 19: Mobile agent

3. Execute code

5. Execute codeResult

Code

Code

Wednesday, May 3, 2023 19

Page 20: Mobile agent

Mobile Agents DiscussionElements 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 client-server techniques. The two techniques augment each other and very often a combination of the two is the most appropriate.

Wednesday, May 3, 2023 20

Page 21: Mobile agent

Seven Good Reasons for Mobile AgentsDanny Lange’s 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!Wednesday, May 3, 2023 21

Page 22: Mobile agent

Companies and ProductsIBM: AgletsInformation on Aglets can be found at

http://www.trl.ibm.co.jp/agletsFTP Software: CyberAgentsInformation on CyberAgents used to be able to be found at

http://www.ftp.com/cyberagents

General Magic: TabrizMore 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

Wednesday, May 3, 2023 22

Page 23: Mobile agent

Wednesday, May 3, 2023 23

Page 24: Mobile agent

Security ThreatsThreats to security generally fall into three

main classes:

Disclosure of information Denial of service Corruption of information

Wednesday, May 3, 2023 24

Page 25: Mobile agent

Agent System Model

HOME platform

Agent

platformAgent

Agent

platform

Network

Wednesday, May 3, 2023 25

Page 26: Mobile agent

Malicious agents

Malicious agencies.

Wednesday, May 3, 2023 26

Page 27: Mobile agent

Malicious AgentsMalicious 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

Wednesday, May 3, 2023 27

Page 28: Mobile agent

Attacking the Hosting Agency1. 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.

Wednesday, May 3, 2023 28

Page 29: Mobile agent

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

agency’s code or even try to terminate the agency completely

Wednesday, May 3, 2023 29

Page 30: Mobile agent

Attacking Other AgentsNo 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.

Wednesday, May 3, 2023 30

Page 31: Mobile agent

Attacking Other Agents(2)

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

Wednesday, May 3, 2023 31

Page 32: Mobile agent

Malicious AgenciesA malicious agency is one that tries to attack

mobile agents currently residing on it or other agencies.

Two types of attack can occur-

• Passive attack.• Active attack.

Wednesday, May 3, 2023 32

Page 33: Mobile agent

Passive attackpassive attack "attempts to learn or make

use of information from the system but does not affect system resources"

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.

Wednesday, May 3, 2023 33

Page 34: Mobile agent

Passive attackTraffic analysis

Agency

Agency

Attacker

Wednesday, May 3, 2023 34

Page 35: Mobile agent

Active AttackActive 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 agent’s data is deleted or tampered with by an agency

Wednesday, May 3, 2023 35

Page 36: Mobile agent

Active attack

CMalicious Agencies

A B

Agency A Agency B

Wednesday, May 3, 2023 36

Page 37: Mobile agent

Example of active attack An agent is sent out to find the best airfare for a flight with

a particular route The agent is given various requirements, such as departure

and destination, time restrictions.The agent will visit every airline and query their databases

before committing to a purchase and reporting back to the agent owner

A malicious host can interfere with the agent execution in several ways Erase all information previously collected by the agent . change the agent’s route so that airlines with more favourable

offers are not visited. simply terminate the agent

Wednesday, May 3, 2023 37

Page 38: Mobile agent

Example

Platform 4Malicious

hostAirline 3

Platform 3Airline 2

Platform 2Airline 1

Agent Migration

Platform 5 Airline 4

Wednesday, May 3, 2023 38

Page 39: Mobile agent

Attacking Agentscut 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.

Wednesday, May 3, 2023 39

Page 40: Mobile agent

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.

Wednesday, May 3, 2023 40

Page 41: Mobile agent

Thank You

Wednesday, May 3, 2023 41