Operating System Security and Access Control
Operating System Security and Access Control
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Project 1 Report
Chapter 5
Operating System Security and Access Control
The second paragraph on page 134 refers to "file owner and group", which is obviously
in line with P6 least-private. This paragraph describes the application of roles in computer
systems. The principle of P6 is the minimum permission principle. According to this principle, the
computer divides users into different roles, and each role has the minimum permission to realize
a function (of course, if higher permission is required, the user can switch roles). When
switching roles, passwords are generally required to ensure that users will not violate the P6
principle.
The second exercise paragraph on page 142 refers to the chroot command. This is a
very interesting command, which embodies P5 (isolated components). P5 is the principle of
isolation and zoning. The chroot command well reflects this principle. It is used to run
instructions under the specified root directory. Chroot, i.e. change root directory. In a Linux
system, the default directory structure of the system is /, that is, it starts with root. After using
chroot, the directory structure of the system will take the specified location as the / location.
After chroot, the directories and files read by the system will not be under the old system
root, but the directory structure and files under the new root (i.e. the designated new location).
Therefore, it brings the following three benefits: it increases the security of the system and limits
the power of users; Establish a system directory structure isolated from the original system to
facilitate user development; Switch the root directory of the system, boot the Linux system and
the first aid system.
In fact, the principle of isolation and zoning can limit damage in case of failure and
prevent damage. If you violate this principle, it may have serious consequences at some time.
Yun Huang 101076248
Chapter 6
Software Security—Exploits and Privilege Escalation
This is a very interesting chapter, which discusses some problems of software security.
The comments on page 165 mentioned integer bugs and discussed the problem of
checking user input. This is the obvious principle p15 (datatype validation). The third point on
page 173, boundary inspection, follows this principle. In fact, it is necessary to check the user's
input. For example, the problem of buffer overflow is caused by not checking the user's input
enough. Users can overflow by inputting excessive data, so as to cover the data outside the
buffer (including important data such as return address) to achieve the purpose of the attack.
Therefore, this principle needs to be observed. In order to abide by this principle, the computer
has many protective measures, such as canary and so on.
Static analysis tools, a tool, are mentioned on page 174. This is consistent with the
principle of p9 time-tested tools. Using some mature static analysis tools is helpful to find
relevant vulnerabilities and security problems early in development. At the same time, such
tools are constantly iterated and upgraded, which is much more powerful than some simple
tools written by ourselves. Following the principle of p9 and using mature expert tools are better
to help to reduce security problems. For example, mark a memory management vulnerability in
the source code for further attention. You can also analyze binaries. Of course, this tool is not
omnipotent but also needs to be supplemented by other security measures.
Yun Huang 101076248
Chapter 7
Malicious Software
Memory isolation is mentioned at the beginning of page 197. This is related to principle
P5 (isolated components). There are many kinds of memory isolation, including isolation
between user processes and between user and kernel space. In an operating system with
process isolation, limited inter-process interaction is allowed between processes if they all
accept the cooperation of inter-process communication (IPC), such as shared memory or socket
technology. Under such a scheme, almost all inter-process memory is isolated from other
processes, except that some processes specify that other processes are allowed to access
variables and memory blocks to work together. In some environments, the system security
policy may not allow interprocess communication (IPC). For example, in mandatory access
control systems, processes with different security levels are not allowed to communicate with
each other. The isolation of user and kernel space also reflects the part of memory isolation,
which helps to ensure the security of kernel space. In fact, I think the principle of minimum
permission is also partially reflected here (users do not need kernel-level permissions). If
memory isolation is not implemented, memory access and even conflict will be caused, resulting
in serious security problems.
The example on page 205 mentions that simply viewing ("opening") an email will run any
embedded script, which may use available means to load additional resources to execute
malicious programs. This situation is exacerbated by the e-mail preview pane (auto preview),
which displays part of the e-mail without the user explicitly "opening" the e-mail; Rendering this
preview will also run the embedded script. This is a clear violation of P18 "index-confirmation".
Because it has not been independently confirmed, it leads to safety problems. However, as
mentioned in the example, most current email programs prohibit this behavior, which follows this
principle to a certain extent.