Database Reference
In-Depth Information
What can be done? Are there any guidelines to permit applets to execute on the
client machine but ensure that no damages are caused? The following are general
guidelines:
List all possible scenarios of malicious actions that could cause damages.
Analyze and reduce the list into a basic set of wicked actions.
Design an architecture and language protection mechanism that prevent the
basic set of malicious actions.
Test and prove that the architecture and the language are secure.
Include flexibility in the design to accommodate any additional type of mali-
cious actions.
Let us try to list the common types of damages that may be caused by malicious
actions.
Applet starts a process that depletes all system resources and brings the client
machine to a halt.
Application locks the browser.
Applet tampers with the browser's Domain Name Service (DNS).
Applet destroys other applications trying to load.
Applet damages or deletes files on the client machine.
Installs back door access into your network for future unauthorized entry.
Accesses confidential files and give access privileges to other unauthorized
users.
Assumes your identity and impersonates you for the purpose of attacking other
computer systems.
What about the major strength of Java—its portability? If a Java program can
run on any computing platform, obviously, Java security cannot rely on security
provisions in any operating system. So, safety and security provisions in Java have
to be self-contained. Security and safety are, therefore, integral parts of the design
of the language. The sandbox concept ensures that no undependable, malicious
program can gain access. For this purpose, Java security is implemented using three
components: class loader, bytecode verifier, and security manager. Figure 19-13 illus-
trates Java security implementation.
The three components work together and ensure the following safeguards:
Only the proper classes are loaded.
Each class is in the proper format.
Undependable classes are not permitted to execute dangerous instructions.
Undependable classes are not allowed to access system resources.
Class Loader A Java-enabled or Java-aware browser invokes the class loader to
verify the format and load the incoming applet. The class loader defines a name-
space for the particular web page. An executing JVM allows multiple class loaders
Search WWH ::




Custom Search