windows安全原理及技术.doc_第1页
windows安全原理及技术.doc_第2页
windows安全原理及技术.doc_第3页
windows安全原理及技术.doc_第4页
windows安全原理及技术.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

085155 Windows安全原理与技术学分:3 学时:48先修课程:高级语言程序设计、操作系统课程性质:专业选修(限选)课程适用专业:信息安全专业内容简介:Windows安全原理与技术是信息安全专业网络安全方向专业选修(限选)课程。本课程的目的在于使学生掌握Windows系统内核的基本原理和Windows安全技术。本课程内容: WINDOWS系统的内存管理,虚拟内存访问,文件的内存映射;PE文件结构;进程和线程的管理、Win 32消息处理、堆栈、动态链接库;活动目录、身份验证、访问控制、文件系统安全、网络传输安全、应用服务安全、组策略、安全配置与分析、安全审核和公钥基础结构等。参 考 书: 1 Jeffrey Richter Windows核心编程 机械工业出版社 2000 年5月2 Greg Hoglund Windows内核的安全防护 清华大学出版社 2007 年4月3 Charles Petzold Windows程序设计 北京大学出版社 2004 年 5月4 刘晖Windows安全指南 电子工业出版社 2008 年2月5 王轶骏 Windows系统安全原理与技术 清华大学出版社 2005-8-1编 写 人: 审 核 人: 课程编号Windows安全原理与技术课程教学大纲48学时 3学分一、课程的性质、目的及任务本课程的教学目的是使学生掌握Windows系统内核的基本原理和Windows安全技术。第一部分是关于Windows系统内核,包括WINDOWS系统的内存管理,虚拟内存访问,文件的内存映射;PE文件结构;进程和线程的管理、Win 32消息处理、堆栈、动态链接库。对Windows系统内核的深入理解是掌握windows安全技术的基础。第二部分关于Windows系统的安全体系结构和构成组件,内容涵盖了活动目录、身份验证、访问控制、文件系统安全、网络传输安全、应用服务安全、组策略、安全配置与分析、安全审核和公钥基础结构等。通过本课程的学习,使学生对Windows系统的运行及安全机制有较深入的了解。二、适用专业信息安全专业三、先修课程高级语言程序设计、操作系统四、课程的基本要求1)要求学生有一定的Windows系统编程能力,因为本课会大量涉及到windows系统下的程序,所有的例子都是用c,c+实现,所以同时要求学生有较好的c,c+功底。2)对计算机体系结构有较好的理解。在内核编程中会涉及一些底层硬件的知识。3) 对汇编语言有一定的了解。五、课程的教学内容第一部分 深入了解WINDOWS系统第1章 WINDOWS系统的内存管理 1.1 引言 1.2 内存管理概述 1.2.1 虚拟内存 1.2.2 CPU工作模式 1.2.3 逻辑、线性和物理地址 1.2.4 存储器分页管理机制 1.2.5 线性地址到物理地址的转换 1.3 虚拟内存访问 1.3.1 获取系统信息 1.3.2 在应用程序中使用虚拟内存 1.3.3 获取虚存状态 1.3.4 确定虚拟地址空间的状态 1.3.5 改变内存页面保护属性 1.3.6 进行一个进程的内存读写 1.4 文件的内存映射 1.4.1 内存映射API函数 1.4.2 用内存映射在多个应用程序之间共享数据 1.4.3 用内存映射文件读取大型文件 1.5 深入认识指针的真正含义 1.5.1 指针的真正本质 1.5.2 用指针进行应用程序之间的通信 1.6 本章小结第2章 PE文件结构 2.1 引言 2.2 PE文件格式概述 2.2.1 PE文件结构布局 2.2.2 PE文件内存映射 2.2.3 Big-endian和Little-endian 2.2.4 3种不同的地址 2.3 PE文件结构 2.3.1 MS-DOS头部 2.3.2 IMAGE_NT_HEADER头部 2.3.3 IMAGE_SECTION_HEADER头部 2.4 如何获取PE文件中的OEP 2.4.1 通过文件读取OEP值 2.4.2 通过内存映射读取OEP值 2.4.3 读取OEP值方法的测试 2.5 PE文件中的资源 2.5.1 查找资源在文件中的起始位置 2.5.2 确定PE文件中的资源 2.6 一个修改PE可执行文件的完整实例 2.6.1 如何获得MessageBoxA代码 2.6.2 把MessageBoxA()代码写入PE文件的完整实例 2.7 本章小结 第3章 内核对象 3.1 什么是内核对象 3.1.1 内核对象的使用计数 3.1.2 安全性 3.2 进程的内核对象句柄表 3.2.1 创建内核对象 3.2.2 关闭内核对象 3.3 跨越进程边界共享内核对象 3.3.1 对象句柄的继承性 3.3.2 改变句柄的标志 3.3.3 命名对象 3.3.4 终端服务器的名字空间 3.3.5 复制对象句柄第4章 进程基础知识 4.1 编写第一个Windows应用程序 4.1.1 进程的实例句柄 4.1.2 进程的前一个实例句柄 4.1.3 进程的命令行 4.1.4 进程的环境变量 4.1.5 进程的亲缘性 4.1.6 进程的错误模式 4.1.7 进程的当前驱动器和目录 4.1.8 进程的当前目录 4.1.9 系统版本 4.2 CreateProcess函数 4.2.1 pszApplicationName和pszCommandLine 4.2.2 psa Process、psa Thread和binherit Handles 4.2.3 fdwCreate 4.2.4 pvEnvironment 4.2.5 pszCurDir 4.2.6 psiStartInfo 4.2.7 ppiProcInfo 4.3 终止进程的运行 4.3.1 主线程的进入点函数返回 4.3.2 ExitProcess函数 4.3.3 TerminateProcess函数 4.3.4 进程终止运行时出现的情况 4.4 子进程 4.5 枚举系统中运行的进程第7章 线程的基础知识 7.1 何时创建线程 7.2 何时不能创建线程 7.3 编写第一个线程函数 7.4 CreateThread函数 7.4.1 psa 7.4.2 cbStack 7.4.3 pfnStartAddr和pvParam 7.4.4 fdwCreate 7.4.5 pdwThreadID 7.5 终止线程的运行 7.5.1 线程函数返回 7.5.2 ExitThread函数 7.5.3 TerminateThread函数 7.5.4 在进程终止运行时撤消线程 7.5.5 线程终止运行时发生的操作 7.7 线程的一些性质 7.7 C/C+运行期库的考虑 7.7.1 Oops错误地调用了Create Thread 7.7.2 不应该调用的C/C+运行期库函数 7.8 对自己的ID概念应该有所了解第10章 内存映射文件 10.1 内存映射的可执行文件和DLL文件 10.1.1 可执行文件或DLL的多个实例不能共享静态数据 10.1.2 在可执行文件或DLL的多个实例之间共享静态数据 10.1.3 AppInst示例应用程序10.2 内存映射数据文件 10.2.1 方法 1:一个文件,一个缓存 10.2.2 方法 2:两个文件,一个缓存 10.2.3 方法 3:一个文件,两个缓存 10.2.4 方法 4:一个文件,零缓存 10.3 使用内存映射文件 10.3.1 步骤 1:创建或打开文件内核对象 10.3.2 步骤 2:创建一个文件映射内核对象 10.3.3 步骤 3:将文件数据映射到进程的地址空间 10.3.4 步骤4:从进程的地址空间中撤消文件数据的映像 10.3.5 步骤 5和步骤 6:关闭文件映射对象和文件对象 10.3.6 文件倒序示例应用程序 10.4 使用内存映射文件来处理大文件 10.5 内存映射文件与数据视图的相关性 10.6 设定内存映射文件的基地址 10.7 实现内存映射文件的具体方法 10.8 使用内存映射文件在进程之间共享数据 10.9 页文件支持的内存映射文件第11章 堆栈 11.1 进程的默认堆栈 11.2 为什么要创建辅助堆栈 11.2.1 保护组件 11.2.2 更有效的内存管理 11.2.3 进行本地访问 11.2.4 减少线程同步的开销 11.2.5 迅速释放堆栈 11.3 如何创建辅助堆栈 11.3.1 从堆栈中分配内存块 11.3.2 改变内存块的大小 11.3.3 了解内存块的大小 11.3.4 释放内存块 11.3.5 撤消堆栈 11.3.6 用C+程序来使用堆栈 11.4 其他堆栈函数第12章 DLL基础 12.1 DLL与进程的地址空间 12.2 DLL的总体运行情况 12.3 创建DLL模块 12.3.1 输出的真正含义是什么 12.3.2 创建用于非Visual C+工具DLL12.4 创建可执行模块 12.5 运行可执行模块 第13章 DLL的高级操作技术 13.1 DLL模块的显式加载和符号链接 13.1.1 显式加载DLL模块 13.1.2 显式卸载DLL模块 13.1.3 显式链接到一个输出符号13.2 DLL的进入点函数 13.2.1 DLL_PROCESS_ATTACH通知 13.2.2 DLL_PROCESS_DETACH通知 13.2.3 DLL_THREAD_ATTACH通知 13.2.4 DLL_THREAD_DETACH通知 13.2.5 顺序调用DllMain 13.2.6 DllMain与C/C+运行期库 13.3 延迟加载DLL 13.4 函数转发器 13.5 已知的DLL 13.6 DLL转移 13.7 改变模块的位置 13.8 绑定模块第二部分 WINDOWS系统安全与应用第1章数据安全1.1NTFS权限简介1.1.1FAT32和NTFS文件系统对比1.1.2获得NTFS分区1.1.2.1将分区格式化为NTFS文件1.1.2.1系统1.1.2.2将分区转换为NTFS文件系统1.2NTFS权限设置1.2.1设置权限1.2.2判断有效权限1.3NTFS权限高级应用1.3.1权限的继承1.3.2获取所有权1.3.3权限设置的注意事项1.4EFS加密1.4.1加密和解密文件1.4.2证书的备份和还原1.4.2.1证书的备份1.4.2.2证书的还原1.4.3EFS的高级用法1.4.3.1EFS加密文件的共享1.4.3.2加密可移动存储介质1.4.3.3使用恢复代理1.4.3.4EFS的使用注意事项第2章活动目录2.1活动目录基础2.2活动目录的体系结构2.3活动目录对象2.4域2.5站点2.6活动目录的使用第3章身份验证3.1身份验证概述3.2交互式登录3.3网络身份验证3.4NTLM身份验证协议3.5Kerberos身份验证协议3.6智能卡第4章访问控制4.1访问控制概述4.2访问控制机制4.3用户和组基础4.4内置本地组4.5默认组成员4.6默认的访问控制设置第5章网络传输的安全5.1网络的不安全性5.2IPSe5.3SSL5.4VPN第6章组策略6.1组策略概述6.2组策略的存储6.3组策略的配置6.4组策略的应用6.5组策略的实现第7章安全配置与分析7.1安全配置工具集概述7.2安全配置工具组件7.3安全模板管理单元7.4安全配置和分析管理单元7.5组策略管理单元的安全设置扩展7.6Secedit命令第8章安全审核8.1Windowsc2000安全审核概述8.2审核策略的设置8.3事件日志的管理第9章公钥基础结构9.1PKI基础9.2Windowsc2000中的PKI9.3使用Windowsc2000中的PKI第10章 WINDOWS系统中的rootkit10.1 攻击者的动机10.10.1 潜行的角色10.10.2 不需潜行的情况10.2 rootkit的定义10.3 rootkit存在的原因10.3.1 远程命令和控制10.3.2 软件窃听10.3.3 rootkit的合法使用10.4 rootkit的存在历史10.5 rootkit的工作方式10.5.1 打补丁10.5.2 复活节彩蛋10.5.3 间谍件修改10.5.4 源代码修改10.5.5 软件修改的合法性10.6 rootkit与其他技术的区别10.6.1 rootkit不是软件利用工具10.6.2 rootkit不是病毒10.7 rootkit与软件利用工具10.8 攻击型rootkit技术10.8.1 HIPS10.8.2 NIDS10.8.3 绕过IDS/IPS10.8.4 绕过取证分析工具10.9 小结六、学时分配表内 容讲课课堂讨论录像课实验实习上机小计Windows系统的内存管理22PE文件结构22内核对象22进程基础知识22线程的相关知识44内存映射文件22堆栈22动态链接库44数据安全224活动目录22身份验证22访问控制22网络传输的安全224组策略22安全审核224公钥基础结构224Windows系统中的rootkit44 合 计40848七、主要参考书1 Jeffrey Richter Windows核心编程 机械工业出版社 2000 年5月2 Greg Hogl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论