软件安全(彭国军)期末复习

第一章

1. 什么是软件安全(P5)

软件自身安全(软件缺陷与漏洞)、恶意软件攻击与检测、软件逆向分析(软件破解)与防护。

2. 软件缺陷与漏洞的典型威胁(P6)

(1)软件正常功能被破坏;
(2)系统被恶意控制。

3. 恶意软件的威胁(P6)

(1)已有软件的功能被修改或破坏;
(2)目标系统中的重要数据被窃取;
(3)目标系统中的用户行为被监视;
(4)目标系统被控制。

4.SDL模型(P9+)

SDL(secure development lifecycle)模型的核心理念就是将软件安全的考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求分析到发布产品和维护产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。

软件安全(彭国军)期末复习

5. 可信计算平台的基本思想(P10+)

首先建立一个信任根,信任根的可信性由物理安全和管理安全确保(目前以TPM作为信任根),在建立一条信任链,从信任根开始到硬件平台、到操作系统、再到应用,一级认证一级,一级信任一级,从而把这种信任边界扩展到整个计算机系统。如果不明白可以参考视频

第二章

1. 硬盘的CHS参数(P13.)

最外圈的磁道是0号磁道,向圆心增长依次为1磁道、2磁道…磁盘的数据存放就是从最外圈开始的。
(1)磁头数(heads):最大为255(0~255);
(2)柱面数(cylinders):最大为1023(0~1023);
(3)扇区数(sectors):最大为63(1~63),每个扇区一般是512B;
硬盘的最大容量=512Bx扇区数x柱面数x磁头

2. INT 13H调用(P13.)

是BIOS提供的磁盘基本输入输出中断调用,使用的是CHS寻址方式,最大能访问8G左右的硬盘。

3. 主引导扇区的组成(P15)

主引导扇区是硬盘的第一个扇区

  • 主引导记录(MBR):000H-1BDH (446B);
  • 硬盘主分区表(DPT):1BEH-1FDH(64B);
  • 引导扇区标记(0xAA55):1FEH-1FFH(2B);
    使用FDISK/MBR可重建标准的主引导记录程序。

软件安全(彭国军)期末复习

4. 引导操作系统代码的两种方式与区别(+)

参考引导操作系统的方式
(1)传统模式:BIOS引导,硬盘分区类型必须是MBR;
(2)当前模式:UEFI引导,硬盘分区类型必须是GPT;

区别:

参考BIOS 与 UEFI的区别
(1)效率方面:大部分BIOS代码使用汇编语言开发,开发效率低;在UEFI中,绝大部分代码采用C语言编写,效率较高。
(2)性能方面:BOIS需要通过中断来完成,开销大,性能低;UEFI舍弃了中断方式,仅仅保留了时钟中断。外部设备的操作采用“事件+异步操作”完成,性能大大提高。
(3)扩展性方面:BIOS代码采用静态链接,不提供动态加载设备驱动的方案,功能扩展性差,升级缓慢;UEFI系统的可扩展性体现在两个方面:一是驱动的模块化设计;二是软硬件升级的兼容性,使得系统升级过程更加简单、平滑。
(4)安全方面:BIOS运行过程中对可执行代码没有安全方面的考虑;当系统的安全启动功能被打开后,UEFI在执行应用程序和驱动前会先检测程序和驱动的证书,仅当证书被信任时才会执行这个应用程序或驱动。

5. 引导分区、扩展分区、逻辑分区的区别

  • 引导分区(主分区)
    主分区也叫引导分区,Windows系统一般需要安装在这个主分区中,这样才能保证开机自动进入系统。简单来说,主分区就是可以引导电脑开机读取文件的一个磁盘分区,一块硬盘,最多可以同时创建4个主分区,当创建完四个主分区后,就无法再创建扩展分区和逻辑分区了。此外,主分区是独立的,对应磁盘上的第一个分区,目前绝大多数电脑,在分区的时候,一般都是将C盘分成主分区。
  • 扩展分区
    扩展分区是一个概念,实际在硬盘中是看不到的,也无法直接使用扩展分区。除了主分区外,剩余的磁盘空间就是扩展分区了。当一块硬盘将所有容量都分给了主分区,那就没有扩展分区了,仅当主分区容量小于硬盘容量,剩下的空间就属于扩展分区了,扩展分区可以继续进行扩展切割分为多个逻辑分区。
  • 逻辑分区
    在扩展分区上面,可以创建多个逻辑分区。逻辑分区相当于一块存储介质,和操作系统还有别的逻辑分区、主分区没有什么关系,是“独立的”。

软件安全(彭国军)期末复习

6. 文件系统(P16)

  • Windows系统中使用的文件系统
    FAT12、FAT16、FAT32、NTFS、WINFS等
  • Linux系统中使用的文件系统
    Ext2、Ext3、Minix、NTFS等

7. 80X86处理器的工作模式(P20)

80X86处理器支持三种工作模式:实模式、保护模式和虚拟8086模式。
DOS操作系统运行于实模式下,而Windows操作系统运行于保护模式下。
关于实模式下的寻址方式可以参考“段地址×16+偏移地址=物理地址”的本质含义

软件安全(彭国军)期末复习
软件安全(彭国军)期末复习软件安全(彭国军)期末复习

8. Windows内存布局(P23)

用户模式区:00010000H~7FFFEFFFH;
内核模式区:80000000H~FFFFFFFFH。

软件安全(彭国军)期末复习

9. 虚实地址转换(P24)

综合题,看软件安全和恶意代码综合题总结

10. 内存分配与管理函数(P26)

WIN32的内存API可以分为三类:虚拟内存管理(大块内存)、堆管理(小块内存)、内存映射文件管理(大文件、进程间通讯);
运用虚拟内存管理API分配内存时,可以指定为保留内存,而不是立即分配内存。

软件安全(彭国军)期末复习

11.计算机的启动过程(P28+)

参考了解计算机的启动过程和主引导扇区
(1)按下电源开关,主板控制芯片组向CPU发出重置信号,让CPU初始化,当电源稳定供电后,撤去重置信号,CPU立马从地址FFFF0H处开始执行指令,该指令跳到系统BIOS中的真正启动代码处。
(2)系统BIOS的启动代码进行POST(加电自检),检测系统中的关键设备是否正常工作。
(3)系统BIOS查找其他设备的BIOS程序,并调用这些BIOS内部的初始化代码来初始化设备。
(4)显示系统BIOS的启动画面。
(5)系统BIOS检测并显示CPU类型和工作频率。测试主机所有的内存容量并显示内存测试的数值。
(6)系统BIOS检测系统中安装的标准硬件设备。
(7)系统BIOS检测并配置系统中安装的即插即用设备,并将信息显示在屏幕上。
(8)系统BIOS会重新清屏并在屏幕上方显示出一个系统配置列表。
(9)系统BIOS更新ESCD。
(10)ESCD数据更新完毕后,系统BIOS的启动代码将根据用户指定的启动顺序从软盘、硬盘或光驱启动。
软件安全(彭国军)期末复习

12. PE文件格式(P34)

PE就是Portable Executable(可移植的执行体),是Win32可执行文件的标准格式,任何Win32平台的PE装载器都能识别和使用PE文件格式。

13. Win32病毒的运行过程(P35+)

(1)用户点击(或系统自动运行)HOST程序。
(2)装载HOST程序到内存。
(3)通过PE文件中的AddressOfEntryPoint和ImageBase之和来定位第一条语句的位置。
(4)从第一条语句开始执行(病毒代码可能在此时,也可能在HOST代码运行过程中获得控制权)。
(5)病毒主体代码执行完毕,将控制权交还给HOST程序。
(6)HOST程序继续执行。

14. PE文件结构(P35)

综合题,看软件安全和恶意代码综合题总结
软件安全(彭国军)期末复习

15. 计算机病毒如何得知一个文件是不是PE文件(P37)

首先看文件的前两个字节是不是4D5A,如果不是,则说明不是PE文件;如果是,则根据DOS程序头中的偏移3CH处的四个字节找到PE字串的偏移位置。然后查看该偏移位置的四个字节是否为50 45 00 00 ,如果不是,说明不是PE文件;如果是,那么我们认为它是一个PE文件。

第三章

1. 漏洞分类软件安全(彭国军)期末复习

(4)按对漏洞被利用方式的分类,可以将漏洞分为本地攻击、远程主动攻击,以及远程被动攻击。

2. 漏洞库(P54)

名称 厂商 干啥的
CVE标准 MITRE 将众所周知的安全漏洞的名称标准化,是不同的漏洞库和安全工具更容易共享数据
CNVD CNCERT 建立软件安全漏洞统一收集验证、预警发布及应急处理体系,提升我国在安全漏洞方面的整体研究水平
CNNVD 中国信息安全测评中心 建设运维国家信息安全漏洞库

3. 列举近3年来和软件缺陷、漏洞相关的重大安全事件。(P64+)

第四章

1. 缓冲区溢出漏洞(P65-P73)

概念看这篇博客软件安全复习资料的缓冲区部分

2. 函数调用堆栈

综合题,看软件安全和恶意代码综合题总结

3. SQL注入(P83+)

  • 定义:SQL注入就是攻击者通过把SQL命令插入到WEB表单或页面请求的查询字符串,使得最终达到欺骗服务器执行恶意的SQL命令的目的。通过提交的参数构造出巧妙的SQL语句,从而可以成功获取数据库中想要的数据,达到接管数据库的目的。
  • 举例:服务器端查询语句”select * from students where id=’ " +$_GET[‘id’]+" ’ ",发出的请求”http://www.example.com/index.php?id=1“,可以通过构造参数”?id='1 or 1=1“查询所有记录。

4. XSS(P87)

  • 危害:使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面使,则可导致嵌入的恶意脚本代码得执行,从而达到恶意攻击用户的目的。
  • 举例:”http://www.example.com/index.php?id=1“,构造参数”?id=<script>alert('xss');</script>“,访问时会弹出警告框。

第五章~第十三章

软件安全复习资料

上一篇:PE文件格式


下一篇:C#动态创建Xml-LinQ方式