Friday, June 7, 2024

Operating system security


  • Installing updated antivirus engines and software

  • Scrutinizing all incoming and outgoing network traffic through a firewall

  • Creating secure accounts with required privileges only (i.e., user management)

 We're going to discuss following topics in this chapter.

  • Authentication

  • One Time passwords

  • Program Threats

  • System Threats

  • Computer Security Classifications

Authentication

Authentication refers to identifying each user of the system and associating the executing programs with those users. It is the responsibility of the Operating System to create a protection system which ensures that a user who is running a particular program is authentic. Operating Systems generally identifies/authenticates users using following three ways −

  • Username / Password − User need to enter a registered username and password with Operating system to login into the system.

  • User card/key − User need to punch card in card slot, or enter key generated by key generator in option provided by operating system to login into the system.

  • User attribute - fingerprint/ eye retina pattern/ signature − User need to pass his/her attribute via designated input device used by operating system to login into the system.

One Time passwords

One-time passwords provide additional security along with normal authentication. In One-Time Password system, a unique password is required every time user tries to login into the system. Once a one-time password is used, then it cannot be used again. One-time password are implemented in various ways.

  • Random numbers − Users are provided cards having numbers printed along with corresponding alphabets. System asks for numbers corresponding to few alphabets randomly chosen.

  • Secret key − User are provided a hardware device which can create a secret id mapped with user id. System asks for such secret id which is to be generated every time prior to login.

  • Network password − Some commercial applications send one-time passwords to user on registered mobile/ email which is required to be entered prior to login.

Program Threats

Operating system's processes and kernel do the designated task as instructed. If a user program made these process do malicious tasks, then it is known as Program Threats. One of the common example of program threat is a program installed in a computer which can store and send user credentials via network to some hacker. Following is the list of some well-known program threats.

  • Trojan Horse − Such program traps user login credentials and stores them to send to malicious user who can later on login to computer and can access system resources.

  • Trap Door − If a program which is designed to work as required, have a security hole in its code and perform illegal action without knowledge of user then it is called to have a trap door.

  • Logic Bomb − Logic bomb is a situation when a program misbehaves only when certain conditions met otherwise it works as a genuine program. It is harder to detect.

  • Virus − Virus as name suggest can replicate themselves on computer system. They are highly dangerous and can modify/delete user files, crash systems. A virus is generatlly a small code embedded in a program. As user accesses the program, the virus starts getting embedded in other files/ programs and can make system unusable for user

System Threats

System threats refers to misuse of system services and network connections to put user in trouble. System threats can be used to launch program threats on a complete network called as program attack. System threats creates such an environment that operating system resources/ user files are misused. Following is the list of some well-known system threats.

  • Worm − Worm is a process which can choked down a system performance by using system resources to extreme levels. A Worm process generates its multiple copies where each copy uses system resources, prevents all other processes to get required resources. Worms processes can even shut down an entire network.

  • Port Scanning − Port scanning is a mechanism or means by which a hacker can detects system vulnerabilities to make an attack on the system.

  • Denial of Service − Denial of service attacks normally prevents user to make legitimate use of the system. For example, a user may not be able to use internet if denial of service attacks browser's content settings.

Computer Security Classifications

As per the U.S. Department of Defense Trusted Computer System's Evaluation Criteria there are four security classifications in computer systems: A, B, C, and D. This is widely used specifications to determine and model the security of systems and of security solutions. Following is the brief description of each classification.

S.N.Classification Type & Description
1

Type A

Highest Level. Uses formal design specifications and verification techniques. Grants a high degree of assurance of process security.

2

Type B

Provides mandatory protection system. Have all the properties of a class C2 system. Attaches a sensitivity label to each object. It is of three types.

  • B1 − Maintains the security label of each object in the system. Label is used for making decisions to access control.

  • B2 − Extends the sensitivity labels to each system resource, such as storage objects, supports covert channels and auditing of events.

  • B3 − Allows creating lists or user groups for access-control to grant access or revoke access to a given named object.

3

Type C

Provides protection and user accountability using audit capabilities. It is of two types.

  • C1 − Incorporates controls so that users can protect their private information and keep other users from accidentally reading / deleting their data. UNIX versions are mostly Cl class.

  • C2 − Adds an individual-level access control to the capabilities of a Cl level system.

4

Type D

Lowest level. Minimum protection. MS-DOS, Window 3.1 fall in this category.

Thursday, June 6, 2024

Operating System Properties



The Properties of Operating System are:

  1. Batch processing
  2. Multitasking
  3. Multi-programming
  4. Interactivity
  5. Real-Time System
  6. Distributed Environment
  7. spooling

1. Batch Processing

In Batch Processing, the OS first gathers the data and programs together in a batch, then processing starts.

The operating system performs various types of activities related to batch processing:

  • In this, the operating system defines the set of jobs that are re-assigned to a command sequence, data, and programs within a single unit.
  • The operating system keeps the list of jobs in the memory then executes it one by one according to the scheduling algorithm.
  • In this, the job is processed based on FCFS Scheduling means first-come, first-serve.

Advantage of Batch Processing

The performance is increased because a new job is started early when the old job gets completed without any manual interference.

Disadvantages of Batch Processing

  • Sometimes jobs are entered in an infinite loop.
  • Debugging the program is tough.

2. Multitasking

Multitasking is a technique in which the CPU executes a number of jobs within the same time by switching among the jobs. The task of switching the job is so frequent that the user will be able to communicate with each program when the program is running.

The operating system performs the following activities in the context of multitasking.

  • In this, the user directly instructs the OS or the program, and then obtain a fast response.

  • The Operating system manages multitasking in such a way so that multiple operations can be handled at the same time.
  • It is also known as a time-sharing system.

  • Multitasking operating systems are developed so that we can use the computer system interactively at a less price.

3. Multi-programming

Multi-programming is defined as sharing of the processor when two or more programs exist in the memory at a time. With the help of multi-programming, the CPU utilization efficiency can be increased. In other words, Multi-programming is defined as the capability of an Operating system to run more than one program on a single processor. Example of Multi-programming: A computer can run excel and firebox browser simultaneously.

Advantages of Multi-programming

  • Efficient CPU utilization.

  • The users assume that CPU is simultaneously working on multiple programs.

Disadvantages of Multi-programming

  • It needs CPU scheduling.

  • Memory management is needed to accommodate different jobs in memory.

4. Interactivity

Interactivity means the user’s ability to interact with a computer system.

The operating system performs various activities related to interactivity.

  • Handling input devices in order to take the input from the user. Example: – keyboard.

  • It also helps to handle output devices to display output to the user. Example: – Monitor.

  • It provides an interface to the user, so that the user can interact with the system.

5. Real-Time System

We can understand the Real-time system as the dedicated embedded systems,

An operating system performs various tasks related to a real-time system.

  • In a real-time system, the operating system reads and reacts with the help of sensor data.

  • The Operating system provides the assurance that the event is completed within a fixed interval of time to provide accurate performance.

6. Distributed Environment

A Distributed environment defines a set of multiple independent processors or CPUs in a single computer system.

The Operating system performs various activities, such as:

  • The Operating system handles the communications between processors, and communication is done with the help of communication lines.

  • Operating system share computation logic’s among different physical processors.

  • The processors will not share the memory; rather, each processor has its own local memory.

7. Spooling

Spooling stands for Simultaneous peripheral operation online. Spooling is a process in which jobs are put into a buffer, disk, or a particular area in the memory so that a device can access these jobs when it is ready.

Spooling is effective because, with the help of spooling devices can access the data with different rates. Buffer offers a waiting station so that data can respite at the time when the slower device catches up. The application of spooling is Print Spooling.

The operating system performs various tasks related to spooling:

  • It manages the I/O device data spooling when devices have multiple data access rates.

  • Handles parallel computation because the process of spooling is done I/O in a parallel way.

  • Handles the spooling buffer that provides the waiting station for the data to take rest in that time when the slower device catches up.

Advantages of Spooling

  • Spooling can overlap the I/O operation for one process with processor operations for another process.

  • It uses disk as a huge buffer for the spooling operations.

 

AntiVirus

Antivirus software is designed to find known viruses and oftentimes other malware such as Ransomware, Trojan Horses, worms, spyw...