Mobile agent
-
Upload
anjan-mondal -
Category
Technology
-
view
4.747 -
download
0
Transcript of 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
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
How Agent works
SENSORS
ACTUATORS
Wednesday, May 3, 2023 3
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
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
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
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
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
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
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
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
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
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
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
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
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
Wednesday, May 3, 2023 17
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
3. Execute code
5. Execute codeResult
Code
Code
Wednesday, May 3, 2023 19
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
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
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
Wednesday, May 3, 2023 23
Security ThreatsThreats to security generally fall into three
main classes:
Disclosure of information Denial of service Corruption of information
Wednesday, May 3, 2023 24
Agent System Model
HOME platform
Agent
platformAgent
Agent
platform
Network
Wednesday, May 3, 2023 25
Malicious agents
Malicious agencies.
Wednesday, May 3, 2023 26
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
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
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
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
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
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
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
Passive attackTraffic analysis
Agency
Agency
Attacker
Wednesday, May 3, 2023 34
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
Active attack
CMalicious Agencies
A B
Agency A Agency B
Wednesday, May 3, 2023 36
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
Example
Platform 4Malicious
hostAirline 3
Platform 3Airline 2
Platform 2Airline 1
Agent Migration
Platform 5 Airline 4
Wednesday, May 3, 2023 38
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
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
Thank You
Wednesday, May 3, 2023 41