The document discusses various types of malicious code and program security issues. It describes viruses, trojan horses, worms, and other types of malicious code. It also discusses common program vulnerabilities like buffer overflows, incomplete input validation, and race conditions. The document provides examples of each and methods to prevent vulnerabilities and defend against malicious code threats.
This PPT is prepared for students and other professionals regarding Management Information System (MIS) subject as lecture notes.This PPT aims to help students to recognize, specify and communicate effectively to data processing personnel to about information system. It also helps students to interpret new developments in information technology and fit into an overall framework. .OTHER TOPICS ARE DISCUSSED IN THE CONSECUTIVE PPTS
What is Software or System ?
How to develop a good Software or System ?
What attributes of designing a good Software or System ?
Which methodology should be to design a good Software or System ?
What is SDLC ?
How many phases available in SDLC ?
Management Information System (mis)- unit-3Manoj Kumar
This PPT is prepared for students and other professionals regarding Management Information System (MIS) subject as lecture notes.This PPT aims to help students to recognize, specify and communicate effectively to data processing personnel to about information system. It also helps students to interpret new developments in information technology and fit into an overall framework. OTHER TOPICS ARE DISCUSSED IN THE CONSECUTIVE PPTs
This PPT is prepared for students and other professionals regarding Management Information System (MIS) subject as lecture notes.This PPT aims to help students to recognize, specify and communicate effectively to data processing personnel to about information system. It also helps students to interpret new developments in information technology and fit into an overall framework. .OTHER TOPICS ARE DISCUSSED IN THE CONSECUTIVE PPTS
What is Software or System ?
How to develop a good Software or System ?
What attributes of designing a good Software or System ?
Which methodology should be to design a good Software or System ?
What is SDLC ?
How many phases available in SDLC ?
Management Information System (mis)- unit-3Manoj Kumar
This PPT is prepared for students and other professionals regarding Management Information System (MIS) subject as lecture notes.This PPT aims to help students to recognize, specify and communicate effectively to data processing personnel to about information system. It also helps students to interpret new developments in information technology and fit into an overall framework. OTHER TOPICS ARE DISCUSSED IN THE CONSECUTIVE PPTs
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File SystemRadita Apriana
The preventive control is one of the well advance controls for recent security for protection of data
and services from the uncertainty. Because, increasing the importance of business, communication
technologies and growing the external risk is a very common phenomenon now-a-days. The system
security risks put forward to the management focus on IT infrastructure (OS). The top management has to
decide whether to accept expected losses or to invest into technical security mechanisms in order to
minimize the frequency of attacks, thefts as well as uncertainty. This work contributes to the development
of an optimization model that aims to determine the optimal cost to be invested into security mechanisms
deciding on the measure component of UFS attribute. Our model should be design in such way, the Read,
Write & Execute automatically Protected, Detected and Corrected on RTOS. We have to optimize the
system attacks and down time by implementing RWX ACM mechanism based on semi-group structure,
mean while improving the throughput of the Business, Resources & Technology.
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...ijeei-iaes
The value engineering is the umbrella of the many more sub-system like quality assurance, quality control, quality function design and development for manufacturability. The system engineering & value engineering is two part of the coin. The value engineering is the high level of technology management for every aspect of engineering fields. The value engineering is the high utilization of System Product (i.e. Processor, Memory & Encryption key), Services, Business and Resources at minimal cost. The high end operating system providing highest services at optimal cost & time. The value engineering provides the maximum performance, accountability, reliability, integrity and availability of processor, memory, encryption key and other inter dependency sub-components. The value engineering is the ratio of the maximum functionality of individual components to the optimal cost. VE=k [(P, M, E, C, A)]/optimal cost. Where k is the proportionality constant. The VE is directly proportional to performance of individual components and inversely proportional to the minimal cost. The VE is directly proportional to the risk assessment. The VE maximize the business throughput & decision process mean while minimize the risk and down time. We have to develop the dynamic value engineering model & mechanism for risk optimization over a complex real time operating system This proposed composition model definite will be resolve our objective at top high level. Product
"The Unified Modeling Language (UML) is a graphical language for visualizing,specifying, constructing, and documenting the artifacts of a software-intensive system.
The UML offers a standard way to write a system's blueprints, including conceptual things such as business process es and system functions as well as concrete things such as programming language statements, database schemas, and reusable software
components."
Dynamic RWX ACM Model Optimizing the Risk on Real Time Unix File SystemRadita Apriana
The preventive control is one of the well advance controls for recent security for protection of data
and services from the uncertainty. Because, increasing the importance of business, communication
technologies and growing the external risk is a very common phenomenon now-a-days. The system
security risks put forward to the management focus on IT infrastructure (OS). The top management has to
decide whether to accept expected losses or to invest into technical security mechanisms in order to
minimize the frequency of attacks, thefts as well as uncertainty. This work contributes to the development
of an optimization model that aims to determine the optimal cost to be invested into security mechanisms
deciding on the measure component of UFS attribute. Our model should be design in such way, the Read,
Write & Execute automatically Protected, Detected and Corrected on RTOS. We have to optimize the
system attacks and down time by implementing RWX ACM mechanism based on semi-group structure,
mean while improving the throughput of the Business, Resources & Technology.
Dynamic Value Engineering Method Optimizing the Risk on Real Time Operating S...ijeei-iaes
The value engineering is the umbrella of the many more sub-system like quality assurance, quality control, quality function design and development for manufacturability. The system engineering & value engineering is two part of the coin. The value engineering is the high level of technology management for every aspect of engineering fields. The value engineering is the high utilization of System Product (i.e. Processor, Memory & Encryption key), Services, Business and Resources at minimal cost. The high end operating system providing highest services at optimal cost & time. The value engineering provides the maximum performance, accountability, reliability, integrity and availability of processor, memory, encryption key and other inter dependency sub-components. The value engineering is the ratio of the maximum functionality of individual components to the optimal cost. VE=k [(P, M, E, C, A)]/optimal cost. Where k is the proportionality constant. The VE is directly proportional to performance of individual components and inversely proportional to the minimal cost. The VE is directly proportional to the risk assessment. The VE maximize the business throughput & decision process mean while minimize the risk and down time. We have to develop the dynamic value engineering model & mechanism for risk optimization over a complex real time operating system This proposed composition model definite will be resolve our objective at top high level. Product
"The Unified Modeling Language (UML) is a graphical language for visualizing,specifying, constructing, and documenting the artifacts of a software-intensive system.
The UML offers a standard way to write a system's blueprints, including conceptual things such as business process es and system functions as well as concrete things such as programming language statements, database schemas, and reusable software
components."
Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment. Software Reliability is also an important factor affecting system reliability. ... The high complexity of software is the major contributing factor of Software Reliability problems.
Derek Milroy, IS Security Architect at U.S. Cellular Corporation, defined “vulnerability management” and how it affects today’s organizations during his presentation at the 2014 Chief Information Security Officer (CISO) Leadership Forum in Chicago on Nov. 19. In his presentation, “Enterprise Vulnerability Management/Security Incident Response,” Milroy noted vulnerability management has different meanings to different organizations, but an organization that utilizes vulnerability management processes can effectively safeguard its data.
According to Milroy, an organization should develop its own vulnerability management baselines to monitor its security levels. By doing so, Milroy said an organization can launch and control vulnerability management systems successfully. In addition, Milroy pointed out that vulnerability management problems occasionally will arise, but a well-prepared organization will be equipped to handle such issues: “Problems are going to happen … You have to work with your people. This can translate to any tool that you’re putting in place. Make sure your people have plans for what happens when it goes wrong, because it’s going to [happen] every single time.”
Milroy also noted that having actionable vulnerability management data is important for organizations of all sizes. If an organization evaluates its vulnerability management processes regularly, Milroy said, it can collect data and use this information to improve its security: “The simplest rule of thumb for vulnerability management, click the report, hand the report to someone. Don’t ever do that. There is no such thing as a report from a tool that you can just click and hand to someone until you first tune it and pare it down.”
- See more at: http://www.argylejournal.com/chief-information-security-officer/enterprise-vulnerability-managementsecurity-incident-response-derek-milroy-is-security-architect-u-s-cellular-corporation/#sthash.Buh6CzLS.dpuf
Software Testing and Quality Assurance Assignment 2Gurpreet singh
Short questions :
Q1: What is stress testing?
Q2: What is Cyclomatic complexity?
Q3: Define Object Oriented Testing
Q4: What is regression testing? When it is done?
Q5: How loop testing is different from the path testing?
Q6: What is client server environment?
Q7: What is graph based testing?
Q8: How security testing is useful in real applications?
Q9: What are main characteristics of real time system?
Q10: What are the benefits of data flow testing?
Long Questions:
Q1: Design test case for: ERP, Traffic controller and university management system?
Q2: Assuming a real time system of your choice, discuss the concepts. Analysis and design factors of same, elaborate
Q3: How testing in multiplatform environment is performed?
Q4: Explain graph based testing in detail
Q5: Differentiate between Equivalence partitioning and boundary value analysis
IT2255 Web Essentials - Unit II Web Designingpkaviya
HTML - Form Elements - Input types and Media elements - HTML 5 - CSS3 - Selectors, Box Model, Backgrounds and Borders, Text Effects, Animations, Multiple Column Layout, User Interface.
IT2255 Web Essentials - Unit I Website Basicspkaviya
Internet Overview – Fundamental computer network concepts – Web Protocols – URL – Domain Name – Web Browsers and Web Servers – Working principle of a Website – Creating a Website – Client-side and server-side scripting.
BT2252 - ETBT - UNIT 3 - Enzyme Immobilization.pdfpkaviya
Enzymes are catalysts that perform all vital biological reactions within an organism’s body. Their distinguishing characteristic is that they endure the reaction unchanged.
Therefore, they can be utilised repeatedly. However, soluble enzymes are limited by their separation from the product and substrate.
The majority of Enzymes in a living organism are either connected to the cell membrane or encapsulated within the cells.
This result led to the hypothesis that pure separated enzymes may work better when immobilised on a solid substrate.
The phrase immobilised enzyme refers to “catalytically active enzymes that are physically limited or localised in a specific region of space and can be used again and continuously.”
The benefit of immobilisation is that it promotes work-up product isolation. Listed below are some potential advantages and disadvantages of immobility.
Soluble Enzyme + Substrate———– Product (single time usage of enzyme)
Immobilized Enzyme + Substrate———Product (Repeated usage of enzyme)
A number of essential considerations must be made when immobilising an enzyme.
The enzyme’s biological activity should be maintained.
The enzyme ought to be more stable than its soluble equivalent.
The price of immobilisation shouldn’t be excessively high.
The relationship between humans and enzymes has evolved over time. Even during historical times, where there was no concept of enzymes, ancient Egypt people produced beer and wine by enzymatic fermentation. After several thousand years, enzymatic studies have significantly progressed. Enzymes are proteins that accelerate many biochemical and chemical reactions. They are natural catalysts and are ubiquitous, in plants, animals, and microorganisms, where they catalyze processes that are vital to living organisms. The growing knowledge and technique improvement about protein extraction and purification lead to the production of many enzymes at an analytical grade purity for research and biotechnological applications. Enzymes are intimately involved in a wide variety of traditional food processes, such as cheese making, beer brewing, and wine industry. Recent advances in biotechnology, particularly in protein engineering, have provided the basis for the efficient development of enzymes with improved properties. This has led to establishment of novel, tailor-made enzymes for completely new applications, where enzymes were not previously used. The technology of immobilized enzymes is still going through a phase of evolution and maturation. Evolution is reflected in the ever-broadening range of applications of immobilized enzymes. Maturation is mirrored in the development of the theory of how immobilized enzymes function and how the technique of immobilization is related to their primary structure through the formation and configuration of their three dimensional structure. There still remains much room for the development of useful processes and materials based on this hard-won understanding.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
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