- 博客(15)
- 收藏
- 关注
原创 2023-2024-1 20232822《Linux内核原理与分析》第十三周作业
取而代之的是我们让漏洞程序跳转到现存的代码(比如已经载入内存的 libc 库中的 system()函数等)来实现我们的攻击。缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode。Ubuntu 和其他一些 Linux 系统中,使用地址空间随机化来随机堆(heap)和栈(stack)的初始地址,这使得猜测准确的内存地址变得十分困难,而猜测内存地址是缓冲区溢出攻击的关键。
2023-12-17 15:11:09
65
1
原创 2023-2024-1 20232808《Linux内核原理与分析》第十二周作业
竞态条件是指多个线程同时访问或者操作同一块数据,运行的结果依赖于不同线程访问数据的顺序。如果一个拥有root权限的程序存在竞态条件漏洞的话,攻击者可以通过运行一个平行线程与漏洞程序竞争,以此改变该程序的行为。在本实验中学生将利用竞态条件漏洞获得root权限。除了攻击之外,学生还将学习如何制定保护方案抵御该类攻击。
2023-12-10 14:55:18
52
1
原创 2023-2024-1 20232808 李伟麟《Linux内核原理分析与设计》第十一周作业
对操作系统安全的关注,实际上是对操作系统中信息安全的关注。信息安全的基本原则是CIA三元组——机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。一个完整的信息安全保障体系,应该充分考虑到CIA三元组的基本原则。(1)机密性:又称隐私性(Privacy),是指数据不能被未授权的主体窃取,即避免恶意读操作。(2)完整性:是指数据不能被未授权的主体篡改,即避免恶意写操作。(3)可用性:是指数据能够被授权主体正常访问。
2023-12-03 12:14:07
81
1
原创 2023-2024-1 20232808 李伟麟《Linux内核原理与分析》第十周作业
Linux虚拟机技术和容器技术是两种不同的虚拟化技术,用于实现应用程序的隔离和部署。它们有以下区别和特点:基于完全虚拟化原理,通过在物理硬件上运行虚拟机监视器(Hypervisor)来创建和管理多个虚拟机实例。每个虚拟机拥有独立的操作系统、内核和用户空间,可以运行不同的操作系统,如Linux、Windows等。虚拟机之间相互隔离,具有较高的安全性和隔离性,每个虚拟机可以拥有自己的资源(CPU、内存、磁盘等)。虚拟机的启动和停止需要较长的时间,占用较多的系统资源。
2023-11-26 12:38:59
66
1
原创 2023-2024 20232808《Linux内核原理与分析》第九周作业
1.Linux系统的一般执行过程一般情况:1.1正在运行的用户态进程X1.2发生中断——save cs:eip/esp/eflags(current) to kernel stack,then load cs:eip(entry of a specific ISR) and ss:esp(point to kernel stack).1.3SAVE_ALL //保存现场1.4中断处理过程中或中断返回前调用了schedule(),其中的switch_to做了关键的进程上下文切换。
2023-11-19 13:20:24
23
1
原创 2023-2024-1 20232808《Linux内核原理分析与设计》第八周作业
新的可执行程序通过修改内核堆栈eip作为新程序的起点,从new_ip开始执行后start_thread把返回到用户态的位置从int 0x80的下一条指令变成新加载的可执行文件的入口位置。int Exec(int argc, char *argv[]):函数定义,函数名为Exec,它接受两个参数:整数argc(命令行参数的数量)和字符指针数组argv(命令行参数的值)。execlp()函数会替换当前进程的映像为新的程序映像。fork()函数会返回两次:在父进程中返回子进程的PID,在子进程中返回0。
2023-11-12 14:10:43
32
1
原创 2023-2024-1 20232808 《Linux内核原理与分析》第七周作业
【代码】2023-2024-1 20232808 《Linux内核原理与分析》第七周作业。
2023-11-02 22:42:30
45
1
原创 2023-2024-1 20232808《Linux内核原理与分析》第六周作业
使用 gdb 跟踪分析一个系统调用内核函数(上周选择的那一个系统调用),系统调用列表参见 torvalds/linux。推荐在实验楼 Linux 虚拟机环境下完成实验。
2023-10-28 20:36:05
42
1
原创 2023-2024-1 20232808《Linux内核原理与分析》第五周作业
通过本次实验,动手实践了在C语言中使用汇编嵌入方式使用系统调用,再次学习了如何查找相关命令的使用规则以及系统调用函数的说明。在实践chmod过程中,对于mode的解析、参数的传递以及参数的顺序等有了进一步理解。
2023-10-22 11:44:30
24
1
原创 2023-2024-1 20232808《Linux内核原理与分析》第四周作业
这个命令的主要目的是在启动虚拟机时,启用 GDB 调试支持。一旦虚拟机启动并暂停,我们就可以使用 GDB 连接到虚拟机的调试服务器,然后对内核进行调试和分析。使用 QEMU 启动 Linux 内核并执行调试。
2023-10-14 23:19:03
79
1
原创 2023-2024-1 20232808《Linux内核原理与分析》第三周作业
make出现死循环,可以看到my_start_kernel这个内核的初始化入口点在执行,同时my_timer_handler时钟中断处理程序周期性执行。本次实验偏向于操作系统的相关内容,实现了一个自定义的Linux内核,并实现了时间片轮转下的多道程序运行。让我深层次的理解了Linux内核的多进程运行的相关原理,为以后的学习打下坚实的基础。Linux中的时间片轮转(Time Slice Round-Robin)是一种常见的进程调度算法。它是一种抢占式调度算法,用于在多个进程之间共享CPU时间。
2023-10-06 14:52:19
48
1
原创 2023-2024-1 20232808《Linux内核原理与分析》第二周作业
通过对比不难发现,汇编和C是一一对应的:g、f、main这三个函数一一对应。
2023-09-24 11:33:22
95
1
原创 2023-2024-1《linux内核原理与分析》第一周作业
文件和目录操作ls:列出当前目录中的文件和子目录。cd:切换当前工作目录。pwd:显示当前工作目录的路径。touch:创建一个空文件。mkdir:创建一个新目录。rm:删除文件或目录。cp:复制文件或目录。mv:移动或重命名文件或目录。文件查看和编辑cat:显示文件内容。more或less:逐页显示文件内容。head和tail:显示文件的开头或结尾部分。nano或vim:文本编辑器,用于编辑文件。文件权限chmod:更改文件或目录的权限。chown:更改文件或目录的所有者。
2023-09-17 11:35:53
52
1
原创 成员变量(属性)和局部变量的比较
相同点:定义变量的格式:数据类型 变量名 = 变量值 先声明,后使用 变量都有其对应的作用域不同点: 1. 在类中声明的位置的不同 属性:直接定义在类的一对 { } 内 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 2.关于权限修饰符的不同 ...
2020-03-28 21:39:46
204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人