OS m5 Os Protection
OS m5 Os Protection
Chapter 2: OS Protection
Goals of Protection
• To ensure that each shared resource is used only
in accordance with system policies, which may be
set either by system designers or by system
administrators.
• To ensure that errant programs cause the
minimal amount of damage possible.
• Note that protection systems only provide
the mechanisms for enforcing policies and
ensuring reliable systems. It is up to
administrators and users to implement those
mechanisms effectively.
Principles of Protection
• Operating system provides system calls
and services that allow applications to be
written with fine-grained access controls.
• It provides mechanisms to enable
privileges when they are needed and to
disable them when they are not needed.
• Also beneficial is the creation of audit
trails for all privileged function access.
The audit trail allows the programmer,
systems administrator, or law-
enforcement officer to trace all protection
and security activities on the system
Principles of Protection
• Managing users with the principle of least
privilege entails creating a separate account
for each user, with just the privileges that the
user needs.
• An operator who needs to mount tapes and
backup files on the system has access to just
those commands and files needed to
accomplish the job.
• Some systems implement role-based access
control (RBAC) to provide this functionality.
• Computers implemented in a computing
facility under the principle of least privilege
can be limited to running specific services,
accessing specific remote hosts via specific
services, and doing so during specific times.
The Security Problem
• One of the most common types of violations include:
– Breach of Confidentiality - Theft of private or confidential
information, such as credit-card numbers, trade secrets, patents,
secret formulas, manufacturing procedures, medical information,
financial information, etc.
– Breach of Integrity - Unauthorized modification of data, which
may have serious indirect consequences. For example a popular
game or other program's source code could be modified to open
up security holes on users systems before being released to the
public.
– Breach of Availability - Unauthorized destruction of data, often
just for the "fun" of causing havoc and for bragging rites.
Vandalism of web sites is a common form of this violation.
– Theft of Service - Unauthorized use of resources, such as theft of
CPU cycles, installation of daemons running an unauthorized file
server, or tapping into the target's telephone or networking
services.
– Denial of Service, DOS - Preventing legitimate users from using
the system, often by overloading and overwhelming the system
with an excess of requests for service.
The Security Problem
1.Physical -
The easiest way to steal data is to pocket the backup tapes.
Also, access to the root console will often give the user special
privileges, such as rebooting the system as root from removable
media.
Even general access to terminals in a computer room offers some
opportunities for an attacker, although today's modern high-
speed networking environment provides more and more
opportunities for remote attacks.
Protection of System
2.Human - More and more attacks today are made via social
engineering, which basically means fooling trustworthy people
into accidentally breaching security.
– Phishing involves sending an innocent-looking e-mail or
web site designed to fool people into revealing confidential
information. E.g. spam e-mails pretending to be from e-Bay,
PayPal, or any of a number of banks or credit-card
companies.
– Dumpster Diving involves searching the trash or other
locations for passwords that are written down.
– Password Cracking involves divining users passwords,
either by watching them type in their passwords, knowing
something about them like their pet's names, or simply
trying all words in common dictionaries.
Protection of System
3.Operating System - The OS must protect itself
from security breaches, such as runaway
processes ( denial of service ), memory-access
violations, stack overflow violations, the
launching of programs with excessive privileges,
and many others.
4.Network - As network communications become
ever more important and pervasive in modern
computing environments, it becomes ever more
important to protect this area of the system
This is a growing area of concern as wireless
communications and portable devices become
more and more prevalent.
Program Threats
1. Trojan Horse
2. Trap Door
3. Logic Bomb
4. Stack and Buffer Overflow
5. Viruses
Program Threats
1.Trojan Horse:
• A program that secretly performs some maliciousness
in addition to its visible actions.
• One dangerous opening for Trojan horses is long
search paths, and in particular paths which include the
current directory ( "." ) as part of the path.
• Another classic Trojan Horse is a login emulator,
which records a users account name and password,
issues a "password incorrect" message, and then logs off
the system.
• The user then tries again ( with a proper login prompt ),
logs in successfully, and doesn't realize that their
information has been stolen.
• Spyware is a version of a Trojan Horse that is often
included in "free" software downloaded off the Internet.
• Spyware programs generate pop-up browser windows,
and may also accumulate information about the user
and deliver it to some central site.
Program Threats
2. Trap Door is when a designer or a
programmer ( or hacker ) deliberately inserts
a security hole that they can use later to access
the system.
• Because of the possibility of trap doors, once
a system has been in an untrustworthy state,
that system can never be trusted again. Even
the backup tapes may contain a copy of
some cleverly hidden back door.
• A clever trap door could be inserted into a
compiler, so that any programs compiled
with that compiler would contain a security
hole. This is especially dangerous, because
Program Threats
•
System and Network Threats
• The three vulnerabilities exploited by the Morris Internet worm
were as follows:
1.rsh ( remote shell ) is a utility that was in common use at early time
for accessing remote systems without having to provide a password.
If a user had an account on two different computers ( with the same
account name on both systems ), then the system could be configured to
allow that user to remotely connect from one system to the other without
having to provide a password.
Many systems were configured so that any user ( except root ) on system
A could access the same account on system B without providing a
password.