Guidelines on Securing Public Web Servers
platform (e.g., conveyed via an HTML Web page as an applet).  Java is useful for adding 
functionality to Web sites.  Many services offered by various popular Web sites require the 
user to have a Java enabled browser.  When the Web browser sees references to Java code, it 
loads the code and then processes it using the built in JVM. 
The developers of Java tried to address the problem of security and were mostly successful.  
The Java programming language and runtime environment enforces security primarily through 
strong type safety, by which a program can perform certain operations only on certain kinds of 
objects.  Java follows a so called sandbox security model, used to isolate memory and method 
access and to maintain mutually exclusive execution domains.  Java code, such as a Web 
applet, is confined to a sandbox, which is designed to prevent it from performing unauthorized 
operations, such as inspecting or changing files on a client file system and using network 
connections to circumvent file protections or user's expectations of privacy. 
Hostile applets still pose security threats, even while executing within the sandbox.  A hostile 
applet can consume or exploit system resources inappropriately, or can cause a user to perform 
an undesired or unwanted action.  Examples of hostile applets exploits include DoS, mail 
forging, invasion of privacy (e.g., exporting of identity, e mail address, and platform 
information), and installing backdoors to the system.  Because the Java security model is rather 
complex, it can be difficult for a user to understand and manage.  This situation can increase 
risk.  Moreover, many implementation bugs have also been found, enabling the user to bypass 
security mechanisms [NIST01a]. 
JavaScript
   is a general purpose, cross platform scripting language, whose code can be 
embedded within standard Web pages to create interactive documents.  The name JavaScript is 
a misnomer because the language has little relationship to Java technology and rose 
independently from it.  Within the context of the Web browser, JavaScript is extremely 
powerful, allowing prepared scripts to perform essentially the same actions as those a user 
could take.  Within that context, JavaScript lacks methods for directly accessing a client file 
system or for directly opening connections to other computers besides the host that provided 
the content source.  Moreover, the browser normally confines a script's execution to the page 
with which it was downloaded [NIST01a].   
In theory, confining a scripting language to boundaries of a Web browser should provide a 
relatively secure environment.  In practice, this has not been the case.  Many browser based 
attacks stem from the use of a scripting language in combination with a security vulnerability.  
The main sources of problems have been twofold: the prevalence of implementation flaws in 
the execution environment and the close binding of the browser to related functionality, such 
as an e mail client.  Past exploits include sending a user's URL history list to a remote site, and 
using the mail address of the user to forge e mail.  The increasing use of HTML and other 
markup languages as content for e mail and in push technology services has opened new 
avenues for exploits through embedded scripts [NIST01a]. 
Visual Basic Script (VBScript)
   is a programming language developed by Microsoft for 
creating scripts that can be embedded in Web pages for viewing with the Internet Explorer 
browser.  Netscape Navigator, however, does not support VBScript.  Like JavaScript, 
VBScript is an interpreted language able to process client side scripts.  VBScript, which is a 
subset of the widely used Microsoft Visual Basic programming language, works with 
Microsoft ActiveX controls.  The language is similar to JavaScript and poses similar risks. 
42




Unlimited Web Hosting




TotalRoute.net Business web hosting division of Vision Web Hosting Inc. All rights reserved.