os202

Mohammad Saddam Mashuri's OS202


Project maintained by saddamonpc Hosted on GitHub Pages — Theme by mattgraham

HOME

Top 10 List of Week 02

Why hello there! I’m thankful you have the time to read my top 10 of week 2 of this course. This week topic is Security and Protection. Please do realize that this top 10 are my opinion and may not be the same with yours.

The way I grade this top 10 list are by 3 categories:

* how important it is,

* how simple it is,

* and how relevant the topic is to the operating system course.

Please enjoy your stay here, and good luck to my other mates doing this course!

NOTE for Instructor: I apologize for not working on the assignment at thursday morning. Through my exprience on working this course’s assignments, 1 hour and 40 minutes is not enough to be done with it. That’s why I reserved Friday or Saturday to work on the assigments.
  1. User Authentication
    If a system cannot authenticate a user, then how do we operate the computer!? Thus, a major security problem for OS is user authentication. The system depends on the ability to identify programs and processes that are executing, which in turn depends on the ability to identify each user of the system. Generally, users can be authenticated by a physical key/card, a password, or biometrics.

  2. Encryption
    Encryption solves a wide variety of communication security problems, encryption is frequently used in many aspects of modern computing. It is used to send messages securely across a netowrk, as well as to protect database files, data, and etc.

  3. Cryptography
    Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of third parties called adversaries. Cryptography is a powerful tool. Even a field of study has been made specifically to study their complexities and subtleties.

  4. Goals of Protection
    • Obviously to prevent malicious misuse of the system by users or programs.
    • 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.
  5. Protection: Security Measures
    Extended from point number 9 in my week 0 top 10 list, Absolute protection of the system from malicious attacks is not possible, but the cost to the perpetrator can be made sufficiently high to intimidate and deter most intruders. To protect a system, it is essential to take security measures at four levels:
    • Physical
      The sites containing the computer systems must be physically secured against entry by intruders. For example, by limiting access to the building they reside in, or locking them to the desk on which they sit.
    • Network
      Most computer systems are networked. Networking provides a mean for the system to access external resources but also provides a potential entry for unauthorized access to the system itself. Preventing interception of the data through the network is one of the solution to prevent these kind of attacks.
    • Operating System
      The operating system and its built-in set of applications and services comprise a huge code base that may harbor many vulnerabilities. Thus, operating systems must be kept up to date and “hardened” via continuous patching.
    • Application
      Third-party applications may also pose risks, especially if they bear admin privileges. Some applications are made to be malicious, but even some applications may contain security bugs. It is virtually impossible to ensure that all such applications are secure, but preventive measures such as making sure the application are made from a trustworthy and reputable company reduces the risk tremendously.
  6. Program Threats
    Processes, and kernel are the only means of accomplishing work on a computer. Therefore, writing a program creates a breach of security, and attackers may manipulate programs such that it can cause a breach to a system without authorization. The list below are some threats that attackers have made in before:
    • Malware
      Malware is a software designed to exploit, disable, or damage computer systems. There are many ways to perform such activities. A variation of malwares are spyware (capture user’s information) and ransomware (encrypts victim’s data and asks the victim to pay to get the data back).
    • Code Injection
      Code injection is the event in which executable code is added or modified, such that the attacker are able to take over the program code, subverting its existing code flow, or entirely reprogramming it by supplying new code.
    • Viruses and Worm
      A virus and worm is a fragment of code embedded in a legitimate program. Viruses are self-replicating and are deisgned to “infect” other programs. They can wreak havoc in a system by modifying or destroying files and causing system crashes and program malfunctions. The only difference between a virus and a worm is that, the former requires human interaction, while the latter uses a network to replicate without any help from humans.
  7. Denial of Service
    Denial of service attacks are aimed not at gaining information or stealing resources, but rather at disrupting activities of a system or facility. Denial of Service attacks are generally network based.

  8. Language-Based Protection
    A little background, I heard once in my life that triple A video games (games made by big companies, like Ubisoft) often uses C# or C++ rather than other programming language. The reason they do this, its because if the game is being dismantled or reversed engineer, it will be harder to accomplish than say Java or Python. Looks like operating systems also uses this technique. Compiler-based and run-time-based enforcement are used to protect the system to protect functions and code that has been written into the system.

  9. Virus Protection
    On this day and age, usually your common sense works better as a protection than a virus protection software (just download from reputable websites!), but it wouldn’t hurt to have a virus protection. As stated before in this list, viruses can wreak havoc on systems. Antivirus programs are often used to provide protection to the system. They work by searching all the programs on a system for the specific pattern of instructions known to make up the virus.

  10. Firewall
    Through my life, I’ve not seen firewall used to protect me. In fact, the pop-up to show that my recently installed app require permission to use a network, is annoying. In any case, firewall does give you a peace of mind and shows that your system always monitors and controls incoming and outgoing network traffic.

Source:
Abraham Silberschatz - Operating System Concepts -Wiley (2018)