Mobile agent


Published on

open this ppt on ms office 2007,

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mobile agent

  1. 1. Anjan Mondal (Roll No. - 01) Arnab Pal (Roll No. - 02) M.E. (Software Engineering) Dept. of Information Technology Jadavpur UniversityWednesday, July 25, 2012 1
  2. 2. 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, July 25, 2012 2
  3. 3. How Agent works SENSORS ACTUATORSWednesday, July 25, 2012 3
  4. 4. 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.Wednesday, July 25, 2012 4
  5. 5. 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, July 25, 2012 5
  6. 6. 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).Wednesday, July 25, 2012 6
  7. 7. 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 stateWednesday, July 25, 2012 7
  8. 8. 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, July 25, 2012 8
  9. 9. A Mobile Agent Dissected A mobile agent contains the following 3 components: Code - the program (in a suitable language) that defines the agents behavior. State - the agents 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 attributesWednesday, July 25, 2012 9
  10. 10. 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 beginningWednesday, July 25, 2012 10
  11. 11. 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 hostWednesday, July 25, 2012 11
  12. 12. Events in Mobile Agent’s 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. 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, July 25, 2012 12
  13. 13. Events in Mobile Agent’s 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.Wednesday, July 25, 2012 13
  14. 14. Agent Life-Cycle Model Context A Context B Dispose Clone Dispatch Agent Agent Agent Retract CreateAgent Life Cycle Deactivate Activate-Creation-Cloning Class-Dispatching and FileRetraction Disk(Mobility) and-Activation Storage Deactivation (Persistence)-Disposal Wednesday, July 25, 2012 14
  15. 15. 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, July 25, 2012 15
  16. 16. 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)Wednesday, July 25, 2012 16
  17. 17. Wednesday, July 25, 2012 17
  18. 18. Client/Server Discussion Examples: WWW, RPC, Webservices, CORBA, EJBs Elements data - mobile code - static program stack – static Advantages easy to implement widespread Disadvantages there‘s no “one size fits all“ CORBA (Common Object Request Broker Architecture), EJB (Enterprise JavaBeans)Wednesday, July 25, 2012 18
  19. 19. d e Co Ex 3. ec co ute de e C od Ex 5. ec co ute de ResultWednesday, July 25, 2012 19
  20. 20. 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 client- server techniques. The two techniques augment each other and very often a combination of the two is the most appropriate.Wednesday, July 25, 2012 20
  21. 21. Seven Good Reasons for Mobile Agents Danny 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, July 25, 2012 21
  22. 22. Companies and Products IBM: Aglets Information on Aglets can be found at FTP Software: CyberAgents Information on CyberAgents used to be able to be found at General Magic: Tabriz More information on Tabriz can be found at Languages: The following languages are being used today for authoring agents. Java, Telescript, TCL or Tools Control Language, Obliq, PythonWednesday, July 25, 2012 22
  23. 23. Wednesday, July 25, 2012 23
  24. 24. Security Threats Threats to security generally fall into three main classes:  Disclosure of information  Denial of service  Corruption of informationWednesday, July 25, 2012 24
  25. 25. Agent System Model HOME Agent Agent platform platform Network Agent platformWednesday, July 25, 2012 25
  26. 26. Malicious agents  Malicious agencies.Wednesday, July 25, 2012 26
  27. 27. 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 AgentsWednesday, July 25, 2012 27
  28. 28. 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.Wednesday, July 25, 2012 28
  29. 29. 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 completelyWednesday, July 25, 2012 29
  30. 30. 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.Wednesday, July 25, 2012 30
  31. 31. 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, July 25, 2012 31
  32. 32. Malicious Agencies A 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, July 25, 2012 32
  33. 33. Passive attack passive 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, July 25, 2012 33
  34. 34. Passive attack Traffic analysis Attacker Agency AgencyWednesday, July 25, 2012 34
  35. 35. 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 agent’s data is deleted or tampered with by an agencyWednesday, July 25, 2012 35
  36. 36. Active attack Agency A Agency B B A C Malicious AgenciesWednesday, July 25, 2012 36
  37. 37. 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 agentWednesday, July 25, 2012 37
  38. 38. Example Platform 5 Airline 4 Platform 2 Platform 3 Platform 4 Airline 1 Airline 2 Malicious host Agent Migration Airline 3Wednesday, July 25, 2012 38
  39. 39. 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.Wednesday, July 25, 2012 39
  40. 40. 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, July 25, 2012 40
  41. 41. Thank YouWednesday, July 25, 2012 41