自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 2021-2022-1 20212822 《Linux内核原理与分析》第十二周作业

实验简介Linux内核从2.1版本开始,就开始支持Capabilities的安全机制。Capabilities安全机制提出的目的在于实现系统特权操作的更加细粒度的访问控制,使用户能够根据实际的安全需求来控制root进程拥有的权限范围,从而取消root进程多余权限带来的安全隐患。在Capabilities机制中,所有权限被分割成比较具体和细小的权限(并将分割出来的每种细小权限称为权能),每种权能代表着root用户进行某种特权操作的权限;系统中只有进程和可执行文件具有权能,系统根据一定的安全策略来赋予进..

2021-12-08 15:18:59 217

原创 2021-2022-1 20212822 《Linux内核原理与分析》第十一周作业

竞态条件漏洞实验实验简介竞态条件是指多个线程同时访问或者操作同一块数据,运行的结果依赖于不同线程访问数据的顺序。如果一个拥有root权限的程序存在竞态条件漏洞的话,攻击者可以通过运行一个平行线程与漏洞程序竞争,以此改变该程序的行为。实验准备由于本实验环境开启了针对竞态条件攻击的保护,所以需要先关掉保护。该选项意味着全域可写sticky位开启的文件夹是不能作为链接目标所在文件夹的。$ sudo su$ echo 0 > /proc/sys/fs/protected_symli

2021-12-04 12:02:43 2765

原创 2021-2022-1 20212822《Linux内核原理与分析》第九周作业

实验八:进程的切换和系统的一般执行过程实验要求理解编译链接的过程和 ELF 可执行文件格式编程使用 exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接,编程练习动态链接库的这两种使用方式使用 gdb 跟踪分析一个 execve 系统调用内核处理函数 sys_execve ,验证您对 Linux 系统加载可执行程序所需处理过程的理解特别关注新的可执行程序是从哪里开始执行的?为什么 execve 系统调用返回后新的可执行程序能顺利执行?对于静态链接的可执..

2021-11-21 10:56:35 164

原创 2021-2022-1 20212822《Linux内核原理与分析》第八周作业

实验七:Linux 内核如何装载和启动一个可执行程序实验要求理解编译链接的过程和 ELF 可执行文件格式编程使用 exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接,编程练习动态链接库的这两种使用方式使用 gdb 跟踪分析一个 execve 系统调用内核处理函数 sys_execve ,验证对 Linux 系统加载可执行程序所需处理过程的理解特别关注新的可执行程序是从哪里开始执行的?为什么 execve 系统调用返回后新的可执行程序能顺利执行?对于静..

2021-11-13 11:22:43 1047

原创 2021-2022-1 20212822《Linux内核原理与分析》第七周作业

实验五:分析 system_call 中断处理过程实验要求阅读理解 task_struct 数据结构 https://github.com/torvalds/linux/blob/v3.18-rc6/include/linux/sched.h#L1235;分析 fork 函数对应的内核处理过程 sys_clone,理解创建一个新进程如何创建和修改 task_struct 数据结构;使用 gdb 跟踪分析一个 fork 系统调用内核处理函数 sys_clone ,验证您对 Linux ..

2021-11-06 17:25:19 137

原创 2021-2022-1 20212822《Linux内核原理与分析》第六周作业

2021-2022-1 20212822《Linux内核原理与分析》第六周作业实验五:分析 system_call 中断处理过程实验要求使用 gdb 跟踪分析一个系统调用内核函数(您上周选择的那一个系统调用),系统调用列表参见 torvalds/linux。推荐在实验楼 Linux 虚拟机环境下完成实验根据本周所学知识分析系统调用的过程,从 system_call 开始到 iret 结束之间的整个过程,并画出简要准确的流程图实验基础知识同第五周实验过程第五周作业中使用的

2021-10-30 17:30:02 216

原创 2021-2022-1 20212822《Linux内核原理与分析》第五周作业

2021-2022-1 20212822《Linux内核原理与分析》第五周作业实验四:使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用实验要求选择一个系统调用(13 号系统调用 time 除外),系统调用列表参见 torvalds/linux参考视频中的方式使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用实验基础知识用户态、内核态和中断宏观上Linux操作系统的体系架构分为用户态和内核态用户态:处于低的执行级别,代码能够

2021-10-23 15:08:02 129

原创 2021-2022-1 20212822《Linux内核原理与分析》第四周作业

实验三:跟踪分析 Linux 内核的启动过程实验过程在实验楼中的shell中执行以下命令cd ~/LinuxKernel/qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img执行结果如下下面使用gdb来调试内核使用过程执行以下命令启动内核$ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S上述命令启动的内核

2021-10-17 11:30:32 81

原创 2021-2022-1 20212822《Linux内核原理与分析》第三周作业

实验二:完成一个简单的时间片轮转多道程序内核代码实验步骤使用实验楼的虚拟机打开 shell然后 cd mykernel 您可以看到 qemu 窗口输出的内容的代码 mymain.c 和 myinterrupt.c使用自己的 Linux 系统环境实验结果截图下图用make编译了内核下图是执行默认的下图是编写好自己的内核程序后的执行结果(下附代码及分析)实验代码及分析以下为新增内容mypcb.h(进程控制块)#define MAX_TASK_NUM

2021-10-10 16:58:53 66

原创 2021-2022-1 20212822《Linux内核原理与分析》第二周作业

实验一:反汇编一个简单的C程序(Linux内核分析配套实验)实验步骤首先创建main.c文件,然后使用文本编辑器输入C程序代码,接下来使用$ gcc –S –o main.s main.c -m32这条命令将C程序编译成汇编代码。然后使用文本编辑器打开main.s文件,将其中带.开头的文件全部删除,因为他们是链接用产生的临时文件,对分析汇编程序没有影响,可以全部删除,删除后的汇编程序如下图所示:在这里插入代码片...

2021-10-02 18:06:35 131

原创 2021-2022-1 20212822《Linux内核原理与分析》第一周作业

2021-2022-1 20212822《Linux内核原理与分析》第一周作业实验一:Linux系统简介Linux系统Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux 主要是系统调用和内核那两层...

2021-09-27 23:29:54 542

空空如也

空空如也

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

TA关注的人

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