软件安全PPT软件安全课程教学大纲-2022_第1页
软件安全PPT软件安全课程教学大纲-2022_第2页
软件安全PPT软件安全课程教学大纲-2022_第3页
软件安全PPT软件安全课程教学大纲-2022_第4页
软件安全PPT软件安全课程教学大纲-2022_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

南开大学本科课程教学大纲一、课程信息课程名称软件安全英文名称SoftwareSecurity课程代码COMP0187课程类别□通识必修课□通识选修课█专业必修课□专业选修课学分2.5主讲学时32实践学时32总学时64授课语言█中文□全英文□双语□外语语言类(单选)成绩类型█百分制□等级制(通过/不通过)(单选)开课单位网络空间安全学院先修课程高级语言程序设计、汇编语言与逆向技术课程负责人刘哲理

课程教材与参考资料教材作者名称出版社ISBN出版时间刘哲理贾春福漏洞利用与渗透测试基础清华大学出版社97873025270462019.3参考资料作者名称出版社ISBN出版时间吴世忠郭涛董国伟等软件漏洞分析技术科学出版社2014.11二、中文课程简介(简要介绍课程的目标、主要授课内容、授课对象以及在学生培养中的作用,150—500字。)面向大二学生,融合软件漏洞、漏洞分析、漏洞利用、渗透测试、WEB安全等内容于一体,配合大量丰富的实践案例(有配套的视频教程),激发学生对于软件安全的专业兴趣。通过本课程的学习,将培养学生信息安全攻防的基本知识和实际动手能力,学会如何从漏洞利用角度去发现和解决软件安全、系统安全和WEB安全有关的问题,学会如何利用渗透测试过程和工具来测评系统的安全性,理解软件漏洞带来的安全风险和危害,能够在软件设计和开发过程考虑安全、法律、环境等制约因素,培养计算机工程师的职业道德和规范,了解国家相关法律法规,不得利用所学技术手段损害公众和国家利益。三、英文课程简介(中文课程简介的英文翻译版。)Softwaresecurityintegratessoftwarevulnerabilities,vulnerabilityanalysis,vulnerabilityexploitation,penetrationtesting,WEBsecurity,etc.,andcooperateswithalargenumberofrichpracticalcases(withsupportingvideotutorials)tostimulatestudents'interestininformationsecurity.Throughthestudyofthiscourse,studentswilldevelopthebasicknowledgeofinformationsecurityattackanddefenseandpracticalability,learnhowtodiscoverandsolvesoftwaresecurity,systemsecurityandWEBsecurityrelatedissuesfromtheperspectiveofvulnerabilityexploitation,andlearnhowtousepenetrationtestingtoolstoevaluatethesecurityofthesystem.四、课程目标(需根据课程性质,描述课程教学在培养学生在知识、能力、素质等方面的贡献,以及课程思政相关目标。)目标1:掌握逆向分析工具、PE文件格式、常见软件漏洞、Windows安全防护机制和漏洞利用技术、软件分析和漏洞挖掘的基本理论与方法,理解软件漏洞带来的安全风险和危害,能够在软件设计和开发过程考虑安全、法律、环境等制约因素。目标2:掌握渗透测试基础知识,理解各种类型WEB漏洞的机制与原理,能够对WEB应用系统进行安全性分析与脆弱性评估、评价WEB应用系统开发和部署应用全生命周期存在的安全风险和隐患。目标3:具备动手实践能力,掌握格式化字符串漏洞、堆溢出、软件破解、符号执行、模糊测试、跨站脚本攻击等实验,能够正确分析实验数据、解释实验过程和实验结果背后的原理。目标4:具备计算机工程师的职业道德和规范,了解国家相关法律法规,不得利用所学技术手段损害公众和国家利益。课程目标与毕业要求对应关系课程目标毕业要求指标点目标13.4在计算机工程项目设计中能够考虑安全、健康、法律、文化及环境等制约因素。目标34.4能对实验结果进行分析和解释,并能通过信息综合得到合理有效的结论。目标27.2能够站在环境保护和可持续发展的角度思考复杂计算机工程问题的工程实践的可持续性,评价计算机工程产品周期中可能对人类和环境造成的损害和隐患。目标48.2理解并自觉遵守诚实公正、诚信守则的工程职业道德和规范,重视知识产权保护,不得利用各种手段损害公众和国家利益注:课程目标可填写对应相应序号,如“目标2”。课程目标不一定与毕业要求一一对应。五、课程内容与教学安排序号教学内容学时教学方式对应课程目标1第一章基本概念 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实验环境 2讲授52第二章汇编语言基础 2.1堆栈基础 2.1.1内存区域 2.1.2堆区和栈区 2.1.3函数调用 2.1.4常见寄存器与栈帧2讲授13第二章汇编语言基础 2.2汇编语言2.2.1主要寄存器 2.2.2寻址方式 2.2.3主要指令 2.2.4函数调用汇编示例2讲授14第三章软件调试基础 3.1二进制文件 3.1.1PE文件格式 3.1.2软件加壳 3.1.3虚拟内存 3.1.4PE文件与虚拟内存的映射3.2调试分析工具3.2.1OllyDBG3.2.2IDAPro 3.3演示示例 3.3.1PE文件代码注入 3.3.2软件破解示例2讲授15第四章软件漏洞 4.1缓冲区溢出漏洞 4.1.1基本概念 4.1.2栈溢出漏洞 4.1.3堆溢出漏洞 4.1.4SEH结构覆盖 4.1.5单字节溢出 2讲授16第四章软件漏洞 4.2格式化字符串漏洞 4.3整数溢出漏洞4.4攻击C++虚函数 4.5其他类型漏洞 4.5.1注入类漏洞 4.5.2权限类漏洞 2讲授17第五章漏洞利用5.1概念及示例 5.1.1漏洞利用 5.1.2覆盖邻接变量示例 5.1.3代码植入示例 5.2Shellcode编写 5.2.1提取Shellcode代码5.2.2Shellcode编码2讲授18第五章漏洞利用5.3Windows安全防护5.4漏洞利用技术进阶5.4.1地址定位技术5.4.2API函数自搜索技术5.4.3返回导向编程5.4.4绕过其它安全防护2讲授19第六章漏洞利用实践6.1WinDbg工具6.1.1WinDbg简介6.1.2WinDbg基本操作命令6.2Windows漏洞利用6.2.1“reteip”overwrite示例6.2.2ROP漏洞利用示例0线上自学110第七章漏洞挖掘基础 7.1方法概述 7.1.1方法分类7.1.2符号执行7.1.3污点分析7.2词法分析 7.2.1基本概念7.2.2词法分析漏洞挖掘实践7.2.3基于IDA脚本的漏洞挖掘7.3数据流分析7.3.1基本概念7.3.2漏洞分析7.4模糊测试 7.4.1模糊测试7.4.2智能模糊测试7.4.3模糊测试工具示例7.4.4自动动手写Fuzzer7.4.5AFL模糊测试工具 2讲授112第八章漏洞挖掘技术进阶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.2消息Hook8.3.3APIHook 2讲授113第八章漏洞挖掘技术进阶8.4符号执行技术 8.4.1基本原理8.4.2方法分类8.4.3Angr应用示例8.5污点分析技术 8.5.1基本原理8.5.2显式流分析8.5.3隐式流分析8.5.4检测漏洞示例2讲授114第九章渗透测试基础9.1渗透测试过程 9.2渗透测试框架 9.2.1认识Metasploit9.2.2常用命令9.3信息收集 9.3.1被动信息收集9.3.2主动信息收集9.4扫描 9.5漏洞利用 9.6后渗透攻击9.6.1挖掘用户名和密码9.6.2获取控制权0线上自学215第十章WEB安全基础10.1基础知识10.1.1HTTP协议10.1.2HTML10.1.3Javascript10.1.4HTTP会话管理10.2WEB编程环境安装10.2.1环境安装10.2.2Javascript实践10.3PHP与数据库编程 10.3.1PHP语言10.3.2第一个WEB程序10.3.3连接数据库10.3.4查询数据10.3.5一个完整的示例10.3.6Cookie实践 10.4WEB安全十大威胁2讲授216第十章WEB渗透实战基础 10.1文件上传漏洞10.1.1WebShell10.1.2文件上传漏洞10.2跨站脚本攻击10.2.1脚本的含义10.2.2跨站脚本的含义10.2.3跨站脚本攻击的危害2讲授217第十一章WEB渗透实战基础11.1文件上传漏洞11.1.1WebShell11.1.2文件上传漏洞11.2跨站脚本攻击11.2.1脚本的含义11.2.2跨站脚本的含义11.2.3跨站脚本攻击的危害2讲授218第十一章WEB渗透实战基础11.3SQL注入漏洞11.3.1SQL语法11.3.2注入原理11.3.3寻找注入点11.3.4SQLMap11.3.5SQL注入实践11.3.6SQL注入盲注11.3.7SQL注入防御措施2讲授219第十二章WEB渗透实战进阶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整站攻击案例2讲授220第十三章CTF题型及演示13.1CTF简介13.2PWN题演示13.2.1栈溢出 13.2.2ROP13.2.3格式化字符串漏洞13.3逆向题演示13.3.1IDA逆向题目示例13.3.2符号执行Angr解题示例13.3.3Pin解题示例13.3.4Hook解题示例13.3.5Z3解题示例 13.4WEB题演示13.4.1签到题13.4.2SQL注入13.4.3文件上传漏洞13.4.4跨站脚本攻击0线上自学1,221实验一:IDE反汇编实验内容:在XP环境下进行VC6反汇编调试,熟悉函数调用、栈帧切换、CALL和RET指令等汇编语言实现,将call语句执行过程中的EIP变化、ESP、EBP变化等状态进行记录,解释变化的主要原因。性质:验证性类别:必做分组:无2上机/实验322实验二:OLLYDBG软件破解内容:1.请在XPVC6生成课本第三章软件破解的案例(DEBUG模式,示例3-1)。进而,使用OllyDBG进行单步调试,获取verifyPWD函数对应flag==0的汇编代码,并对这些汇编代码进行解释。2.对生成的DEBUG程序进行破解,复现课本上提供的两种破解方法。性质:验证性类别:必做分组:无2上机/实验323实验三:堆溢出DwordShoot演示实验内容:以第四章示例4-4代码为准,在VCIDE中进行调试,观察堆管理结构,记录Unlink节点时的双向空闲链表的状态变化,了解堆溢出漏洞下的DwordShoot攻击。性质:验证性类别:必做分组:无2上机/实验324实验四:格式化字符串漏洞内容:以第四章示例4-7代码,完成任意地址的数据获取,观察Release模式和Debug模式的差异,并进行总结。性质:综合性类别:必做分组:无2上机/实验325实验五:Shellcode编写及编码内容:复现第五章实验三,并将产生的编码后的shellcode在示例5-4中进行验证,阐述shellcode编码的原理、shellcode提取的思想。性质:验证性类别:必做分组:无2上机/实验326实验六:API函数自搜索实验内容:复现第五章实验七,基于示例5-11,完成API函数自搜索的实验,将生成的exe程序,复制到windows10操作系统里验证是否成功。性质:验证性类别:必做分组:无2上机/实验327实验七:AFL模糊测试实验内容:根据课本7.4.5章节,复现AFL在KALI下的安装、应用,查阅资料理解覆盖引导和文件变异的概念和含义。性质:验证性类别:必做分组:无2上机/实验328实验八:程序插桩及Hook实验内容:基于WindowsMyPinTool或在Kali中复现malloctrace这个PinTool,理解Pin插桩工具的核心步骤和相关API,关注malloc和free函数的输入输出信息。性质:验证性类别:必做分组:无2上机/实验329实验九:Angr应用内容:根据课本8.4.3章节,复现sym-write示例的两种angr求解方法,并就如何使用angr以及怎么解决一些实际问题做一些探讨。性质:综合性类别:必做分组:无2上机/实验330实验十:WEB开发实践内容:利用php,编写简单的数据库插入、查询和删除操作的示例。基于课本的完整的例子,进一步了解WEB开发的细节性质:设计性类别:必做分组:无2上机/实验331实验十一:XSS脚本攻击内容:复现课本第十一章实验三,通过img和script两类方式实现跨站脚本攻击,撰写实验报告。有能力者,可以自己撰写更安全的过滤程序。性质:综合性类别:必做分组:无2上机/实验332实验十二:SQL盲注内容:基于DVWA里的SQL盲注案例,实施手工盲注,参考课本,撰写实验报告。性质:验证性类别:必做分组:无2上机/实验332实验十三:反序列化漏洞内容:复现12.2.3中的反序列化漏洞,并执行其他的系统命令。性质:验证性类别:必做分组:无2上机/实验333实验十四:攻破XP主机内容:基于Kali系统,对XP主机进行渗透测试。性质:验证性类别:必做分组:无2上机/实验334思政作业:如何使用所学的信息安全技术2研讨535顶级会议论文心得汇报2研讨3注:1.对应的课程目标可填写大纲中第四部分课程目标的相应序号。2.教学方式填写:讲授、研讨、上机、实验、习题课等内容。3.实验课程要在教学内容中详细列出每个实验的名称、内容、实验性质(验证性、综合性、设计性)、实验类别(选做、必做)和实验的分组情况等。实践教学课程要写出相应的时间、地点、方式、教学内容等。5.1讲授课实施课堂授课采用雨课堂工具实施,基于雨课堂进行点名签到、每个知识点实时考核、随机点名问答,活跃课堂气氛。在知识点讲解时融合网络安全技术服务国家网络安全事业的理念,积极引导同学们树立服务国家网络强国的意识,让同学们能够理解软件漏洞的风险和危害,能够在软件设计和开发过程考虑安全、法律、环境等制约因素。部分课程内容以学生自学、期末试卷考核为主,学生自学方式以学堂在线慕课学习和录制的视频材料学习为主。5.2上机/实验课实施培养学生动手能力,以复现实验、解释实验过程和实验原理为主要目标。定期抽查学生在实验课堂进行翻转,讲解已做完的实验,引发讨论,加强对知识的理解程度和认知程度。5.3研讨内容实施目标:培养同学们计算机工程师的职业道德和规范,了解国家相关法律法规,不得利用所学技术手段损害公众和国家利益。方式:(1)实验课课堂组织思政讨论,围绕“黑客红客我该怎么做”、“网络安全需要我们做什么”等开展交流互动,引导同学们知法懂法、服务国家网络安全战略。(2)完成思政作业《如何使用所学的信息安全技术》,并请优秀作业获得者进行分享交流。六、课程考核请简述本课程考核方案:(我校推行课程的过程化考核,鼓励采用平时多次考核的方式。过程化考核包括课后书面作业、实践、上机、课堂讨论、课堂作业表现及考试等等。)课程的考核采用平时成绩和期末考试相结合的考核形式。平时成绩占总评成绩45%,包括:课堂表现:通过雨课堂工具实时答题进行考核,占总评成绩10%,支撑课程目标1和2。点名签到:通过雨课堂工具进行点名签到,占总评成绩的5%,支撑课程目标4。实验报告:通过对实验课堂展示汇报、实

温馨提示

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

评论

0/150

提交评论