Prevention of denial-of-service attacks is indispensable for distributed agent sys-tems to execute securely. To implement the required defense mechanisms, it is necessary to have support for resource control, i.e., accounting and limiting the consumption of resources like CPU, memory, and threads. Java is the predominant implementation language for mobile agent systems, even though resource control is missing feature on standard Java platforms. Moreover, prevailing approaches to resource control in Java require substantial support from native code libraries, which a serious disadvantage with respect to portability, since it prevents the deploy-ment of applications on large-scale heterogeneous networks. This article describes the model and implementation mechanisms underlying the new resource-aware ver-sion of the J-SEAL2 mobile agent kernel. The resource control model is based on set of requirements, where portability is very significant, as well as a natural in-tegration with the existing programming model. The implementation consists of combination of Java byte-code rewriting with well-chosen enhancements in the J-SEAL2 kernel. Realization of a resource control system may be prompted by mo-tivations such as the need for application service providers to guarantee a certain quality of service, or to create the support for usage-based billing. In this article the design strategy is however focussed on security, and more specifically on preventing denial-of-service attacks originating from mobile agents running on the platform. Initial performance measurements are also presented, which back our approach. © 2001 Published by Elsevier Science B.V.
Binder, W., Hulaas, J. G., & Villanzon, A. (2002). Portable resource control in Java: Application to mobile agent security. In Electronic Notes in Theoretical Computer Science (Vol. 63, pp. 1–16). Elsevier. https://doi.org/10.1016/S1571-0661(04)80333-5