Security Issues in Mobile Agent Applications

Security Issues in Mobile Agent Applications

O. A. Ojesanmi (Ajayi Crowther University, Nigeria)
Copyright: © 2010 |Pages: 17
DOI: 10.4018/jats.2010100104
OnDemand PDF Download:
No Current Special Offers


An autonomous mobile agent is an executing program that can migrate from machine to machine in a heterogeneous network under its own control. An agent can either follow a pre-assigned path on the network or determine its itinerary based on the data collected from the network. Facilities for highly dynamic movement of code and data enable a program to take advantage of the locality of data. It also allows one to optimize between the requirements of low bandwidth, high latency and disconnected network connections. This computing paradigm, which exploits code, data and state mobility, raises many new security issues that are quite different from conventional client/server systems. Agent servers that provide an execution environment for the agents to execute can be attacked by malicious agents. Similarly agents could be carrying sensitive information about their owners and should be protected from tampering by malicious hosts. The data collected by the agent from one host should also be protected from tampering by another host in the itinerary. In this paper, various security issues that arise in mobile agents applications were examined.
Article Preview

1.0 Introduction

The word agent has found its way into a number of technologies. It has been applied to aspects of artificial intelligence research and to constructs developed for improving the experience provided by collaborative online social environments. It is a branch on the tree of distributed computing (Chess, 1998).


Mobile agents are programs that can migrate from host to host in a network, at times and to places of their own choosing. The state of the running program is saved, transported to the new host, and restored, allowing the program to continue where it left off. Mobile-agent systems differ from process-migration systems in that the agents move when they choose, typically through a ‘jump’ or ‘go’ statement, whereas in a process-migration system the system decides when and where to move the running process (typically to balance CPU load). Mobile agents differ from ‘applets’, which are programs downloaded as the result of a user action, then executed from beginning to end on one host (Robert, 1996).


Agents are software components that are designed and implemented to function as follows:

  • • Provide services, including carrying autonomous and collaborative computational operations,

  • • Run asynchronously, and communicate with one another, usually through the exchanging of messages in an agent communication language (ACL),

  • • Follow the principles of object-orientation, including encapsulating operations and data, decoupled from interfaces with other agents

  • • Enforce some type of persistent control, such as maintaining distinct processes are interoperable, supporting the exchanging of information and services among multiple systems

  • • Accommodate some degree of heterogeneity, including such things as differences in programs, programmers, time of development, platforms, and languages (Weisman, 2008).

Agents typically possess several (or all) of the following characteristics; they are:

  • • Autonomous

  • • Adaptive/learning

  • • Mobile

  • • Persistent

  • • Goal oriented

  • • Communicative/collaborative

  • • Flexible

  • • Active/proactive

Agents also tend to be small in size. They do not, by themselves, constitute a complete application. Instead, they form one by working in conjunction with an agent host and other agents. In many ways, agents are of the same scope as applet, small and of limited functionality on their own (Robert, 1996).


Agents make an interesting topic of study because they draw on and integrate so many diverse disciplines of computer science, including objects and distributed object architectures, adaptive learning systems, artificial intelligence, expert systems, genetic algorithms, distributed processing, distributed algorithms, collaborative online social environments, and security, just to name a few.

Agent technology is significant because of the sustained commercial interest surrounding it. Agent technology is also interesting for its potential to solve some nagging productivity problems that pester almost all modern computer users. Many agents are meant to be used as intelligent electronic gophers (automated errand boys). Tell them what you want them to do (search the Internet for information on a topic), or assemble and order a computer according to your desired specifications and they'll do it and let you know when they've finished (Robert, 1996).

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 9: 1 Issue (2017)
Volume 8: 1 Issue (2016)
Volume 7: 3 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing