还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
南开大学本科课程教学大纲课程信息课程名称软件安全英文名称Software Security课程代码COMP0187口通识必修课口通识选修课课程类别■专业必修课口专业选修课左二
322.5学分64学时器总学时32授课语言■中文口全英文口双语口外语语言类(单选)成绩类型■百分制口等级制(通过/不通过)(单选)开课单位网络空间安全学院先修课程高级语言程序设计、汇编语言与逆向技术课程负责人刘哲理课程教材与参考资料教作者名称出版社ISBN出版时间刘哲理贾春福漏洞利用与渗透测试清华大学出97873025材
2019.3基础版社27046作者名称出版社ISBN出版时间吴世忠郭涛董国伟等软件漏洞分析技术科学出版社
2014.11参考资料类别必做分组无32实验十三反序列化漏洞2上机/实3验内容复现中的反序列化漏洞,并执行其他的1223系统命令性质验证性类别必做分组无实验十四攻破主机33XP2上机/实3内容基于系统,对主机进行渗透测试Kali XP验性质验证性类别必做分组无思政作业如何使用所学的信息安全技术研讨342535顶级会议论文心得汇报2研讨3注.对应的课程目标可填写大纲中第四部分课程目标的相应序号
1.教学方式填写讲授、研讨、上机、实验、习题课等内容
2.实验课程要在教学内容中详细列出每个实验的名称、内容、实验性质(验证性、综合性、3设计性)、实验类别(选做、必做)和实验的分组情况等实践教学课程要写出相应的时间、地点、方式、教学内容等讲授课实施
5.1课堂授课采用雨课堂工具实施,基于雨课堂进行点名签到、每个知识点实时考核、随机点名问答,活跃课堂气氛在知识点讲解时融合网络安全技术服务国家网络安全事业的理念,积极引导同学们树立服务国家网络强国的意识,让同学们能够理解软件漏洞的风险和危害,能够在软件设计和开发过程考虑安全、法律、环境等制约因素部分课程内容以学生自学、期末试卷考核为主,学生自学方式以学堂在线慕课学习和录制的视频材料学习为主上机/实验课实施
5.2培养学生动手能力,以复现实验、解释实验过程和实验原理为主要目标定期抽查学生在实验课堂进行翻转,讲解已做完的实验,引发讨论,加强对知识的理解程度和认知程度研讨内容实施
5.3目标培养同学们计算机工程师的职业道德和规范,了解国家相关法律法规,不得利用所学技术手段损害公众和国家利益方式()实验课课堂组织思政讨论,围绕“黑客红客我该怎么做”、“网络安全需要我们1做什么”等开展交流互动,引导同学们知法懂法、服务国家网络安全战略()完成思政作业2《如何使用所学的信息安全技术》,并请优秀作业获得者进行分享交流
六、课程考核请简述本课程考核方案(我校推行课程的过程化考核,鼓励采用平时多次考核的方式过程化考核包括课后书面作业、实践、上机、课堂讨论、课堂作业表现及考试等等)课程的考核采用平时成绩和期末考试相结合的考核形式平时成绩占总评成绩包括45%,课堂表现通过雨课堂工具实时答题进行考核,占总评成绩支撑课程目标和
1.10%,12o点名签到通过雨课堂工具进行点名签到,占总评成绩的支撑课程目标
2.5%,4实验报告通过对实验课堂展示汇报、实验报告评分等方式完成考核,占总评成绩支撑
3.25%,课程目标3思政作业通过对课堂研讨表现、思政作业评分等方式完成考核,占总评成绩支撑课程
4.5%,目标4期末考试采用闭卷考试的考核形式(分),占总评成绩包括10055%,选择题(分),支撑课程目标、和
1.30124判断题(分),支撑课程目标和
2.2012简单题(分),支撑课程目标和
3.3412综合题(分),支撑课程目标和
4.1612考核环节占比与课程目标对应关系表序号评估环节与内容成绩占比对应课程目标选择题(1-2)软件安全基本概念和职业道德规13%4范认知选择题(3・14)逆向与汇编知识、软件漏洞概念、218%1漏洞利用和漏洞挖掘选择题(15-20)渗透测试、WEB系统漏洞及WEB39%2安全防护相关知识判断题逆向与汇编知识、软件漏洞概念、漏洞利414%1用和漏洞挖掘判断题15-20渗透测试、WEB系统漏洞及WEB56%2安全防护相关知识简答题1-5软件分析方法、软件漏洞识别及利624%1用、漏洞挖掘方法7简答题6-7Web漏洞分析、渗透测试知识210%8综合题代码安全分析和漏洞识别116%注对应的课程目标可填写大纲中第四部分课程目标的相应序号
七、审批意见开课单位学术委员会或本科教学指导委员会意见:负责人签字:日期:开课单位分管负责人意见:负责人签字:单位公章日期:教务处意见:负责人签字:公章日期:
二、中文课程简介(简要介绍课程的目标、主要授课内容、授课对象以及在学生培养中的作用,字)150—500面向大二学生,融合软件漏洞、漏洞分析、漏洞利用、渗透测试、安全等WEB内容于一体,配合大量丰富的实践案例(有配套的视频教程),激发学生对于软件安全的专业兴趣通过本课程的学习,将培养学生信息安全攻防的基本知识和实际动手能力,学会如何从漏洞利用角度去发现和解决软件安全、系统安全和安全WEB有关的问题,学会如何利用渗透测试过程和工具来测评系统的安全性,理解软件漏洞带来的安全风险和危害,能够在软件设计和开发过程考虑安全、法律、环境等制约因素,培养计算机工程师的职业道德和规范,了解国家相关法律法规,不得利用所学技术手段损害公众和国家利益
三、英文课程简介中文课程简介的英文翻译版Software securityintegrates softwarevulnerabilities,vulnerability analysis,vulnerabilityexploitation,penetration testing,WEB security,etc.,and cooperateswith alarge numberofrich practicalcases withsupporting videotutorials tostimulate students1interest ininformation security.Through thestudy ofthis course,students willdevelop thebasicknowledge ofinformationsecurityattack anddefense andpractical ability,learn how todiscover andsolve softwaresecurity,system securityand WEBsecurity relatedissues fromtheperspective ofvulnerability exploitation,and learnhowtouse penetrationtesting toolstoevaluate thesecurity ofthe system.
四、课程目标(需根据课程性质,描述课程教学在培养学生在知识、能力、素质等方面的贡献,以及课程思政相关目标)目标掌握逆向分析工具、文件格式、常见软件漏洞、安全防护机制1PE Windows和漏洞利用技术、软件分析和漏洞挖掘的基本理论与方法,理解软件漏洞带来的安全风险和危害,能够在软件设计和开发过程考虑安全、法律、环境等制约因素目标掌握渗透测试基础知识,理解各种类型漏洞的机制与原理,能够对2WEB应用系统进行安全性分析与脆弱性评估、评价应用系统开发和部署应用WEB WEB全生命周期存在的安全风险和隐患目标具备动手实践能力,掌握格式化字符串漏洞、堆溢出、软件破解、符号执3行、模糊测试、跨站脚本攻击等实验,能够正确分析实验数据、解释实验过程和实验结果背后的原理目标具备计算机工程师的职业道德和规范,了解国家相关法律法规,不得利用4所学技术手段损害公众和国家利益课程目标与毕业要求对应关系课程目标毕业要求指标点目标
13.4在计算机工程项目设计中能够考虑安全、健康、法律、文化及环境等制约因素目标
34.4能对实验结果进行分析和解释,并能通过信息综合得到合理有效的结论目标
27.2能够站在环境保护和可持续发展的角度思考复杂计算机工程问题的工程实践的可持续性,评价计算机工程产品周期中可能对人类和环境造成的损害和隐患目标
48.2理解并自觉遵守诚实公正、诚信守则的工程职业道德和规范,重视知识产权保护,不得利用各种手段损害公众和国家利益注课程目标可填写对应相应序号,如“目标课程目标不一定与毕业要求一一对应2
五、课程内容与教学安排教学方对应课程序号教学内容学时式目标1第一章基本概念2讲授5病毒与木马
1.1软件漏洞
1.2漏洞概念
1.
2.1漏洞分类
1.
2.2漏洞库
1.
2.3渗透测试
1.3基本概念
1.
3.1渗透测试方法
1.
3.2安全自律意识
1.
3.3实验环境
1.4第二章汇编语言基础22讲授1堆栈基础
2.1内存区域堆区和栈区函数调用常见寄存器与栈帧第二章汇编语言基础讲授321汇编语言
2.2主要寄存器
2.
2.1寻址方式
2.
2.2主要指令
2.
2.3函数调用汇编示例
2.
2.4第三章软件调试基础42讲授1二进制文件
3.1文件格式
3.
1.1PE软件加壳
3.
1.2虚拟内存
3.
1.3文件与虚拟内存的映射
3.
1.4PE调试分析工具
3.
23.
2.1OllyDBG
3.
2.2IDA Pro演小小例
3.3文件代码注入
3.
3.1PE软件破解示例
3.
3.2第四章软件漏洞52讲授1缓冲区溢出漏洞
4.1基本概念
4.
1.1栈溢出漏洞
4.
1.2堆溢出漏洞
4.
1.3结构覆盖
4.
1.4SEH单字节溢出
4.
1.56第四章软件漏洞2讲授1格式化字符串漏洞
4.2整数溢出漏洞
4.3攻击虚函数
4.4C++其他类型漏洞
4.5注入类漏洞
4.
5.1权限类漏洞
4.
5.2第五章漏洞利用72讲授1概念及示例
5.1漏洞利用
5.
1.1覆盖邻接变量示例
5.
1.2代码植入示例
5.
1.3编写
5.2Shellcode提取代码
5.
2.1Shellcode编码
5.
2.2Shellcode8第五章漏洞利用2讲授1安全防护
5.3Windows漏洞利用技术进阶
5.4地址定位技术
5.
4.1函数自搜索技术
5.
4.2API返回导向编程绕过其它安全防护第六章漏洞利用实践90线上自1工具学
6.1WinDbg简介
6.
1.1WinDbg基本操作命令
6.
1.2WinDbg漏洞利用
6.2Windows示例
6.
2.1“reteip”overwrite漏洞利用示例
6.
2.2ROP10第七章漏洞挖掘基础2讲授1方法概述
7.1方法分类
7.
1.1符号执行
7.
1.2污点分析
7.
1.3词法分析
7.2基本概念
7.
2.1词法分析漏洞挖掘实践
7.
2.2基于脚本的漏洞挖掘
7.
2.3IDA数据流分析
7.3基本概念
7.
3.1漏洞分析
7.
3.2模糊测试
7.4模糊测试
7.
4.1智能模糊测试
7.
4.2模糊测试工具示例
7.
4.3自动动手写
7.
4.4Fuzzer模糊测试工具745AFL12第八章漏洞挖掘技术进阶2讲授1程序切片技术
8.1基础定义
8.
1.1工作原理
8.
1.2典型方法
8.
1.3程序插桩技术
8.2插桩概念
8.
2.1插桩分类
8.
2.2插桩示例
8.
2.3Pin技术
8.3Hook概念
8.
3.1Hook消息
8.
3.2Hook
8.
3.3API Hook13第八章漏洞挖掘技术进阶2讲授1符号执行技术
8.4基本原理方法分类应用示例
8.
4.3Angr污点分析技术
8.5基本原理
8.
5.1显式流分析
8.
5.2隐式流分析
8.
5.3检测漏洞示例
8.
5.4第九章渗透测试基础140线上自2渗透测试过程
9.1学渗透测试框架
9.2认识
9.
2.1Metasploit常用命令
9.
2.2信息收集
9.3被动信息收集
9.
3.1主动信息收集
9.
3.2扫描
9.4漏洞利用
9.5后渗透攻击
9.6挖掘用户名和密码
9.
6.1获取控制权
9.
6.215第十章WEB安全基础2讲授2基础知识
10.1协议
10.
1.1HTTP
10.
1.2HTML
10.
1.3Javascript会话管理
10.
1.4HTTP编程环境安装
10.2WEB环境安装
10.
2.1实践
10.
2.2Javascript与数据库编程
10.3PHP语言
10.
3.1PHP第一个程序
10.
3.2WEB连接数据库
10.
3.3查询数据
10.
3.4一一个完整的示例
10.
3.5实践
10.
3.6Cookie安全十大威胁
10.4WEB第十章渗透实战基础16WEB2讲授2文件上传漏洞
10.
110.
1.1WebShell文件上传漏洞
10.
1.2跨站脚本攻击
10.2脚本的含义
10.
2.1跨站脚本的含义
10.
2.2跨站脚本攻击的危害
10.
2.3第十一章渗透实战基础17WEB2讲授2文件上传漏洞
11.
111.
1.1WebShell文件上传漏洞
11.
1.2跨站脚本攻击
11.2脚本的含义
11.
2.1跨站脚本的含义
11.
2.2跨站脚本攻击的危害
11.
2.318第H^一章WEB渗透实战基础2讲授2注入漏洞
11.3SQL语法
11.
3.1SQL注入原理
11.
3.2寻找注入点
11.
3.
311.
3.4SQLMap注入实践
11.
3.5SQL注入盲注注入防御措施
11.
3.7SQL第十二章渗透实战进阶19WEB2讲授2文件包含漏洞
12.1文件包含
12.
1.1本地文件包含漏洞
12.
1.2远程文件包含漏洞
12.
1.3伪协议
12.
1.4PHP反序列化漏洞
12.2序列化与反序列化
12.
2.1魔术方法
12.
2.2PHP反序列化漏洞
12.
2.3PHP整站攻击案例
12.3第十三章题型及演示20CTF0线上自17简介
13.1CTF学题演示
13.2PWN栈溢出
13.
2.
113.
2.2ROP格式化字符串漏洞
13.
2.3逆向题演示
13.3逆向题目示例
13.
3.1IDA符号执行解题示例
13.
3.2Angr解题示例
13.
3.3Pin解题示例
13.
3.4Hook解题示例
13.
3.5Z3题演示
13.4WEB签到题
13.
4.1注入1342SQL文件上传漏洞
13.
4.3跨站脚本攻击21实验一IDE反汇编实验2上机/实3内容在环境下进行反汇编调试,熟悉函数验XP VC6调用、栈帧切换、和指令等汇编语言实现,CALL RET将语句执行过程中的变化、、变化等call EIPESP EBP状态进行记录,解释变化的主要原因性质验证性类别必做分组无222上机/实3实验二OLLYDBG软件破解验内容请在生成课本第三章软件破解的案例L XPVC6(模式,示例)进而,使用进行单DEBUG3-l oOllyDBG步调试,获取函数对应的汇编代verifyPWD flag==O码,并对这些汇编代码进行解释对生成的
2.DEBUG程序进行破解,复现课本上提供的两种破解方法性质验证性类别必做分组无23实验三堆溢出Dword Shoot演示实验2上机/实3内容以第四章示例代码为准,在中进行验4-4VC IDE调试,观察堆管理结构,记录节点时的双向空Unlink闲链表的状态变化,了解堆溢出漏洞下的Dword Shoot攻击性质验证性类别必做分组无24实验四格式化字符串漏洞2上机/实3内容以第四章示例代码,完成任意地址的数据验4-7获取,观察模式和模式的差异,并进Release Debug行总结性质综合性类别必做分组无252上机/实3实验五编写及编码Shellcode验内容复现第五章实验三,并将产生的编码后的在示例中进行验证,阐述编码shellcode5-4shellcode的原理、提取的思想shellcode性质验证性类别必做分组无26实验六API函数自搜索实验2上机/实3内容复现第五章实验七,基于示例完成函验5-11,API数自搜索的实验,将生成的程序,复制到exe操作系统里验证是否成功windows10性质验证性类别必做分组无272上机/实3实验七模糊测试实验AFL验内容根据课本章节,复现在下的安装、应AFL KALI用,查阅资料理解覆盖引导和文件变异的概念和含义性质验证性类别必做分组无282上机/实3实验八程序插桩及实验验Hook内容基于或在中复现Windows MyPinToolKali这个理解插桩工具的核心步malloctrace PinTooLPin骤和相关关注和函数的输入输出信息API,malloc free性质验证性类别必做分组无29实验九Angr应用2上机/实3内容根据课本章节,复现示例的两种验sym.write angr求解方法,并就如何使用以及怎么解决一些实际angr问题做一些探讨性质综合性类别必做分组无30实验十开发实践2上机/实3WEB验内容利用编写简单的数据库插入、查询和删除php,操作的示例基于课本的完整的例子,进一步了解开发的细节WEB性质设计性类别必做分组无31实验十一XSS脚本攻击2上机/实3内谷复现课本第早实验二,通过和两类验1img script方式实现跨站脚本攻击,撰写实验报告有能力者,可以自己撰写更安全的过滤程序性质综合性类别必做分组无32实验十一SQL盲注2上机/实3内容基于DVWA里的SQL盲注案例,实施手工盲注,验参考课本,撰写实验报告性质验证性。
个人认证
优秀文档
获得点赞 0