北京大学软件与微电子学院《操作系统与虚拟化安全》第一次作业答案参考

  • 格式:pdf
  • 大小:654.76 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、理论部分:

1-1、依据GB17859标准,简述第三级和第四级可信计算机信息系统的主要安全功能需求以及它们之间的主要差别。

第三级可信计算机(安全标记保护级):除了通过登录规程、审计安全性相关事件和隔离资源,使用户对自己的行为负责外,还提供有关安全策略模型、数据标记以及主体对客体强制访问控制的非形式化描述;具有准确地标记输出信息的能力;消除通过测试发现的任何错误。

第四级可信计算机(结构化保护级):计算机信息系统可信计算基通过自主和强制完整性策略,阻止非授权用户修改或破坏敏感信息。在网络环境中,使用完整性敏感标记来确信信息在传送中未受损。

主要差别:第四级的计算机信息系统可信计算基建立于一个明确定义的形式化安全策略模型之上,它要求将第三级系统中的自主和强制访问控制扩展到所有主体与客体。此外,还要考虑隐蔽通道。第四级的计算机信息系统可信计算基必须结构化为关键保护元素和非关键保护元素。计算机信息系统可信计算基的接口也必须明确定义,使其设计与实现能经受更充分的测试和更完整的复审。加强了鉴别机制;支持系统管理员和操作员的职能;提供可信设施管理;增强了配置管理控制。系统具有相当的抗渗透能力。

1-2、请阐述和举例说明CC标准中的脆弱性(vulnerability)、威胁(threat)和风险(risk) 概念及其相关关系。

脆弱性:由于硬件,软件,网络,人员,场所等不同条件下系统本身显示出的错误。例如:维护不善/存储介质的错误维护,对电磁辐射的敏感,众所周知的软件缺陷等。

威胁:威胁可能是故意的、意外的或环境的(自然的)。例如物理损坏(火灾,重大事故)。自然灾难,辐射干扰。

风险:由于可能发生的(用户操作不当)潜在威胁,强调“内在性”。例如:超出现有安全体制的一些操作,手机越狱、root等。

1-3、基本概念的解释:可信计算基、引用监控器、访问控制、安全功能与安全保证、安全策略与安全模型。

可信计算基:计算机系统内保护装置的总体,包括硬件、固件、软件和负责执行安全策略的组合体。它建立了一个基本的保护环境并提供一个可信计算系统所要求的附加用户服务。

引用监控器:引用监控器是一种特殊的监控器,负责控制对系统资源的访问。J.P. Anderson 把引用监控机的具体实现称为引用验证机制,它是实现引用监控机思想的硬件和软件的组合。

访问控制:按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。

安全功能与安全保证:安全功能是依赖于系统或设备对输入的正确操作,它是全部安全的一部分。当每一个特定的安全功能获得实现,并且每一个安全功能必需的性能等级被满足的时候,安全保证目标就达到了。

安全策略:有关管理、保护和发布敏感信息的法律、规定和实施细则。

安全模型:用于精确第和形式地描述信息系统的安全特征,以及用于解释系统安全相关行为的理由。

二、实践部分:

2-1、完成如下实践工作,并截屏说明实践步骤:1)下载安装虚拟机VMWare Workstation;2)在虚拟机中安装Linux 2.x ;3)通过自行编译,将Linux 2.x内核升级到Linux 3.x。

Ps:开始是安装的虚拟机,后来虚拟机实在太慢了,就装了双系统。

2-2、对2-1题的3)完成的同时,回答如下问题:

1)内核主要源代码目录包括什么,每个目录下主要实现什么管理?

/arch:目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系

结构的子目录。PC机一般都基于此目录。

/documentation:目录下是一些文档,没有内核代码,可惜都是English 的,是对每个目录作用的具体说明。

/drivers:目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于/drivers/sound;block 下为块设备驱动程序,比如ide(ide.c)。如果你希望查看所有可能包含文件

系统的设备是如何初始化的,你可以看/drivers/block/genhd.c中的

device_setup()。它不仅初始化硬盘,也初始化,因为安装nfs文件系统的时候需要网络。其他: 如, Lib放置核心的库代码; Net,核心与网络相关的代码; Ipc,

这个目录包含核心的进程间通讯的代码; Fs,所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2。

/fs:目录存放Linux支持的文件系统代码和各种类型的文件操作代码。每一个子目录支持一个文件系统,如ext3文件系统对应的就是ext3子目录

/include:目录包括编译核心所需要的大部分头文件,例如与平台相关的头文件在/include/linux子目录下,与 intel cpu相关的头文件在/include/asm-

i386子目录下,而/include/scsi目录则是有关scsi设备的头文件目录。

/init:目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。

/ipc:目录包含了核心进程间的通信代码。

/Kernel:内核管理的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c;同时与处理器结构相关代码都

放在/arch/*/kernel目录下。

/lib:目录包含了核心的库代码,不过与处理器结构相关的库代码被放在/arch/*/lib/目录下。

/mm:目录包含了所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等。与具体硬件体系结构相关的内存管理代码位于

/arch/*/mm目录下,例如/arch/i386/mm/Fault.c 。

/net:目录里是核心的网络部分代码,实现了各种常见的网络协议,其每个子目录对应于网络的一个方面。

/scripts:目录包含用于配置核心的脚本文件等

/block:块设备驱动程序I/O调度。

/crypto:常用加密和散列算法(如AES,SHA等),还有一些压缩和CRC 校验算法。

/security:主要包含SELinux模块。

/sound:ALSA,OSS音频设备的驱动核心代码和常用设备驱动。

/usr:实现了用于打包和压缩的cpio等。

2)内核升级必要的软件包需要那些?