您的位置:首页 > 其它

2017-2018-1 20155210 《信息安全系统设计基础》第十一周学习总结

2017-12-03 20:25 302 查看

2017-2018-1 20155210 《信息安全系统设计基础》第十一周学习总结

教材学习内容总结

一、虚拟存储器的概念和作用

虚拟内存是对主存的一个抽象。

虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。

虚拟内存的三个重要功能:

1、它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存。

2、它为每个进程提供了一致的地址空间,从而简化了内存管理。

3、它保护了每个进程的地址空间不被其他进程破坏。

二、地址翻译的概念

地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS)中的元素之间的映射。



地址翻译符号:



MMU利用页表来实现映射



地址翻译的过程必须和系统中所有的的硬件缓存的操作集成在一起。大多数页表条目位于L1高速缓存中。

三、存储器的映射

Linux通过将一个虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟内存区域的内容,这个过程为内存映射。

共享对象:



私有对象:



参数的可视化解释:



四、动态存储器分配的方法

动态内存分配的两种基本风格:



函数使用:

通过调用malloc函数从堆中分配块:

include <stdlib.h>

void *malloc(size_t size);

使用sbrk函数显示地分配和释放堆内存:

#include <unistd.h>

void *sbrk(intptr_t incr);

调用free函数释放已分配的内存:

#include <stdlib.h>

void free(void *ptr);

分配器的要求和目标:



带边界标记的合并



五、垃圾收集概念

应用通过调用malloc和free来分配和释放堆块。应用要负责释放所有不再需要的已分配块。

函数使用:



收集过程:



六、C语言中与存储器有关的错误

1、间接引用坏指针

2、读未初始化的内存

3、允许栈缓冲区溢出

4、假设指针和它们指向的对象是相同大小的

5、造成错位错误

6、引用指针,而不是它所指向的对象

7、误解指数运算

8、引用不存在的变量

9、引用空闲堆块中的数据

10、引起内存泄漏

教材学习中的问题和解决过程

问题1:

对于栈缓冲区溢出的理解存在问题

问题1解决方案:

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

其原理是通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。

预防方法:

1、关闭端口或服务。管理员应该知道自己的系统上安装了什么,并且哪些服务正在运行

2、安装软件厂商的补丁,漏洞一公布,大的厂商就会及时提供补丁

3、在防火墙上过滤特殊的流量,无法阻止内部人员的溢出攻击

4、自己检查关键的服务程序,看看是否有可怕的漏洞

5、以所需要的最小权限运行软件

代码调试中的问题和解决过程

问题1:

实验时使用的代码无法在终端中正确运行。

问题1解决方案:

使用第一次实验中的Linux虚拟机。

代码托管

(statistics.sh脚本的运行结果截图)



结对及互评

点评模板:

博客中值得学习的或问题:

xxx

xxx

...

代码中值得学习的或问题:

xxx

xxx

...

其他

本周结对学习情况

- [20155233](博客链接)
- 结对照片
- 结对学习内容
- XXXX
- XXXX
- ...

其他(感悟、思考等,可选)

1、

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
第九周/3/1712/144
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:12小时

实际学习时间:20小时

改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

《深入理解计算机系统V3》学习指导

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: