Title: Mobile Agents
1Mobile Agents
- based on material written by
- Olga Gelbart
- rosa_at_seas.gwu.edu
2What is an agent?
- A program (software agent), e.g.,
- Personal assistant (mail filter, scheduling)
- Information agent (tactical picture agent)
- E-commerce agent (stock trader, bidder)
- Recommendation agent (Firefly, Amazon.com)
- A program that can
- interact with users, applications, and agents
- collaborate with the user
- Software agents help with repetitive tasks
3Is everything an agent?
- Not all programs are agents
- Agents are
- customized
- persistent
- autonomous
- adaptive
4What is a mobile agent?
Search engine
Machine A
Machine B
- Mobile agent Agent that
- migrates from machine to machine
- in a heterogeneous network
- at times of its own choosing
5Definition
- In a broad sense, an agent is any program that
acts on behalf of a (human) user. A mobile agent
then is a program which represents a user in a
computer network, and is capable of migrating
autonomously from node to node, to performs some
computation on behalf of the user.
6How it works?
7Mobile Agent Attributes
- Code
- State
- Execution state
- Object state
- Name
- Identifier
- Authority
- Agent system type
- Location
8Evolution of the mobile agent paradigm
9Assumptions about computer systems violated by
mobile agents
- Whenever a program attempts some action, we can
easily identify a person to whom that action can
be attributed, and it is safe to assume that that
person intends the action to be taken. - Only persons that are know to the system can
execute programs on the system. - There is one security domain corresponding to
each user all actions within that domain can be
treated the same way. - Single-user systems require no security.
- Essentially all programs are obtained from easily
identifiable and generally trusted sources - The users of a given piece of software are
restrained by law and custom from various actions
against the manufacturers interests
10Assumptions violated by mobile agents (contd)
- Significant security threats come from attackers
running programs with the intent of accomplishing
unauthorized results. - Programs cross administrative boundaries only
rarely, and only when people intentionally
transmit them. - A given instance of a program runs entirely on
one machine processes do not cross
administrative boundaries at all. - A given program runs on only one particular
operating system. - Computer security is provided by the operating
system
11Benefits of mobile agents
- Bandwidth conservation
- Reduction of latency
- Reduction of completion time
- Asynchronous (disconnected) communications
- Load balancing
- Dynamic deployment
12Reason 1 Bandwidth conservation
Text documents, numerical data, etc.
Client/Proxy
Server
Dataset
Client/Proxy
Server
13Reason 2 Reduce latency
Sumatra chat server (a reflector)
1. Observe high average latency to clients
2. Move to better location
14Reason 3 Reduce Completion Time
Efficiency
1. Send code with unique query
Low bandwidth channel
Mobile users
3. Return requested data
2. Perform multi-step queries on large,
remote, heterogeneous databases
15Reason 4
Disconnected communication and operation
X
X
Before
X
X
After
16Reason 5 Load balancing
Jobs/Load
Jobs/Load migrate in a heterogeneous network of
machines
17Reason 6 Dynamic Deployment
18Threats posed by mobile agents
- Destruction of
- data, hardware, current environment
- Denial of service
- block execution
- take up memory
- prevention of access to resources/network
- Breach of privacy / theft of resources
- obtain/transmit privileged information
- use of covert channels
- Harassment
- Display of annoying/offensive information
- screen flicker
- Repudiation
- ability to deny an event / action ever happened
19Protection methods against malicious mobile agents
- Authenticating credentials
- certificates and digital signatures
- Access Control and Authorization
- Reference monitor
- security domains
- policies
- Software-based Fault Isolation
- Javas sandbox
- Monitoring
- auditing of agents activities
- setting limits
- Proxy-based approach to host protection
- Code Verification - proof-carrying code
20Threats to mobile agents
- Denial of service
- Unauthorized use or access of code/data
- Unauthorized modification or corruption code/data
- Unauthorized access, modification, corruption, or
repeat of agent external communication
21Possible attacks on mobile agents
- Denial of service
- Impersonation
- Host
- Agent
- Replay
- Eavesdropping
- Communication
- Code data
- Tamper attack
- Communication
- Code data
22Protection of mobile agents
- Encryption
- code
- payload
- Code obfuscation
- Time-limited black-box security
23Application Technical reports
GUI on home machine
...
2. Send child agents / collect partial results
1. Send agent
3. Return merged and filtered results
Dynamically selected proxy site
24Application Military
Wireless Network
Troop positions
Technical specs
Orders and memos
25Application e-commerce
Arbiter
VendorA
VendorB
Bank
Agent
Yellow pages
Agent
26Mobile agent systems
27More examples and bots
- Tryllian mobile agent system
- Bots
- mysimon.com
- amazon.com - customer preferences
28Current trends lead to mobile agents
Server-side
Information overload
Mobile code to server or proxy
Customization
Too many unique, dispersed clients to handle
Diversified population
Proxy-based
Increased need for personalization
Multiple sites to visit
Mobile Agents
Bandwidth gap
Avoid large transfers
Mobile code to client
Avoid star itinerary
Mobile users and devices
Disconnected Operation
High latency
29Migrating to migrating code
30Conclusion Cons
- Security is too big a concern
- Overhead for moving code is too high
- Not backward compatible with Fortran, C .
- Networks will be so fast, performance not an
issue
31Conclusion Pros
- A unifying framework for making many
applications more efficient - Treats data and code symmetrically
- Multiple-language support possible
- Supports disconnected networks in a way that
other technologies cannot - Cleaner programming model
32For more information...
- Mysimon.com
- DAgents http//agent.cs.dartmouth.edu/
- Tryllian http//www.tryllian.com
- Aglets http//www.trl.ibm.co.jp/aglets