自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 2023-2024-1 20232813《Linux内核原理与分析》第十三周作业

Set-UID 是 Unix 系统中的一个重要的安全机制。当一个 Set-UID 程序运行的时候,它被假设为具有拥有者的权限。例如,如果程序的拥有者是root,那么任何人运行这个程序时都会获得程序拥有者的权限。Set-UID 允许我们做许多很有趣的事情,但不幸的是,它也是很多坏事情的罪魁祸首。欣赏好的方面,理解为什么 Set-UID 是需要的,以及它是如何被执行的。注意坏的方面,理解它潜在的安全性问题。

2023-12-13 15:13:51 916

原创 2023-2024-1 20232813《Linux内核原理与分析》第十二周作业

Set-UID程序允许用户暂时以root权限进行操作,即使程序中所进行的权限操作用不到root权限的所有权利,这很危险:因为如果程序被入侵了的话,攻击者可能得到root权限。new后缀指新计算值,p前缀指线程,f前缀指文件cap。I,P,E分别指代 inheritable,permitted,effective,是一个cap位一个cap位计算的。在操作系统中,有许多只允许超级用户使用的操作,比如配置网卡,备份所有用户文件,关闭计算机等,但如果要进行这些操作就必须先成为超级用户的话,那就违背了最小权限原则。

2023-12-09 23:22:15 837 1

原创 2023-2024-1 20232813《Linux内核原理与分析》第十一周作业

防火墙:防火墙是一种网络安全设备,用于监控、过滤和控制网络流量,目的是阻止未经授权的访问,保护内部网络免受恶意攻击。这种方式降低了系统受到攻击的风险,因为攻击者需要破解两个密码,即普通用户和Root用户的密码。操作系统安全是指保护计算机系统中的软件、硬件和数据免受未经授权的访问、破坏、损坏或泄露的一系列措施。Linux系统的安全机制基于多层防御策略,旨在保护系统、数据和用户免受恶意攻击。访问控制的主要目标是确保系统资源只能被授权用户或系统实体访问,以维护系统的机密性、完整性和可用性。

2023-12-03 10:51:45 863 1

原创 2023-2024-1 20232813《Linux内核原理与分析》第十周作业

虚拟机技术的核心是虚拟机监视器VMM (Virtual Machine Monitor) , VMM也称为Hypervisor. VMM的作用是向底层分配访问宿主机的硬件资源,向上管理虚拟机的操作系统和应用程序。FreeBSD的"jail"机制允许你创建一个完全隔离的环境,这个环境拥有自己的网络栈、文件系统根、进程空间和用户空间,几乎像是一个独立的虚拟系统。在需要更强大的隔离时,可以考虑使用容器技术,如Docker。为了提高页表的访问效率,一些系统使用大页表,将多个页映射到一个大的页框中,减少页表的大小。

2023-11-26 11:08:04 790 1

原创 2023-2024-1 20232813《Linux内核原理与分析》第九周作业

中断处理过程直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule()。内核线程是一个特殊的进程,只有内核态没有用户态,可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度(内核线程可以直接访问内核函数,所以不会发生系统调用)。内核线程作为一类的特殊的进程可以主动调度,也可以被动调度。用户态进程无法实现主动调度,仅能在中断处理过程中进行调度(schedule是一个内核函数,不是一个系统调用)。

2023-11-19 12:58:33 42

原创 2023-2024-1 20232813《Linux内核原理与分析》第八周作业

ELF(Executable and Linkable Format)即可执行的和可链接的格式,是一个目标文件格式的标准。(1)可重定位文件:这种文件一般是中间文件,还需要继续处理。同名的.o文件,该文件即为可重新定位目标文件。(3)共享目标文件:共享库,是指可以被执行文件或其他库文件使用的目标文件。(1)readelf:用于显示一个或多个elf格式的目标文件的信息。(2)可执行文件:一般由多个可重定位文件结合生成。-h显示()elf文件开始的文件头信息。1.ELF文件的3种类型。2.启动内核,设置断点。

2023-11-12 16:43:08 33 1

原创 2023-2024-1 20232813 《Linux内核原理与分析》第七周作业

进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。创建新进程时,内核分配新的task_struct数据结构,复制父进程信息,修改子进程特定字段如进程ID和状态,保留资源共享。2.下面设置几个断点:sys_clone、do_fork、dup_task_struct、copy_process、copy_thread、ret_from_fork等处设置断点。(3)调用wake_up_new_task,将子进程放入调度器的队列中,此时的子进程就可以被调度进程选中,得以运行。

2023-11-02 22:50:50 60

原创 2023-2024-1 20232813《Linux内核原理与分析》第六周作业

读者从系统调用处理过程的入口开始,可以看到SAVE_ALL保存现场,然后找到syscall_call和sys_call_table。call *sys_call_table(,%eax,4)就是调用了系统调用的内核处理函数,之后restore_all和最后有一个INTERRUPT_RETURN(iret)用于恢复现场并返回系统调用到用户态结束。(2)system_call代码就是系统调用的处理过程,系统调用是一个特殊一点的中断(或称之为软中断),所有其他中断处理过程和这个system_call类似。

2023-10-28 11:34:35 46 1

原创 2023-2024-1 20232813《Linux内核原理及分析》第五周作业

API方法实现系统调用实现非常便捷,只需知道函数原型即可,有很好的代码可移植性。但是,如果libc没有提供对某个系统调用的封装,那就无法通过此方法来调用内核函数。如果内核增加了一个新的系统调用,但是libc函数库的版本没有及时更新为其编写API函数。可以利用libc提供的syscall函数直接调用。

2023-10-21 19:31:05 41 1

原创 2023-2024-1 20232813 窦一萌《Linux内核原理与分析》第四周作业

总结: init task() (PID为0)在创建了init 进程后,调用cpu idle() 演变成了idle 进程,执行一 次调度后,init进程运行。1号内核线程负责执行内核的部分初始化工作及进行系统配置,最后调用do_ execve加载init程序,演变成init进程(用户态1号进程),init进程是内核启动的第一个用户态进程。kthreadd (PID为2)进程由0号进程创建,始终运行在内核空间,负责所有内核线程的调度和管理。

2023-10-15 10:04:38 29 1

原创 2023-2024-1 20232813 窦一萌《Linux内核原理与分析》第三周作业

该文件是一个简单的多任务调度的实现,其中包含了一个名为my_start_kernel的函数和一个名为 my_process的函数。其中,函数my_start_kernel用于初始化操作系统,设置进程 0(即系统初始化进程)以及其他进程的任务控制块,并通过汇编代码设置初始的任务堆栈和指令指针。具体的切换过程使用了汇编代码来保存和恢复寄存器,并跳转到下一个任务的执行入口点。进入mykernel目录,查看qemu 窗口输出的内容的代码 mymain.c 和 myinterrupt.c。(1)mypcb.h文件。

2023-10-08 21:06:38 29 1

原创 2023-2024-1 20232813 窦一萌《Linux内核原理与分析》第二周作业

1. EIP寄存器是指向代码段中的一条条指令,即20222816.s中的汇编指令,从“main.c”开始,他会自动加一,调用call指令时它会修改EIP寄存器。10:EBP和ESP指向栈空间4的位置 9.10和18.19语句完全一样,所以函数的头两条指令用于 初始化函数自己的函数调用堆栈空间。20:把ESP寄存器-4,实际上ESP向下移动一个标号,指向2的位置。13.把EAX寄存器中存储的立即数8放到ESP寄存器现在所指的位置5.21:把数8放入ESP寄存器指向的标号2的位置。

2023-09-24 12:51:53 37 1

原创 (2023-2024-1)20232813《Linux内核原理与分析》第一周作业

第一周课后在实验楼学习了《Linux入门》(新版),以下是我本周的学习笔记、遇到的问题和解决方案以及心得。

2023-09-17 20:40:00 35 1

test with comments.py

test with comments.py

2023-03-27

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除