《软件系统安全》课程教学大纲(本科).docx

上传人:聆听****声音 文档编号:3866 上传时间:2023-04-28 格式:DOCX 页数:13 大小:33.66KB
下载 相关 举报
《软件系统安全》课程教学大纲(本科).docx_第1页
第1页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第2页
第2页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第3页
第3页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第4页
第4页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第5页
第5页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第6页
第6页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第7页
第7页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第8页
第8页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第9页
第9页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第10页
第10页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第11页
第11页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第12页
第12页 / 共13页
《软件系统安全》课程教学大纲(本科).docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《软件系统安全》课程教学大纲(本科).docx

《《软件系统安全》课程教学大纲(本科).docx》由会员分享,可在线阅读,更多相关《《软件系统安全》课程教学大纲(本科).docx(13页珍藏版)》请在冰点文库上搜索。

《软件系统安全》课程教学大纲(本科).docx

软件系统安全

(SoftwareSystemsSecurity)

课程代码:

06410091

学分:

2.0

学时:

 32(其中:

课堂教学学时:

24实验学时:

上机学时:

8课程实践学时:

先修课程:

程序设计基础、面向对象程序设计、操作系统、数据结构、数据库系统原理

适用专业:

信息安全

教材:

《软件安全》,彭国军等,武汉大学出版社,2015年9月第一版

一、课程性质与课程目标

(一)课程性质

软件是计算机系统的灵魂、信息化的核心以及互联网应用的基石。

一方面,随着软件规模的不断增大,软件的开发、集成和演化变得越来越复杂,这导致软件产品在推出时通常会含有较多已知或未知的缺陷,这些缺陷对软件系统的安全可靠运行构成了严重的威胁。

另一方面,软件的运行和开发环境从传统的静态封闭状态演变成互联网环境下动态开放的状态,导致发现越来越多的软件漏洞和缺陷。

恶意攻击的目标往往涉及国家关键基础设施和各类重要信息系统,对我国网络空间安全甚至国家安全形成了巨大威胁。

本课程旨在介绍软件系统安全基础、安全防护的核心理论和相关技术,使学生掌握软件系统安全的核心技术和理论,培养学生综合利用专业基础知识来设计和研发软件安全防护产品的能力。

(二)课程目标

课程目标1:

了解软件系统安全的基本概念、其面临的主要问题和挑战,以及目前典型的安全攻击方法。

课程目标2:

了解并掌握软件安全基础知识

课程目标3:

理解软件漏洞基本概念

课程目标4:

理解并掌握软件漏洞模型及分类

课程目标5:

掌握软件漏洞的检测、利用和防护。

课程目标6:

理解并掌握恶意代码及防范技术

课程目标7:

理解并掌握操作系统安全机制

课程目标8:

对软件系统安全的个案,能够综合运用相关知识进行识别、分析、判断和建模,具备复杂问题分解能力。

课程目标9:

能够对软件系统安全问题进行需求分析,具有清晰地描述设计任务以及设计整体技术解决方案的能力。

课程目标10:

具备风险意识,能够综合技术、社会、健康、安全、法律、文化以及环境等因素,设计/开发、分析、比较和选择合理方案。

(三)课程目标与专业毕业要求指标点的对应关系

本课程支撑专业培养计划中毕业要求指标点1-4, 3-2,4-2。

1.毕业要求1-4:

能将数学、自然科学、工程基础和专业知识运用到信息安全复杂工程问题的表述中。

2.毕业要求3-2:

具备对信息安全复杂工程问题进行需求分析与设计解决方案的能力,并在分析设计过程中能体现创新意识,以及能综合考虑经济、社会、健康、安全、法律、文化以及环境等因素进行可行性分析。

3.毕业要求4-2:

就信息安全复杂工程问题,具备设计可行实验方案的能力。

课程目标

毕业要求指标点

1

2

3

4

5

6

7

8

9

10

毕业要求1-4

毕业要求3-2

毕业要求4-2

二、课程内容与教学要求

第一章软件安全概述

(一)课程内容

1.信息与信息安全

2.什么是软件安全

3.软件安全威胁及其来源

4.如何加强软件安全保护

(二)教学要求

1.了解信息的概念,并在此基础上掌握信息安全的实质。

2.理解和掌握软件系统安全的概念,了解解决软件系统安全问题的根本方法。

3.了解软件缺陷和软件漏洞的概念。

4.了解恶意软件和软件破解。

5.了解加强软件安全防护的技术措施。

(三)重点与难点

1. 重点

软件缺陷、软件漏洞

2. 难点

信息安全概念的演变

第二章软件系统安全基础

(一)课程内容

1.软件系统安全威胁成因

2.软件系统安全特征

3.程序内存结构与管理

4.计算机的引导过程

5.PE文件格式

(二)教学要求

1.了解和掌握计算机磁盘结构、主引导扇区结构

2.掌握软件系统安全触发机制

3.软件系统安全保障模式

4.掌握Windows内存结构与管理

5.理解计算机的引导过程

6.了解和掌握PE文件格式

(三)重点与难点

1.重点

软件系统安全机制、Windows内存结构与管理、PE文件格式

2.难点

系统安全模型、FAT32和NTFS文件系统、Windows内存结构与管理

第三章软件漏洞成因与特征

(一)课程内容

1.软件漏洞成因分析

2.漏洞成因分类

3.漏洞特征及其描述

4.漏洞内因及外因

(二)教学要求

1.理解并掌握成因分类

2.理解并掌握漏洞特征描述方法

3.理解并掌握脆弱性内因

4.理解并掌脆弱性外因

(三)重点与难点

1.重点

漏洞成因图、漏洞特征的描述

2.难点

软件漏洞内因的类型、漏洞外因表现形式

第四章软件漏洞利用与防护

(一)课程内容

1.软件漏洞的检测方法

2.软件漏洞的利用方式

3.漏洞分类及其标准

4.典型的软件漏洞机理分析

5.软件漏洞的利用和发现

6.Windows系统安全机制及漏洞防护技术

(二)教学要求

1.理解漏洞产生的原因

2.掌握漏洞的利用方式

3.了解漏洞分类及其标准

4.理解和掌握缓冲区溢出漏洞、Web应用程序漏洞

5.掌握Shellcode开发

6.了解软件漏洞挖掘技术及工具

7.了解软件漏洞利用平台及框架

(三)重点与难点

1.重点

漏洞产生的原因、漏洞的利用方式、漏洞的分类及其标准、缓冲区溢出漏洞、Web应用程序漏洞、Shellcode开发

2.难点

缓冲区溢出漏洞、Web应用程序漏洞、Shellcode开发

第五章 恶意软件及病毒

(一)课程内容

1. 恶意代码分类

2. 恶意软件防范技术

3. 不安全编码分类

4. 软件病毒概念与检测技术

5. 恶意代码检测方法

(二)教学要求

1.了解并掌握常见的恶意软件分类

2.理解恶意软件表现机制

3.理解和掌握恶意软件检测技术

4.理解和掌握不安全编码防范措施

5.理解病毒的机制和原理

(三)重点与难点

1.重点

恶意软件的检测、不安全编码的预防

2.难点

病毒的检测机理

第六章操作系统安全

(一)课程内容

1.硬件安全机制

2.标识与鉴别

3.访问控制

4.最小特权管理

5.可信通路

6.安全审计

7.隐蔽通道

(二)教学要求

1.理解硬件安全机制

2.理解和掌握安全操作系统中的标识与鉴别机制

3.理解和掌握操作系统中的访问控制机制

4.理解和掌握特权管理的思想

5.理解可信通路

6.理解安全事件

7.理解隐蔽通道

(三)重点与难点

1.重点

操作系统中的身份标识与鉴别机制、操作系统中的访问控制、隐蔽通道

2.难点

操作系统中的访问控制、隐蔽通道

 

三、本课程开设的实验项目

编号

实验项目名称

学时

类型

要求

支撑的课程目标

1

栈溢出过程跟踪

2

验证性

必做

1、4、6、7

2

键盘记录木马

2

设计性

必做

1、4、6、7、9、10

3

Shellcode编程

4

设计性

必做

1、4、6、7、9、10

实验1:

栈溢出过程跟踪

实验目标

通过实验熟悉函数调用过程中堆栈的变化规律和进程的内存布局,深入理解栈溢出的基本原理,掌握栈溢出过程跟踪方法。

实验要求:

(1)单步调试指定程序,观察堆栈变化情况;

(2)将观察结果截图,并写入实验报告;

实验环境:

(1)实验所用的计算机的操作系统为Windows,并安装VC开发环境

(2)附录

voidfunction(char*buf_src,inti)

{

charbuf_dest[54];

printf(“i=%d”,i);

strcpy(buf_dest,buf_src);

}

voidmain(intargc,char**argv)

{

inkk;

charstr[128];

for(k=0;k<126;k++)str[k]=’b’;

str[127]=’\0’;

function(str);

}

实验2:

键盘记录木马

实验目标

掌握键盘记录木马的编程实现技术。

实验要求

(1)编程实现记录键盘的木马;

(2)运行所编写的木马程序,然后修改Windows用户密码,观察键盘记录木马的记录结果;

(3)所有结果均需截图,并写入实验报告.

实验环境

实验所用的计算机的操作系统为Windows,并安装Python开发环境及Python第三方库PyHook

实验3:

Shellcode编程

实验目标

通过实验了解Shellcode的程序结构,掌握基本的shellcode编程方法。

实验要求

(1)设计并实现shellcode和shellcode的调用程序;

(2)运行并观察结果;

(3)有条件的情况下,修改和扩展shellcode及调用程序,以扩展其功能;

(4)将相关代码及运行结果写入实验报告。

实验环境

实验所用的计算机的操作系统为Windows,并安装VC开发环境。

四、学时分配及教学方法

(按序填写)

教学形式及学时分配

主要教学方法

支撑的课程目标

课堂教学

实验

上机

课程实践

小计

第一章软件安全概述

2

2

讲授

1、2

软件系统安全基础

4

4

讲授、讨论

1、2

第三章软件漏洞成因与特征

4

4

8

讲授、讨论、演示、研究型教学

3、4、5、8、9

第四章软件漏洞利用与防护

4

2

6

讲授、讨论、研究型教学

3、4、5、9、10

第五章恶意软件及病毒

6

2

8

讲授、讨论、研究型教学

5、6、8、10

第六章操作系统安全

4

4

讲授、讨论、研究型教学

7、9、10

合计

24

8

32

五、课程考核

考核形式

考核要求

考核权重

备注

课堂表现

课堂讨论的参与度与质量。

每次满分10分。

该部分最终得分计算:

取每个学生的该部分表现的得分的平均值,折算到总分。

10%

章节专题技术报告

报告格式规范;内容完整;图文并茂;可读性好。

该部分得分计算:

取每个学生的本课程章节专题报告的得分的平均值,折算到总分。

20%

上机

完成3个实验,每次5分;主要考查问题分析能力,问题解决方案设计能力和结果分析能力

10%

项目设计

请根据所掌握的知识,设计并完成一个有相当复杂程度的软件系统安全项目。

要求:

项目有价值;有完整规范的项目分析和设计文档。

最终提交:

完整的源代码和可执行文件及详细的安装配置说明;清晰完整的软件演示视频文件;详细规范的项目设计报告电子版和对应的纸质文件。

60%

六、参考书目及学习资料

1. 《信息系统安全概论》,石文昌,电子工业出版社,2014年1月第二版

2.《网络攻防原理与技术》,吴礼发,机械工业出版社,2017年第二版

3.《白帽子讲浏览器安全》,钱文祥,电子工业出版社,2016年第一版

4.《MalwareAnalyst'sCookbookandDVD:

ToolsandTechniquesforFightingMaliciousCode》,MichaelLigh等,Wiley,2010年第一版

5.《ComputerSystems:

AProgrammer'sPerspective》,RandalE.Bryant等,Pearson,2015年第3版

七、大纲说明

1.建议采用多媒体教学手段,采用讲练结合的方式,多种教学手段综合运用。

2.实验内容和要求可以根据实际情况进行动态更新。

3.本课程涉及到的知识点较多,但是学好这门课程能够显著增强学生的就业竞争能力。

2017 年 8 月 25 日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2