Operating System Security
Information technology has become a vital part of people’s daily lives. The world’s reliance on technology has increased exponentially over time. Innovative inventions that were unimaginable a few decades ago have been made and incorporated into modern systems. The technological advancements have made life easier at different levels compared to a few decades ago (Deitel et al, 2004). Computers have made it possible to achieve development that could not have been imagined. However, like any other aspect of life, technology can be used by people with ill intentions to achieve malicious gains. Therefore, it is vital to ensure the security of technological advancements. One would say it is quite amusing that the computer has to be protected. In any case, the advanced hardware and technical endowment should enable it protect itself. The first step to protecting a computer is protecting it from itself. Computers tend to log on to the internet anonymously so that they may update their software (Silberschatz et al, 2000). It is quite intriguing that the internet is the source of viruses that harm the machines. Considering the advancements named in computer technology, it is quite appalling that computers need protection.
Computer systems are able to identify malware and one would expect that, during the programming of the malware identification, someone would have identified the need for an embedded antivirus. It is a classic case of half-baked technology. The computer needs to have the antivirus updated every so often. The fascinating bit is that the computer needs no prompting to update the operating system (Craig, 2007). Interesting then, that the computer cannot update a light program, automatically, but it can update an operating system.
An operating system is the software interface that manages computer hardware components and manages other programs in a computer system. The operating system enables the entire computer’s hardware to function effectively with computer software. A computer’s operating system is the most vital aspect of a computer system as it cannot function without it and applications need the operating system to operate (Irtegov, 2003).
Operating systems can be found in almost every device that has a computer or a computer chip. Operating system functions can vary from resource allocations, time-sharing, and memory allocation just to name a few. The main functions of an operating system are
- Filing system management and disk access
- Security processes and memory protection
- Process management
- Device and driver management
- Input and output control
Some common modern operating systems include iOS, windows, windows mobile, Linux, and Android.
Operating systems are designed differently. For multi-functional computers, operating systems must be able to manage memory in use. Memory management ensures memory in use by other programs is not interrupted (Stamp, 2006). The operating system allocates memory slots to running programs and prevents other programs from interfering. There are customisations and management systems that can be followed depending on the operating system a computer uses.
Data and information storage in a computer is done in a filing system. The operating system allows for efficient use of hard disk storage space to allow for easier and faster access to information. A reliable operating system stored data and information in a sequence and gives them attributes and distinct identities. Access to the files is controlled by the operating system as it provides the interphase to be used for access by other programs and end users.
Security processes and memory protection
Ensuring data and information security is essential. Through security protocols, the operating system will be able to protect the computer systems against any form of threat. There are many threats to a computer system. Therefore, it is vital to ensure the system and memory is protected against these threats. This will ensure the computer system is running efficiently and effectively.
Various processes go on in a computer system. An effective operating system should be able to manage all the processes efficiently without causing inconveniences. However, different operating systems operate differently when it comes to process management. The various process management procedures that are available rely on the need of the user and the computer.
Device and driver management
Drivers are software that allows communication between computer hardware components and software that have been developed for the hardware (Stamp, 2006). An operating system allows for fluid communication of the different software components that make up the computer system. For all hardware to function effectively there must be an effective operating system that relays all the necessary information.
Sharing of data, information, and devices is one of the main advantages of computer technology. Operating systems allow for effective and secure connections between computers that allow resource sharing. There are different levels and forms of networking. A good and effective operating system should allow secure networking on the various levels that the end user might require. Modern operating systems allow for interaction between devices with different operating system making sharing a lot easier for its users unlike those operating systems made in the past (Bragg et al, 2004).
Input and output control
There are many different input and output devices in a computer system. Input and output enables a user to input data and commands and after processing information as output in various forms. Management of input and output devices and software is one of the key roles of an operating system. The OS ensures that the processes are conducted in sequence, and there is no miscommunication. Privacy and security are essential in people’s daily lives. Information technology has changed the world and made it a superhighway of information. With a reliable internet access, one can find all the information online. Access to information has been made faster and easier with computer technology. However, there are concerns that have been raised concerning the security of computer technology. As computer technology evolves, regular threats that call for secure computer systems emerge. Computer system security begins at the operating system level (Smith & Marchesini, 2008).
The security of a computers operating system should be guaranteed in order to ensure that the system is not compromised. A secure system should be able to function efficiently and quickly in executing its tasks. To ensure this is the case, an operating system should be able to identify which operations to execute and at what time. The internet is the greatest risk to operating systems (Silberschatz et al, 2012). This is mainly because of the fact that a system that is connected to the internet without proper defences can be compromised.
There are different levels of security in a computer system. The different levels of security ensure the various components of the system are protected against any threat. To ensure that this is the case, there are protection measures a user can employ to make sure the operating system is not compromised. In ensuring the security of an operating system, these areas need to be addressed
- Security mechanism
- Security demand
- Security policy
- Security model
The web has turned out to be part of people’s lives. Individuals and organization, whether big or small, use the web. They use it for even the modest web business deal. At one end is the user, and at the other end is a content provider. In between are various types of internet providers. Every institution has its own aims. It is quite natural for goals of different organization to conflict. Some prefer to be anonymity. On the other hand, some of the content providers want to collect a lot of details about their clients and visitors. Operating systems must ensure the safety of each user.
Operating system mechanisms involves program access (authentication and authorization) components that run in a system. This allows programs access to different aspects of the computer system. These security mechanisms enable the system to control access to the system. Ensuring that only right and proper programs are allowed access to the system, the operating system, will be able to protect the computer system against threats. The security mechanisms of modern operating systems are made up of two matrixes for permission and access gates. The gates are dialup gate that requests access permission to the operating system, login gate that ensure secure login and password verification of credentials, root gate, which grants privileges to parts of the system, and Secure RPC gate. Personal information can be revealed from some HTTP headers. As a result, they can be tracked as they surf the web. One may choose to filter out this information. The consequence is access denial to some sites. What is clear is that each side wants some control over the information in web requests and responses.
Operating systems must meet the minimum threshold for data and information safety. This is achieved by ensuring the minimum security demands for operating systems are met without compromising the functionality of the computer system. By ensuring security demands are met, the operating system will be able to operate in and efficient manor, save on aspects such as system storage, and processing time. However, to ensure this, certain security protocols have to be in place. These protocols will allow authentication and access is granted to applications that are good and have the proper access codes. For security demands to be met, the operating system must be able to identify threats to the system. Through design and implementation of security measures, the system will be able to deny access by malicious applications. This will ensure the system is safe and secure to function properly.
Operating security policies are the security protocols that operating systems observe during its operations. To ensure the system is protected, developers code system protocols to be observed. These settings are just the first line of defence and can be modified depending on the purpose of the system and the risks the system is exposed. However, to ensure the safety of the operating system, it is recommended for users to make system changes in line with the security policies they feel suit them. System policies are usually pre-programmed to ensure there is a basic security protocol to be observed.
Designing of a quality system is paramount. The overall goal achievement is what is checked first whether it is well done. System models require four factors that also determine the quality of an information system. These are cost, processing time, quality of the designers, and use of modern tools. This system meets these factors hence suitable for further analysis. As stated earlier, it is based on the idea of blending into a crowd. Anonymity is achieved by a user joining a “crowd” of similar users. A request to a web server is made to be a request from a random user in the crowd (Craig, 2007). The request can be direct to the server or passed to another user before getting to the server.
Some of the main security concerns operating systems face includes malicious software such as:
- Trojan (horse)
Backdoor software bypasses the systems usual interface and accesses the system through back channels. This method is mostly used by hackers to get personal information such as user names and passwords. Backdoor users try to gain access to the system without being undetected. This is the most dangerous form of insecurity, as one will not know when there has been a security breach. The main threat posed by backdoor access is the retrieval of vial user information without the knowledge of the user
Computer viruses are computer programs with the ability to enter, replicate itself and spread throughout a computer system. Viruses cause harm to computer files and data as the virus replicates. Some viruses are designed in a particular manner in order to achieve certain goals. Ensuring that an operating system is safe and secure from virus infection enlists the services of an antivirus program. This program will help in the detection, prevention, and disinfection of viruses from a computer system.
A computer worm is a lone malware computer program that replicates itself and spreads through computer systems. The malware is usually undetectable and has small side effects at the beginning. However, as the worm spreads through the computer system, the effects are seen and felt by the user.
A Trojan is a computer program that hides in plain sight. The program disguises itself as a legitimate program to gain access to the computer system. However, Trojans are particularly harmful and can compromise the security of a computer system. They normally do not try to inject themselves into a computer system. The malware got its name from Greek mythology.
Security and privacy
The ideas presented in this paper are not new and can be used to solve most of the security concerns operating systems have. This paper explains solutions in a different dimension. It is a technological solution trying to solve the problem. There are many technologies on the internet for operating system security and privacy protection. The underlining implementation differs but most make browsing the net anonymously without leaving personal identifiable information on the web sites possible. Examples of these technologies are the Lucent Personalized Web Assistant that enables users to create a pseudonym consisting of pseudo name, pseudo e-mail address, and other information required on the websites that protect their identity online.
Freedom software developed by coders also uses such an approach for operating system security and privacy protection. These Software’s have proxy services and anonymous transaction services. This paper presents “Crowds”. A similar example similar to this is the Onion Routing. Security and anonymity is achieved for proxy services by use of a “proxy machine”. The “proxy machine” is run by a trusted organization that provides anonymous details such as an IP address. On the other hand, in the case of anonymous transaction services and technologies, such as crowds and Onion Routing, the collected web users group collectively provide the group member’s anonymity (Mitchell, 2009).
Previous studies have proposed to prevent attacks by employing anonymity for web transactions. One of the techniques employed is interposing a proxy between the dispatcher, and the recipient is to hide the dispatcher’s identity from the receiver. Anonymizer is an example of such proxies. Another is the Lucent Personalized Web Assistant. These services remove all identifying information from a user’s computer while the user surfs the internet, thereby ensuring privacy of the user. Many anonymizer sites create an anonymous unique resource locator (URL) by appending the name of the site user wishes to access to their own URL. An example of anonymizer is
All subsequent sites visited will also be accessed anonymously. Users have the freedom to choose their preferred sites that will make them anonymous.
Despite not being a new idea, it does not criticize other method that such as the one described. This is an improvement to the already existing idea as the one above. Crowds provide a shield against an extensive variety of attackers than proxies do. The weakness is that an attacker may have control of the proxy. The attacker in this case is passive. He can screen and record the dispatcher and recipient details. A crowd does not make available any single point for passive attacker to compromise users’ anonymity. Another weakness is that if the proxy fails then anonymity fails. One cannot surf secretly on the web. The crowds system incapacitates these encounters.
Alternative technology that can be used to achieve anonymous web transactions is the use of a mix. This system was proposed by Chaum in 1981. It takes a number of input messages and outputs them in such a way that makes it difficult to match the input and its consistent output. The mix achieves this by encrypting and padding messages and changing the flow of information by delaying or reordering making it difficult to be attacked. Though they have been helpful to support anonymous communication such as electronic mail as noted by Gulcu and Tsudik, ISDN service and several asynchronous communications according including web browsing, they cannot be compared to the superior “crowds” system. “Crowd” is a better system in that it provides anonymity against cooperating members. It spans multiple administrative domains hence preventing global eavesdropping (Mitchell, 2009).
The paper presents an implementation arising from a study of the weaknesses of the existing systems. The ideas of these systems have been combined to come up with an improved system, which is the crowd system. The project is empirical since it has been developed and tested at the Bell laboratories. One of the systems that are related to the idea of browsing anonymously to ensure security and privacy is the Klein Bottle Routing. It is a method that when implemented will fill the gap between the old technologies. Some of the technologies are mentioned above such as Onion Routing, mix networks and crowds. The system can be employed widely in anonymous communication including anonymous web transactions. The existing systems have their drawbacks hence the development of the Klein Bottle Routing.
This system employs routing just as Onion Routing. It is flexible in the routing scheme it employs. It does not entirely prevent traffic analysis. It tries to reduce the harm on traffic analysis by making analysis difficult. To make analysis more difficult, the size of the message packet is not changed during transmission. This proposed system is an improvement to Onion Routing. In this section, focus is on Onion Routing, which is presented as a competing idea to the “Crowds” system. Onion Routing method is intended for the provision of real time bidirectional anonymous connections. These connections are dead set against eavesdropping and traffic scrutiny in a transparent manner to all applications (Craig, 2007). If two people are communicating in a public network, Onion Routing ensures that the content of their message cannot be viewed. In this method, no internal or external node can notice that they are communicating.
This system is implemented under the application layer. It replaces socket connections with anonymous connections and without requiring any change to the proxies or proxy-aware internet services or applications. The first system was implemented in the same year that the “crowds” system was designed that is 1997, on a Sun Solaris 2.4. The system on which it was implemented had proxies for web browsing (HTTP), remote logins (rlogin), email (SMTP), and file transfer protocols (FTP). Current implementations run on fixed infrastructure of onion routers. Each router has a longstanding socket connection to a set of neighbouring ones (Craig, 2007). Only the onion router proxy knows the whole infrastructure topology. Anonymous routing only occurs when anonymous routing is desired. In this approach, users submit layered encrypted data specifying the cryptographic algorithms and keys. One layer of encryption is removed at each pass through each onion router on the way to the recipient.
There is research on improving onion routing called TOR. TOR is a second-generation onion routing- based solution. TOR provides anonymity by preventing adversaries following packets from a sender to a receiver and vice versa. This system allows the sender to remain anonymous to the receiver. It addresses the limitations of the onion routing, which affects its original design. TOR achieves this by generating a proxy from the installed software in the user’s machine that is responsible for the establishing anonymous connections (Silberschatz Et al, 2012). The proxy establishes the anonymous path and generates the onion. The onion and the message are then sent through the path. Each router receiving the messages removes a layer of encryption to the onion. It achieves this by use of the message’s private key. The successor of the message is now known. At the end of the path, the receiving node retrieves the message in plain text. Backward communication takes place through the same anonymous path.
Security of Onion Routing
This system improves security compared to other schemes. With this scheme, any intermediate recipient cannot determine the origin of the message. Only the original sender and the ultimate receiver know the origin. This scheme provides confidentiality of content, source and destination. Onion Routing is more effective if one runs one of the routers. Your onion router must also be full of participant in the network, so that other onion routers can use it. Otherwise, packets coming from your onion routers will only contain packets from your networks, and a can reveal your approximate source, even with the contents still encrypted (Smith & Marchesini, 2008).
One problem its faces can be an aggressive attacker monitoring the network traffic of every participating onion router. This allows the attacker to track the traffic pattern. For instance, the attacker may monitor traffic from a router as it moves to another router with a certain packet size. The next router will send off a slightly smaller packet and so on. The final router will send a plain text directly to the real recipient destination. Hence the attacker can deduce that the packet originates from a certain network, based on the sizes and timing of the packets between routers. Onion Routing defeats this by delaying packets slightly, as well as batching from several packets. By this, the attacker cannot make deductions about the size and timing of the packets. The only disadvantage being the end user experiencing delays. However, the delay is the price to be paid for better and enhanced security (Mitchell, 2009).
The second generation of the onion routing, TOR addresses the restrictions of the previous by adding textbook forward privacy, veracity checking, bottleneck control, configurable exit policies, directory servers, and a convenient design for site concealed services through meeting points.
The practical limitations of this technology and its subsequent improvements exist. Researchers have noted that the use of TOR infrastructure, which is based on onion routing cryptography is a possible solution in hiding the origin of the queries. However, these infrastructures might not be useful in anonymizing the queries themselves against, for example, insecure channels or dishonest servers. Complete blocking of the traffic is not possible with this technology. This is the greatest limitation and drawback of these technologies. Researchers have exposed some of the weaknesses of the Tor technology. An attacker or someone who has the knowledge and access can link discrete streams back to the origin.
Tor technology together with its previous technology is not theoretical. It works on the existing infrastructure. These include the user machines, which may be personal computers and even servers. There is no much change needed on the already laid down network. It is implemented on the already existing infrastructure. The technology is at its initial implementation and is already in use. This is part of research to determine who uses it. The implementers argue that the first stage is to learn about the usage of Tor network and who uses it (Chen & Gong, 2012). The challenge is in the countries that have censorship. This indicates that the system is already working, and the usage statistics are meant to detect the countries where the Tor project is succeeding, and which one needs more work in terms of performing additional training. The project will have a major impact on the systems located in countries that have censorship. It will make it difficult for the users access some information, as they will be blocked.
Any form of communication is associated with bandwidth. The Tor network operates by using the available bandwidth to select channels through which it will communicate. Channel allocation is according and proportional to the reported bandwidth. There is a compromise in this system in that a malicious router used by attacker can access the channel. The method used is not good enough when the load is relative its performance is unreliable. This is to say the system does not cater for the changing conditions. The result is that users keep off from using it. It is a brilliant idea that cannot be scrapped because of this. Scholars and researchers have come up with proposals to improve on the system.
For instance, for the problem mentioned earlier, Robin Snader and Nikita Barisov have done research and made a proposal on how to solve the from arising(Irtegov, 2003). They have come up with an algorithm that solves the problem by substituting self-reported values. This is a clear indication that the system encourages further research. This is just one among the many that seeks to improve on the security of the system. The project has many issues that need attention. There are challenges with regard to security. One way to solve this is through research. There are also social challenges. Some issues are beyond the design of the project and the technology itself. Research is needed to improve the user perception of the project. Careful study of its impact on the internet also needs attention. These issues may find a solution through research.