1.1 Introduction
A Mobile Agent is software that can migrate from one node to another in a computer network performing actions on behalf of the user. It can create reports about activities of software and can as well collect data. A Mobile Software Agent is a software program along with data, which is able to migrate from one computer to another autonomously and continue its execution on the destination computer. Here, software is partitioned into objects called mobile agents and the privileges to access these agents are separated and distributed to the user’s local system and a number of trusted servers called trusted computational proxies. The execution of a program (software) is conducted by cooperation of the agents and the proxies that contain them. Two agents are dependent if there is message passing between them and distributing dependent agent to different proxies helps reduce risk of software attack, because in case of an agent being compromised, minimal information of the software will only be disclosed (Shieh, 2003).
As a prelude to other parts of this study, this chapter will discuss the background upon which this study was initiated, the statement of problems that led to this study, the Aim and Objectives of the study. Others are Significance of the study, Scope of work, Limitations of the Study and Definition of technical terms.
1.2 Background of Study
Software Piracy is a dangerous menace that needs to be combated now in order to secure the future of this population of future software engineers. Software vendors have tried a lot to prevent software piracy through means that are visible to the users. This study of combating software piracy with mobile agent is very necessary because of its verification and authentication processes being hidden from the various users of software during installation. Software piracy has affected the growth and the profitability of the software industry. It causes so much harm to software publishers when their products are duplicated without due authorization and spread across to individuals who are not licensed users or when their products are installed amongst multiple machines beyond the licensed number.
Nowadays, we are surrounded by software applications which are used for services like online payments, social networking, games, data management, etc. The profitability of the producers and vendors of these software applications are negatively affected by threats such as piracy, reverse engineering, and tampering. However, these threats are exacerbated when these software are poorly protected. Therefore, it is important to have a thorough threat analysis as well as software protection schemes in order to protect the huge revenues of software companies which increases in proportion with the wide use of software. This protection is not only for operating systems, but also for professional applications (e.g. graphics software) which can also be very expensive. The illegal use of software is on the increase and with just a few mouse clicks, people can download software product, apply a downloaded patch to it, and start using it without payment. Vendors realized that protecting software against malicious users is a hard problem. The user is in control of his machine: he has physical access to the hardware and he controls the network connectivity (Howard & LeBlanc, 2002).
The BSA (2013) explained that software piracy creates unfair competition for legitimate companies, damages brands through distribution of substandard products, and exposes customers to a range of IT risks including malware, security breaches and data loss. It also denies end-users the benefit of necessary customer support, upgrades, technical documentation, trainings and bug fixes. These pirated software end-users of course have no warranty to protect themselves and they are subject to significant fines for copyright infringement. The software vendors and manufacturers and also the BSA with local laws in different countries have not relented in the quest to completely prevent software piracy. Many websites today are used to fight piracy by including linking information such as “report software piracy”, thereby involving legitimate users of software in the fight. Software piracy is more often proactive when digital files are made into one or more copies, thus programmers have usually come together trying to find a way of making digital files not copied. Schneier (2011) has said that trying to end digital files copying is like trying to make water not wet. Job (2011) has also argued that there is no good technological solution to a behavioral problem. While so many are still on the fight for piracy prevention, some others are arguing that software piracy prevention has no perfect measure. According to wheeler (2011), a combination of four main factors means that no imperfect copy-protection system can be possibly safe.
1.3 Statement of Problem
The problems of software piracy and it’s negative effects on the following areas:
- Loss of jobs: Unfortunately today, throughout the world, we do not only have a problem of software piracy reducing this funding of ongoing development efforts, but also a problem that software vendors have not really achieved the desired much in their quest to prevent this dangerous menace which affects their profitability and which also is a threat to jobs of so many software developers.
- Funding of continuing research and development efforts through sales of software: Software developers and vendors have envisioned a future with so many possibilities through creation of various software products. Mathworks (2013) stated their goal to accelerate the pace of discovery, innovation, development, and learning in engineering and science through the software they create. To this end, making substantial and continuing research and development efforts, which are ‘funded’ through the sales of their software products
- Financial losses to software firms and the government: The BSA study concluded that software piracy cost the U.S economy $1.9 billion and resulted in more than 105,000 lost jobs (Jack, 2004). At global level, the global piracy rate hovered at 42% in 2011 while a steady expanding marketplace in the developing world drove the commercial value of software theft to $63.4 billion (BSA, 2011). Apple (2013) also stated that more than $11 billion is lost to piracy every year. Software piracy has also been a discouragement to so many who wishes to invest in the software industry thus affecting the expected alternative software solutions to solve people’s needs in the future. If enough strict software piracy–prevention measures are not put in place, it could lead to a very high increase in software prices in the future because of the need for business sustainability on the side of software vendors.
1.4 Aim and Objectives of the Study
The aim of the study is to develop A Mobile Agent for Preventing Software Piracy on a Network. In achieving this aim, the following specific objectives were set out as follows to develop A Mobile Agent for Preventing Software Piracy on a Network that will:
- Combine an online activation code system with the mobile agent system in a way as to make them a single unit aimed at preventing software piracy through technical means.
- Build a web interface which will act as the data processing element for the combined system.
- Ensure that an unforeseen circumstance that may arise after the users’ first time installation of software is put into consideration.
- Use the migration behavior of mobile agent codes for software-user identity collection and for software usage count. And also to implement a scenario illustrating such mobile agent code activities In addition, using data collection procedures to ensure that the study has an outstanding contribution to make towards the fight against software piracy, but first ensuring that data analyzed is from a population ‘really informed’ about software piracy.
1.5 Significance of Study
The importance of this study can never be over emphasized, because it's significant Educationally, Technologically and Economically. It is of educational significance to students, IT instructors and lecturers in IT field who can use the study as instructional reference for self study and tutorials when referring to software, piracy, coding and also to ICT-driven services. It is also of educational significance to researchers in areas of software piracy as a review study.
Technologically, it is of significance to software developers who engage in seeking new systems of preventing software piracy through technical means especially means relating to mobile agents or a combination of mobile agents. The study will also be useful technologically and economically to software vendors who has need to identify usage and control installation limits of software as a way of frustrating piracy and preventing financial losses.
1.6 Scope of the Study
This study is focus on preventing software piracy through technology. This technology is the use of a mobile agent. The study will cover the encapsulation of the actual software with mobile agent codes. It shall also cover the coding and the development of the remote server/web interface. The interaction between the mobile agent codes and a remote server hosted on the site of the vendor during the authentication stage of the software installation will also be covered.
TUSRUC algorithm function will also be studied which shows the way the system handles cases of unforeseen contingencies during the “first time” period of using the software product. This study however, does not cover the de-encapsulation process. The actual software to be installed will only serve as test software, its development process or coding will not be covered.
1.7 Limitations of the Study
During the course of this study, many things militated against its completion, some of which are:
- Time Constraint: The time frame given to accomplish this project was very short due to school academic calendar and it was carried out under pressure which made the researcher not to implement some necessary features.
- Research material: availability of research material is a major setback to the scope of the study.
- Frequent power failure: This made the researcher append more money on fuel to ensure sustainable power.
- Financial Constraint: Insufficient fund tends to impede the efficiency of the researcher in sourcing for the relevant materials, literature or information and in the process of data collection (internet).
1.8 Definition of the Terms
Activation Code: Some software needs an activation code to unlock it for use. Without activation code, such software cannot be functional (Bahar Reuben, 2011).
Algorithm: A step-by-step method of solving a problem or achieving a task.
Amnesty: a period during which a law is suspended to allow offenders to admit their crime without fear of prosecution.