1、软件系统安全(Software Systems Security)课程代码:06410091学分:2.0学时:32 (其中:课堂教学学时:24 实验学时: 上机学时:8 课程实践学时: )先修课程:程序设计基础、面向对象程序设计、操作系统、数据结构、数据库系统原理适用专业:信息安全教材:软件安全,彭国军等,武汉大学出版社,2015年9月第一版一、课程性质与课程目标(一)课程性质软件是计算机系统的灵魂、信息化的核心以及互联网应用的基石。一方面,随着软件规模的不断增大,软件的开发、集成和演化变得越来越复杂,这导致软件产品在推出时通常会含有较多已知或未知的缺陷,这些缺陷对软件系统的安全可靠运行构成了
2、严重的威胁。另一方面,软件的运行和开发环境从传统的静态封闭状态演变成互联网环境下动态开放的状态,导致发现越来越多的软件漏洞和缺陷。恶意攻击的目标往往涉及国家关键基础设施和各类重要信息系统,对我国网络空间安全甚至国家安全形成了巨大威胁。本课程旨在介绍软件系统安全基础、安全防护的核心理论和相关技术,使学生掌握软件系统安全的核心技术和理论,培养学生综合利用专业基础知识来设计和研发软件安全防护产品的能力。(二)课程目标课程目标1:了解软件系统安全的基本概念、其面临的主要问题和挑战,以及目前典型的安全攻击方法。课程目标2:了解并掌握软件安全基础知识课程目标3:理解软件漏洞基本概念课程目标4:理解并掌握软
3、件漏洞模型及分类课程目标5:掌握软件漏洞的检测、利用和防护。课程目标6:理解并掌握恶意代码及防范技术课程目标7:理解并掌握操作系统安全机制课程目标8:对软件系统安全的个案,能够综合运用相关知识进行识别、分析、判断和建模,具备复杂问题分解能力。课程目标9:能够对软件系统安全问题进行需求分析,具有清晰地描述设计任务以及设计整体技术解决方案的能力。课程目标10:具备风险意识,能够综合技术、社会、健康、安全、法律、文化以及环境等因素,设计/开发、分析、比较和选择合理方案。(三)课程目标与专业毕业要求指标点的对应关系本课程支撑专业培养计划中毕业要求指标点1-4,3-2,4-2。1.毕业要求1-4:能将数
4、学、自然科学、工程基础和专业知识运用到信息安全复杂工程问题的表述中。2.毕业要求3-2:具备对信息安全复杂工程问题进行需求分析与设计解决方案的能力,并在分析设计过程中能体现创新意识,以及能综合考虑经济、社会、健康、安全、法律、文化以及环境等因素进行可行性分析。3.毕业要求4-2:就信息安全复杂工程问题,具备设计可行实验方案的能力。课程目标毕业要求指标点12345678910毕业要求1-4毕业要求3-2毕业要求4-2二、课程内容与教学要求第一章 软件安全概述(一)课程内容1.信息与信息安全2.什么是软件安全3.软件安全威胁及其来源4.如何加强软件安全保护(二)教学要求1.了解信息的概念,并在此基
5、础上掌握信息安全的实质。2.理解和掌握软件系统安全的概念,了解解决软件系统安全问题的根本方法。3.了解软件缺陷和软件漏洞的概念。4.了解恶意软件和软件破解。5.了解加强软件安全防护的技术措施。(三)重点与难点1.重点软件缺陷、软件漏洞2.难点信息安全概念的演变第二章 软件系统安全基础(一)课程内容1.软件系统安全威胁成因2.软件系统安全特征3.程序内存结构与管理4.计算机的引导过程5.PE文件格式(二)教学要求1.了解和掌握计算机磁盘结构、主引导扇区结构2.掌握软件系统安全触发机制3.软件系统安全保障模式4.掌握Windows内存结构与管理5.理解计算机的引导过程6.了解和掌握PE文件格式(三
6、)重点与难点1.重点软件系统安全机制、Windows内存结构与管理、PE文件格式2.难点系统安全模型、FAT32和NTFS文件系统、Windows内存结构与管理第三章 软件漏洞成因与特征(一)课程内容1.软件漏洞成因分析2.漏洞成因分类3.漏洞特征及其描述4.漏洞内因及外因(二)教学要求1.理解并掌握成因分类2.理解并掌握漏洞特征描述方法3.理解并掌握脆弱性内因4.理解并掌脆弱性外因(三)重点与难点1.重点漏洞成因图、漏洞特征的描述2.难点软件漏洞内因的类型、漏洞外因表现形式第四章 软件漏洞利用与防护(一)课程内容1.软件漏洞的检测方法2.软件漏洞的利用方式3.漏洞分类及其标准4.典型的软件漏
7、洞机理分析5.软件漏洞的利用和发现6.Windows系统安全机制及漏洞防护技术(二)教学要求1.理解漏洞产生的原因2.掌握漏洞的利用方式3.了解漏洞分类及其标准4.理解和掌握缓冲区溢出漏洞、Web应用程序漏洞5.掌握Shellcode开发6.了解软件漏洞挖掘技术及工具7.了解软件漏洞利用平台及框架(三)重点与难点1.重点漏洞产生的原因、漏洞的利用方式、漏洞的分类及其标准、缓冲区溢出漏洞、Web应用程序漏洞、Shellcode开发2.难点缓冲区溢出漏洞、Web应用程序漏洞、Shellcode开发第五章恶意软件及病毒(一)课程内容1.恶意代码分类2.恶意软件防范技术3.不安全编码分类4.软件病毒概
8、念与检测技术5.恶意代码检测方法(二)教学要求1.了解并掌握常见的恶意软件分类2.理解恶意软件表现机制3.理解和掌握恶意软件检测技术4.理解和掌握不安全编码防范措施5.理解病毒的机制和原理(三)重点与难点1.重点恶意软件的检测、不安全编码的预防2.难点病毒的检测机理第六章 操作系统安全(一)课程内容1.硬件安全机制2.标识与鉴别3.访问控制4.最小特权管理5.可信通路6.安全审计7.隐蔽通道(二)教学要求1.理解硬件安全机制2.理解和掌握安全操作系统中的标识与鉴别机制3.理解和掌握操作系统中的访问控制机制4.理解和掌握特权管理的思想5.理解可信通路6.理解安全事件7.理解隐蔽通道(三)重点与难
9、点1.重点操作系统中的身份标识与鉴别机制、操作系统中的访问控制、隐蔽通道2.难点操作系统中的访问控制、隐蔽通道三、本课程开设的实验项目编号实验项目名称学时类型要求支撑的课程目标1栈溢出过程跟踪2验证性必做1、4、6、72键盘记录木马2设计性必做1、4、6、7、9、103Shellcode编程4设计性必做1、4、6、7、9、10实验1:栈溢出过程跟踪实验目标通过实验熟悉函数调用过程中堆栈的变化规律和进程的内存布局,深入理解栈溢出的基本原理,掌握栈溢出过程跟踪方法。实验要求:(1)单步调试指定程序,观察堆栈变化情况;(2)将观察结果截图,并写入实验报告;实验环境:(1)实验所用的计算机的操作系统为
10、Windows,并安装VC开发环境(2)附录void function(char *buf_src, int i)char buf_dest54;printf(“i=%d”,i);strcpy(buf_dest, buf_src);void main(int argc, char * argv)ink k;char str128;for(k=0; k126; k+) strk=b;str127=0;function(str);实验2:键盘记录木马实验目标掌握键盘记录木马的编程实现技术。实验要求(1)编程实现记录键盘的木马;(2)运行所编写的木马程序,然后修改Windows用户密码,观察键盘记录
11、木马的记录结果;(3)所有结果均需截图,并写入实验报告.实验环境实验所用的计算机的操作系统为Windows,并安装Python开发环境及Python第三方库PyHook实验3:Shellcode编程实验目标通过实验了解Shellcode的程序结构,掌握基本的shellcode编程方法。实验要求(1)设计并实现shellcode和shellcode的调用程序;(2)运行并观察结果;(3)有条件的情况下,修改和扩展shellcode及调用程序,以扩展其功能;(4)将相关代码及运行结果写入实验报告。实验环境实验所用的计算机的操作系统为Windows,并安装VC开发环境。四、学时分配及教学方法章(按序
12、填写)教学形式及学时分配主要教学方法支撑的课程目标课堂教学实验上机课程实践小计第一章 软件安全概述22讲授1、2软件系统安全基础44讲授、讨论1、2第三章 软件漏洞成因与特征448讲授、讨论、演示、研究型教学3、4、5、8、9第四章 软件漏洞利用与防护426讲授、讨论、研究型教学3、4、5、9、10第五章 恶意软件及病毒628讲授、讨论、研究型教学5、6、8、10第六章 操作系统安全44讲授、讨论、研究型教学7、9、10合计24832五、课程考核考核形式考核要求考核权重备注课堂表现课堂讨论的参与度与质量。每次满分10分。该部分最终得分计算:取每个学生的该部分表现的得分的平均值,折算到总分。10
13、%章节专题技术报告报告格式规范;内容完整;图文并茂;可读性好。该部分得分计算:取每个学生的本课程章节专题报告的得分的平均值,折算到总分。20%上机完成3个实验,每次5分;主要考查问题分析能力,问题解决方案设计能力和结果分析能力10%项目设计请根据所掌握的知识,设计并完成一个有相当复杂程度的软件系统安全项目。要求:项目有价值;有完整规范的项目分析和设计文档。最终提交:完整的源代码和可执行文件及详细的安装配置说明;清晰完整的软件演示视频文件;详细规范的项目设计报告电子版和对应的纸质文件。60%六、参考书目及学习资料1.信息系统安全概论,石文昌,电子工业出版社,2014年1月第二版2.网络攻防原理与
14、技术,吴礼发,机械工业出版社,2017年第二版3.白帽子讲浏览器安全,钱文祥,电子工业出版社,2016年第一版4.Malware Analysts Cookbook and DVD: Tools and Techniques for Fighting Malicious Code,Michael Ligh等,Wiley,2010年第一版5.Computer Systems: A Programmers Perspective,Randal E. Bryant等,Pearson,2015年第3版七、大纲说明1.建议采用多媒体教学手段,采用讲练结合的方式,多种教学手段综合运用。2.实验内容和要求可以根据实际情况进行动态更新。3.本课程涉及到的知识点较多,但是学好这门课程能够显著增强学生的就业竞争能力。2017年8月25日
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2