SlideShare a Scribd company logo
IT6701 – Information Management
Unit II – Data Security and Privacy
By
Kaviya.P, AP/IT
Kamaraj College of Engineering & Technology
1
Unit II – Data Security and Privacy
Program Security, Malicious code and controls
against threats; OS level protection; Security –
Firewalls, Network Security Intrusion
detection systems. Data Privacy principles.
Data Privacy Laws and compliance.
2
Program Security
• Secure Programs
–Degree of trust that the program enforces expected confidentiality,
integrity and availability.
• One way to assess security or quality is to ask people to name the
characteristics of software that contribute to its overall security.
• An assessment of security can also be influenced by someone's general
perspective on software quality.
• Fixing Faults
– One way to judge the quality of program security.
3
Program Security
Secure Programs
IEEE terminology for quality of program,
• Bug - can be a mistake in interpreting a requirement, a syntax error
in a piece of code, or the (as-yet-unknown) cause of a system crash.
• Error - human made mistake in performing some software activity
that may lead to a fault, or an incorrect step, command, process, or
data definition in a computer program.
• Failure - departure from the system's required behavior. It can be
discovered before or after system delivery, during testing, or during
operation and maintenance.
4
Program Security
Secure Programs - Security Paradigm
• Penetrate and Patch
– Test a system's security by attempting to cause it to fail. The test was considered to be a
"proof" of security; if the system withstood the attacks, it was considered secure.
– The problem discovery in turn led to a rapid effort to "patch" the system to repair or restore
the security.
– Problems with such paradigm,
• In order to repair a problem, analysts would focus on its immediate cause instead of
faults in underlying design or requirements.
• The fault cause side effects in areas that were not directly related to it.
• The solution to one fault caused fault in another area or solution to a problem applied
to one area was not reflected in other related areas.
• The fault could not be fixed properly because system functionality or performance
would suffer. 5
Program Security
Secure Programs - Security Paradigm
• Unexpected Behaviour
– Examine programs to see whether they behave as their designers
intended or users expected.
– Program Security Flaw: Inappropriate program behaviour caused by a
program vulnerability.
– A flaw can be either a fault or failure.
– Vulnerability usually describes a class of flaws, such as a buffer
overflow.
6
Program Security
Secure Programs - Security Paradigm
Types of flaws:
– Validation error (incomplete or inconsistent): permission checks
– Domain error: controlled access to data
– Serialization and aliasing: program flow order
– Inadequate identification and authentication: basis for
authorization
– Boundary condition violation: failure on first or last case
– Other exploitable logic errors
7
Program Security
Secure Programs - Security Paradigm
Types of security flaws,
– One way to divide up security flaws is by genesis (where they came from).
– Some flaws are intentional
• Malicious flaws are intentionally inserted to attack systems, either in
general, or certain systems in particular.
– If it's meant to attack some particular system, we call it a targeted
malicious flaw.
• Nonmalicious (but intentional) flaws are often features that are meant to
be in the system, and are correctly implemented, but nonetheless can cause
a failure when used by an attacker.
8
Program Security
Non-Malicious Program Errors
• Most security flaws are caused by unintentional program errors.
• Some of the most common sources of unintentional security flaws
– Buffer overflows
– Incomplete mediation
– TOCTTOU errors (race conditions)
9
Program Security
Non-Malicious Program Errors - Buffer Overflows,
• A buffer (or array or string) is a space in which data can be held. A buffer resides
in memory. Because memory is finite, a buffer's capacity is finite.
• For this reason, in many programming languages the programmer must declare
the buffer's maximum size so that the compiler can set aside that amount of
space.
• Example
char sample[10]; -- The compiler sets aside 10 bytes to store this buffer
for (i=0; i<=9; i++)
sample[i] = 'A';
sample[10] = 'B‘ 10
Program Security
Non-Malicious Program Errors - Buffer
Overflows,
• All program and data elements are in
memory during execution, sharing space
with the operating system, other code,
and resident routines. So there are four
cases to consider in deciding where the
'B' goes.
• Suppose that a malicious person
understands the damage that can be done
by a buffer overflow; The malicious
programmer looks at the four cases and
thinks deviously about the last two. 11
Program Security
Non-Malicious Program Errors - Buffer Overflows,
• First, the attacker may replace code in the system space. Remember that every
program is invoked by the operating system and that the operating system may run with
higher privileges than those of a regular program.
• Thus, if the attacker can gain control by masquerading as the operating system,
– The attacker can execute many commands in a powerful role. Therefore, by
replacing a few instructions right after returning from his or her own procedure, the
attacker regains control from the operating system, possibly with raised privileges.
– If the buffer overflows into system code space, the attacker merely inserts overflow
data that correspond to the machine code for instructions.
12
Program Security
Non-Malicious Program Errors - Buffer Overflows,
• 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).
– This structure works well because procedure calls can be nested, with each return
causing control to transfer back to the immediately preceding routine at its point of
execution. Each time a procedure is called, its parameters, the return address and
other local values are pushed onto a stack.
– An old stack pointer is also pushed onto the stack, and a stack pointer register is
reloaded with the address of these new values. Control is then transferred to the
subprocedure.
13
Program Security
Non-Malicious Program Errors - Defence against Buffer Overflows,
• Use a language with bounds checking
– And catch those exceptions!
• Non-executable stack
• Stack (and sometimes code) at random addresses for each process
– Linux 2.6 does this
• “Canaries” that detect if the stack has been overwritten before the return from
each function
– This is a compiler feature
14
Program Security
Non-Malicious Program Errors - Incomplete Mediation,
• http://www.somesite.com/subpage/userinput.asp?parm1=(808)555-1212
&parm2=2009Jan17.
• The two parameters look like a telephone number and a date. Probably the
client's (user's) web browser enters those two values in their specified format
for easy processing on the server's side.
• What would happen if parm2 were submitted as 1800Jan01? Or 1800Feb30?
Or 2048Min32? Or 1Aardvark2Many?
– Receiving program would continue to execute but would generate a very
wrong result.
15
Program Security
Non-Malicious Program Errors - Incomplete Mediation,
• Incomplete mediation occurs when the application accepts incorrect data from
the user.
• Sometimes this is hard to avoid
– Phone number: 519-886-4567
– This is a reasonable entry, that happens to be wrong
• We focus on catching entries that are clearly wrong
– Not well formed
• DOB: 1980-04-31
– Unreasonable values
• DOB: 1876-10-12 16
Program Security
Non-Malicious Program Errors - Defence against Incomplete Mediation,
• Client-side mediation is an OK method to use in order to have a friendlier user
interface, but is useless for security purposes.
• You have to do server-side mediation, whether or not you also do client-side.
• For values entered by the user:
– Always do very careful checks on the values of all fields.
– These values can potentially contain completely arbitrary 8-bit data (including
accented chars, control chars, etc.) and be of any length.
• For state stored by the client:
– Make sure the client has not modified the data in any way.
17
Program Security
Non-Malicious Program Errors - Time of Check to Time of Use errors (Also
known as “race condition” errors)
• To improve efficiency, modern processors and operating systems usually
change the order in which instructions and procedures are executed.
• In particular, instructions that appear to be adjacent may not actually be
executed immediately after each other, either because of intentionally changed
order or because of the effects of other processes in concurrent execution.
18
Program Security
Non-Malicious Program Errors - Time of Check to Time of Use errors (Also
known as “race condition” errors)
• These errors occur when the following happens:
– User requests the system to perform an action.
– The system verifies the user is allowed to perform the action.
– The system performs the action.
19
Program Security
Non-Malicious Program Errors - Time of Check to Time of Use errors (Also
known as “race condition” errors)
• A particular Unix terminal program is setuid (runs with superuser privileges) so
that it can allocate terminals to users (a privileged operation).
• It supports a command to write the contents of the terminal to a log file.
• It first checks if the user has permissions to write to the requested file; if so, it
opens the file for writing.
• The attacker makes a symbolic link:
logfile -> file_she_owns
• Between the “check” and the “open”, she changes it:
logfile -> /etc/passwd
20
Program Security
Non-Malicious Program Errors - Time of Check to Time of Use errors (Also
known as “race condition” errors)
• The state of the system changed between the check for permission and the
execution of the operation.
• The file whose permissions were checked for writeability by the user
(file_she_owns) wasn't the same file that was later written to (/etc/passwd).
– Even though they had the same name (logfile) at different points in time.
21
Malicious Code
• Malicious code or rogue program - unanticipated or undesired effects in
programs or program parts, caused by an agent intent on damage. It is a
various forms of software written with malicious intent
• What malicious code can do?
– writing a message on a computer screen
– stopping a running program
– erasing a stored file
• Classification of Malicious Code is based on,
– Needs host program
• E.g., Trap doors, logic bombs, Trojan horses, viruses
– Independent
• E.g., Worms, zombies
22
Malicious Code
Malicious code Types
• Virus – Attaches itself to program and propagates copies of itself to other
program
• Trojan horse – Contains unexpected, additional functionality
• Logic Bomb – Triggers action when condition occurs
• Time Bomb – Triggers action when specified time occurs
• Trapdoor – Allows unauthorized access to functionality
• Worm – Propagates copies of itself through the network
• Rabbit – Replicates itself without limit to exhaust resources
23
Malicious Code
Trojan horses
• Programs which claim to do something innocuous (and usually do), but which also
hide malicious behaviour.
• Trojan horses usually do not themselves spread between computers; they rely on
multiple users executing the “trojaned” software
• E.g., login script that process the login processing, but retains the copy of the login
information for the later malicious use.
Logic Bomb
• Malicious code triggered when a specified condition occurs.
Time Bomb
• It is a type of logic bomb which triggered by a certain time or date.
• Like run one particular program on 29/08/2019.
24
Malicious Code
Trapdoor or Backdoor
• Allows unauthorized access to functionality.
• It is an indirect way of accessing a program.
• The attacker might enjoy greater privileges while accessing the program.
• Eg: An ATM program of a bank might allow access to all transactions by entering a
secret code like 999999.
Worm
• It spreads copies of itself through a network.
• The main difference between a virus and a worm is that worm spreads across a network
while a virus spreads through any medium.
• The worm spreads copies of itself as a stand-alone program while a virus spreads copies
of itself as a program that either gets attached to another program or embeds itself into it.
25
Malicious Code
Virus
• A virus is a particular kind of malware that infects other files
– Traditionally, a virus could only infect executable programs.
– Nowadays, many data document formats can contain executable code
(such as macros).
• Many different types of files can be infected with viruses now.
• Typically, when the file is executed (or sometimes just opened), the virus
activates, and tries to infect other files with copies of itself.
• In this way, the virus can spread between files, or between computers.
26
Malicious Code
Virus - Approach
• Appended Virus - A program virus attaches itself to a program; then,
whenever the program is run, the virus is activated.
27
Appended Virus
Malicious Code
Virus - Approach
• Virus that surround a program - runs the original program but has
control before and after its execution.
28
Virus surrounding the program
Malicious Code
Virus - Approach
• Integrated Virus and Replacements - integrating itself into the original
code of the target.
29
Virus Integrated into the Program
Malicious Code
Virus – Types
• Transient virus: One which exists only as long as its host program is being executed,
(i.e) its lifetime is the same as its host program.
• Resident virus: It does not depend on its host program for its lifetime. It resides in
memory and can remain active or get activated even after its host program has finished
execution.
• Document virus: Implemented within a formatted document, such as a written
document, a database, a slide presentation, a picture, or a spreadsheet.
• Boot sector virus: Boot sector virus writer breaks the chain (OS Booting Process) at any
point, inserts a pointer to the virus code to be executed, and reconnects the chain after
the virus has been installed.
• Macro virus: Virus attached to the word processors and spreadsheets, have a "macro"
feature
• Polymorphic virus: A virus that keep changing its form.
30
Malicious Code
Features of Virus
– Hard to detect
– Not easily destroyed
– Spreads infection widely
– Reinfects its host program
– Easy to create
– Machine and OS independent
31
Malicious Code
Virus Effects and causes
32
Malicious Code
Virus Effects and causes
33
Malicious Code
Virus Signature and Virus Scanner
• Virus code must be stored somewhere, and the code must be in memory to
execute. The virus executes in a particular way, using certain methods to spread
yields a pattern called signature.
• The virus's signature is important for virus scanner, that can detect and remove
viruses.
• The scanner recognizes a known virus's pattern, it can then block the virus, inform
the user, and deactivate or remove the virus.
• However, a virus scanner is effective only if it has been kept up to date with the
latest information on current viruses.
34
Malicious Code
Prevention of Virus Infection
• Use only commercial software acquired from reliable, well-established
vendors.
• Test all software on an isolated computer.
• Open attachments only when you know they are safe.
• Make a recoverable system image and store it safely.
• Make and retain backup copies of executable system files.
• Use virus detectors or scanners regularly and update then daily.
35
Malicious Code
Targeted Malicious Codes
• Trapdoors: Allows unauthorized access to functionality. It is an indirect way of
accessing a program. The attacker might enjoy greater privileges while accessing
the program.
• Salami Attack: Merges bits of data that might seem negligible, but yield powerful
results. (Eg: Bank scenario – Customer account balance – Rs. 50.32) Salami attacks
are unnoticed because people are less bothered about the small fractional amount of
money that they might be losing on a daily basis.
• Privilege Escalation: Programs run in certain contexts which govern the access
rights and privileges. Access rights allow a user to read, write, modify or delete as
per the context. A privilege escalation attack means that malicious code is
launched by a user with lower privileges, but run with higher privileges.
36
Malicious Code
Targeted Malicious Codes
• Interface Illusions: It is a spoofing attack in which a web page is manipulated
such that a part of it or the entire web page is false. The motive of the attacker is
to convince the user to do something inappropriate that can leak vital information
which can be used to create problems.
• Keystroke Logging: It is a technique which attacks the gap between the pressing of
a character on the keyboard and the character getting recorded on the processor. A
malicious program called as keystroke logger retains a secret copy of all the keys
pressed. (Eg: Bank details, Identification numbers, etc)
• Man-in-the-Middle Attack: It utilizes the space between the user’s input and an
application’s results. It is a malicious attack interjecting itself between these two
activities. It is a destructive attack that plays mischief between the utility
application and the user.
37
Malicious Code
Targeted Malicious Codes
• Timing Attack: The time taken by a computer to perform a task depends on the
size of the task. For cryptographic applications, speed and size are vital parameters
and must not be revealed.
38
Covert channels - Programs that Leak Information
• Covert channels are extraordinary paths of communication that go unnoticed while
accompanying other paths of communication.
• Covert channel helps in extracting secret information.
• Common ways of creating covert channels are:
o Producing a specific output report or displaying desired values
o Encoding the data values in another report by varying the format of the output
o Omitting the printing of certain values.
o Printing certain specific values
o Increasing or decreasing the lengths of lines
o Inserting numerical values in few places in the output
o Changing the number of lines per page
39
Covert channels - Programs that Leak Information
Type of Covert Channel
• Storage Channels – Information is passed by using the presence or absence of
objects in storage. (Eg: a file lock channel). Whether a file is locked or not can be
determined by a single bit of information through a covert channel.
• Timing Channel – Information is passed by using the speed at which things
happen. It is a variant of a shared resource channel in which time is the shared
resource. In a multi-programmed system, time is divided into two blocks i.e.,
alternatively the service program and spy’s program are allocated time for
processing. If the service process uses its block, then signals 1. If it rejects its block,
then it signals 0.
40
Covert channels - Programs that Leak Information
Type of Covert Channel
• Shared Resource Matrix – It has dimensions such that resources are placed in
rows and process accessing them are placed in columns. The general taxonomy
followed is: R represents “can read the resource”, M represents “can modify the
resource”.
• Information Flow Method – During the program’s development, potential for
information flow can be identified using the information flow method.
• Explicit Flow: For example, the statement B:=A assigns the value of A to B,
implying the information flow is from A to B.
• Implicit Flow: For example, the statement if D:=1, then B:=A has two
information flows. From A to B because of the assignment operator and
indirectly from D to B because the change in the value of B is dependent on the
value of D.
41
Controls Against Program Threats
• During the software development process, there are tasks like specifying, designing,
writing and testing the programs which may need techniques to detect and delete the
underlying faults.
• There are three types of controls that can be enforced to evade threats:
1. Developmental control
2. Operating System control
3. Administrative control
42
Controls Against Program Threats
Developmental control
• Software development is a collaborative effort in which teams are deployed for
working on various aspects such that different skill sets and expertise can be
combined to generate a working product.
• The people working towards the development need to:
• Specify the system
• Design the system
• Implement the system
• Test the system
• Review the system
• Document the system
• Manage the system
• Maintain the system
43
Controls Against Program Threats
Modularity, Encapsulation, and Information Hiding
• Modularization is the process of dividing a task into subtasks.
• A modular component generally has high cohesion and low coupling.
• Encapsulation allows sharing of information among components that are dependent
on each other.
• Information hiding is to keep the software user friendly and to safeguard the
software from any malicious attack, it is necessary to hide the precise
implementation of programs and other design factors from the users or other
developers.
Testing
• It ensures that the software is fault free and fault tolerant.
• It is the process of verifying whether all the components work properly when put
together. 44
OS Level Protection
Goals of Operating System
• Controlling shared access
• Implementing an interface to allow access
OS has various support activities such as:
• Identification and authentication
• Naming
• Filing objects
• Scheduling
• Communication among processes
• Reclaiming and reusing objects
• Deadlock Management
45
OS Level Protection
Functions of Operating System
• Access control
• Identity and credential management
• Information flow
• Audit and integrity protection
History of Protection in Operating System
• In multi-programming, multiple users introduce more complexity and risk – user A’s
data may affect user B’s programs and data and vice versa.
• Hence, protecting one user’s programs and data from other users’ programs is an
important issue in multi-programmed operating systems.
46
OS Level Protection
Protected Objects
• In fact, the rise of multiprogramming meant that several aspects of a computing
system required protection:
– Memory
– Sharable I/O devices, such as disks
– Serially reusable I/O devices, such as printers and tape drives
– Sharable programs and subprocedures
– Networks
– Sharable data
47
OS Level Protection
Security Methods of Operating Systems
• The basis of protection is separation: keeping one user's objects separate from other
users.
– Physical separation, in which different processes use different physical objects,
such as separate printers for output requiring different levels of security.
– Temporal separation, in which processes having different security requirements are
executed at different times.
– Logical separation, in which users operate under the illusion that no other processes
exist, as when an operating system constrains a program's accesses so that the
program cannot access objects outside its permitted domain.
– Cryptographic separation, in which processes conceal their data and computations
in such a way that they are unintelligible to outside processes.
– A combinations of two or more of these forms of separation are also possible.
48
OS Level Protection
Security Methods of Operating Systems
• The first two approaches are very stringent and can lead to poor resource utilization.
• Separation is only one half of the solution. There is also a need for providing a
sharing mechanism for some objects.
• An operating system can support separation and sharing in the following ways:
– Do not protect: Operating systems with no protection are appropriate when
sensitive procedures are being run at separate times.
– Isolate: Different processes running concurrently are unaware of the presence
of each other. Each process has its own address space, files, and other objects.
– Share all or share nothing: The owner of an object declares it to be public or
private.
49
OS Level Protection
Security Methods of Operating Systems
• An operating system can support separation and sharing in the following ways:
– Share via access limitation: The operating system checks the allowability of
each user's potential access to an object. That is, access control is implemented
for a specific user and a specific object.
– Share by capabilities: This form of protection allows dynamic creation of
sharing rights for objects.
– Limit use of an object: This form of protection limits not just the access to an
object but the use made of that object after it has been accessed.
50
OS Level Protection
Memory and Address Protection
• The problem of multiprogramming is preventing one program from affecting the
data and programs in the memory space of other users.
• Protection can be built into the hardware mechanisms that control efficient use of
memory.
1. Fence
– The fence was a predefined memory address, enabling the operating system to
reside on one side and the user to stay on the other.
51
OS Level Protection
Memory and Address Protection
• Another implementation used a
hardware register, often called a
fence register, containing the
address of the end of the
operating system.
• In contrast to a fixed fence, in this
scheme the location of the fence
could be changed.
• Each time a user program
generated an address for data
modification, the address was
automatically compared with the
fence address.
• If the address was greater than the
fence address (that is, in the user
area), the instruction was
executed; if it was less than the
fence address (that is, in the
operating system area), an error
condition was raised.
52
OS Level Protection
Memory and Address Protection
2. Relocation
– Relocation is the process of taking a program written as if it began at address 0
and changing all addresses to reflect the actual address at which the program is
located in memory.
– In many instances, this effort merely entails adding a constant relocation
factor to each address of the program.
– That is, the relocation factor is the starting address of the memory assigned for
the program.
53
OS Level Protection
Memory and Address Protection
3. Base/Bound Registers
– A variable fence register is generally known as a base register.
– Fence registers provide a lower bound (a starting address) but not an upper one.
– The second register, called a bounds register, is an upper address limit.
– A program's addresses are neatly confined to the space between the base and
the bounds registers.
54
OS Level Protection
Memory and Address Protection
4. Tagged Architecture
– In a tagged architecture, one or
more extra bits are associated
with every word of machine
memory to identify the access
rights to that word.
– Access bit can be set only for a
privileged instructions
– Drawback:
• Compatibility of code with
tagged architecture is
problem
• Tagged architecture requires
fundamental changes to all
operating systems which can
be expensive.
55
OS Level Protection
Memory and Address Protection
5. Segmentation
• Segmentation, involves the
simple notion of dividing a
program into separate pieces.
• Each piece has a logical unity.
Each segment has a unique
name.
• A code or data item within a
segment is addressed as the
pair <name, offset>, where
name is the name of the
segment containing the data
item and offset is its location
within the segment
56
OS Level Protection
Memory and Address Protection
5. Segmentation
Benefits:
• Each address reference is checked for protection
• Many different types of data item can be assigned different levels of protection
• Two or more users can share access to a segments with different access rights
• A user cannot generate an address or access to an unpermitted segments
Drawback:
• Segment names are inconvenient to encode in instructions
• An operating systems lookup of the name in the table can be slow
57
OS Level Protection
Memory and Address Protection
6. Paging
• The program is divided into
equal-sized pieces called pages,
and memory is divided into
equal-sized units called page
frames.
• The operating system maintains
a table of user page numbers
and their true addresses in
memory.
• The page portion of every
<page, offset> reference is
converted to a page frame
address by a table lookup; the
offset portion is added to the
page frame address to produce
the real memory address of the
object referred to as <page,
offset>. 58
OS Level Protection
Memory and Address Protection
7. Combined paging with segmentation
• Paging offers implementation efficiency, while segmentation offers logical
protection characteristics.
• Since each approach has drawbacks as well as desirable features, the two
approaches have been combined.
59
OS Level Protection
Control of Access to General Objects
• Access control is a way of providing security in a operating system.
• Basically with this technique, OS can grant or revoke access for a certain resources
like file, program, and data.
• Goals in protecting object are as follows:
1. Check every access: In some situation, the users access needs to be revoked after a
certain period of time or after some incident. Hence, every access by a user to an object
should be checked.
2. Enforced least privilege: It states that a subject should have access to the smallest
number of objects necessary to perform some task. It ensures security in case a part of
the protection mechanism fails.
3. Verify acceptable usage: It is important to check that the activity to be performed
on an object is appropriate.
60
OS Level Protection
Control of Access to General Objects
Different ways of implementing Access
Control
1. Directory
• It is simple way of protection. It works
like a file directory.
• Every user has a file directory which list
all the files to which it has access. (read,
write, and execute rights)
• Disadvantages:
• List become too large if many
shared object are accessible to all
users.
• Revocation of access is difficult
• Allow pseudonyms leads to
multiple permission that are not
necessarily consistent.
61
OS Level Protection
Control of Access to General Objects
Different ways of implementing Access Control
2. Access Control List
• There is one access control list for each object and this displays the list of all users
who have access to it and their access level.
• Advantages:
• It can include general default entries of any user.
• There is no need for an entry for an object in the individual directory of each user.
• Ease of use.
62
OS Level Protection
Control of Access to General Objects
Different ways of implementing Access Control
3. Access Control Matrix
• It a table in which row represents a user/subject and each column represents an object.
• Each entry in the table provides a set of access rights of that user that object.
• Disadvantage:
• The access control matrix is sparse – most users do not have access rights to most
objects.
63
OS Level Protection
Control of Access to General Objects
Different ways of implementing Access Control
4. Capability
• It is an unforgeable token that gives the holder certain rights to an object.
• Ways to make unforgeable tokens:
o The OS hold all the tickets on be half of the users
o Use encryption schemes
o They must be stored in memory that is inaccessible to normal users.
o Storing them in segments not pointed to by the user’s segment table are using
tagged architecture can help accomplish this.
64
OS Level Protection
File Protection Mechanisms
• All multiuser operating systems must provide some minimal protection to keep one
user from maliciously or inadvertently accessing or modifying the files of another.
• The basic protection schemes are:
1. All-None Protection – It involved trust combined with ignorance. System designers
supposed that users could be trusted not to read or modify others' files because the users
would expect the same respect from others. However, this all-or-none protection is
unacceptable for several reasons: Lack of Trust, Too coarse, Rise of sharing, Complexity
and File listings.
2. Group Protection: It focused on identifying groups of users who had some common
relationship. In a typical Unix+ implementation, the world is divided into three classes:
the user, a trusted working group associated with the user, and the rest of the users.
65
OS Level Protection
File Protection Mechanisms
3. Individual Permissions
3.1 Persistent Permission – The typical implementation of this scheme make use of a
token. Problem is difficulty in revocation.
3.2 Temporary Acquired Permission – The UNIX designers add a permission called set
userid. If this protection is set for a file to be executed, the protection level is that of the
file’s owner.
3.3 Per-Object and Per-User Protection – The access control list or access control
matrix provide every flexible protection . Disadvantage: Problems are faced by the user
who wants to allow access to many users and to many different data sets.
66
OS Level Protection
User Authentication
Most of the OS’s protection is based on knowing who is the user of the system.
1. Biometric Authentication – Authentication mechanisms use any one of the thee
qualities to confirm a user’s identity.
– Something the user knows – Password, PIN number
– Something the user has – Token, Cards
– Something the user is – Biometrics are based on the physical characteristics of the
user
2. Passwords as Authenticators – It is a word known to the computer and user of the
system. A user chooses password / the system assigns them. The length and format of the
password also vary from one system to another.
67
OS Level Protection
User Authentication
The password selection criteria:
• Use characters other than just A-Z
• Choose long passwords
• Avoid actual names or words
• Choose an unlikely password
• Change the password regularly
• Do not tell anyone else]
68
OS Level Protection
User Authentication
Different ways to store password in a database
• Plaintext system password list
• Encrypted password file
• Salted password – Salt is a random number or data which is add with hashed
password. The basic idea behind is to avoid dictionary attack.
Different Types of Authentication Mechanisms
• One-time password
• Single sign-on
• Challenge-response systems -
• Using cookies for authentication
69
Security - Firewall
• A firewall is a device that filters all traffic between a protected or "inside"
network and a less trustworthy or "outside" network.
– Usually a firewall runs on a dedicated device because it is a single point
through which traffic is channeled, performance is important
• Non-firewall functions should not be done on the same machine
– Firewall code usually runs on a proprietary or carefully minimized
operating system
• More code means more security problems
70
Security - Firewall
• The purpose of a firewall is to keep "bad" things outside a protected environment.
– Firewalls implement a security policy that is specifically designed to address what
bad things might happen
– Determining security policies is challenging
• People in the firewall community (users, developers, and security experts) disagree
about how a firewall should work
– The community is divided about a firewall's default behavior
– Two schools of thought
• "that which is not expressly forbidden is permitted" (default permit)
• "that which is not expressly permitted is forbidden" (default deny).
71
Security - Firewall
Design of Firewalls
• The firewall must be
– always invoked
• ensure that all network accesses that we want to control must pass through it
– Tamperproof
• A firewall is typically well isolated, making it highly immune to modification
– small and simple enough for rigorous analysis
• firewall designers strongly recommend keeping the functionality of the firewall
simple
72
Security - Firewall
Types of Firewalls
– Packet filtering gateways or screening routers
– Stateful inspection firewalls
– Application proxies
– Guards
– Personal firewalls
• Each type does different things; no one is necessarily "right" and the others
"wrong.“
– the important question to ask when choosing a type of firewall is what
threats an installation needs to counter
73
Security - Firewall
Types of Firewalls – 1. Packet Filtering Gateway
• It is also called a screening router.
• The simplest, and in some situations, the most effective type of firewall.
• It controls access to packets on the basis of packet address (source or destination) or
specific transport protocol type (such as HTTP web traffic).
• The packet filter is typically set up as a list of rules based on matches to fields in the IP
or TCP Header.
• If there is a match to one of the rules, that rule is invoked to determine whether to
forward or discard the packet.
• Packet filters do not see the contents of a packet – they block or accept packets only on
the basis of IP address and port numbers.
74
Security - Firewall
Types of Firewalls – 2. Stateful inspection firewall
• Filtering firewalls work on packets one at a time, accepting or rejecting each packet and
moving on to the next.
– They have no concept of "state" or "context" from one packet to the next.
• One classic approach used by attackers is to break an attack into multiple packets
– Forcing some packets to have very short lengths so that a firewall cannot detect the
signature of an attack split across two or more packets.
• A stateful inspection firewall maintains state information from one packet to another
in the input stream.
• With the TCP protocols, packets can arrive in any order
– The protocol suite is responsible for reassembling the packet stream in proper order
before passing it along to the application.
• A stateful inspection firewall would track the sequence of packets and conditions
from one packet to another to thwart such an attack. 75
Security - Firewall
Types of Firewalls – 3. Application Proxy
• It simulates the (proper) effects of an application so that the application receives only
requests to act properly.
• An application proxy runs pseudo-applications.
• As an example of application proxying, consider the FTP (file transfer) protocol.
– Specific protocol commands fetch (get) files from a remote location, store (put)
files onto a remote host, list files (ls) in a directory on a remote host, and position
the process (cd) at a particular point in a directory tree on a remote host.
– Some administrators might want to permit gets but block puts, and to list only
certain files or prohibit changing out of a particular directory.
– The proxy would simulate both sides of this protocol exchange.
– For example, the proxy might accept get commands, reject put commands, and
filter the local response to a request to list files.
76
Security - Firewall
Types of Firewalls – 4.Guard
• A guard is a sophisticated firewall.
• Like a proxy firewall, it receives protocol data units, interprets them, and passes
through the same or different protocol data units that achieve either the same result or a
modified result.
• The guard decides what services to perform on the user's behalf in accordance with
its available knowledge, such as previous interactions, and so forth.
• Guards and proxy firewalls are similar enough that the distinction between them is
sometimes fuzzy
• Functionality can be added to a proxy firewall to make it act like a guard.
• The degree of control a guard can provide is limited only by what is computable.
• Eg: A university wants to allow its students to use e-mail up to a limit of so many
messages or so many characters of e-mail in the last so many days.
77
Security - Firewall
Types of Firewalls – 5. Personal firewall
• A personal firewall is an application program that runs on a workstation to block
unwanted traffic.
• It can complement or compensate for the lack of a regular firewall.
• Commercial implementations of personal firewalls include Norton Personal Firewall
from Symantec, McAfee Personal Firewall, and Zone Alarm from Zone Labs (now
owned by CheckPoint).
• The personal firewall is configured to enforce some policy.
– Computers on the company network, are highly trustworthy, but most other sites
are not.
• Personal firewalls can also generate logs of accesses.
78
Security - Firewall
Example Firewall Configuration
• The simplest use of a firewall
– Screening router positioned between the internal LAN and the outside
network connection.
– If the firewall router is successfully attacked, then all traffic on the LAN to
which the firewall is connected is visible.
79
Firewall with Screening Router.
Security - Firewall
Example Firewall Configuration
• To reduce this exposure, a proxy firewall is often installed on its own LAN
– In this way the only traffic visible on that LAN is the traffic going into and
out of the firewall.
80
Firewall on Separate LAN.
Security - Firewall
Example Firewall Configuration
• For even more protection, we can add a screening router to this configuration
– The screening router ensures address correctness to the proxy firewall; the
proxy firewall filters traffic according to its proxy rules.
81
Firewall with Proxy and Screening Router.
Network Security
• The connection between hosts and routers to facilitate exchange of information is called
a network.
• Networks are classified into two types depending on the mode of their operation:
circuit-switched and packet-switched.
• Different layers in protocol stack
82
Layer Purpose / Work Done Protocols pertaining
to Security Aspect
Application
Layer
Responsible for handling the data sent
between applications between two hoists
on a network
HTTP, SMTP, FTP,
etc,.
Transport
Layer
Responsible for managing the end-to-end
logical connection
TCP and UDP
Network
Layer
Routing data through a network Internet protocol (IP)
Link Layer Transfers data over individual links on a
network
Ethernet, ARP
Physical
Layer
Sends binary data over the
communication media
-
Network Security
TCP/IP Vulnerability
• TCP/IP had sever vulnerabilities at every layer that needed to be fixed to prevent
security risks.
1. Physical Layer - Possible Attacks:
• Cable cuts
• Wireless link jamming
• Influence of EM field on copper cable
• Application of high voltages to copper cables
2. Data Link Layer – Possible Attacks
• Content Addressable Memory(CAM) table overflow
• MAC address spoofing
• DHCP attack
– DHCP starvation attacks
– Fake DHCP server
• ARP attacks – An attacker can poison ARP cache of the victim.
83
Network Security
TCP/IP Vulnerability
3. Network Layer - Possible Attacks:
• Packet sniffing – Attacker decapsulate the packet
• IP spoofing – Attacker modifies the packet header with a forged (spoofed) source IP
address, a checksum, and the order value.
• Fragmentation attack
• ICMP attack - Denial-of-service attack in which the attacker attempts to
overwhelm a targeted device with ICMP echo-request packets, causing the target
to become inaccessible to normal traffic.
4. Transport Layer – Possible Attacks
• TCP land attack
• UDP flooding attack
• TCP SYN attack
84
Network Security
TCP/IP Vulnerability
Denial of Service
• It is an attempt to disrupt the services offered to legitimate users by rendering the
computer resource as unavailable.
• These attacks have the power to disable the entire network organization and cause
heavy loss of data.
Session Hijacking
• It is process of stealing another user identity and masquerading as a legitimate user.
• Cookies are generally used for authentication and the state maintenance, thereby
relieving the user for being authenticated every time he/she shows up at the server.
85
Network Security
TCP/IP Vulnerability
DNS Spoofing
• It refers to changing the IP address entry of an organization in the DNS server to
another IP address.
DNS Overflow
• DNS servers are accessed via their hostname. If there is no check on the length of the
hostname, it may exceed the size of storage reserved for storing the domain name. This
causes DNS buffer overflows.
86
Network Security
Protocols for Security
1. IPSEC (IP Security)
• It works at the network layer.
• This protocol has two different headers: Authentication header(AH) & Encapsualting
security payload (ESP).
• In AH authentication and integrity of a packet is achieved by calculating the
MAC(Message Authentication Code), privacy is not achieved.
• Whereas in ESP, authentication and integrity are achieved by MAC and privacy or
confidentiality is achieved by encryption.
87
Network Security
Protocols for Security
2. TSL (Transport Layer Security ) / SSL (Secure Sockets Layer)
• It works at a transport layer.
• This protocol works in between application layer and transport layer.
• The main goals of this protocol are as follows:
– Server client authentication
– Compression
– Data confidentiality
– Data integrity
88
Intrusion Detection System (IDS)
• Many studies have shown that most computer security incidents are caused by
insiders
– People who would not be blocked by a firewall
– The vast majority of harm from insiders is not malicious
• It is honest people making honest mistakes.
• Then, too, there are the potential malicious outsiders who have somehow
passed the screens of firewalls and access controls.
• Prevention, although necessary, is not a complete computer security control;
– Detection during an incident copes with harm that cannot be prevented in
advance.
89
Intrusion Detection System (IDS)
• Intrusion Detection System (IDS) is a device, typically another separate computer,
that monitors activity to identify malicious or suspicious events.
– An IDS is a sensor, like a smoke detector, that raises an alarm if specific things
occur.
• A Model of an IDS: An IDS receives raw inputs from sensors. It saves those inputs,
analyzes them, and takes some controlling action.
90
Common Components of
an Intrusion Detection
Framework.
Intrusion Detection System (IDS)
• Functions performed by IDSs
‐ Monitoring users and system activity
‐ Auditing system configuration for vulnerabilities and misconfigurations
‐ Assessing the integrity of critical system and data files
‐ Recognizing known attack patterns in system activity
‐ Identifying abnormal activity through statistical analysis
‐ Managing audit trails and highlighting user violation of policy or normal activity
‐ Correcting system configuration errors
‐ Installing and operating traps to record information about intruders
• No one IDS performs all of these functions. Let us look more closely at the kinds of
IDSs and their use in providing security.
91
Intrusion Detection System (IDS)
Types of IDSs (Two types - Signature Based and Heuristic Based)
1. Signature-based intrusion detection systems perform simple pattern-matching and
report situations that match a pattern (signature) corresponding to a known attack type.
– E.g., Series of TCP SYN packets sent to many different ports in succession and at
times close to one another, as would be the case for a port scan.
– Signature-based IDSs cannot detect a new attack for which a signature is not yet
installed in the database. And, an attacker will try to modify a basic attack in such a
way that it will not match the known signature of that attack.
– Signature-based intrusion detection systems tend to use statistical analysis.
• To obtain sample measurements of key indicators (such as amount of external
activity, number of active processes, number of transactions)
• To determine whether the collected measurements fit the predetermined attack
signatures.
92
Intrusion Detection System (IDS)
Types of IDSs (Two types - Signature Based and Heuristic Based)
2. Heuristic intrusion detection systems, also known as anomaly-based, build a model of
acceptable behavior and flag exceptions to that model
– Instead of looking for matches, heuristic intrusion detection looks for behavior that
is out of the ordinary.
– The original work in this area focused on the individual, trying to find
characteristics of that person that might be helpful in understanding normal and
abnormal behavior.
• For example, one user might always start the day by reading e-mail, write
many documents using a word processor, and occasionally back up files. This
user does not seem to use many administrator utilities.
• If that person tried to access sensitive system management utilities, this new
behavior might be a clue that someone else was acting under the user's identity.
93
Intrusion Detection System (IDS)
Types of IDSs
Intrusion detection devices can be,
– A network-based IDS is a stand-alone device attached to the network to
monitor traffic throughout that network
– A host-based IDS runs on a single workstation or client or host, to protect
that one host.
94
Intrusion Detection System (IDS)
Stealth Mode IDSs
• An IDS has two network interfaces: one for the network (or network segment)
being monitored and the other to generate alerts and perhaps other
administrative needs.
95
Stealth Mode IDS Connected to Two Networks.
Intrusion Detection System (IDS)
Goals for IDSs
• Ideally, an IDS should be fast, simple, and accurate, while at the same time being
complete.
– It should detect all attacks with little performance penalty.
• An IDS Design Approaches
– Filter on packet headers
– Filter on packet content
– Maintain connection state
– Use complex, multipacket signatures
– Use minimal number of signatures with maximum effect
– Filter in real time, online
– Hide its presence
96
Intrusion Detection System (IDS)
Goals for IDSs - Responding to Alarms
• An intrusion detection system raises an alarm when it finds a match.
• What are possible responses? - The range is unlimited and can be anything the administrator can
imagine
• In general, responses fall into three major categories (any or all of which can be used in a single
response):
– Monitor, collect data, perhaps increase amount of data collected
• Watch the intruder, to see what resources are being accessed or what attempted attacks
are tried
• Record all traffic from a given source for future analysis
– Protect, act to reduce exposure
• Increasing access controls and even making a resource unavailable (for example,
shutting off a network connection or making a file unavailable).
• May be very visible to the attacker
– Call a human 97
Intrusion Detection System (IDS)
Goals for IDSs – False Results
• Intrusion detection systems are not perfect, and mistakes are their biggest problem
– Raising an alarm for something that is not really an attack (called a false positive,
or type I error in the statistical community)
• Too many false positives means the administrator will be less confident of the
IDS's warnings, perhaps leading to a real alarm's being ignored.
– Or not raising an alarm for a real attack (a false negative, or type II error).
• Mean that real attacks are passing the IDS without action.
• We say that the degree of false positives and false negatives represents the sensitivity of
the system.
– Most IDS implementations allow the administrator to tune the system's sensitivity,
to strike an acceptable balance between false positives and negatives.
98
Data Privacy Principles
• Data privacy, also called information privacy, is the aspect of information
technology (IT) that deals with the ability an organization or individual has
to determine what data in a computer system can be shared with third
parties.
• Information privacy can be applied in numerous ways, such as encryption,
authentication and data masking.
• These protective measures aim towards the prevention of data mining and
the unauthorized use of personal information.
99
Data Privacy Principles
Types of Privacy
• Internet privacy (Online privacy): All personal data shared with web applications
is subject to privacy issues.
• Financial privacy: Fraud or identity theft occurs when criminals gain access of a
user’s credit card numbers or personal accounts and misuse them by masquerading
as the user.
• Medical privacy: A person may not wish to disclose his/her medical records due to
various reasons. All medical records are subject to stringent laws that address user
access privileges.
• Locational privacy: As location tracking capabilities of mobile devices are
increasing problems related to user privacy have arisen.
100
Data Privacy Principles
OECD Principles (Organization for Economic Co-operation and Development)
1. Collection limitation principle – Limits collection of personal data
2. Data quality principle - Personal data should be used relevant to the purpose
3. Purpose specification principle – Purposes for which personal data are collected should
specified not later than at the time of data collection.
4. Use limitation principle – Personal data should not be disclosed
5. Security safeguard principle – Personal data should be protected from unauthorized access,
destruction, modification, etc.
6. Openness principle – Existence and nature of personal data should be readily available and
the main purposes of their use.
7. Individual participation principle – An individual should have the right to obtain data from a
data controller.
8. Accountability principle – A data controller should be accountable for complying with
measures which give effect to the principles stated above. 101
Data Privacy Principles
Information Commissioner’s Office (ICO) Data Protection Principles – UK
1. Personal data shall be processed fairly and lawfully
2. Personal data should be obtained for one or more specified and lawful purposes
3. Personal data shall be adequate, relevant and not excessive in relation to the purpose
4. Personal data shall be accurate, and up to date
5. Personal data processed for any purpose or purposes shall not be kept for longer
6. Personal data shall be processed in accordance with the rights of data subjects under this
Act.
7. Appropriate technical and organizational measures shall be taken against unauthorized or
unlawful processing of personal data
8. Personal data shall not be transferred to a country or territory outside the European
Economic Area
102
Data Privacy Laws and Compliance
Data Protection Law
• Information privacy or data protection laws prohibit the disclosure or
misuse of information held by private individuals.
• Laws are based on Fair Information Practice, first developed by United
States in 1970 by the Department of Health, Education and Welfare (HEW).
• The basic principles of data protection are:
• For all data collected, there should be a stated purpose
• Information collected should not be disclosed
• Records should be accurate and up to date
• There should be mechanisms for individuals to review data about them,
to ensure accuracy
103
Data Privacy Laws and Compliance
Data Protection Law
• The basic principles of data protection are:
• Data should be deleted when it is no longer needed for the stated
purpose
• Transmission of personal data to locations where “equivalent” personal
data protection cannot be assured is prohibited.
• Some data is too sensitive to be collected, unless there are extreme
circumstances
104
Data Privacy Laws and Compliance
Data Protection Law
• There are different Acts passed by different governing bodies for achieving
privacy in different applications. Some of them are listed as follows:
– Personal Information Protection and Electronic Document Act
(PIPEDA)
– Data Protection Act (1998)
– Privacy Act of 1974
– Privacy Laws of United States
– The Electronic Communications Privacy Act (ECPA)
– The California Online Privacy Protection Act of 2003 (OPPA)
– Indian Privacy Laws 105
Data Privacy Laws and Compliance
Compliance
• Compliance is a snapshot of how your security program meets a specific set
of security requirements at a given moment in time.
• Breaches of data protection law can lead to the imposition of sanctions,
including fines or, in series cases, even imprisonment.
• Data protection compliance is not only about risk minimization; it can also
increase employee or customer confidence and trust and can be used as an
additional marketing and sales tool, enhancing the brand image.
106
Data Privacy Laws and Compliance
Compliance
• Some prominent regulations, standards and legislation with which
organizations may need to be in compliance include:
– Sarbanes-Oxley Act (SOX) of 2002
– CAN-SPAM Act of 2003
– Health Insurance Portability and Accountability Act of 1996 (HIPAA)
– Dodd-Frank Act
– Payment Card Industry Data Security Standard (PCI DSS)
– Federal Information Security Management Act (FISMA)
107

More Related Content

What's hot

System analysis and design
System analysis and designSystem analysis and design
System analysis and design
Kiruthika Veerappan Nagappan
 
Introduction to system analysis and design
Introduction to system analysis and designIntroduction to system analysis and design
Introduction to system analysis and designTwene Peter
 
Information Technology ITM1
Information Technology ITM1Information Technology ITM1
Information Technology ITM1
Aram Mohammed
 
computer Unit 8
computer Unit 8computer Unit 8
computer Unit 8
Aqeel Rehman
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
nayriehl
 
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File System
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File SystemDynamic RWX ACM Model Optimizing the Risk on Real Time Unix File System
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File System
Radita Apriana
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
Amr E. Mohamed
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
Muhammad Asim
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
Akshaya Parida
 
Pm02 system design
Pm02   system designPm02   system design
Pm02 system design
Daniyal Ali
 
Software architecture
Software architectureSoftware architecture
Software architecture
Sweta Kumari Barnwal
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9Ian Sommerville
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9Ian Sommerville
 
25 isca notes_feb_11_
25 isca notes_feb_11_25 isca notes_feb_11_
25 isca notes_feb_11_
nikhitha pai
 
Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2koolkampus
 
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...
ijeei-iaes
 
Behavior modeling of soft real time system using stereotyped extension mechan...
Behavior modeling of soft real time system using stereotyped extension mechan...Behavior modeling of soft real time system using stereotyped extension mechan...
Behavior modeling of soft real time system using stereotyped extension mechan...
eSAT Publishing House
 
System design
System designSystem design
System design
Gheethu Joy
 
Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)
Makaha Rutendo
 

What's hot (20)

System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Introduction to system analysis and design
Introduction to system analysis and designIntroduction to system analysis and design
Introduction to system analysis and design
 
Information Technology ITM1
Information Technology ITM1Information Technology ITM1
Information Technology ITM1
 
computer Unit 8
computer Unit 8computer Unit 8
computer Unit 8
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File System
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File SystemDynamic RWX ACM Model Optimizing the Risk on Real Time Unix File System
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File System
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
 
System ana
System anaSystem ana
System ana
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
Pm02 system design
Pm02   system designPm02   system design
Pm02 system design
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9
 
25 isca notes_feb_11_
25 isca notes_feb_11_25 isca notes_feb_11_
25 isca notes_feb_11_
 
Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2
 
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...
 
Behavior modeling of soft real time system using stereotyped extension mechan...
Behavior modeling of soft real time system using stereotyped extension mechan...Behavior modeling of soft real time system using stereotyped extension mechan...
Behavior modeling of soft real time system using stereotyped extension mechan...
 
System design
System designSystem design
System design
 
Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)Advanced Systems Analyis Design (UML)
Advanced Systems Analyis Design (UML)
 

Similar to IT6701 Information Management - Unit II

Testing
TestingTesting
Testing
BinamraRegmi
 
Program security
Program securityProgram security
Program security
G Prachi
 
Software engineering 23 software reliability
Software engineering 23 software reliabilitySoftware engineering 23 software reliability
Software engineering 23 software reliability
Vaibhav Khanna
 
Ns
NsNs
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
Bassam Al-Khatib
 
Effects of IT on internal controls
Effects of IT on internal controlsEffects of IT on internal controls
Effects of IT on internal controls
Lou Foja
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Amr E. Mohamed
 
Implementing Vulnerability Management
Implementing Vulnerability Management Implementing Vulnerability Management
Implementing Vulnerability Management
Argyle Executive Forum
 
Os unit i
Os unit iOs unit i
Os unit i
SandhyaTatekalva
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
Bipul Roy Bpl
 
Reducing Application Risk: minimizing your web application's attack surface
Reducing Application Risk: minimizing your web application's attack surfaceReducing Application Risk: minimizing your web application's attack surface
Reducing Application Risk: minimizing your web application's attack surface
Security Innovation
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
Gurpreet singh
 
Exploitation techniques and fuzzing
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzing
G Prachi
 
Introduction to Network and System Administration
Introduction to Network and System AdministrationIntroduction to Network and System Administration
Introduction to Network and System Administration
Duressa Teshome
 
Chapter 2 program-security
Chapter 2 program-securityChapter 2 program-security
Chapter 2 program-security
Vamsee Krishna Kiran
 
4 florin coada - dast automation, more value for less work
4   florin coada - dast automation, more value for less work4   florin coada - dast automation, more value for less work
4 florin coada - dast automation, more value for less work
Ievgenii Katsan
 

Similar to IT6701 Information Management - Unit II (20)

Testing
TestingTesting
Testing
 
Program security
Program securityProgram security
Program security
 
Software engineering 23 software reliability
Software engineering 23 software reliabilitySoftware engineering 23 software reliability
Software engineering 23 software reliability
 
Ns
NsNs
Ns
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
 
A075434624
A075434624A075434624
A075434624
 
Ch20
Ch20Ch20
Ch20
 
Effects of IT on internal controls
Effects of IT on internal controlsEffects of IT on internal controls
Effects of IT on internal controls
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
Implementing Vulnerability Management
Implementing Vulnerability Management Implementing Vulnerability Management
Implementing Vulnerability Management
 
Os unit i
Os unit iOs unit i
Os unit i
 
Faq
FaqFaq
Faq
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Lec # 1 chapter 2
Lec # 1 chapter 2Lec # 1 chapter 2
Lec # 1 chapter 2
 
Reducing Application Risk: minimizing your web application's attack surface
Reducing Application Risk: minimizing your web application's attack surfaceReducing Application Risk: minimizing your web application's attack surface
Reducing Application Risk: minimizing your web application's attack surface
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Exploitation techniques and fuzzing
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzing
 
Introduction to Network and System Administration
Introduction to Network and System AdministrationIntroduction to Network and System Administration
Introduction to Network and System Administration
 
Chapter 2 program-security
Chapter 2 program-securityChapter 2 program-security
Chapter 2 program-security
 
4 florin coada - dast automation, more value for less work
4   florin coada - dast automation, more value for less work4   florin coada - dast automation, more value for less work
4 florin coada - dast automation, more value for less work
 

More from pkaviya

IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
pkaviya
 
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfIT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
pkaviya
 
IT2255 Web Essentials - Unit III Client-Side Processing and Scripting
IT2255 Web Essentials - Unit III Client-Side Processing and ScriptingIT2255 Web Essentials - Unit III Client-Side Processing and Scripting
IT2255 Web Essentials - Unit III Client-Side Processing and Scripting
pkaviya
 
IT2255 Web Essentials - Unit II Web Designing
IT2255 Web Essentials - Unit II  Web DesigningIT2255 Web Essentials - Unit II  Web Designing
IT2255 Web Essentials - Unit II Web Designing
pkaviya
 
IT2255 Web Essentials - Unit I Website Basics
IT2255 Web Essentials - Unit I  Website BasicsIT2255 Web Essentials - Unit I  Website Basics
IT2255 Web Essentials - Unit I Website Basics
pkaviya
 
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdf
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdfBT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdf
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdf
pkaviya
 
OIT552 Cloud Computing Material
OIT552 Cloud Computing MaterialOIT552 Cloud Computing Material
OIT552 Cloud Computing Material
pkaviya
 
OIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question BankOIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question Bank
pkaviya
 
CS8791 Cloud Computing - Question Bank
CS8791 Cloud Computing - Question BankCS8791 Cloud Computing - Question Bank
CS8791 Cloud Computing - Question Bank
pkaviya
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
pkaviya
 
CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV
pkaviya
 
CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III
pkaviya
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT II
pkaviya
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
pkaviya
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT V
pkaviya
 
CS8591 Computer Networks - Unit IV
CS8591 Computer Networks - Unit IVCS8591 Computer Networks - Unit IV
CS8591 Computer Networks - Unit IV
pkaviya
 
CS8591 Computer Networks - Unit III
CS8591 Computer Networks - Unit IIICS8591 Computer Networks - Unit III
CS8591 Computer Networks - Unit III
pkaviya
 
CS8591 Computer Networks - Unit II
CS8591 Computer Networks - Unit II CS8591 Computer Networks - Unit II
CS8591 Computer Networks - Unit II
pkaviya
 
CS8591 Computer Networks - Unit I
CS8591 Computer Networks - Unit ICS8591 Computer Networks - Unit I
CS8591 Computer Networks - Unit I
pkaviya
 
IT8602 Mobile Communication - Unit V
IT8602 Mobile Communication - Unit V IT8602 Mobile Communication - Unit V
IT8602 Mobile Communication - Unit V
pkaviya
 

More from pkaviya (20)

IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
 
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfIT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
 
IT2255 Web Essentials - Unit III Client-Side Processing and Scripting
IT2255 Web Essentials - Unit III Client-Side Processing and ScriptingIT2255 Web Essentials - Unit III Client-Side Processing and Scripting
IT2255 Web Essentials - Unit III Client-Side Processing and Scripting
 
IT2255 Web Essentials - Unit II Web Designing
IT2255 Web Essentials - Unit II  Web DesigningIT2255 Web Essentials - Unit II  Web Designing
IT2255 Web Essentials - Unit II Web Designing
 
IT2255 Web Essentials - Unit I Website Basics
IT2255 Web Essentials - Unit I  Website BasicsIT2255 Web Essentials - Unit I  Website Basics
IT2255 Web Essentials - Unit I Website Basics
 
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdf
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdfBT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdf
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdf
 
OIT552 Cloud Computing Material
OIT552 Cloud Computing MaterialOIT552 Cloud Computing Material
OIT552 Cloud Computing Material
 
OIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question BankOIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question Bank
 
CS8791 Cloud Computing - Question Bank
CS8791 Cloud Computing - Question BankCS8791 Cloud Computing - Question Bank
CS8791 Cloud Computing - Question Bank
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV
 
CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT II
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT V
 
CS8591 Computer Networks - Unit IV
CS8591 Computer Networks - Unit IVCS8591 Computer Networks - Unit IV
CS8591 Computer Networks - Unit IV
 
CS8591 Computer Networks - Unit III
CS8591 Computer Networks - Unit IIICS8591 Computer Networks - Unit III
CS8591 Computer Networks - Unit III
 
CS8591 Computer Networks - Unit II
CS8591 Computer Networks - Unit II CS8591 Computer Networks - Unit II
CS8591 Computer Networks - Unit II
 
CS8591 Computer Networks - Unit I
CS8591 Computer Networks - Unit ICS8591 Computer Networks - Unit I
CS8591 Computer Networks - Unit I
 
IT8602 Mobile Communication - Unit V
IT8602 Mobile Communication - Unit V IT8602 Mobile Communication - Unit V
IT8602 Mobile Communication - Unit V
 

Recently uploaded

Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
rosedainty
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 

Recently uploaded (20)

Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 

IT6701 Information Management - Unit II

  • 1. IT6701 – Information Management Unit II – Data Security and Privacy By Kaviya.P, AP/IT Kamaraj College of Engineering & Technology 1
  • 2. Unit II – Data Security and Privacy Program Security, Malicious code and controls against threats; OS level protection; Security – Firewalls, Network Security Intrusion detection systems. Data Privacy principles. Data Privacy Laws and compliance. 2
  • 3. Program Security • Secure Programs –Degree of trust that the program enforces expected confidentiality, integrity and availability. • One way to assess security or quality is to ask people to name the characteristics of software that contribute to its overall security. • An assessment of security can also be influenced by someone's general perspective on software quality. • Fixing Faults – One way to judge the quality of program security. 3
  • 4. Program Security Secure Programs IEEE terminology for quality of program, • Bug - can be a mistake in interpreting a requirement, a syntax error in a piece of code, or the (as-yet-unknown) cause of a system crash. • Error - human made mistake in performing some software activity that may lead to a fault, or an incorrect step, command, process, or data definition in a computer program. • Failure - departure from the system's required behavior. It can be discovered before or after system delivery, during testing, or during operation and maintenance. 4
  • 5. Program Security Secure Programs - Security Paradigm • Penetrate and Patch – Test a system's security by attempting to cause it to fail. The test was considered to be a "proof" of security; if the system withstood the attacks, it was considered secure. – The problem discovery in turn led to a rapid effort to "patch" the system to repair or restore the security. – Problems with such paradigm, • In order to repair a problem, analysts would focus on its immediate cause instead of faults in underlying design or requirements. • The fault cause side effects in areas that were not directly related to it. • The solution to one fault caused fault in another area or solution to a problem applied to one area was not reflected in other related areas. • The fault could not be fixed properly because system functionality or performance would suffer. 5
  • 6. Program Security Secure Programs - Security Paradigm • Unexpected Behaviour – Examine programs to see whether they behave as their designers intended or users expected. – Program Security Flaw: Inappropriate program behaviour caused by a program vulnerability. – A flaw can be either a fault or failure. – Vulnerability usually describes a class of flaws, such as a buffer overflow. 6
  • 7. Program Security Secure Programs - Security Paradigm Types of flaws: – Validation error (incomplete or inconsistent): permission checks – Domain error: controlled access to data – Serialization and aliasing: program flow order – Inadequate identification and authentication: basis for authorization – Boundary condition violation: failure on first or last case – Other exploitable logic errors 7
  • 8. Program Security Secure Programs - Security Paradigm Types of security flaws, – One way to divide up security flaws is by genesis (where they came from). – Some flaws are intentional • Malicious flaws are intentionally inserted to attack systems, either in general, or certain systems in particular. – If it's meant to attack some particular system, we call it a targeted malicious flaw. • Nonmalicious (but intentional) flaws are often features that are meant to be in the system, and are correctly implemented, but nonetheless can cause a failure when used by an attacker. 8
  • 9. Program Security Non-Malicious Program Errors • Most security flaws are caused by unintentional program errors. • Some of the most common sources of unintentional security flaws – Buffer overflows – Incomplete mediation – TOCTTOU errors (race conditions) 9
  • 10. Program Security Non-Malicious Program Errors - Buffer Overflows, • A buffer (or array or string) is a space in which data can be held. A buffer resides in memory. Because memory is finite, a buffer's capacity is finite. • For this reason, in many programming languages the programmer must declare the buffer's maximum size so that the compiler can set aside that amount of space. • Example char sample[10]; -- The compiler sets aside 10 bytes to store this buffer for (i=0; i<=9; i++) sample[i] = 'A'; sample[10] = 'B‘ 10
  • 11. Program Security Non-Malicious Program Errors - Buffer Overflows, • All program and data elements are in memory during execution, sharing space with the operating system, other code, and resident routines. So there are four cases to consider in deciding where the 'B' goes. • Suppose that a malicious person understands the damage that can be done by a buffer overflow; The malicious programmer looks at the four cases and thinks deviously about the last two. 11
  • 12. Program Security Non-Malicious Program Errors - Buffer Overflows, • First, the attacker may replace code in the system space. Remember that every program is invoked by the operating system and that the operating system may run with higher privileges than those of a regular program. • Thus, if the attacker can gain control by masquerading as the operating system, – The attacker can execute many commands in a powerful role. Therefore, by replacing a few instructions right after returning from his or her own procedure, the attacker regains control from the operating system, possibly with raised privileges. – If the buffer overflows into system code space, the attacker merely inserts overflow data that correspond to the machine code for instructions. 12
  • 13. Program Security Non-Malicious Program Errors - Buffer Overflows, • 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). – This structure works well because procedure calls can be nested, with each return causing control to transfer back to the immediately preceding routine at its point of execution. Each time a procedure is called, its parameters, the return address and other local values are pushed onto a stack. – An old stack pointer is also pushed onto the stack, and a stack pointer register is reloaded with the address of these new values. Control is then transferred to the subprocedure. 13
  • 14. Program Security Non-Malicious Program Errors - Defence against Buffer Overflows, • Use a language with bounds checking – And catch those exceptions! • Non-executable stack • Stack (and sometimes code) at random addresses for each process – Linux 2.6 does this • “Canaries” that detect if the stack has been overwritten before the return from each function – This is a compiler feature 14
  • 15. Program Security Non-Malicious Program Errors - Incomplete Mediation, • http://www.somesite.com/subpage/userinput.asp?parm1=(808)555-1212 &parm2=2009Jan17. • The two parameters look like a telephone number and a date. Probably the client's (user's) web browser enters those two values in their specified format for easy processing on the server's side. • What would happen if parm2 were submitted as 1800Jan01? Or 1800Feb30? Or 2048Min32? Or 1Aardvark2Many? – Receiving program would continue to execute but would generate a very wrong result. 15
  • 16. Program Security Non-Malicious Program Errors - Incomplete Mediation, • Incomplete mediation occurs when the application accepts incorrect data from the user. • Sometimes this is hard to avoid – Phone number: 519-886-4567 – This is a reasonable entry, that happens to be wrong • We focus on catching entries that are clearly wrong – Not well formed • DOB: 1980-04-31 – Unreasonable values • DOB: 1876-10-12 16
  • 17. Program Security Non-Malicious Program Errors - Defence against Incomplete Mediation, • Client-side mediation is an OK method to use in order to have a friendlier user interface, but is useless for security purposes. • You have to do server-side mediation, whether or not you also do client-side. • For values entered by the user: – Always do very careful checks on the values of all fields. – These values can potentially contain completely arbitrary 8-bit data (including accented chars, control chars, etc.) and be of any length. • For state stored by the client: – Make sure the client has not modified the data in any way. 17
  • 18. Program Security Non-Malicious Program Errors - Time of Check to Time of Use errors (Also known as “race condition” errors) • To improve efficiency, modern processors and operating systems usually change the order in which instructions and procedures are executed. • In particular, instructions that appear to be adjacent may not actually be executed immediately after each other, either because of intentionally changed order or because of the effects of other processes in concurrent execution. 18
  • 19. Program Security Non-Malicious Program Errors - Time of Check to Time of Use errors (Also known as “race condition” errors) • These errors occur when the following happens: – User requests the system to perform an action. – The system verifies the user is allowed to perform the action. – The system performs the action. 19
  • 20. Program Security Non-Malicious Program Errors - Time of Check to Time of Use errors (Also known as “race condition” errors) • A particular Unix terminal program is setuid (runs with superuser privileges) so that it can allocate terminals to users (a privileged operation). • It supports a command to write the contents of the terminal to a log file. • It first checks if the user has permissions to write to the requested file; if so, it opens the file for writing. • The attacker makes a symbolic link: logfile -> file_she_owns • Between the “check” and the “open”, she changes it: logfile -> /etc/passwd 20
  • 21. Program Security Non-Malicious Program Errors - Time of Check to Time of Use errors (Also known as “race condition” errors) • The state of the system changed between the check for permission and the execution of the operation. • The file whose permissions were checked for writeability by the user (file_she_owns) wasn't the same file that was later written to (/etc/passwd). – Even though they had the same name (logfile) at different points in time. 21
  • 22. Malicious Code • Malicious code or rogue program - unanticipated or undesired effects in programs or program parts, caused by an agent intent on damage. It is a various forms of software written with malicious intent • What malicious code can do? – writing a message on a computer screen – stopping a running program – erasing a stored file • Classification of Malicious Code is based on, – Needs host program • E.g., Trap doors, logic bombs, Trojan horses, viruses – Independent • E.g., Worms, zombies 22
  • 23. Malicious Code Malicious code Types • Virus – Attaches itself to program and propagates copies of itself to other program • Trojan horse – Contains unexpected, additional functionality • Logic Bomb – Triggers action when condition occurs • Time Bomb – Triggers action when specified time occurs • Trapdoor – Allows unauthorized access to functionality • Worm – Propagates copies of itself through the network • Rabbit – Replicates itself without limit to exhaust resources 23
  • 24. Malicious Code Trojan horses • Programs which claim to do something innocuous (and usually do), but which also hide malicious behaviour. • Trojan horses usually do not themselves spread between computers; they rely on multiple users executing the “trojaned” software • E.g., login script that process the login processing, but retains the copy of the login information for the later malicious use. Logic Bomb • Malicious code triggered when a specified condition occurs. Time Bomb • It is a type of logic bomb which triggered by a certain time or date. • Like run one particular program on 29/08/2019. 24
  • 25. Malicious Code Trapdoor or Backdoor • Allows unauthorized access to functionality. • It is an indirect way of accessing a program. • The attacker might enjoy greater privileges while accessing the program. • Eg: An ATM program of a bank might allow access to all transactions by entering a secret code like 999999. Worm • It spreads copies of itself through a network. • The main difference between a virus and a worm is that worm spreads across a network while a virus spreads through any medium. • The worm spreads copies of itself as a stand-alone program while a virus spreads copies of itself as a program that either gets attached to another program or embeds itself into it. 25
  • 26. Malicious Code Virus • A virus is a particular kind of malware that infects other files – Traditionally, a virus could only infect executable programs. – Nowadays, many data document formats can contain executable code (such as macros). • Many different types of files can be infected with viruses now. • Typically, when the file is executed (or sometimes just opened), the virus activates, and tries to infect other files with copies of itself. • In this way, the virus can spread between files, or between computers. 26
  • 27. Malicious Code Virus - Approach • Appended Virus - A program virus attaches itself to a program; then, whenever the program is run, the virus is activated. 27 Appended Virus
  • 28. Malicious Code Virus - Approach • Virus that surround a program - runs the original program but has control before and after its execution. 28 Virus surrounding the program
  • 29. Malicious Code Virus - Approach • Integrated Virus and Replacements - integrating itself into the original code of the target. 29 Virus Integrated into the Program
  • 30. Malicious Code Virus – Types • Transient virus: One which exists only as long as its host program is being executed, (i.e) its lifetime is the same as its host program. • Resident virus: It does not depend on its host program for its lifetime. It resides in memory and can remain active or get activated even after its host program has finished execution. • Document virus: Implemented within a formatted document, such as a written document, a database, a slide presentation, a picture, or a spreadsheet. • Boot sector virus: Boot sector virus writer breaks the chain (OS Booting Process) at any point, inserts a pointer to the virus code to be executed, and reconnects the chain after the virus has been installed. • Macro virus: Virus attached to the word processors and spreadsheets, have a "macro" feature • Polymorphic virus: A virus that keep changing its form. 30
  • 31. Malicious Code Features of Virus – Hard to detect – Not easily destroyed – Spreads infection widely – Reinfects its host program – Easy to create – Machine and OS independent 31
  • 34. Malicious Code Virus Signature and Virus Scanner • Virus code must be stored somewhere, and the code must be in memory to execute. The virus executes in a particular way, using certain methods to spread yields a pattern called signature. • The virus's signature is important for virus scanner, that can detect and remove viruses. • The scanner recognizes a known virus's pattern, it can then block the virus, inform the user, and deactivate or remove the virus. • However, a virus scanner is effective only if it has been kept up to date with the latest information on current viruses. 34
  • 35. Malicious Code Prevention of Virus Infection • Use only commercial software acquired from reliable, well-established vendors. • Test all software on an isolated computer. • Open attachments only when you know they are safe. • Make a recoverable system image and store it safely. • Make and retain backup copies of executable system files. • Use virus detectors or scanners regularly and update then daily. 35
  • 36. Malicious Code Targeted Malicious Codes • Trapdoors: Allows unauthorized access to functionality. It is an indirect way of accessing a program. The attacker might enjoy greater privileges while accessing the program. • Salami Attack: Merges bits of data that might seem negligible, but yield powerful results. (Eg: Bank scenario – Customer account balance – Rs. 50.32) Salami attacks are unnoticed because people are less bothered about the small fractional amount of money that they might be losing on a daily basis. • Privilege Escalation: Programs run in certain contexts which govern the access rights and privileges. Access rights allow a user to read, write, modify or delete as per the context. A privilege escalation attack means that malicious code is launched by a user with lower privileges, but run with higher privileges. 36
  • 37. Malicious Code Targeted Malicious Codes • Interface Illusions: It is a spoofing attack in which a web page is manipulated such that a part of it or the entire web page is false. The motive of the attacker is to convince the user to do something inappropriate that can leak vital information which can be used to create problems. • Keystroke Logging: It is a technique which attacks the gap between the pressing of a character on the keyboard and the character getting recorded on the processor. A malicious program called as keystroke logger retains a secret copy of all the keys pressed. (Eg: Bank details, Identification numbers, etc) • Man-in-the-Middle Attack: It utilizes the space between the user’s input and an application’s results. It is a malicious attack interjecting itself between these two activities. It is a destructive attack that plays mischief between the utility application and the user. 37
  • 38. Malicious Code Targeted Malicious Codes • Timing Attack: The time taken by a computer to perform a task depends on the size of the task. For cryptographic applications, speed and size are vital parameters and must not be revealed. 38
  • 39. Covert channels - Programs that Leak Information • Covert channels are extraordinary paths of communication that go unnoticed while accompanying other paths of communication. • Covert channel helps in extracting secret information. • Common ways of creating covert channels are: o Producing a specific output report or displaying desired values o Encoding the data values in another report by varying the format of the output o Omitting the printing of certain values. o Printing certain specific values o Increasing or decreasing the lengths of lines o Inserting numerical values in few places in the output o Changing the number of lines per page 39
  • 40. Covert channels - Programs that Leak Information Type of Covert Channel • Storage Channels – Information is passed by using the presence or absence of objects in storage. (Eg: a file lock channel). Whether a file is locked or not can be determined by a single bit of information through a covert channel. • Timing Channel – Information is passed by using the speed at which things happen. It is a variant of a shared resource channel in which time is the shared resource. In a multi-programmed system, time is divided into two blocks i.e., alternatively the service program and spy’s program are allocated time for processing. If the service process uses its block, then signals 1. If it rejects its block, then it signals 0. 40
  • 41. Covert channels - Programs that Leak Information Type of Covert Channel • Shared Resource Matrix – It has dimensions such that resources are placed in rows and process accessing them are placed in columns. The general taxonomy followed is: R represents “can read the resource”, M represents “can modify the resource”. • Information Flow Method – During the program’s development, potential for information flow can be identified using the information flow method. • Explicit Flow: For example, the statement B:=A assigns the value of A to B, implying the information flow is from A to B. • Implicit Flow: For example, the statement if D:=1, then B:=A has two information flows. From A to B because of the assignment operator and indirectly from D to B because the change in the value of B is dependent on the value of D. 41
  • 42. Controls Against Program Threats • During the software development process, there are tasks like specifying, designing, writing and testing the programs which may need techniques to detect and delete the underlying faults. • There are three types of controls that can be enforced to evade threats: 1. Developmental control 2. Operating System control 3. Administrative control 42
  • 43. Controls Against Program Threats Developmental control • Software development is a collaborative effort in which teams are deployed for working on various aspects such that different skill sets and expertise can be combined to generate a working product. • The people working towards the development need to: • Specify the system • Design the system • Implement the system • Test the system • Review the system • Document the system • Manage the system • Maintain the system 43
  • 44. Controls Against Program Threats Modularity, Encapsulation, and Information Hiding • Modularization is the process of dividing a task into subtasks. • A modular component generally has high cohesion and low coupling. • Encapsulation allows sharing of information among components that are dependent on each other. • Information hiding is to keep the software user friendly and to safeguard the software from any malicious attack, it is necessary to hide the precise implementation of programs and other design factors from the users or other developers. Testing • It ensures that the software is fault free and fault tolerant. • It is the process of verifying whether all the components work properly when put together. 44
  • 45. OS Level Protection Goals of Operating System • Controlling shared access • Implementing an interface to allow access OS has various support activities such as: • Identification and authentication • Naming • Filing objects • Scheduling • Communication among processes • Reclaiming and reusing objects • Deadlock Management 45
  • 46. OS Level Protection Functions of Operating System • Access control • Identity and credential management • Information flow • Audit and integrity protection History of Protection in Operating System • In multi-programming, multiple users introduce more complexity and risk – user A’s data may affect user B’s programs and data and vice versa. • Hence, protecting one user’s programs and data from other users’ programs is an important issue in multi-programmed operating systems. 46
  • 47. OS Level Protection Protected Objects • In fact, the rise of multiprogramming meant that several aspects of a computing system required protection: – Memory – Sharable I/O devices, such as disks – Serially reusable I/O devices, such as printers and tape drives – Sharable programs and subprocedures – Networks – Sharable data 47
  • 48. OS Level Protection Security Methods of Operating Systems • The basis of protection is separation: keeping one user's objects separate from other users. – Physical separation, in which different processes use different physical objects, such as separate printers for output requiring different levels of security. – Temporal separation, in which processes having different security requirements are executed at different times. – Logical separation, in which users operate under the illusion that no other processes exist, as when an operating system constrains a program's accesses so that the program cannot access objects outside its permitted domain. – Cryptographic separation, in which processes conceal their data and computations in such a way that they are unintelligible to outside processes. – A combinations of two or more of these forms of separation are also possible. 48
  • 49. OS Level Protection Security Methods of Operating Systems • The first two approaches are very stringent and can lead to poor resource utilization. • Separation is only one half of the solution. There is also a need for providing a sharing mechanism for some objects. • An operating system can support separation and sharing in the following ways: – Do not protect: Operating systems with no protection are appropriate when sensitive procedures are being run at separate times. – Isolate: Different processes running concurrently are unaware of the presence of each other. Each process has its own address space, files, and other objects. – Share all or share nothing: The owner of an object declares it to be public or private. 49
  • 50. OS Level Protection Security Methods of Operating Systems • An operating system can support separation and sharing in the following ways: – Share via access limitation: The operating system checks the allowability of each user's potential access to an object. That is, access control is implemented for a specific user and a specific object. – Share by capabilities: This form of protection allows dynamic creation of sharing rights for objects. – Limit use of an object: This form of protection limits not just the access to an object but the use made of that object after it has been accessed. 50
  • 51. OS Level Protection Memory and Address Protection • The problem of multiprogramming is preventing one program from affecting the data and programs in the memory space of other users. • Protection can be built into the hardware mechanisms that control efficient use of memory. 1. Fence – The fence was a predefined memory address, enabling the operating system to reside on one side and the user to stay on the other. 51
  • 52. OS Level Protection Memory and Address Protection • Another implementation used a hardware register, often called a fence register, containing the address of the end of the operating system. • In contrast to a fixed fence, in this scheme the location of the fence could be changed. • Each time a user program generated an address for data modification, the address was automatically compared with the fence address. • If the address was greater than the fence address (that is, in the user area), the instruction was executed; if it was less than the fence address (that is, in the operating system area), an error condition was raised. 52
  • 53. OS Level Protection Memory and Address Protection 2. Relocation – Relocation is the process of taking a program written as if it began at address 0 and changing all addresses to reflect the actual address at which the program is located in memory. – In many instances, this effort merely entails adding a constant relocation factor to each address of the program. – That is, the relocation factor is the starting address of the memory assigned for the program. 53
  • 54. OS Level Protection Memory and Address Protection 3. Base/Bound Registers – A variable fence register is generally known as a base register. – Fence registers provide a lower bound (a starting address) but not an upper one. – The second register, called a bounds register, is an upper address limit. – A program's addresses are neatly confined to the space between the base and the bounds registers. 54
  • 55. OS Level Protection Memory and Address Protection 4. Tagged Architecture – In a tagged architecture, one or more extra bits are associated with every word of machine memory to identify the access rights to that word. – Access bit can be set only for a privileged instructions – Drawback: • Compatibility of code with tagged architecture is problem • Tagged architecture requires fundamental changes to all operating systems which can be expensive. 55
  • 56. OS Level Protection Memory and Address Protection 5. Segmentation • Segmentation, involves the simple notion of dividing a program into separate pieces. • Each piece has a logical unity. Each segment has a unique name. • A code or data item within a segment is addressed as the pair <name, offset>, where name is the name of the segment containing the data item and offset is its location within the segment 56
  • 57. OS Level Protection Memory and Address Protection 5. Segmentation Benefits: • Each address reference is checked for protection • Many different types of data item can be assigned different levels of protection • Two or more users can share access to a segments with different access rights • A user cannot generate an address or access to an unpermitted segments Drawback: • Segment names are inconvenient to encode in instructions • An operating systems lookup of the name in the table can be slow 57
  • 58. OS Level Protection Memory and Address Protection 6. Paging • The program is divided into equal-sized pieces called pages, and memory is divided into equal-sized units called page frames. • The operating system maintains a table of user page numbers and their true addresses in memory. • The page portion of every <page, offset> reference is converted to a page frame address by a table lookup; the offset portion is added to the page frame address to produce the real memory address of the object referred to as <page, offset>. 58
  • 59. OS Level Protection Memory and Address Protection 7. Combined paging with segmentation • Paging offers implementation efficiency, while segmentation offers logical protection characteristics. • Since each approach has drawbacks as well as desirable features, the two approaches have been combined. 59
  • 60. OS Level Protection Control of Access to General Objects • Access control is a way of providing security in a operating system. • Basically with this technique, OS can grant or revoke access for a certain resources like file, program, and data. • Goals in protecting object are as follows: 1. Check every access: In some situation, the users access needs to be revoked after a certain period of time or after some incident. Hence, every access by a user to an object should be checked. 2. Enforced least privilege: It states that a subject should have access to the smallest number of objects necessary to perform some task. It ensures security in case a part of the protection mechanism fails. 3. Verify acceptable usage: It is important to check that the activity to be performed on an object is appropriate. 60
  • 61. OS Level Protection Control of Access to General Objects Different ways of implementing Access Control 1. Directory • It is simple way of protection. It works like a file directory. • Every user has a file directory which list all the files to which it has access. (read, write, and execute rights) • Disadvantages: • List become too large if many shared object are accessible to all users. • Revocation of access is difficult • Allow pseudonyms leads to multiple permission that are not necessarily consistent. 61
  • 62. OS Level Protection Control of Access to General Objects Different ways of implementing Access Control 2. Access Control List • There is one access control list for each object and this displays the list of all users who have access to it and their access level. • Advantages: • It can include general default entries of any user. • There is no need for an entry for an object in the individual directory of each user. • Ease of use. 62
  • 63. OS Level Protection Control of Access to General Objects Different ways of implementing Access Control 3. Access Control Matrix • It a table in which row represents a user/subject and each column represents an object. • Each entry in the table provides a set of access rights of that user that object. • Disadvantage: • The access control matrix is sparse – most users do not have access rights to most objects. 63
  • 64. OS Level Protection Control of Access to General Objects Different ways of implementing Access Control 4. Capability • It is an unforgeable token that gives the holder certain rights to an object. • Ways to make unforgeable tokens: o The OS hold all the tickets on be half of the users o Use encryption schemes o They must be stored in memory that is inaccessible to normal users. o Storing them in segments not pointed to by the user’s segment table are using tagged architecture can help accomplish this. 64
  • 65. OS Level Protection File Protection Mechanisms • All multiuser operating systems must provide some minimal protection to keep one user from maliciously or inadvertently accessing or modifying the files of another. • The basic protection schemes are: 1. All-None Protection – It involved trust combined with ignorance. System designers supposed that users could be trusted not to read or modify others' files because the users would expect the same respect from others. However, this all-or-none protection is unacceptable for several reasons: Lack of Trust, Too coarse, Rise of sharing, Complexity and File listings. 2. Group Protection: It focused on identifying groups of users who had some common relationship. In a typical Unix+ implementation, the world is divided into three classes: the user, a trusted working group associated with the user, and the rest of the users. 65
  • 66. OS Level Protection File Protection Mechanisms 3. Individual Permissions 3.1 Persistent Permission – The typical implementation of this scheme make use of a token. Problem is difficulty in revocation. 3.2 Temporary Acquired Permission – The UNIX designers add a permission called set userid. If this protection is set for a file to be executed, the protection level is that of the file’s owner. 3.3 Per-Object and Per-User Protection – The access control list or access control matrix provide every flexible protection . Disadvantage: Problems are faced by the user who wants to allow access to many users and to many different data sets. 66
  • 67. OS Level Protection User Authentication Most of the OS’s protection is based on knowing who is the user of the system. 1. Biometric Authentication – Authentication mechanisms use any one of the thee qualities to confirm a user’s identity. – Something the user knows – Password, PIN number – Something the user has – Token, Cards – Something the user is – Biometrics are based on the physical characteristics of the user 2. Passwords as Authenticators – It is a word known to the computer and user of the system. A user chooses password / the system assigns them. The length and format of the password also vary from one system to another. 67
  • 68. OS Level Protection User Authentication The password selection criteria: • Use characters other than just A-Z • Choose long passwords • Avoid actual names or words • Choose an unlikely password • Change the password regularly • Do not tell anyone else] 68
  • 69. OS Level Protection User Authentication Different ways to store password in a database • Plaintext system password list • Encrypted password file • Salted password – Salt is a random number or data which is add with hashed password. The basic idea behind is to avoid dictionary attack. Different Types of Authentication Mechanisms • One-time password • Single sign-on • Challenge-response systems - • Using cookies for authentication 69
  • 70. Security - Firewall • A firewall is a device that filters all traffic between a protected or "inside" network and a less trustworthy or "outside" network. – Usually a firewall runs on a dedicated device because it is a single point through which traffic is channeled, performance is important • Non-firewall functions should not be done on the same machine – Firewall code usually runs on a proprietary or carefully minimized operating system • More code means more security problems 70
  • 71. Security - Firewall • The purpose of a firewall is to keep "bad" things outside a protected environment. – Firewalls implement a security policy that is specifically designed to address what bad things might happen – Determining security policies is challenging • People in the firewall community (users, developers, and security experts) disagree about how a firewall should work – The community is divided about a firewall's default behavior – Two schools of thought • "that which is not expressly forbidden is permitted" (default permit) • "that which is not expressly permitted is forbidden" (default deny). 71
  • 72. Security - Firewall Design of Firewalls • The firewall must be – always invoked • ensure that all network accesses that we want to control must pass through it – Tamperproof • A firewall is typically well isolated, making it highly immune to modification – small and simple enough for rigorous analysis • firewall designers strongly recommend keeping the functionality of the firewall simple 72
  • 73. Security - Firewall Types of Firewalls – Packet filtering gateways or screening routers – Stateful inspection firewalls – Application proxies – Guards – Personal firewalls • Each type does different things; no one is necessarily "right" and the others "wrong.“ – the important question to ask when choosing a type of firewall is what threats an installation needs to counter 73
  • 74. Security - Firewall Types of Firewalls – 1. Packet Filtering Gateway • It is also called a screening router. • The simplest, and in some situations, the most effective type of firewall. • It controls access to packets on the basis of packet address (source or destination) or specific transport protocol type (such as HTTP web traffic). • The packet filter is typically set up as a list of rules based on matches to fields in the IP or TCP Header. • If there is a match to one of the rules, that rule is invoked to determine whether to forward or discard the packet. • Packet filters do not see the contents of a packet – they block or accept packets only on the basis of IP address and port numbers. 74
  • 75. Security - Firewall Types of Firewalls – 2. Stateful inspection firewall • Filtering firewalls work on packets one at a time, accepting or rejecting each packet and moving on to the next. – They have no concept of "state" or "context" from one packet to the next. • One classic approach used by attackers is to break an attack into multiple packets – Forcing some packets to have very short lengths so that a firewall cannot detect the signature of an attack split across two or more packets. • A stateful inspection firewall maintains state information from one packet to another in the input stream. • With the TCP protocols, packets can arrive in any order – The protocol suite is responsible for reassembling the packet stream in proper order before passing it along to the application. • A stateful inspection firewall would track the sequence of packets and conditions from one packet to another to thwart such an attack. 75
  • 76. Security - Firewall Types of Firewalls – 3. Application Proxy • It simulates the (proper) effects of an application so that the application receives only requests to act properly. • An application proxy runs pseudo-applications. • As an example of application proxying, consider the FTP (file transfer) protocol. – Specific protocol commands fetch (get) files from a remote location, store (put) files onto a remote host, list files (ls) in a directory on a remote host, and position the process (cd) at a particular point in a directory tree on a remote host. – Some administrators might want to permit gets but block puts, and to list only certain files or prohibit changing out of a particular directory. – The proxy would simulate both sides of this protocol exchange. – For example, the proxy might accept get commands, reject put commands, and filter the local response to a request to list files. 76
  • 77. Security - Firewall Types of Firewalls – 4.Guard • A guard is a sophisticated firewall. • Like a proxy firewall, it receives protocol data units, interprets them, and passes through the same or different protocol data units that achieve either the same result or a modified result. • The guard decides what services to perform on the user's behalf in accordance with its available knowledge, such as previous interactions, and so forth. • Guards and proxy firewalls are similar enough that the distinction between them is sometimes fuzzy • Functionality can be added to a proxy firewall to make it act like a guard. • The degree of control a guard can provide is limited only by what is computable. • Eg: A university wants to allow its students to use e-mail up to a limit of so many messages or so many characters of e-mail in the last so many days. 77
  • 78. Security - Firewall Types of Firewalls – 5. Personal firewall • A personal firewall is an application program that runs on a workstation to block unwanted traffic. • It can complement or compensate for the lack of a regular firewall. • Commercial implementations of personal firewalls include Norton Personal Firewall from Symantec, McAfee Personal Firewall, and Zone Alarm from Zone Labs (now owned by CheckPoint). • The personal firewall is configured to enforce some policy. – Computers on the company network, are highly trustworthy, but most other sites are not. • Personal firewalls can also generate logs of accesses. 78
  • 79. Security - Firewall Example Firewall Configuration • The simplest use of a firewall – Screening router positioned between the internal LAN and the outside network connection. – If the firewall router is successfully attacked, then all traffic on the LAN to which the firewall is connected is visible. 79 Firewall with Screening Router.
  • 80. Security - Firewall Example Firewall Configuration • To reduce this exposure, a proxy firewall is often installed on its own LAN – In this way the only traffic visible on that LAN is the traffic going into and out of the firewall. 80 Firewall on Separate LAN.
  • 81. Security - Firewall Example Firewall Configuration • For even more protection, we can add a screening router to this configuration – The screening router ensures address correctness to the proxy firewall; the proxy firewall filters traffic according to its proxy rules. 81 Firewall with Proxy and Screening Router.
  • 82. Network Security • The connection between hosts and routers to facilitate exchange of information is called a network. • Networks are classified into two types depending on the mode of their operation: circuit-switched and packet-switched. • Different layers in protocol stack 82 Layer Purpose / Work Done Protocols pertaining to Security Aspect Application Layer Responsible for handling the data sent between applications between two hoists on a network HTTP, SMTP, FTP, etc,. Transport Layer Responsible for managing the end-to-end logical connection TCP and UDP Network Layer Routing data through a network Internet protocol (IP) Link Layer Transfers data over individual links on a network Ethernet, ARP Physical Layer Sends binary data over the communication media -
  • 83. Network Security TCP/IP Vulnerability • TCP/IP had sever vulnerabilities at every layer that needed to be fixed to prevent security risks. 1. Physical Layer - Possible Attacks: • Cable cuts • Wireless link jamming • Influence of EM field on copper cable • Application of high voltages to copper cables 2. Data Link Layer – Possible Attacks • Content Addressable Memory(CAM) table overflow • MAC address spoofing • DHCP attack – DHCP starvation attacks – Fake DHCP server • ARP attacks – An attacker can poison ARP cache of the victim. 83
  • 84. Network Security TCP/IP Vulnerability 3. Network Layer - Possible Attacks: • Packet sniffing – Attacker decapsulate the packet • IP spoofing – Attacker modifies the packet header with a forged (spoofed) source IP address, a checksum, and the order value. • Fragmentation attack • ICMP attack - Denial-of-service attack in which the attacker attempts to overwhelm a targeted device with ICMP echo-request packets, causing the target to become inaccessible to normal traffic. 4. Transport Layer – Possible Attacks • TCP land attack • UDP flooding attack • TCP SYN attack 84
  • 85. Network Security TCP/IP Vulnerability Denial of Service • It is an attempt to disrupt the services offered to legitimate users by rendering the computer resource as unavailable. • These attacks have the power to disable the entire network organization and cause heavy loss of data. Session Hijacking • It is process of stealing another user identity and masquerading as a legitimate user. • Cookies are generally used for authentication and the state maintenance, thereby relieving the user for being authenticated every time he/she shows up at the server. 85
  • 86. Network Security TCP/IP Vulnerability DNS Spoofing • It refers to changing the IP address entry of an organization in the DNS server to another IP address. DNS Overflow • DNS servers are accessed via their hostname. If there is no check on the length of the hostname, it may exceed the size of storage reserved for storing the domain name. This causes DNS buffer overflows. 86
  • 87. Network Security Protocols for Security 1. IPSEC (IP Security) • It works at the network layer. • This protocol has two different headers: Authentication header(AH) & Encapsualting security payload (ESP). • In AH authentication and integrity of a packet is achieved by calculating the MAC(Message Authentication Code), privacy is not achieved. • Whereas in ESP, authentication and integrity are achieved by MAC and privacy or confidentiality is achieved by encryption. 87
  • 88. Network Security Protocols for Security 2. TSL (Transport Layer Security ) / SSL (Secure Sockets Layer) • It works at a transport layer. • This protocol works in between application layer and transport layer. • The main goals of this protocol are as follows: – Server client authentication – Compression – Data confidentiality – Data integrity 88
  • 89. Intrusion Detection System (IDS) • Many studies have shown that most computer security incidents are caused by insiders – People who would not be blocked by a firewall – The vast majority of harm from insiders is not malicious • It is honest people making honest mistakes. • Then, too, there are the potential malicious outsiders who have somehow passed the screens of firewalls and access controls. • Prevention, although necessary, is not a complete computer security control; – Detection during an incident copes with harm that cannot be prevented in advance. 89
  • 90. Intrusion Detection System (IDS) • Intrusion Detection System (IDS) is a device, typically another separate computer, that monitors activity to identify malicious or suspicious events. – An IDS is a sensor, like a smoke detector, that raises an alarm if specific things occur. • A Model of an IDS: An IDS receives raw inputs from sensors. It saves those inputs, analyzes them, and takes some controlling action. 90 Common Components of an Intrusion Detection Framework.
  • 91. Intrusion Detection System (IDS) • Functions performed by IDSs ‐ Monitoring users and system activity ‐ Auditing system configuration for vulnerabilities and misconfigurations ‐ Assessing the integrity of critical system and data files ‐ Recognizing known attack patterns in system activity ‐ Identifying abnormal activity through statistical analysis ‐ Managing audit trails and highlighting user violation of policy or normal activity ‐ Correcting system configuration errors ‐ Installing and operating traps to record information about intruders • No one IDS performs all of these functions. Let us look more closely at the kinds of IDSs and their use in providing security. 91
  • 92. Intrusion Detection System (IDS) Types of IDSs (Two types - Signature Based and Heuristic Based) 1. Signature-based intrusion detection systems perform simple pattern-matching and report situations that match a pattern (signature) corresponding to a known attack type. – E.g., Series of TCP SYN packets sent to many different ports in succession and at times close to one another, as would be the case for a port scan. – Signature-based IDSs cannot detect a new attack for which a signature is not yet installed in the database. And, an attacker will try to modify a basic attack in such a way that it will not match the known signature of that attack. – Signature-based intrusion detection systems tend to use statistical analysis. • To obtain sample measurements of key indicators (such as amount of external activity, number of active processes, number of transactions) • To determine whether the collected measurements fit the predetermined attack signatures. 92
  • 93. Intrusion Detection System (IDS) Types of IDSs (Two types - Signature Based and Heuristic Based) 2. Heuristic intrusion detection systems, also known as anomaly-based, build a model of acceptable behavior and flag exceptions to that model – Instead of looking for matches, heuristic intrusion detection looks for behavior that is out of the ordinary. – The original work in this area focused on the individual, trying to find characteristics of that person that might be helpful in understanding normal and abnormal behavior. • For example, one user might always start the day by reading e-mail, write many documents using a word processor, and occasionally back up files. This user does not seem to use many administrator utilities. • If that person tried to access sensitive system management utilities, this new behavior might be a clue that someone else was acting under the user's identity. 93
  • 94. Intrusion Detection System (IDS) Types of IDSs Intrusion detection devices can be, – A network-based IDS is a stand-alone device attached to the network to monitor traffic throughout that network – A host-based IDS runs on a single workstation or client or host, to protect that one host. 94
  • 95. Intrusion Detection System (IDS) Stealth Mode IDSs • An IDS has two network interfaces: one for the network (or network segment) being monitored and the other to generate alerts and perhaps other administrative needs. 95 Stealth Mode IDS Connected to Two Networks.
  • 96. Intrusion Detection System (IDS) Goals for IDSs • Ideally, an IDS should be fast, simple, and accurate, while at the same time being complete. – It should detect all attacks with little performance penalty. • An IDS Design Approaches – Filter on packet headers – Filter on packet content – Maintain connection state – Use complex, multipacket signatures – Use minimal number of signatures with maximum effect – Filter in real time, online – Hide its presence 96
  • 97. Intrusion Detection System (IDS) Goals for IDSs - Responding to Alarms • An intrusion detection system raises an alarm when it finds a match. • What are possible responses? - The range is unlimited and can be anything the administrator can imagine • In general, responses fall into three major categories (any or all of which can be used in a single response): – Monitor, collect data, perhaps increase amount of data collected • Watch the intruder, to see what resources are being accessed or what attempted attacks are tried • Record all traffic from a given source for future analysis – Protect, act to reduce exposure • Increasing access controls and even making a resource unavailable (for example, shutting off a network connection or making a file unavailable). • May be very visible to the attacker – Call a human 97
  • 98. Intrusion Detection System (IDS) Goals for IDSs – False Results • Intrusion detection systems are not perfect, and mistakes are their biggest problem – Raising an alarm for something that is not really an attack (called a false positive, or type I error in the statistical community) • Too many false positives means the administrator will be less confident of the IDS's warnings, perhaps leading to a real alarm's being ignored. – Or not raising an alarm for a real attack (a false negative, or type II error). • Mean that real attacks are passing the IDS without action. • We say that the degree of false positives and false negatives represents the sensitivity of the system. – Most IDS implementations allow the administrator to tune the system's sensitivity, to strike an acceptable balance between false positives and negatives. 98
  • 99. Data Privacy Principles • Data privacy, also called information privacy, is the aspect of information technology (IT) that deals with the ability an organization or individual has to determine what data in a computer system can be shared with third parties. • Information privacy can be applied in numerous ways, such as encryption, authentication and data masking. • These protective measures aim towards the prevention of data mining and the unauthorized use of personal information. 99
  • 100. Data Privacy Principles Types of Privacy • Internet privacy (Online privacy): All personal data shared with web applications is subject to privacy issues. • Financial privacy: Fraud or identity theft occurs when criminals gain access of a user’s credit card numbers or personal accounts and misuse them by masquerading as the user. • Medical privacy: A person may not wish to disclose his/her medical records due to various reasons. All medical records are subject to stringent laws that address user access privileges. • Locational privacy: As location tracking capabilities of mobile devices are increasing problems related to user privacy have arisen. 100
  • 101. Data Privacy Principles OECD Principles (Organization for Economic Co-operation and Development) 1. Collection limitation principle – Limits collection of personal data 2. Data quality principle - Personal data should be used relevant to the purpose 3. Purpose specification principle – Purposes for which personal data are collected should specified not later than at the time of data collection. 4. Use limitation principle – Personal data should not be disclosed 5. Security safeguard principle – Personal data should be protected from unauthorized access, destruction, modification, etc. 6. Openness principle – Existence and nature of personal data should be readily available and the main purposes of their use. 7. Individual participation principle – An individual should have the right to obtain data from a data controller. 8. Accountability principle – A data controller should be accountable for complying with measures which give effect to the principles stated above. 101
  • 102. Data Privacy Principles Information Commissioner’s Office (ICO) Data Protection Principles – UK 1. Personal data shall be processed fairly and lawfully 2. Personal data should be obtained for one or more specified and lawful purposes 3. Personal data shall be adequate, relevant and not excessive in relation to the purpose 4. Personal data shall be accurate, and up to date 5. Personal data processed for any purpose or purposes shall not be kept for longer 6. Personal data shall be processed in accordance with the rights of data subjects under this Act. 7. Appropriate technical and organizational measures shall be taken against unauthorized or unlawful processing of personal data 8. Personal data shall not be transferred to a country or territory outside the European Economic Area 102
  • 103. Data Privacy Laws and Compliance Data Protection Law • Information privacy or data protection laws prohibit the disclosure or misuse of information held by private individuals. • Laws are based on Fair Information Practice, first developed by United States in 1970 by the Department of Health, Education and Welfare (HEW). • The basic principles of data protection are: • For all data collected, there should be a stated purpose • Information collected should not be disclosed • Records should be accurate and up to date • There should be mechanisms for individuals to review data about them, to ensure accuracy 103
  • 104. Data Privacy Laws and Compliance Data Protection Law • The basic principles of data protection are: • Data should be deleted when it is no longer needed for the stated purpose • Transmission of personal data to locations where “equivalent” personal data protection cannot be assured is prohibited. • Some data is too sensitive to be collected, unless there are extreme circumstances 104
  • 105. Data Privacy Laws and Compliance Data Protection Law • There are different Acts passed by different governing bodies for achieving privacy in different applications. Some of them are listed as follows: – Personal Information Protection and Electronic Document Act (PIPEDA) – Data Protection Act (1998) – Privacy Act of 1974 – Privacy Laws of United States – The Electronic Communications Privacy Act (ECPA) – The California Online Privacy Protection Act of 2003 (OPPA) – Indian Privacy Laws 105
  • 106. Data Privacy Laws and Compliance Compliance • Compliance is a snapshot of how your security program meets a specific set of security requirements at a given moment in time. • Breaches of data protection law can lead to the imposition of sanctions, including fines or, in series cases, even imprisonment. • Data protection compliance is not only about risk minimization; it can also increase employee or customer confidence and trust and can be used as an additional marketing and sales tool, enhancing the brand image. 106
  • 107. Data Privacy Laws and Compliance Compliance • Some prominent regulations, standards and legislation with which organizations may need to be in compliance include: – Sarbanes-Oxley Act (SOX) of 2002 – CAN-SPAM Act of 2003 – Health Insurance Portability and Accountability Act of 1996 (HIPAA) – Dodd-Frank Act – Payment Card Industry Data Security Standard (PCI DSS) – Federal Information Security Management Act (FISMA) 107