Dps - Final
Dps - Final
Dps - Final
C:\1-SudhaCIT\Security\DPS
3
• A MAC takes a variable-length message and a secret key as input and produces an
authentication code.
• A hash function maps a variable-length message into a fixed length hash value, or
message digest.
C:\1-SudhaCIT\Security\DPS
4
Message Authentication Requirements
In the context of communications across a network, the following attacks can
be identified.
1. Disclosure
2. Traffic analysis
3. Masquerade
4. Content modification
5. Sequence modification
6. Timing modification
7. Source repudiation
8. Destination repudiation
C:\1-SudhaCIT\Security\DPS
5
Authentication Function
C:\1-SudhaCIT\Security\DPS
6
Authentication Function
The types of functions that may be used to produce an authenticator may
be grouped into three classes.
C:\1-SudhaCIT\Security\DPS
7
Message Encryption
Basic Uses of Message Encryption
C:\1-SudhaCIT\Security\DPS
8
Message Encryption (Contd…)
Basic Uses of Message Encryption
C:\1-SudhaCIT\Security\DPS
9
If we assume that only the receiver and the sender know the identity of the
secret key, and if the received MAC matches the calculated MAC, then
1. The receiver is assured that the message has not been altered.
2. If an attacker alters the message but does not alter the MAC, then the
receiver’s calculation of the MAC will differ from the received MAC.
3. Because the attacker is assumed not to know the secret key, the attacker
cannot alter the MAC to correspond to the alterations in the message.
C:\1-SudhaCIT\Security\DPS
11
5. Because no one else knows the secret key, no one else could prepare a
message with a proper MAC.
6. If the message includes a sequence number, then the receiver can be assured
of the proper sequence because an attacker cannot successfully alter the
sequence number.
C:\1-SudhaCIT\Security\DPS
12
Message Authentication Code (Contd…)
C:\1-SudhaCIT\Security\DPS
13
C:\1-SudhaCIT\Security\DPS
14
Message Authentication Code (Contd…)
C:\1-SudhaCIT\Security\DPS
15
Hash Function
• A variation on the message authentication code is the one-way hash function.
h = H(M)
• The hash value is appended to the message at the source at a time when the
message is assumed or known to be correct.
C:\1-SudhaCIT\Security\DPS
16
Hash Function (Contd…)
Following figure illustrates a variety of ways in which a hash code can be used to provide message authentication.
C:\1-SudhaCIT\Security\DPS
17
C:\1-SudhaCIT\Security\DPS
18
Hash Function (Contd…)
• Fig (a) :
Only A and B share the secret key, the message must have come from A and
has not been altered.
C:\1-SudhaCIT\Security\DPS
19
This reduces the processing burden for those applications that do not
require confidentiality.
C:\1-SudhaCIT\Security\DPS
20
Hash Function (Contd…)
• Fig (c) :
C:\1-SudhaCIT\Security\DPS
21
• Fig (d):
C:\1-SudhaCIT\Security\DPS
22
Hash Function (Contd…)
• Fig (e):
A computes the hash value over the concatenation of M and S and appends
the resulting hash value to M.
Because the secret value itself is not sent, an opponent cannot modify an
intercepted message and cannot generate a false message.
• Fig (f):
C:\1-SudhaCIT\Security\DPS
23
• The purpose of a hash function is to produce a "fingerprint" of a file, message, or other block of
data.
• To be useful for message authentication, a hash function H must have the following properties
– H(x) is relatively easy to compute for any given x, making both hardware and software
implementations practical.
– For any given value h, it is computationally infeasible to find x such that H(x) = h. This is
sometimes referred to in the literature as the one-way property.
– For any given block x, it is computationally infeasible to find y ≠x such that H(y) = H(x). This is
sometimes referred to as weak collision resistance.
– It is computationally infeasible to find any pair (x, y) such that H(x) = H(y). This is sometimes
referred to as strong collision resistance.
C:\1-SudhaCIT\Security\DPS
24
Simple Hash Function
Message: “Hello my name is Alice”
H E L L O -> 07 04 11 11 14
M Y N A M -> 12 24 13 00 12
E I S A L -> 04 08 18 00 11
I C E X X -> 08 02 04 23 23
05 12 20 08 08
HASH CODE -> F M U I I
• A sends Message and Hash code to B.
• B computes hash code using the received message and checks it with the received hash
code.
• If both hash codes are same then integrity and authentication is proved and the
message has not been altered; else it shows that the message has been altered.
C:\1-SudhaCIT\Security\DPS
25
C:\1-SudhaCIT\Security\DPS
26
Simple Hash Function
C:\1-SudhaCIT\Security\DPS
27
• At the start of hashing, the chaining variable has an initial value that is specified as part of the
algorithm.
C:\1-SudhaCIT\Security\DPS
28
Secure Hash Algorithm
• SHA was developed by the National Institute of Standards and Technology (NIST) and
published as a federal information processing standard (FIPS 180) in 1993.
• SHA is based on the hash function MD4, and its design closely models MD4.
C:\1-SudhaCIT\Security\DPS
29
SHA (Contd…)
• The SHA-512 algorithm takes as input a message with a maximum length of less than 2128 bits and
produces as output a 512-bit message digest. The input is processed in 1024-bit blocks.
C:\1-SudhaCIT\Security\DPS
30
SHA (Contd…)
The processing consists of the following steps.
• Step 1 - Append padding bits
C:\1-SudhaCIT\Security\DPS
31
SHA (Contd…)
C:\1-SudhaCIT\Security\DPS
32
SHA (Contd…)
• This block is treated as an unsigned 128-bit integer (most significant byte first)
and contains the length of the original message (before the padding).
• The outcome of the first two steps yields a message that is an integer multiple of
1024 bits in length. The expanded message is represented as the sequence of
1024-bit blocks M1, M2,..., MN, so that the total length of the expanded message
is N x 1024 bits.
C:\1-SudhaCIT\Security\DPS
33
SHA (Contd…)
Step 3: Initialize hash buffer.
• A 512-bit buffer is used to hold intermediate and final results of the hash
function.
g = 1F83D9ABFB41BD6B, h = 5BE0CDI9137E2179
C:\1-SudhaCIT\Security\DPS
34
SHA (Contd…)
Step 4: Process message in 1024-bit (128-word) blocks.
• The heart of the algorithm is a module that consists of 80 rounds; this module
is labeled F.
• Each round takes as input the 512-bit buffer value abcdefgh, and updates the
contents of the buffer.
• At input to the first round, the buffer has the value of the intermediate hash
value, Hi-1.
• Each round t makes use of a 64-bit value Wt derived from the current 1024-bit
block being processed (Mi)
C:\1-SudhaCIT\Security\DPS
35
SHA (Contd…)
Step 5: Output.
• After all N 1024-bit blocks have been processed, the output from the Nth
stage is the 512-bit message digest.
C:\1-SudhaCIT\Security\DPS
36
SHA (Contd…)
Example :
Step 1 and 2: Pre-Processing Messages in SHA-512
• We denote the message by M.
• Suppose the length of this message in bits, is l.
• The final message length after pre-processing should be a
multiple of 1024 bits.
• The Pre-Processing Steps are as follows:
– Append the bit "1" to the end of the message.
– Now, append "0" bits to the end of the message, where is
the smallest non-negative solution to (l+1+k) = 896 mod
1024.
– After this, express the message length l in binary in a 128-bit
block and append this block at the end.
C:\1-SudhaCIT\Security\DPS
37
SHA (Contd…)
Example:
C:\1-SudhaCIT\Security\DPS
38
SHA (Contd…)
Example:
C:\1-SudhaCIT\Security\DPS
39
SHA (Contd…)
Example:
C:\1-SudhaCIT\Security\DPS
40
SHA (Contd…)
C:\1-SudhaCIT\Security\DPS
41
SHA (Contd…)
• Creation of 80-word Input Sequence for SHA-512 Processing of Single
Block
C:\1-SudhaCIT\Security\DPS
42
SHA (Contd…)
• Creation of 80-word Input Sequence for SHA-512 Processing of Single
Block
C:\1-SudhaCIT\Security\DPS
43
SHA (Contd…)
SHA-512 Round Function
C:\1-SudhaCIT\Security\DPS
44
SHA (Contd…)
SHA-512 Round Function
• Each round is defined by the following set of equations:
C:\1-SudhaCIT\Security\DPS
45
SHA (Contd…)
C:\1-SudhaCIT\Security\DPS
46
Pretty Good Privacy (PGP)
• Pretty Good Privacy or PGP encryption, is a data encryption program that
gives cryptographic privacy and authentication for online
communication.
• It is often used to encrypt and decrypt texts, emails, and files to increase
the security of emails.
C:\1-SudhaCIT\Security\DPS
3
C:\1-SudhaCIT\Security\DPS
4
PGP (Contd…)
The steps taken by PGP to create secure e-mail at the sender site:
• The original message and signed digest are encrypted by using a one-
time secret key created by the sender.
C:\1-SudhaCIT\Security\DPS
5
PGP (Contd…)
C:\1-SudhaCIT\Security\DPS
6
PGP (Contd…)
The steps taken to show how PGP uses hashing and a combination of three
keys to generate the original message:
• The encrypted secret key is decrypted by using the receiver's private key
to get the one-time secret key.
• The secret key is then used to decrypt the combination of message and
digest.
• The digest is decrypted by using the sender's public key, and the original
message is hashed by using a hash function to create a digest.
• Both the digests are compared if both of them are equal means that all
the aspects of security are preserved.
C:\1-SudhaCIT\Security\DPS
7
PGP (Contd…)
C:\1-SudhaCIT\Security\DPS
8
Pretty Good Privacy (PGP)
• It provides
C:\1-SudhaCIT\Security\DPS
9
PGP (Contd…)
• Provides a confidentiality and authentication service that can be used for
electronic mail and file storage applications
– Made the package and its documentation, including the source code,
freely available via the Internet, bulletin boards, and commercial
networks
C:\1-SudhaCIT\Security\DPS
11
PGP (Contd…)
• The actual operation of PGP consists of five services: authentication,
confidentiality, compression, e-mail compatibility, and segmentation
C:\1-SudhaCIT\Security\DPS
13
PGP (Contd…)
PGP Cryptographic Functions
C:\1-SudhaCIT\Security\DPS
14
PGP (Contd…)
PGP Message
C:\1-SudhaCIT\Security\DPS
15
PGP (Contd…)
Radix 64 conversion
• Many electronic mail systems can only transmit blocks of ASCII text.
• This can cause a problem when sending encrypted data since ciphertext blocks might
not correspond to ASCII characters which can be transmitted.
– the three bytes do not represent any key board ASCII characters.
– Most email systems cannot transmit and process such a piece of ciphertext.
C:\1-SudhaCIT\Security\DPS
16
PGP (Contd…)
Suppose the text to be encrypted has been converted into binary using ASCII coding
and encrypted to give a ciphertext stream of binary.
Radix-64 conversion maps arbitrary binary into printable characters as follows:
1. The binary input is split into blocks of 24 bits (3 bytes).
2. Each 24 block is then split into four sets each of 6-bits.
3. Each 6-bit set will then have a value between 0 and 26-1 (=63).
4. This value is encoded into a printable character.
18
C:\1-SudhaCIT\Security\DPS
IPSecurity
• Internet Protocol Security (IPsec) is a secure network protocol
suite that authenticates and encrypts the packets of data to provide
secure encrypted communication between two computers over a
network.
C:\1-SudhaCIT\Security\DPS
3
IPSec(Contd…)
• IP security (IPSec) is a capability that can be added to either current version of
the Internet Protocol (IPv4 or IPv6), by means of additional headers.
• However, users have some security concerns that cut across protocol layers.
• In addition, this mechanism assures that the packet has not been
altered in transit.
C:\1-SudhaCIT\Security\DPS
5
IPSec(Contd…)
Applications of IPSec
– A company can build a secure virtual private network over the Internet or over a
public WAN. This enables a business to rely heavily on the Internet and reduce
its need for private networks, saving costs and network management overhead.
• Secure remote access over the Internet
– An end user whose system is equipped with IP security protocols can make a
local call to an Internet service provider (ISP) and gain secure access to a
company network. This reduces the cost of toll charges for traveling employees
and telecommuters.
– Even though some Web and electronic commerce applications have built-in
security protocols, the use of IPSec enhances that security.
C:\1-SudhaCIT\Security\DPS
6
IPSec(Contd…)
• The principal feature of IPSec that enables it to support these varied applications is that it can
encrypt and/or authenticate all traffic at the IP level.
• Thus, all distributed applications, including remote logon, client/server, e-mail, file transfer,
Web access, and so on, can be secured.
An IP Security scenario
C:\1-SudhaCIT\Security\DPS
7
IPSec(Contd…)
The above figure is a typical scenario of IPSec usage.
• The IPSec networking device will typically encrypt and compress all
traffic going into the WAN, and decrypt and decompress traffic coming
from the WAN.
C:\1-SudhaCIT\Security\DPS
8
IPSec(Contd…)
Benefits of IPSec
• When IPSec is implemented in a firewall or router, it provides strong
security that can be applied to all traffic crossing the perimeter.
• IPSec in a firewall is resistant to bypass if all traffic from the outside must
use IP, and the firewall is the only means of entrance from the Internet
into the organization.
• IPSec is below the transport layer (TCP, UDP) and so is transparent to
applications. There is no need to change software on a user or server
system when IPSec is implemented in the firewall or router.
• IPSec can be transparent to end users. There is no need to train users on
security mechanisms, issue keying material on a per-user basis, or revoke
keying material when users leave the organization.
• IPSec can provide security for individual users if needed.
• This is useful for offsite workers and for setting up a secure virtual
subnetwork within an organization for sensitive applications.
C:\1-SudhaCIT\Security\DPS
9
IPSec Architecture
IPSec Documents
• Support for these features is mandatory for IPv6 and optional for IPv4.
C:\1-SudhaCIT\Security\DPS
10
IPSec Architecture (Contd…)
• In addition to these four RFCs, a number of additional drafts have been
published by the IP Security Protocol Working Group set up by the Internet
Engineering Task Force (IETF).
• The documents are divided into seven groups, as depicted in the Figure.
IPSec Services
• Access control
• Integrity
• Confidentiality
C:\1-SudhaCIT\Security\DPS
13
• Security services are afforded to an SA for the use of AH or ESP, but not
both.
C:\1-SudhaCIT\Security\DPS
14
IPSec Architecture (Contd…)
A security association is uniquely identified by three parameters:
• Security Parameters Index (SPI): A bit string assigned to this SA and having
local significance only. The SPI is carried in AH and ESP headers to enable the
receiving system to select the SA under which a received packet will be
processed.
C:\1-SudhaCIT\Security\DPS
15
The Security Association Database defines the parameters associated with each
SA.
C:\1-SudhaCIT\Security\DPS
16
IPSec Architecture (Contd…)
SA Parameters
• Path MTU: Any observed path maximum transmission unit (maximum size
of a packet that can be transmitted without fragmentation) and aging
variables
C:\1-SudhaCIT\Security\DPS
17
• In effect, these selectors are used to filter outgoing traffic in order to map
it into a particular SA. Outbound processing obeys the following general
sequence for each IP packet:
– Determine the SA if any for this packet and its associated SPI.
C:\1-SudhaCIT\Security\DPS
18
IPSec Architecture (Contd…)
The following selectors determine an SPD entry:
• Destination IP Address: This may be a single IP address, an enumerated list
or range of addresses, or a wildcard (mask) address. The latter two are
required to support more than one destination system sharing the same SA
(e.g., behind a firewall).
• Source IP Address: This may be a single IP address, an enumerated list or
range of addresses, or a wildcard (mask) address. The latter two are required
to support more than one source system sharing the same SA (e.g., behind a
firewall).
• UserID: A user identifier from the operating system. This is not a field in the
IP or upper-layer headers but is available if IPSec is running on the same
operating system as the user.
• Data Sensitivity Level: Used for systems providing information flow security
(e.g., Secret or Unclassified).
• Transport Layer Protocol: Obtained from the IPv4 Protocol or IPv6 Next
Header field. This may be an individual protocol number, a list of protocol
numbers, or a range of protocol numbers.
• Source and Destination Ports: These may be individual TCP or UDP port
values, an enumerated list ofC:\1-SudhaCIT\Security\DPS
ports, or a wildcard port. 19
• To achieve this, after the AH or ESP fields are added to the IP packet, the
entire packet plus security fields is treated as the payload of new "outer" IP
packet with a new outer IP header.
• The entire original, or inner, packet travels through a "tunnel" from one
point of an IP network to another; no routers along the way are able to
examine the inner IP header.
• Because the original packet is encapsulated, the new, larger packet may have
totally different source and destination addresses, adding to the security.
• Tunnel mode is used when one or both ends of an SA are a security gateway,
such as a firewall or router that implements IPSec.
C:\1-SudhaCIT\Security\DPS
21
• ESP in tunnel mode encrypts and optionally authenticates the entire inner IP packet,
including the inner IP header.
• AH in tunnel mode authenticates the entire inner IP packet and selected portions of
the outerIP header.
C:\1-SudhaCIT\Security\DPS
22
IPSec Architecture (Contd…)
C:\1-SudhaCIT\Security\DPS
23
g
3.1. Secure Programs
y Security implies some degree of trust that the program enforces
expectedd confidentiality,
fid i li iintegrity,
i andd availability
il bili
y An assessment of security can also be influenced by someone's general
perspective
ti on software
ft quality
lit
y E.g., if your manager's idea of quality is conformance to
specifications,
ifi ti then
th she h might
i ht consider
id the
th code
d secure if it meets
t
security requirements, whether or not the requirements are
completel t or correct.t
y Unexpected Behavior
y To
T understand
d d program security,
i we can examine
i programs to see
whether they behave as their designers intended or users expected.
y Such
S h unexpected
t d bbehavior
h i a program security
it flaw;
fl it isi
inappropriate program behavior caused by a program vulnerability.
y Program
P security
it flaws
fl can derive
d i ffrom any kikindd off software
ft ffaultlt
y Divide program flaws into two separate logical categories:
iinadvertent
d t t human
h errors versus malicious,
li i intentionally
i t ti ll
induced flaws.
8
y There are two reasons for this distressing situation.
1. PProgram controlsl apply
l at the
h level
l l off the
h individual
i di id l program andd
programmer.
2. Programming
P i andd software
ft engineering
i i ttechniques
hi change
h andd
evolve far more rapidly than do computer security techniques.
y Types of Flaws
y validation
lid i error (incomplete
(i l or iinconsistent):
i ) permission
i i checks
h k
y domain error: controlled access to data
y serialization
i li ti andd aliasing:
li i program flflow order
d
y inadequate identification and authentication: basis for
authorization
th i ti
y boundary condition violation: failure on first or last case
y other
th exploitable
l it bl logic
l i errors
10
g Errors
3.2. Nonmalicious Program
y Buffer Overflows
y A bbuffer
ff ((or array or string)
i ) iis a space iin which
hi h ddata can bbe hheld.
ld
y A buffer's capacity is finite.
11
y Now
N we execute
t the
th statement:
tt t
sample[10] = 'B';
13
14
15
y Security Implication
y Two
T bbuffer
ff overflow fl attacks k that
h are usedd frequently
f l
1. The attacker may replace code in the system space. By replacing a few
instructions right after returning from his or her own procedure,
procedure the
attacker regains control from the operating system, possibly with raised
privileges.
2. On the other hand, the attacker may make use of the stack pointer or the
return register. Subprocedure calls are handled with a stack, a data
structure in which the most recent item inserted is the next one removed
(last arrived, first served).
16
y An alternative style of buffer overflow occurs when parameter values
are passedd iinto a routine,
i especially
i ll when
h theh parameters are passedd
to a web server on the Internet. Parameters are passed in the URL line,
with
ith a syntax
t similar
i il to
t
http://www.somesite.com/subpage/userinput.asp?
http://www somesite com/subpage/userinput asp?
parm1=(808)555-1212 &parm2=2009Jan17
The attacker might question what the server would do with a really
long telephone number, say, one with 500 or 1000 digits.
17
y Incomplete Mediation
y Consider
C id the h example
l
http://www.somesite.com/subpage/userinput.asp?
parm1=(808)555-1212 &parm2=2009Jan17
y What
Wh t would
ld happen
h if parm22 were submitted
b itt d as 1800Jan01?
1800J 01? Or
O
1800Feb30? Or 2048Min32? Or 1Aardvark2Many?
18
y Security Implication
y Consider
C id thishi example
l
http://www.things.com/order.asp?custID=101&part=555A&q
y=20&price =10&ship=boat&shipcost=5&total=205
19
20
y Time-of-Check to Time-of-Use Errors (Cont’d)
y Suppose
S a requestt tto access a fil
file were presented
t d as a ddata
t structure,
t t with ith th
the
name of the file and the mode of access presented in the structure.
y To carry out this authorization sequence, the access control mediator would
have to look up the file name in tables. The mediator could compare the
names ini the
th table
t bl to
t the
th fil
file name in
i the
th ddata
t structure
t t tto determine
d t i whether
h th
access is appropriate. More likely, the mediator would copy the file name
into its own local storage
g area and comparep from there
21
y Security Implication
y Pretty
P clear
l
y Checking one action and performing another is an example of
i ff ti access control
ineffective t l
y There are ways to prevent exploitation of the time lag.
y One
O way isi tot ensure that
th t critical
iti l parameters
t are nott exposedd dduringi any
loss of control.
y Another wayy is to ensure serial integrity;
g y; that is,, to allow no interruption
p
(loss of control) during the validation.
23
24
N b off malware
Number l signatures
i t
1800000
1600000
1400000
1200000
1000000
800000
600000
400000
200000
0
2002 2003 2004 2005 2006 2007 2008
Symantec report 2009
25
Al t 30 years off M
Almost Malware
l
26
y From Malware fighting malicious code
sniffers distributed
attack tools
Intruder sweepers www attacks
Knowledge
automated probes/scans
GUI
back doors
disabling audits network mgmt. diagnostics
hijacking
burglaries sessions
Attack exploiting known vulnerabilities
Sophistication
password cracking
self-replicating code
password guessing
Intruders
Low
1980 1985 1990 1995 2004
27
28
y Kinds of Malicious Code (Cont’d)
y A Trojan
T j hhorse isi malicious
li i code
d that,
h iin addition
ddi i to iits primary
i
effect, has a second, nonobvious malicious effect
y A logic
l i bbombb isi a class
l off malicious
li i code
d that
th t "detonates"
"d t t " or goes
off when a specified condition occurs.
y A time
ti bomb
b b isi a llogici bbombb whose
h trigger
t i isi a time
ti or ddate.
t
y A trapdoor or backdoor is a feature in a program by which
someone can access the
th program other
th ththan bby th
the obvious,
b i di directt
call
29
30
31
32
y How Viruses Attach (Cont’d)
y Integrated
I d Vi
Viruses andd RReplacements
l
33
34
35
36
y Homes for Viruses (Cont’d)
y Memory-Resident
M R id Vi Viruses
y Other Homes for Viruses
y Application
A li ti programs
y Libraries
y Data files – need a startup
p program
p g
37
y Virus Signatures
y A signature
i – a telltale
ll l pattern
y E.g., signature for the Code Red
/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN %u9090%u6858%ucbd3
%u7801%u9090%u6858%ucdb3%u7801%u9090%u6858 %ucbd3%u7801%u9090
%u9090%u8190%u00c3%u0003%ub00%u531b%u53ff %u0078%u0000%u00=a
HTTP/1 0
HTTP/1.0
38
y Virus Signatures
y Storage
S Patterns
P - Most
M viruses
i attachh to programs that
h are storedd
on media such as disks. The attached virus piece is invariant, so the
start
t t off th
the virus
i code
d bbecomes a ddetectable
t t bl signature.
i t
39
y Virus Signatures
y Execution
E i Patterns
P - A virus
i writer
i may want a virus
i to do
d severall
things at the same time, namely, spread infection, avoid detection,
andd cause hharm.
y Transmission Patterns - A virus is effective only if it has some
means off transmission
t i i from
f one location
l ti to t another.
th
40
y Polymorphic Viruses
y A virus
i thath can change
h iits appearance
y Encrypting viruses
y Uses
U encryptionti underd various
i kkeys tto make
k the
th stored
t d form
f off th
the virus
i
different.
y Contain three distinct parts:
p
y a decryption key,
y the (encrypted) object code of the virus
y the (unencrypted) object code of the decryption routine.
41
42
g
3.4. Targeted Malicious Code
y Trapdoors - an undocumented entry point to a module
y Examples
E l
y A system is composed of modules or components.
y Programmers first test each small component of the system separate
from the other components, in a step called unit testing, to ensure that
the component works correctly by itself.
y Then, developers test components together during integration testing, to
see how they function as they send messages and data from one to the
other.
44
45
46
y Causes of Trapdoors
y forget
f to remove them
h
y intentionally leave them in the program for testing
y intentionally
i t ti ll leave
l them
th ini the
th program ffor maintenance
i t off the
th
finished program, or
y intentionally
i t ti ll leave
l them
th ini th
the program as a covertt means off
access to the component after it becomes an accepted part of a
production
d ti systemt
47
y Salami Attack
y merges bi
bits off seemingly
i l iinconsequential
i l ddata to yield
i ld powerful
fl
results.
48
y Privilege Escalation - a means for malicious code to be launched by a
user with
i h lower
l privileges
i il but
b run with
i h hi
higher
h privileges.
i il
y Interface
I t f Illusions
Ill i - a spoofing
fi attack
tt k iin which
hi h allll or partt off a webb
page is false.
50
51
52
File Existence Channel Used to Signal
g 100
53
54
y Developmental Controls
y The
Th Nature
N off Software
S f Development
D l
y Collaborative effort, involving people with different skill sets who
combine
bi their
th i expertise
ti tto produce
d a workingki product
d t
y Development requires people who can specify, design,
i l
implement, t test,
t t review,
i document,
d t manage, maintain
i t i the
th
system.
55
56
y Developmental Controls (Cont’d)
y Modularization
M d l i i isi the
h process off dividing
di idi a taskk into
i subtasks.
b k
57
58
59
60
y Developmental Controls (Cont’d)
y Encapsulation
E l i
y Encapsulation hides a component's implementation details, but it does not
necessarily mean complete isolation
y Berard [BER00] notes that encapsulation is the "technique for packaging the
information [inside a component] in such a way as to hide what should be
hidden and make visible what is intended to be visible.“
61
62
63
64
y Developmental Controls (Cont’d)
y Confinement
C fi
y A confined program is strictly limited in what system resources it can access.
If a program is not trustworthy,
trustworthy the data it can access are strictly limited
limited.
y Genetic Diversity
y Tight
g integration
g of products
p is a concern.
y A vulnerability in one of these can also affect the others.
y Fixing a vulnerability in one can have an impact on the others.
65
67
68
y Developmental Controls (Cont’d)
y Peer
P review
i (C(Cont’d)
’d)
F lt Discovery
Fault Di RRate
t RReported
t d att Hewlett-Packard
H l tt P k d
69
70
71
Deductive analysis,
Description of system
Known effect including fault tree
behavior
analysis
y
Inductive analysis,
Exploratory analysis,
analysis
Unknown including failure modes
including hazard and
effect and effects analysis
operability
studies
72
y Developmental Controls (Cont’d)
y Testing
T i
y A process activity that homes in on product quality: making the product
failure free or failure tolerant.
tolerant
73
74
75
76
y Developmental Controls (Cont’d)
y Testing
T i (Cont’d)
(C ’d)
y Each of the types of tests listed here can be performed from two
perspectives
y Black-box testing treats a system or its components as black boxes;
testers cannot "see inside" the system
y Clear-box testing (a.k.a. white box). - testers can examine the design and
code directly, generating test cases based on the code's actual
construction
77
79
81
82
83
84
y Developmental Controls (Cont’d)
y Configuration
C fi i Management
M (Cont’d)
(C ’d)
y Four activities are involved in configuration management:
y configuration identification
y configuration control and change management
y configuration auditing
y status accounting
85
86
87
88
y Developmental Controls (Cont’d)
y Configuration
C fi i Management
M (Cont’d)
(C ’d)
y All activities are performed by a configuration and change control board,
or CCB.
CCB
y The CCB contains representatives from all organizations with a vested
interest in the system
y The board reviews all proposed changes and approves changes based on
need, design integrity, future plans for the software, cost, and more.
89
90
91
6.1. Introduction to Databases
y Concept of a Database
y A database
d b isi a collection
ll i off data
d andd a set off rules
l that
h organize
i
the data by specifying certain relationships among the data.
y The user ddescribes
Th ib a logical
l i l format
f t for
f the
th data.
dt
y The precise physical format of the file is of no concern to the user
y A database administrator is a person who defines the rules that
organize the data and also controls who should have access to
what parts of the data.
data
y The user interacts with the database through a program called
a database manager or a database management system (DBMS), (DBMS)
informally known as a front end.
3
y Components of Databases
y Record
R d – contain i one related
l d group off data
d
y Each record contains fields or elements
y The
Th llogical
i l structure
t t off a ddatabase
t b iis called
ll d a schema
h
y A particular user may have access to only part of the database,
called
ll d a subschema
b h
Adams 212 Market St. Columbus OH 43210
Benchly 501 Union St. Chicago IL 60603
Carter 411 Elm St. Columbus OH 43210
Schema of Database
Name First Address City State Zip Airport
Adams Charles 212 Market St. Columbus OH 43210 CMH
Adams Edward 212 Market St. Columbus OH 43210 CMH
Benchly Zeke 501 Union St. Chicago IL 60603 ORD
C t
Carter M l
Marlene 411 Elm
El St.
St C l b
Columbus OH 43210 CMH
Carter Beth 411 Elm St. Columbus OH 43210 CMH
Carter Ben 411 Elm St. Columbus OH 43210 CMH
Carter Elisabeth 411 Elm St. Columbus OH 43210 CMH
Carter Mary 411 Elm St. Columbus OH 43210 CMH
y The name of each column is called an attribute of the database
y A relation
l ti isi a sett off columns
l
y Queries
y Users
U interact
i with
i h database
d b managers through
h h commands
d to the
h
DBMS that retrieve, modify, add, or delete fields and records of the
dtb
database.
y A command is called a query.
y F example,
For l
y Queries (Cont’d)
y The
Th resultl off executing
i a query iis a subschema.
b h
y For example, we might select records in which ZIP=43210
Result of Select Query
Name First Address City State Zip Airport
ADAMS Charles 212 Market St. Columbus OH 43210 CMH
ADAMS Edward 212 Market St. Columbus OH 43210 CMH
CARTER Marlene 411 Elm St. Columbus OH 43210 CMH
CARTER Beth 411 Elm St. Columbus OH 43210 CMH
CARTER Ben 411 Elm St. Columbus OH 43210 CMH
CARTER Lisabeth
b h 411 Elm
l St. Columbus
l b OH 43210 CMH
CARTER Mary 411 Elm St. Columbus OH 43210 CMH
9
y Queries (Cont’d)
y Other,
O h more complex,
l selection
l i criteria
i i are possible,
ibl with
i h logical
l i l
operators such as and (∧) and or (∨), and comparisons such as less
th (<).
than ( )
y An example of a select query is
10
y Queries (Cont’d)
y After
Af hhaving
i selected
l d records,
d we may project
j these
h records
d onto
one or more attributes.
y The select
Th l t operation
ti id
identifies
tifi certain
t i rows ffrom th
the ddatabase
tb
y A project operation extracts the values from certain fields (columns) of those
records.
y For example, we might
y Select records meeting the condition ZIP=43210
y Project the results onto the attributes NAME and FIRST,
11
Results of Select-Project
Select Project Query
ADAMS Charles
ADAMS Ed
Edward
d
CARTER Marlene
CARTER Beth
CARTER Ben
CARTER Lisabeth
CARTER Mary
12
y Queries (Cont’d)
y Notice
N i that
h we do
d not have
h to project
j onto the
h same attribute(s)
ib ( ) on
which the selection is done. For example, we can build a query
using
i ZIP andd NAME bbutt project
j t th
the resultlt onto
t FIRST
FIRST:
y The
Th resultlt would
ld bbe a lilistt off th
the fifirstt names off people
l whose
h llastt
names are ADAMS and ZIP is 43210.
13
y Queries (Cont’d)
y We
W can also
l merge two subschema
b h on a common element
l by
b using
i
a join query.
14
y Advantage of Using Databases
y A ddatabase
b iis a single
i l collection
ll i off ddata, storedd andd maintained
i i d at
one central location, to which many people may have access as
needed
dd
y The users are unaware of the physical arrangements; the unified
l i l arrangementt iis allll they
logical th see
15
17
18
y A list of requirements for database security. (Cont’d)
y User
U authentication.
h i i
y Every user is positively identified, both for the audit trail and for permission
to access certain data.
data
y Availability.
y Users can access the database in ggeneral and all the data for which theyy are
authorized.
19
20
21
y Element Integrity
y The integrity of database elements is their correctness or accuracy.
y This corrective action can be taken in three ways .
y Field checks - activities that test for appropriate values in a position.
y Access control
y A change log - A change log lists every change made to the database; it
contains both original and modified values. Using this log, a database
administrator can undo any changes that were made in error.
22
y Auditability
y For
F some applications
li i iit may be
b desirable
d i bl to generate an audit
di
record of all access (read or write) to a database.
y Such
S h a recordd can help
h l tto maintain
i t i the
th ddatabase's
t b ' integrity,
i t it or att
least to discover after the fact who had affected which values and
when.
h
23
y Access Control
y Databases
D b are often
f separatedd logically
l i ll by b user access privileges.
i il
y User Authentication
y The
Th DBMS can requirei rigorous
i user authentication.
th ti ti
y A DBMS might insist that a user pass both specific password and
ti
time-of-day
f d checks.
h k
y This authentication supplements the authentication performed by
th operating
the ti system.
t
24
y Availability
25
26
y Database concerns about reliability and integrity can be viewed from
three
h dimensions:
di i
y Database integrity: concern that the database as a whole is
protected
t t d againsti t ddamage
y Element integrity: concern that the value of a specific data
element
l t iis written
itt or changed
h d only l bby authorized
th i d users.
y Element accuracy: concern that only correct values are written
i t the
into th elements
l t off a database.
dtb
27
28
y Two-Phase Update
y A serious
i problem
bl for
f a ddatabase
b manager iis the
h failure
f il off the
h
computing system in the middle of modifying data.
y If the
th data
d t item
it tto bbe modified
difi d was a llong fifield,
ld hhalflf off th
the fifield
ld
might show the new value, while the other half would contain the
old.
ld
29
30
y Two-Phase Update (Cont’d)
y Example
E l
1. The stockroom checks the database to determine that 50 boxes of paper
clips are on hand.
hand If not,
not the requisition is rejected and the transaction is
finished.
2. If enough paper clips are in stock, the stockroom deducts 50 from the
inventory figure in the database (107 - 50 = 57).
3. The stockroom charges accounting's supplies budget (also in the database)
for 50 boxes of paper clips.
31
32
33
34
y Two-Phase Update (Cont’d)
y Example
E l (Cont’d)
(C ’d)
y Commit:
y Set COMMIT-FLAG in database.
database
y Copy TCLIPS to CLIPS in database.
y Copy TBUDGET to BUDGET in database.
y Copy TREORDER to REORDER in database.
y Prepare notice to deliver paper clips to accounting department. Indicate
transaction completed in log.
y Unset COMMIT-FLAG.
35
y Redundancy/Internal Consistency
y Error
E Detection
D i andd Correction
C i Codes
C d
y Shadow Fields
y Entire
E ti attributes
tt ib t or entireti records
d can bbe dduplicated
li t d iin a ddatabase.
t b If th
the
data are irreproducible, this second copy can provide an immediate
replacement
p if an error is detected.
36
y Recovery
y In
I addition
ddi i to these
h error correction
i processes, a DBMS can maintain
i i
a log of user accesses, particularly changes. In the event of a failure,
th database
the d t b isi reloaded
l d d from
f a bbackup k copy andd allll llater
t changes
h
are then applied from the audit log.
37
y Concurrency/Consistency
y Database
D b systems are often f multiuser
l i systems.
y If both users try to modify the same data items, we often assume
thatt there
th th iis no conflict
fli t because
b eachh knows
k what
h t tto write;
it ththe
value to be written does not depend on the previous value of the
d t item.
data it HHowever, thi
this supposition
iti isi nott quite
it accurate.
t
38
y Concurrency/Consistency (Cont’d)
y E.g.,
E
y Agent A submits the update command
SELECT (SEAT-NO = '11D')
11D ) ASSIGN 'MOCK
MOCK, E'
E TO PASSENGER-NAME
y while Agent B submits the update sequence
SELECT (SEAT-NO = '11D') ASSIGN 'EHLERS, P' TO PASSENGER-NAME
y To resolve this problem, a DBMS treats the entire queryupdate cycle
as a single atomic operation.
39
y Monitors
y The
Th monitor
i isi the
h uniti off a DBMS responsible
ibl for
f the
h structurall
integrity of the database.
y Forms
F off monitors
it
y Range Comparisons
y A range comparison monitor tests each new value to ensure that the
value is within an acceptable range
y Filters or patterns are more general types of data form checks.
y State constraints describe the condition of the entire database.
y Transition constraints describe conditions necessary before changes can be
applied to a database.
40
41
42
y Several factors can make data sensitive (Cont’d)
y Declared
D l d sensitive.ii
y The database administrator or the owner of the data may have declared the
data to be sensitive.
sensitive
y Part of a sensitive attribute or a sensitive record.
y In a database,, an entire attribute or record mayy be classified as sensitive.
y Sensitive in relation to previously disclosed information.
y Some data become sensitive in the presence of other data.
y For example, the longitude coordinate of a secret gold mine reveals little,
but the longitude coordinate in conjunction with the latitude coordinate
pinpoints the mine.
43
y Access Decisions
y The
Th DBMS may consider
id severall factors
f when
h ddeciding
idi whether
h h to
permit an access.
y AAvailability
il bilit off the
th data
dt
y Acceptability of the access
y Authenticityy of the user.
44
45
46
y Access Decisions (Cont’d)
y Types
T off Disclosures
Di l
y Exact Data - The most serious disclosure is the exact value of a sensitive
data item itself
y Bounds - Another exposure is disclosing bounds on a sensitive value; that is,
indicating that a sensitive value, y, is between two values, L and H.
y Negative Result - Sometimes we can word a query to determine a negative
result. That is, we can learn that z is not the value of y.
y Existence - The existence of data is itself a sensitive piece of data.
47
48
49
6.5. Inference
y Inference is a way to infer or derive sensitive data from nonsensitive
ddata.
Sample Database
Name Sex Race Aid Fines Drugs Dorm
Adams M C 5000 45. 1 Holmes
Bailey M B 0 0. 0 Grey
Chin F A 3000 20. 0 West
Dewitt M B 1000 35. 3 Grey
Earhart F C 2000 95. 1 Holmes
Fein F C 1000 5
15. 0 West
Groff M C 4000 0. 3 West
Hill F B 5000 10. 2 Holmes
Koch F C 0 0. 1 West
Liu F A 0 10. 2 Grey
Majors M C 2000 0. 2 Grey
50
y Direct Attack
y A user tries
i to ddetermine
i values
l off sensitive
i i fifields
ld by
b seeking
ki them
h
directly with queries that yield few records.
y A sensitive
iti query might
i ht be
b
List NAME
where
h SEX M ∧ DRUGS=1
SEX=M DRUGS 1
This query di
Thi discloses
l th
thatt ffor recordd ADAMS
ADAMS, DRUGS
DRUGS=1.
1 HHowever, it isi an obvious
bi
attack because it selects people for whom DRUGS=1, and the DBMS might
reject
j the qqueryy because it selects records for a specific
p value of the sensitive
attribute DRUGS.
51
53
y Indirect Attack
y Sum
S - AnA attackk by
b sum tries
i to infer
i f a value
l from
f a reportedd sum.
y Count - The count can be combined with the sum to produce
some even more revealing
li results.
lt
y Mean - The arithmetic mean (average) allows exact disclosure if the
attacker
tt k can manipulate
i l t ththe subject
bj t population.
l ti
y Median
54
55
y Tracker Attacks
y A tracker
k attackk can fool
f l the
h database
d b manager iinto locating
l i the h
desired data by using additional queries that produce small results.
y The
Th ttracker
k adds
dd additional
dditi l records
d tto bbe retrieved
t i d ffor ttwo diff
differentt
queries; the two sets of records cancel each other out, leaving only
th statistic
the t ti ti or ddata
t ddesired.
i d Th The approachh iis tto use iintelligent
t lli t
padding of two queries.
y In
I other
th words,d iinstead
t d off ttrying
i tto id
identify
tif a uniquei value, l we
request n - 1 other values (where there are n values in the
d t b ) Given
database). Gi n andd n - 1, 1 we can easily
il compute t th the ddesired
i d
single element. 56
57
58
y Tracker Attacks (Cont’d)
y Thus,
Th theh original
i i l query iis equivalent
i l to
count (SEX=F)
minus
i
count ((SEX=F) ∧ ((RACE ≠ C) ∨ (DORM ≠ Holmes)))
59
60
61
y Random Sample
y With
Wi h random
d sample
l control,l a resultl iis not dderived
i d from
f the
h whole
hl
database; instead the result is computed on a random sample of
th database.
the dtb
y The sample chosen is large enough to be valid.
y Random
R d DData t PPerturbation
t b ti
y It is sometimes useful to perturb the values of the database by a
smallll error.
y Generate a small random error term εi and add it to xi for statistical
results.
lt
62
y Query Analysis
y A more complex
l form
f off security i uses query analysis.
l i
y Here, a query and its implications are analyzed to determine
whether
h th a resultlt should
h ld bbe provided.
id d
63
64
y Aggregation
y Building
B ildi sensitive
i i results
l from
f lessl sensitivei i iinputs.
y Data mining is the process of sifting through multiple databases and
correlating
l ti multiple
lti l ddata
t elements
l t tto fifindd useful
f l iinformation
f ti
65
66
y The Case for Differentiated Security (Cont’d)
y Three
Th characteristics
h i i off database
d b security i emerge.
y The security of a single element may be different from the security of other
elements of the same record or from other values of the same attribute.
attribute
This situation implies that security should be implemented for each
individual element.
y Two levels sensitive and non-sensitive are inadequate to represent some
security situations. Several grades of security may be needed.
y The security of an aggregate a sum, a count, or a group of values in a
database may differ from the security of the individual elements. The
security of the aggregate may be higher or lower than that of the individual
elements.
67
p
6.7. Proposals for Multilevel Securityy
y Separation
y Partitioning
P ii i
y The database is divided into separate databases, each at its own level of
sensitivity.
sensitivity
y This control destroys a basic advantage of databases: elimination of
redundancy and improved accuracy through having only one field to update.
y It does not address the problem of a high-level user who needs access to
some low-level data combined with high-level data.
68
y Separation (Cont’d)
y Encryption
E i
y If sensitive data are encrypted, a user who accidentally receives them
cannot interpret the data.
data
69
70
y Separation (Cont’d)
y Integrity
I i Lock
L k
y First proposed at the U.S. Air Force Summer Study on Data Base
Security [AFS83].
[AFS83]
y The lock is a way to provide both integrity and limited access for a database.
y The operation was nicknamed "spray paint" because each element is
figuratively painted with a color that denotes its sensitivity.
71
y Separation (Cont’d)
y Integrity
I i Lock
L k (Cont’d)
(C ’d)
y The sensitivity label should be
y unforgeable,
unforgeable so that a malicious subject cannot create a new sensitivity
level for an element
y unique, so that a malicious subject cannot copy a sensitivity level from
another element
y concealed, so that a malicious subject cannot even determine the
sensitivity level of an arbitrary element
72
y Separation (Cont’d)
y Integrity
I i Lock
L k (Cont’d)
(C ’d)
y The third piece of the integrity lock for a field is an error-detecting code,
called a cryptographic checksum.
checksum
73
y Separation (Cont’d)
y Sensitivity
S i i i LLockk
y A sensitivity lock is a combination of a
unique identifier (such as the record
number) and the sensitivity level.
y Because the identifier is unique, each lock relates
to one particular record.
y Many different elements will have the same
sensitivity level.
y A malicious subject should not be able to
identify two elements having identical sensitivity
levels or identical data values jjust byy lookingg at
the sensitivity level portion of the lock.
74
y Designs of Multilevel Secure Database
y Integrity
I i Lock
L k
y A short-term solution to the security problem for multilevel databases.
y The intention was to be able to use any (untrusted) database manager with
a trusted procedure that handles access control.
y The sensitive data were obliterated or concealed with encryption that
protected both a data item and its sensitivity.
75
76
77
78
y Trusted Front End (Cont’d)
1. A user identifies
id ifi himself
hi lf or hherselflf to the
h ffront end;
d the
h ffront endd
authenticates the user's identity.
2. Th user iissues a query tto th
The the front
f t end. d
3. The front end verifies the user's authorization to data.
4. Th front
The f t endd iissues a query tto th
the ddatabase
t b manager.
5. The database manager performs I/O access, interacting with low-
l l access control
level t l tto achieve
hi access tto actualt l data.
dt
6. The database manager returns the result of the query to the
t t d ffrontt end.
trusted d
79
80
y Commutative Filters
y A process that
h forms
f an interface
i f betweenb the
h user andd a DBMS.
DBMS
y The filter reformats the query so that the database manager does as much
of the work as possible
possible, screening out many unacceptable records
records.
y The filter then provides a second screening to select only data to which the
user has access.
81
82
y Distributed Databases
y Distributed
Di ib d or federated
fd d database
d b
y A trusted front end controls access to two unmodified commercial
DBMSs:
DBMS
y one for all low-sensitivity data and
y one for all high-sensitivity data.
data
y The distributed database design is not popular because the front
end, which must be trusted
end trusted, is complex
complex, potentially including most
of the functionality of a full DBMS itself.
83
y Window/View
y One
O off the
h advantages
d off using
i a DBMS ffor multiple
l i l users off
different interests (but not necessarily different sensitivity levels) is
th ability
the bilit to
t createt a different
diff t view i ffor eachh user.
y Each user is restricted to a picture of the data reflecting only what
th user needs
the d to
t see.
y A window (or a view) is a subset of a database, containing exactly
th information
the if ti that
th t a user isi entitled
titl d tto access.
y A view can represent a single user's subset database so that all of a
user's' queries
i access only l that
th t database.
dtb
84
85
…
…
86
Secure Database Decomposition
87
88
89
90
INFORMATION POLICIES
The principles describe the right of individuals , not requirements on
collectors(i.e, principles do not require protection of the data collected.
• Collection limitation – Data should be obtained lawfully and fairly.
• Data quality- Data should be relevant to their purposes, accurate,
complete, and up-to-date.
• Purpose specification- The purposes for which data will be used
should be identified and the data destroyed if no longer necessary to
serve that purpose.
• Use limitation-Use for purposes other than those specified is
authorized only with consent of the data subject or by authority of law.
INFORMATION POLICIES
Data transfer
This principle explicitly restricts authorized users of
personal information from transferring that information to third parties
without the permission of the data subject.
Independent oversight.
• Entities that process personal data should not only be accountable but
should also be subject to independent oversight. In the case of the
government, this requires oversight by an office or department that is
separate and independent from the unit engaged in the data processing.
Under the data protection directive, the independent overseer must
have the authority to audit data processing systems, investigate
complaints brought by individuals, and enforce sanctions for
noncompliance.
Anonymity
AUTHENTICATION :
• Government plays a complex role in personal authentication.
• Many government agencies use identifiers to perform their work.
• Authentication documents(such as passports and insurance cards)
often come from the government.
• The government may also regulate the businesses that use
identification and authentication keys.
• sometimes the government obtains data based on those keys from
others.
• In these multiple roles, the government may misuse data
and violate privacy rights.
Privacy Concept s
Aspects of Information Privacy
Information privacy has three aspects:
• sensitive data
• affected parties
• controlled disclosure
Controlled Disclosure
• privacy is the right to control who knows certain aspects about you, your
communications, and your activities.
• privacy is something over which you have considerable influence and the key
point is you decide.
• You do not have complete control, however Anyone who has access to an object
can copy, transfer, or propagate that object or its content to others without
restriction.
Sensitive Data
• some people find some data more sensitive than others.
• We know things people usually consider sensitive, such as financial status, certain
health data, unsavory events in their past, and the like, so if you learn something
you consider sensitive about someone, you will keep it quiet.
Summary
• Privacy is controlled disclosure: The subject chooses what personal data to give
out and to whom.
• After disclosing something, a subject relinquishes much control to the receiver.
• What data are sensitive is at the discretion of the subject; people consider
different things sensitive. Why a person considers something sensitive is less
important than that it is.
• Individuals, informal groups, and formal organizations all have things they
consider private.
• Privacy has a cost; choosing not to give out certain data may limit other benefits.
Computer-Related Privacy Problems
No Informed Consent
• public and commercial sources (newspapers, web pages, digital audio, and video
recordings) and others are from intentional data transfers (tax returns, a
statement to the police after an accident, readers' survey forms, school papers),
still others are collected without announcement.
• The user is not necessarily aware of this third category of data collection and thus
cannot be said to have given informed consent.
• Example: Telephone companies record the date, time, duration, source, and
destination of each telephone call. ISPs track sites visited. Some sites keep the IP
address of each visitor to the site (although an IP address is usually not unique to
a specific individual).
Loss of Control
• To have little control over dissemination (or redissemination) of your data.
• We do not always appreciate the ramifications of lost control but once something
is out of your control on the web, it may never be deleted.
• The web is a great historical archive, but because of archives, caches, and mirror
sites, things posted on the web may never go away.
• Example: consider something written about you in a note or letter by you.
Someone else has posted something on the web that is personal about you and
you want it removed. Even if the poster agrees, you may not be able to remove
all its traces.
• A second issue of loss of control concerns data exposure. Suppose a company
holds data about you and that company's records are exposed in a computer
attack. The company may not be responsible for preventing harm to you,
compensating you if you are harmed, or even informing you of the event.