mobile agent
TRANSCRIPT
![Page 1: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/3.jpg)
How Agent works
SENSORS
ACTUATORS
Wednesday, May 3, 2023 3
![Page 4: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/17.jpg)
Wednesday, May 3, 2023 17
![Page 18: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/19.jpg)
3. Execute code
5. Execute codeResult
Code
Code
Wednesday, May 3, 2023 19
![Page 20: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/23.jpg)
Wednesday, May 3, 2023 23
![Page 24: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/25.jpg)
Agent System Model
HOME platform
Agent
platformAgent
Agent
platform
Network
Wednesday, May 3, 2023 25
![Page 26: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/26.jpg)
Malicious agents
Malicious agencies.
Wednesday, May 3, 2023 26
![Page 27: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/34.jpg)
Passive attackTraffic analysis
Agency
Agency
Attacker
Wednesday, May 3, 2023 34
![Page 35: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/36.jpg)
Active attack
CMalicious Agencies
A B
Agency A Agency B
Wednesday, May 3, 2023 36
![Page 37: Mobile agent](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062503/58eeb8721a28abfb298b45b7/html5/thumbnails/41.jpg)
Thank You
Wednesday, May 3, 2023 41