Title: Lesson 17-Web Components
 1Lesson 17-Web Components 
 2Background
- The World Wide Web was invented in 1990 by Tim 
Berners-Lee to give physicists a convenient 
method of exchanging information.  - What began as a physics tool in the European 
Laboratory for Particle Physics (CERN) has grown 
into a complex system. 
  3Background
- It is now a complex system used by millions for 
tasks ranging from e-commerce to e-mail, 
chatting, games, and even the original intended 
usefile and information sharing. 
  4Background
- Before the World Wide Web, the following methods 
were used to perform these tasks  - File Transfer Protocol (FTP) to move files. 
 - Telnet to access other machines.
 
  5Background
- A common architecture was developed by 
Berners-Lee.  - First, a common addressing scheme built around a 
Uniform Resource Locator (URL).  - Then, linking documents with URLs through the 
Hypertext Markup Language (HTML). 
  6Objectives
- Upon completion of this chapter, the students 
will be able to  - Describe the protocols such as SSL/TLS protocol 
suite, LDAP, and FTP used with Web components.  - Describe Web applications, such as Web Services 
and plug-ins, and explain their associated 
security issues.  - Describe and explain secure file transfer options.
 
  7Objectives
- Upon completion of this chapter, the students 
will be able to  - Explain how directory services can be used to aid 
in data retrieval.  - Describe how scripting and other Internet 
functions can cause security concerns.  - Describe how using cookies maintains parameters 
between Web pages.  
  8Current Web Components and Concerns
- The World Wide Web is useful due to 
 - Browsers 
 - Web components
 
  9Current Web Components and Concerns
- There are three main security tasks 
 - Securing a server to deliver content to users 
over the Web.  - Securing the transfer of information between 
users and servers over the Web.  - Securing the user's computer from attack through 
a Web connection. 
  10Protocols
- Encryption 
 - SSL and TLS 
 - The Web 
 - HTTP and HTTPS 
 - Web Services 
 - Directory Services (DAP and LDAP) 
 - File Transfer 
 - FTP and SFTP
 
  11Protocols
- Protocols are agreed-upon rules that allow 
vendors to produce hardware and software that 
interoperate with hardware and software developed 
by other vendors.  - The specific instantiation of protocols is done 
through hardware and software components.  
  12Encryption (SSL and TLS)
- Secure Socket Layer 
 - SSL is almost ubiquitous in e-commerce. 
 - All browsers and Web servers support SSL. 
 - Virtually, all sensitive financial traffic uses 
SSL to protect information between Web servers 
and browsers. 
  13Encryption (SSL and TLS)
- The Internet Engineering Task Force (IETF) 
embraced SSL in 1996 through a series of RFCs and 
named the group Transport Layer Security (TLS).  - SSL 3.0 
 - RFC 2246 
 - TLS Protocol Version 1.0 
 - RFC 2712 
 - Added Kerberos authentication 
 - RFCs 2817 and 2818 
 - Extended TLS to HTTP version 1.1 (HTTP/1.1) 
 
  14Encryption (SSL and TLS)
- Although SSL has been through several versions, 
TLS begins with an equivalency to SSL 3.0.  - SSL and TLS are essentially the same protocol, 
but not interchangeable. 
  15Encryption (SSL and TLS)
- SSL/TLS is a series of functions within the OSI 
model.  - They reside between the application layer and the 
TCP/IP implementation in the transport and 
network layers.  
  16Encryption (SSL and TLS)
- TCP and SSL/TLS 
 - TCP sends an unauthenticated error-free stream of 
information between two computers.  - SSL/TLS adds message integrity and authentication 
functions to TCP through cryptographic methods.  
  17Encryption (SSL and TLS)
- Session description 
 - When two programs initiate an SSL/TLS connection, 
they compare available protocols and agree on an 
appropriate common cryptographic protocol.  - SSL/TLS can use separate algorithms and methods 
for  - Encryption 
 - Authentication 
 - Data integrity 
 - Each of these is negotiated and determined before 
the session starts.  
  18SSL/TSL Encryption Options
- This shows the types of cryptographic protocols 
available in Netscape Communicator. 
Cryptographic protocol options in Netscape 
Communicator 
 19How SSL/TLS Works
- SSL/TLS uses cryptographic protocols. Effective 
use of these protocols requires that systems must 
agree upon a protocol. The SSL handshake process 
is used to accomplish this task.  - The client requests for a secure connection and 
the server responds.  - Both systems agree on a commonly held protocol 
(SSL v1, v2, v3, or TLS v1).  - Commonly available cryptographic algorithms 
include Diffie-Hellman and RSA.  
  20How SSL/TLS Works
- The handshake begins with the exchange to agree 
on parameters.  - The systems exchange certificates and keys to 
enable authentication.  - Certificate exchange is done via X.509 
certificates.  - Public key cryptography is used to establish 
authentication.  
  21How SSL/TLS Works
- The session continues 
 - Once authentication is established, the channel 
is secured with symmetric key cryptographic 
methods and hashes, typically RC4 or 3DES for 
symmetric key and MD5 or SHA-1 for hash 
functions.  - The authenticity of the server and possibly the 
client has been established.  - The channel is protected by encryption against 
eavesdropping.  
  22How SSL/TLS Works
- Session certificates 
 - The use of certificates is a way to have a third 
party act as a notary in the electronic world.  - A certificate is merely a standard set of 
formatted data that represents the authenticity 
of the public key associated with the signer.  - A certificate can be trusted as a notary to a 
signature.  - Certificates provide a method of proving who 
someone is, provided you trust the issuer.  
  23SSL/TSL Certificates
SSl and TLS options in Netscape Communicator 
 24SSL/TSL Certificates
Certificate options in Microsoft Internet Explorer 
 25SSL/TSL Certificates
- These are the certificate management options.
 
Certificate management options dialog in 
Microsoft Internet Explorer 
 26How SSL/TLS Works
- SSL/TLS is designed to provide protection from 
man-in-the-middle attacks.  - By authenticating the server end of the 
connection, SSL/TLS prevents the hijacking of a 
session.  - By encrypting all of the conversations between 
the client and the server, SSL/TLS prevents 
eavesdropping.  
  27The Web (HTTP and HTTPS)
- The Hypertext Transfer Protocol (HTTP) is the 
protocol for the transfer of hypertext-linked 
data over the Internet.  - A URL such as http//www.example.com is decoded 
by the browser.  - The http// portion indicates that the desired 
method of data transfer is via the Hypertext 
Transfer Protocol.  
  28The Web (HTTP and HTTPS)
- SSL/TLS hides cryptographic complexity from end 
users.  - This can be done by requesting a secure 
connection from a Web server, instead of a 
non-secure connection.  - With HTTP connections, use https// in place of 
http//.  - The entry of an SSL/TLS-based protocol will cause 
an aware browser to negotiate with the server to 
establish the required level of security.  
  29How Do You Know You Are Secure?
HTTPS connection in Microsoft Internet Explorer 
 30The Web (HTTP and HTTPS)
- Enabling cryptographic methods transparently 
helps end users to use these protocols easily.  - SSL/TLS is agnostic. 
 - Designed to run on top of TCP/IP, it can operate 
over lower-level protocols such as X.25.  - SSL/TLS requires a reliable lower-level protocol. 
  - It cannot properly function over a non-reliable 
protocol such as the IP User Datagram Protocol 
(UDP).  
  31Web Services
- Web Services is an industry term with various 
marketing definitions.  - It depends upon who is trying to market what and 
to whom.  - Although the term has been misused often, its 
underlying core is an application program 
accessible using open protocols.  
  32Web Services
- Web Services are defined through industry 
standardization.  - There are a series of specifications including 
XML Schema and Web Services Description Language 
(WSDL).  - A Web Service may be as simple as a procedure 
invoked on a remote computer via common data 
formats and protocols.  
  33Web Services
- Web Services can be invoked with a Simple Object 
Access Protocol (SOAP) request over an HTTP 
connection.  - This uses open standards such as XML, HTTP and 
Universal Description, and Discovery and 
Integration (UDDI).  - A Web Service is an application accessed via a 
set of remote procedure calls implemented over 
HTTP. 
  34Web Services
- The deployment of Web Services is in its infancy. 
  - The effectiveness of the security mechanisms 
being built into the standards is unknown.  - Several areas that Web Services are vulnerable 
 - HTTP/Web server vulnerabilities 
 - SOAP Structure vulnerabilities 
 - WSDL vulnerabilities 
 - Application layer vulnerabilities
 
  35Web Services
- Web Services communicate over HTTP through Web 
servers.  - Any vulnerability of the Web server can manifest 
itself as a vulnerability of the Web Service.  
  36Web Services
- A risk is associated with the actual Web Service 
code itself.  - As Web Services are designed to increase 
distributed code and usage, control over users of 
Web Services lessens.  - It is not safe to assume every usage will be with 
properly conformed messages for a particular Web 
Service.  - The Web Services application programmer must 
develop secure code.  
  37SOAP
- Simple Object Access Protocol (SOAP) is a method 
of invoking remote procedures over the Internet.  
  38SOAP
- SOAP is a framework for generalized XML messaging 
between applications. 
  39SOAP
- Soap is language-neutral and platform-independent.
  - The SOAP framework does no routing or security 
since these are managed in the extensible nature 
of the basic framework.  - Layered extensions allow adding these services in 
a cohesive and controlled fashion.  
  40XML
- Extensible Markup Language (XML) formats messages 
used by SOAP to access and return data from Web 
Services.  
  41XML
- XML Schemas define communication interfaces and 
carry information between Web Services.  - They invoke elements that allow a standard method 
that is independent of any firm or platform.  - It is extensible. 
 - It is language-neutral. 
 
  42Directory Services (DAP and LDAP)
- A directory is a data storage mechanism like a 
database.  - The directory is designed and optimized for 
reading data, yielding very fast search and 
retrieval operations.  - The types of information stored in a directory 
tend to be descriptive attribute data.  - A directory offers a static view of data that can 
be changed without a complex update transaction.  - The data is hierarchically described in a 
tree-like structure.  - A network interface for reading is typical. 
 
  43Directory Services (DAP and LDAP)
- The X.500 standard was created as a standard for 
directory services. It enables interoperability.  - An X.500 directory is accessed through the 
Directory Access Protocol (DAP).  - It is difficult to implement completely on PCs 
and other constrained platforms.  - This led to the Lightweight Directory Access 
Protocol (LDAP), which contains the most commonly 
used functionality.  - LDAP can interface with X.500 services. 
 - LDAP can be used over TCP with fewer computing 
resources than full X.500 implementation.  
  44SSL/TLS LDAP
- LDAP is the Internet standard for directory 
services.  - LDAP over TCP is a plaintext protocol. 
 - This means data is over the network, which makes 
it susceptible to eavesdropping.  - To avoid this, data must be encrypted. 
 - The application of SSL/TLS service protects 
directory transactions from eavesdroppers.  
  45SSL/TLS LDAP
- SSL/TLS provides several functions to LDAP 
services.  - SSL/TLS establishes the identity of a data source 
through certificates.  - SSL/TLS provides integrity and confidentiality of 
the data presented from an LDAP source.  - LDAP and SSL/TLS are separate independent 
protocols.  - Interoperability requires correct setup. 
 - Establish an SSL/TLS connection. 
 - Open an LDAP connection over the protected 
channel.  - Both the client and the server should be enabled 
for SSL/TLS.  
  46SSL/TLS LDAP
- An LDAP server set up to function over an SSL/TLS 
connection operates as it always has.  - The LDAP server responds to specific queries with 
the data returned from a node in the search.  - The SSL/TLS functionality operates to secure the 
channel of communication and is transparent to 
the data flow from the user's perspective.  - SSL/TLS prevents observation of the data request 
and response, ensuring confidentiality. 
  47FTP
- FTP is an application-level protocol. 
 - It allows operation over a wide range of 
lower-level protocols.  - FTP is embedded in most operating systems. It 
provides a method of transferring files between 
systems.  
  48FTP
- FTP implementations operate both ways  sending 
and receiving. They enable remote file operations 
over a TCP/IP connection.  - FTP clients are used to initiate transactions. 
 - FTP servers respond to transaction requests. 
 - The request can be either to upload (send data 
from a client to a server) or download (send data 
from a server to a client). 
  49FTP
- When a user enters ftp//url in a browser address 
field, it indicates that the user wishes to see 
the data associated with the URL via an FTP 
sessionthe browser handles the details.  - File transfers via FTP can be either in binary or 
text mode.  - In either case, transfers are plaintext across 
the network. 
  50Blind FTP (Anonymous FTP)
- An account must be used to allow the operating 
system-level authorization function to work.  - With an FTP server, you may not able to control 
who gets the information.  - A standard account called anonymous exists. 
 - It allows unlimited public access to the files. 
 - It is used to have unlimited distribution. 
 - On a server, access permissions can be 
established to allow only downloading or only 
uploading or both.  
  51Blind FTP (Anonymous FTP)
- An FTP can be used to allow access to upload 
files to a server.  - It is a security risk usually implemented on 
specialized servers isolated from other critical 
functions.  - FTP should not be permitted on workstations. 
 - They should be disabled on servers.
 
  52SFTP
- FTP operates in plaintext mode. 
 - An eavesdropper can observe the data being 
passed.  - If confidential transfer is required, Secure FTP 
(SFTP) should be used.  - SFTP utilizes both Secure Shell (SSH) protocol 
and FTP to accomplish this task.  
  53SFTP
- SFTP is an application program that encodes both 
the commands and the data passed.  
  54SFTP
- SFTP must be on both the client and the server. 
 - SFTP is not interoperable with standard FTP. 
 - The encrypted commands cannot be read by an FTP 
server program.  - To establish SFTP data transfers, the server must 
be enabled with the SFTP program.  - Clients access the server provided they have the 
correct credentials.  
  55SFTP
- SFTP operates in a similar way as FTP 
 - An identification function uses a username. 
 - An authorization function uses a password. 
 - There is no anonymous SFTP account by definition. 
  - Access is established and controlled from the 
server using standard access control lists, IDs, 
and passwords.  
c 
 56Vulnerabilities
- Protocols such as SSL/TLS provide methods for end 
users to use cryptography without understanding 
the method.  - This yields complacencythe impression that once 
SSL/TLS is enabled, the user is safe, which is 
not necessarily the case.  - If a Trojan program records keystrokes and sends 
the information to an unauthorized user, SSL/TLS 
cannot prevent this security breach.  - If the user connects to an untrustworthy site, a 
secure connection does not prevent the other site 
from running a scam.  - Using SSL/TLS and other encryption methods does 
not guard against credit card information being 
lost by the receiving company.  
  57Vulnerabilities
- What and where data is protected requires 
understanding of what these protocols can and 
cannot do.  - The SSL/TLS suite can protect data in transit, 
not in storage.  - It can authenticate users and servers. 
 - Certificate mechanisms are established and used 
by both parties.  - SSL/TLS provides a secure method of 
authentication, followed by confidentiality in 
data transfers and data integrity checking.  - All of this occurs during transit, the protection 
ends once the data is stored. 
  58Vulnerabilities
- Vulnerabilities 
 - Buffer Overflows 
 - Java and JavaScript 
 - ActiveX 
 - CGI 
 - Server-Side Scripts 
 - Cookies 
 - Signed Applets 
 - Browser Plug-Ins
 
  59Code-Based Vulnerabilities
- Browsers perform many types of data transfer. 
 - Helper programs or plug-ins increase usability 
for some data transfers.  - Separate application programs may be called by a 
browser to handle the data being transferred.  
  60Code-Based Vulnerabilities
- Applications or plug-ins may include malicious 
codes that perform actions not desired by users. 
  61Buffer Overflows
- The most common exploit to hack into software is 
the buffer overflow.  - It is the result of poor programming practices. 
 - When any program places data into a buffer and 
does not validate the input for correct length, 
the potential for a buffer overflow exists.  
  62Buffer Overflows
- The concept is simple. 
 - A hacker writes an executable that performs an 
action on the target machine and appends his code 
fragment to a legitimate response to a program on 
the target machine.  - When the target machine reads through the 
too-long response, a buffer overflow condition 
causes the original program to fail.  - The extra malicious code fragment is now in the 
machine's memory, awaiting execution.  - If the hacker executed it correctly, the program 
will skip into the hacker's code, running it 
before failing. 
  63Buffer Overflows
- Buffer overflows are exploitable in a wide range 
of programs.  - Fifty percent of the security incidents are from 
buffer overflow exploits.  - Users have to keep their machines up-to-date with 
patches from manufacturers.  
  64Java and JavaScript
- Java is based on the C language. 
 - It was designed to be platform-independent. 
 - It offers a low learning curve and a 
platform-independent way of implementing programs 
across an enterprise.  
  65Java and JavaScript
- Java and JavaScript operate through an 
interpreter called a Java Virtual Machine (JVM) 
on each platform that interprets the Java code.  
  66Java and JavaScript
- The JVM enables the program functionality for the 
specific platform.  - Reliance on an interpretive step leads to 
performance issues.  - Java is plagued by poor performance when compared 
to most other languages.  - Security was one of the advantages of Java. 
 
  67Java and JavaScript
- Java was designed to be used in trusted 
environments.  - When it moved to the Internet for general use, 
safety became an advertised benefit.  
  68Java and JavaScript
- Safety is not security and a Java program can 
still cause significant damage to a system.  - The ability to read data from a hard drive and 
display it on the screen is essential for many 
programs.  - When the program is downloaded and run from the 
Internet, without the knowledge of the user, data 
may be sent across the Internet to an 
unauthorized user. This enables the program to 
spy on the user.  - Writing data to the hard drive may cause 
deletions if the program does not write the data 
where the user expects it to.  
  69Java and JavaScript
- JavaScript is a form of Java designed to be 
operated within a browser instance.  - JavaScript enables features such as validation of 
forms before they are submitted.  - JavaScript runs within the browser the code is 
executed by the browser itself.  
  70Java and JavaScript
- JavaScript was designed not to access files or 
network resources directly, except through the 
browser functions.  - Enterprising programmers found many other uses 
for JavaScript, such as manipulating the browser 
history files, now prohibited by design. 
  71Java and JavaScript Security
- Each browser manufacturer has implemented 
configuration settings differently. 
The Certificate management options dialog box in 
Netscape Communicator 
 72Java and JavaScript
- Java Script has not proven to be as secure as 
desired.  - This traces back to a similar fault in the Java 
language.  - Security was added later without a comprehensive 
security model.  - Most browsers do not have a mechanism to halt a 
running script short of aborting the browser 
instance.  - This may not be possible if the browser has 
stopped responding to commands.  
  73Java and JavaScript Security
Java configuration options in Microsoft Internet 
Explorer
JavaScript 
 74Java and JavaScript
- The number of ways JavaScript can interact with a 
system is high.  - With so many opportunities for malicious code, 
the best advice is not to run JavaScripts or Java 
applets unless the source is trusted.  
  75ActiveX
- ActiveX is a collection of APIs, protocols, and 
programs developed by Microsoft to download and 
execute code over an Internet-based channel.  - The code is bundled together into an ActiveX 
control with an .ocx extension.  - These controls are referenced in HTML using the 
ltobjectgt tag.  
  76ActiveX
- Microsoft developed Authenticode that uses 
digital signatures.  - At the right are examples of Authenticode options.
 
Some of the ActiveX control options in Microsoft 
Internet Explorer 
 77ActiveX
- Windows users may determine who produced a 
specific piece of code and whether or not the 
code has been altered.  - Safety and security are different things. 
 - Authenticode promotes neither in reality. 
 - Authenticode provides limited accountability at 
the time of download and guarantees that the code 
has not been changed since the time of signing.  - Authenticode does not identify whether a piece of 
code will damage a system, nor does it regulate 
how the code is used.  
  78CGI
- The Common Gateway Interface (CGI) was a method 
of having a Web server execute a program outside 
the Web server process, but yet on the same 
server.  - It passes information via environment variables 
to an independent program.  - It executes the program. 
 - It returns the results to the Web server. 
 
  79CGI
- CGI offers many advantages to Web-based programs. 
  - The programs can be written in a number of 
languages, although Perl is preferred.  - These scripted programs embrace the full 
functionality of a server, allowing access to 
databases, UNIX commands, and other programs.  - If properly coded, CGI offers no more and no less 
risk than any other solution.  
  80Server-Side Scripts
- CGI has been replaced with newer server-side 
scripting technologies such as Java, Active 
Server Pages (ASP), and PHP.  - They are similar to CGI  they allow programs to 
be run outside the Web server and return data to 
the Web server for end users via a Web page.  - Each of these technologies has advantages and 
disadvantages. All have stronger security models 
than CGI.  
  81Cookies
- Cookies are blocks of ASCII text passed within an 
HTML stream to store data temporarily in a Web 
browser instance.  
  82Cookies
- Cookies pass back and forth between the Web 
server and the browser and act as a mechanism to 
maintain state in a stateless world.  - State is a term that describes the dependence on 
previous actions.  
  83Cookies
- An HTTP session served by a Web server is 
stateless.  - Each request is independent of all previous 
requests.  - The server has no memory of previous requests. 
 - Cookies were developed to bridge this gap. 
 
  84Cookies
- Cookies are passed along with HTML data through a 
Set-Cookie message in the header portion of an 
HTML transaction, or via a script in the HTML 
body. 
  85Cookies
- A cookie is a series of name-value pairs that is 
stored in the memory during a browser instance.  - The specification for cookies establishes several 
specific name-value pairs for defined purposes.  - Additional name-value pairs may be defined at 
will by a developer.  
  86Cookies  Name-Value Pairs
- Set of name-value pairs includes 
 - Expires  specifies when the cookie expires. 
 - If no value exists, the cookie is only good 
during the current browser session and will not 
remain on the hard drive.  - If a value is given, the cookie will be written 
to the user's machine and remain until it 
expires.  - Domain  specifies the domain where the cookie is 
used.  - Cookies are memory-resident objects. 
 - Since the user or data can cause a browser to 
move between domains (for example, from 
comedy.net to jokes.org) some mechanism needs to 
tell the browser which cookies belong to which 
domain. 
  87Cookies Name-Value Pairs
- Set of name-value pairs includes (continued) 
 - Path  resolves the applicability of the cookie 
into a specific path within a domain.  - If path /directory, the cookie will only be sent 
for requests within the /directory on the given 
domain allowing a level of granular control over 
the information being passed between the browser 
and the server and limiting unnecessary data 
exchanges.  - Secure  The keyword secure in a cookie 
indicates that it is to be used only in an 
SSL/TLS session.  - This does not indicate any other form of 
security.  - Cookies are stored in plaintext on the client 
machine.  
  88Cookies
- Cookie management is an invisible process. 
 - Internet Explorer and Netscape Communicator have 
methods for users to examine and manipulate 
cookies on the client side.  
  89Cookies
- Netscape Communicator stores the cookies in a 
long text file.  - Note the file location in the browser address 
line. 
  90Cookies
- Cookie Management in Microsoft Explorer. 
 - Note the separate files.
 
Netscape Communicator cookie file 
 91Cookies
- If users disable cookies in a browser, this 
information will not be available for the Web 
server to use.  
Cookie management in Microsoft Internet Explorer 
 92Disabling Cookies
- IETF RFC 2109 describes the HTTP state-management 
system (cookies) and the several cookie functions 
to be enabled in browsers, specifically  - The ability to turn cookie usage on and off. 
 - An indicator as to whether cookies are in use. 
 - A means of specifying cookie domain values and 
lifetimes. 
  93Cookie Management
- This is the Netscape browser tool to manage 
cookies. 
Netscape Communicator cookie Management via 
browser 
 94Disabling Cookies
- To surf cookie-free requires more than a simple 
step.  - Instructing a browser to stop accepting cookies 
is a setup option available through an options 
menu.  - It has no effect on cookies already received and 
stored on the system.  - To prevent the browser from responding to cookies 
already received, the user must delete the 
cookies from the system.  
  95Deleting Cookies
- This is the tool to delete cookies in Internet 
Explorer. 
The Microsoft Internet Explorer delete cookies 
option 
 96Signed Applets
- Code signing brings the security of 
shrink-wrapped software to software downloaded 
from the Internet.  
  97Signed Applets
- Code signing adds a digital signature and 
certificate to a program file to demonstrate file 
integrity and authenticity.  - The certificate identifies the author. 
 - The digital signature contains a hash value that 
covers code, certificate, and signature to prove 
integrity.  - This establishes the integrity of the code and 
publisher via a standard browser certificate 
check. 
  98Signed Applets
- Use of a certificate to sign an applet or a 
control allows the identity of the author to be 
established.  - The signing of code identifies the code's 
manufacturer and guarantees that the code has not 
been modified since it was signed. 
  99Signed Applets
- A signed applet can be hijacked as easily as a 
graphic or any other file.  - An attacker can hijack a signed control by 
in-line access or copying the file in its 
entirety and republishing it.  - In-lining is using an embedded control from 
another site with or without the other site's 
permission.  - Republishing a signed control is done much like 
stealing a GIF or JPEG image.  - A copy of the file is maintained on the 
unauthorized site and served from there instead 
of from the original location.  
  100Signed Applets
- The security concern of signed controls comes 
from how the control is used.  - A hacker may be able to use a control in an 
unintended fashion.  - Creating a file loss or buffer overflow. 
 - Conditions that weaken a system and may allow 
exploitation of other vulnerabilities.  - The control will still function as designed, but 
the issue becomes who it is used by and how.  - These are concerns not addressed simply by 
signing a control or an applet. 
  101Browser Plug-Ins
- Plug-ins are small application programs that 
increase a browser's ability to handle new data 
types and add new functionality.  
  102Browser Plug-Ins
- To date, plug-ins have had a good safety record. 
 - Although a plug-in changes a browser, and how it 
manipulates data, security holes have not been 
the norm in this area.  
  103Browser Plug-Ins
- Not all plug-ins are safe. 
 - There are many plug-ins, most from small 
single-programmer shops, designed for specific 
purposes that may or may not be needed by most 
users.  - Your trust in plug-ins should be based on knowing 
whom you are trusting.