Operating System Security
Introduction
Security is a mechanism that limits how users, processes, or other programmes can access the resources that a computer system has designated. Security is a tool for multiprogramming operating systems that enables multiple users to safely share a single logical namespace, such as a directory or set of files.
What is Operating System Security?
The process that guarantees that the OS is accessible, confidential, and secure is called operating system security. OS security concerns the methods or measures used to protect the operating system against threats, including malware, viruses, Trojan horses, and breaches by remote hackers. Operating system security refers to preventative controls that guard any system assets that might be taken, changed, or lost if OS security is compromised. A computer system's resources, such as its software, CPU, memory, discs, and other components, must be kept secure. In addition to viruses and unauthorized access, it can defend against all threats. Assuring the operating system's availability, confidentiality, and integrity will help enforce it. Computers and the data they hold may sustain severe damage if an unauthorized person starts an application.
Two violations have the potential to put a system's security at risk:
Threat: A programme that poses a threat to the system can seriously harm it.
Attack: The attempt to break safety measures and use a resource without authorization
Malicious and accidental threats are security infractions that might damage the system. Malicious threats are, as their name implies, malicious computer code or web scripts intended to make systems more susceptible to security holes and back doors. On the other hand, accidental threats are more easily avoided.
The following are some of the breaches that could compromise security: They are
1. Breach of confidentiality: It occurs when data is read without authorization.
2. Breach of Integrity: Here, the data has been altered without authorization.
3. Breach of availability: It involves unauthorized destruction of data.
4. Theft of service: This refers to the unauthorized usage of resources.
5. Denial of service: This is the act of blocking authorized users from using the system. As was previously indicated, such attacks may be unintentional.
Security employed by Operating System
OS Security measures are used to stop people from misusing computer system resources or tampering in any way with them. These controls guarantee that data and programmes are not altered or withheld from unauthorized users but rather that they are only utilized by authorized users and only in the intended manner. In contrast to protection measures, which address internal dangers, security measures address threats to resources that originate outside of a computer system. The main tool for security is a password.
Password protection prevents unauthorized users from impersonating authorized system users. Cryptography protects the secrecy of passwords. When using a computer, users must collaborate and share data and programmes saved in files. This is where an operating system's security features come in.
The owner of a file advises the operating system of the exact access privileges that other users are to have, determining whether and how people may access the file. The protection feature of the operating system then makes sure that all accesses to the file strictly adhere to the defined access privileges. We start out by talking about the many methods used to compromise security, including Trojan horses, buffer overflows, and Worms. An analysis of encryption methods follows their description. We next go through three common protection structures, including capability lists, access control lists, and protection domains, and we look at how much control each one provides over file sharing.
Buffer Overflow Technique
To compromise the security of the host computer system, the buffer overflow technique can be used to get a server programme to run malicious code given by the attacker. It has been employed in mail servers and Web servers with disastrous results.
Simple is the key concept behind this method: Many programmes fail to verify the length of inputs they get from users or another program, leaving most systems vulnerable.
Due to this flaw, a buffer area that receives such input may overflow and corrupt the contents of nearby memory portions. Such overflows present the possibility of executing a piece of code disguised as data put in the buffer on hardware platforms that utilize stacks that expand downward in memory, such as the Intel 8086 architecture. Several security attacks could be launched using this code.
How may a buffer overflow trigger a security breach?
1. To reach lower addresses in memory, the stack grows downward. Before the function executing calls the function sample, it appears on the left.
2. The calling function's code pushes a return address and two sample parameters onto the stack. These occupy a total of four bytes each.
3. The sample code assigns the stack to other variables and the variable beta. Now, the stack appears as it does on the right. Notice that the beta's start address is at the lowest possible location in the RAM allocated to it. The final byte of the parameters is next to the beta's end address.
4. The function sample copies the 412 bytes in the variable beta. Code that would violate security is present in the first 408 bytes of the file. This code's start address is located in bytes 409–412. The stack's return address is replaced by these four bytes.
5. The return statement in the function sample is carried out. The stack entry's address, which is predicted to be the return address, receives control before moving on. In essence, the code stored in the variable beta is executed. It runs under the invoking function's privileges.
1. Authorization: This is the process of confirming that a user has access to a system's resources. Passwords can be used by intruders who guess or steal them. An intruder might employ a password provided by the vendor, which the system administrator is supposed to use. Trial and error could be used to find the password. A hacker may use the terminal if a user logs on and leaves for a break. In order to deceive users, an attacker can create a fake login programme that also gathers data for later use.
2. Authentication: Verifying a user's identity is referred to as authentication. Operating systems most frequently carry out knowledge-based authentication. In other words, a person pretending to be user X is asked to provide information that is only known to them and their OS, such as a password.
3. Browsing: Because files are highly open-ended, browsing system files is simple. Because of this, it may access databases and read confidential data.
4. Trap doors: Software developers occasionally desire to change their programmes after installation. Programmers preserve several hidden access points for that purpose, and they can use them without asking for permission. They're known as trap doors. Intruders can use these trap doors.
5. Invalid parameters: Security breaches may occur due to using invalid parameters.
6. Line tapping: Secret information can be accessed or changed via taping in communication lines.
7. Electronic data capture: This method of gathering information involves using wiretaps or other devices to pick up screen radiation and identify what is shown on a screen.
8. Lost Line: The networking line frequently gets confused. As a result, some operating systems log out and only permit access after verifying the user's identity. Some operating systems can't do this. As a result, the procedure will be unsecured and open to intrusion.
9. Improper Access Controls: Several administrators could fail to protect all rights. Therefore, some users have more access than others, and vice versa.
10. Waste Recovery: The block's information will remain unchanged if it is erased. Until a different file is assigned to it, the intruder may use some technique to scan these blocks.
11. Rogue software: Some programmes are written to cause trouble.
Goals of Security System
System security has various goals. Here are few of them:
- Integrity: No unauthorized users should have access to system objects, and users with inadequate privileges shouldn't be able to modify important system resources or files.
- Secrecy: A limited number of authorized users must be able to access the system's objects. The system files shouldn't be accessible to everyone.
- Availability: All of the system's resources must be available to all authorized users; hence, no single user or process should be able to use the system's resources completely. A denial of service might arise in this kind of situation. In this kind of circumstance, malware may take over the resources and prohibit normal processes from using the system resources.
Types of Threats
There are two different kinds of threats. The following are:
1. Program threats
Processes and the kernel of the operating system do the requested task as directed. Programme threats occur when a user programme instructs these processes to perform destructive actions. The most typical example of a programme threat is the possibility that, after being installed on a computer, a programme could store and transmit user credentials to a hacker. There are several types of programme threats. These are only a few of them:
Types of program threats:
1. Virus: A well-known and infamous threat. It is a malicious thread that quickly replicates itself after attaching to a system file, modifies and destroys crucial files, and ultimately causes the system to crash.
2. Trojan Horse: A Trojan Horse is a code that misuses its environment. They appear to be tempting and harmless cover programmes, but they are dangerous concealed programmes that can operate as virus carriers. In one of the Trojan versions, the user is tricked into entering private login information on an application. A login emulator steals those details, which can be used for data breaches. One of the most significant risks or effects of a Trojan horse is that, after being installed or running on the computer's system, it will cause significant harm, despite initially appearing to be intentionally unwanted software that is subsequently revealed to be helpful.
Spyware is another variation; it comes with a programme that the user has chosen to install and downloads ads to show on the user's system, resulting in pop-up browser windows. When the user visits specific websites, spyware collects crucial information and transmits it to the remote server. Converting Channels is another name for these types of attacks.
3. Trap doors: The Trap Door operates on similar principles as when a system's or programme's designer leaves a vulnerability in the code that only he can exploit. Every system component's source code must be examined to analyze trap doors, making them very challenging to find. To put it another way, if we had to define a trap door, it would be something like this: a trap door is a hidden entry point into a static or running programme that allows anyone to access any system without going through routine security access procedures.
4. Logic Bomb: A programme that launches a security assault only in a specific situation. A logic bomb is the most malicious program purposely inserted into the computer system, and it is activated or operates when particular circumstances have been met for it to function.
5. Worm: Computer worms are a particular kind of malware that infects other computers and continues to operate on the affected systems. To infect computers that aren't already infected, a computer worm replicates. The majority of the time, it does this by utilizing automatic, user-unnoticed operating system features. Worms are usually ignored until their unregulated replication exhausts the system's resources, slowing or halting other activities.
2. System threats
System threats are defined as the misuse of network connections and system services to create issues for users. Programme assaults, sometimes referred to as these threats can be used to start the programme assaults across the entire network. Threats to the system create an environment where user files and OS resources may be misused. System risks come in many forms. Here are a some examples:
Types of system threats:
Aside from programme risks, a number of system threats also put our system's security in danger.
1. Worm: An infection programme that uses networks to spread. They primarily target LANs, unlike viruses. A worm-infected computer hits the target machine and installs a short programme called a "hook" on it. The worm is additionally copied to the intended computer via this hook. Recursively repeating this technique eventually has an impact on all LAN systems. It replicates itself utilizing the spawn mechanism. The worm creates copies of itself, consuming most system resources and blocking all other processes at the same time.
2. Port scanning: This is an approach the cracker uses to find weak points in the system to exploit. An automated process establishes a TCP/IP connection to a particular port. Attacks using port scanning are launched through zombie systems or formerly independent systems that still support their owners while being exploited for notorious reasons to conceal the attacker's identity.
3. Denial of Service: These attacks don't intend to gather data or erase system files. Instead, they are employed to obstruct a system's or facility's proper operation.
Most of these assaults are network-based. There are two types of them:
•As a result of the first category of attacks' excessive resource consumption, no practical work can be done.
Obtaining a file from a website and then having the website occupy all of the CPU time.
•The second category of attack targets the facility's network, causing disruption. Misusing a few basic TCP/IP fundamentals led to these attacks.
How to Ensure Operating System Security
1. Authentication Measures
Matching a recognized user with the applications or data they are permitted access is the goal of authentication measures. Controls are available in every operating system and can be used to confirm that users are legitimately allowed to run a particular programme.
Here are various methods for operating system-level user authentication:
- Security keys: These are types of keys produced by a key generator, usually in the form of a physical dongle. The user must insert their key into the slot on the device to log in.
- Usernames and Passwords: The user must provide a username and password that have been registered with the OS.
- Biometric signatures: A bodily characteristic, such as a fingerprint or retina, is scanned by the user to verify their identity.
2. One-time Passwords
Every time a user connects to a system, a new password is generated. This password is known as a one-time password. These passwords must be entered immediately as they appear and cannot be stored.
One-time password examples are provided below:
- Network passwords: A programme delivers users' one-time passwords via their registered mobile phone number or email address. To access the computer, the user has to enter a password.
- Random numbers: The user is given a card with a list of numbers that match computer letters. The operating system demands that the user enter the numbers that match a series of randomly generated letters.
- Secret Keys: The user has a device that creates secret keys. The secret key is then entered into the OS system by the user, who is then able to access the user credentials connected to the key.
3. Virtualization
The ability to abstract or segregate software from hardware is provided by virtualization. As a result, there is a significant increase in efficiency and flexibility, as well as security coverage.
You may handle numerous isolated user environments thanks to OS virtualization. A hypervisor functions as a layer between the device and the virtualized resources, enabling and creating these user environments.
On each device, there are normally two to three virtual machines (VMs) that the hypervisor administers. For every user or security zone, a different VM is employed.
Fully locked down, unlocked or open, and semi-locked down virtual machines are the three basic types that can coexist.
Any type of VM is restricted to the actions permitted by its design, preventing any more effort. This maintains environmental security.
The hypervisor, which runs beneath the device's OS, separates the data into several virtual machines (VMs) that run their operating systems locally, thereby isolating users. Device security is maintained since users are isolated.
No virtualized environment has direct access to the network, which is another benefit of OS virtualization. Instead, an invisible, virtualized network layer that carries out network segmentation on the endpoint device provides connectivity.
4. Operating System hardening
To secure a server's operating system (OS), operating system hardening involves patching and implementing the latest security procedures. Having modifications, patches, and service packs installed automatically is one of the best ways to get the operating system into a hardened condition.
Operating System Security Policies and Procedures
There may be different OS security policies in place, depending on the organisation where you work. A document called an OS security policy describes the procedures to be followed in order to ensure that the operating system manages a specific level of security, accessibility, and integrity.
OS Security guards against viruses, worms, malware, threats, backdoor invasions, and other risks to systems and data. Security policies deal with all preventative measures, including stealing data, editing, and deleting, to protect an operating system's security.
There are many ways to approach operating system security policies and procedures because they cover a large area. Here are a few examples:
1. Setting up and maintaining antivirus software
2. Ensure that the systems are patched or upgraded regularly.
3. Implementing user management policies in place for protecting user accounts and privileges.
4. Setting up a firewall and making sure it's configured correctly for monitoring every bit of outgoing and incoming traffic
It would help if you first decide which resources, systems, hardware, and data are most important to your organization before developing and implementing OS security policies and procedures. After it is finished, a policy to efficiently protect and safeguard them can be created.