版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙大邢以群教学课件信息安全与漏洞利用专题讲解目录课程基础课程简介与教学目标缓冲区溢出漏洞详解Return-to-libc攻击技术高级漏洞与攻击ASLR与绕过方法Shellshock与环境变量攻击格式化字符串漏洞竞态条件漏洞新兴领域安全智能合约安全DirtyCOW攻击案例分析课程总结与未来展望第一章:课程简介与教学目标教授简介邢以群教授,浙江大学计算机科学与技术学院教授,网络空间安全研究所所长,主要研究方向包括系统安全、漏洞分析与利用技术、移动安全等领域。课程覆盖本课程深入探讨缓冲区溢出、Return-to-libc攻击、格式化字符串、Shellshock等多种核心安全漏洞类型,从原理到实践全面剖析。学习目标缓冲区溢出漏洞基础什么是缓冲区溢出?缓冲区溢出是指程序向缓冲区写入的数据超过了缓冲区本身的容量,导致溢出的数据覆盖了相邻的内存区域。这种漏洞常见于使用C/C++等语言编写的程序中,特别是那些没有进行边界检查的代码。缓冲区溢出漏洞在MITRE的CWE排名中常年位居前列,是最常见也最危险的漏洞类型之一。栈溢出与堆溢出的区别栈溢出:发生在程序栈上,可能覆盖返回地址,导致执行流被劫持堆溢出:发生在动态分配的内存区域,通常通过覆盖控制结构实现攻击典型溢出案例栈溢出原理与结构栈是程序运行时用于存储局部变量、函数参数和返回地址的内存区域。当发生栈溢出时,攻击者可以精心构造输入数据,覆盖栈上的返回地址,从而控制程序的执行流程。输入数据超长的用户输入数据被写入程序的缓冲区溢出发生数据超出缓冲区边界,覆盖栈中的其他数据返回地址被覆盖精心构造的数据覆盖了函数的返回地址执行shellcodeReturn-to-libc攻击原理Return-to-libc是一种高级的缓冲区溢出利用技术,特别适用于不允许在栈上执行代码的环境。这种攻击不需要注入shellcode,而是利用程序中已存在的代码(如C库函数)来实现攻击目的。这种攻击技术是对NX(不可执行)保护措施的一种有效绕过方法。攻击流程详解1寻找目标函数通常选择system()等强大的库函数作为攻击目标2构造栈结构精心安排栈上的数据,包括函数地址和参数触发溢出通过溢出覆盖返回地址,指向目标函数执行命令ASLR(地址空间布局随机化)介绍随机化原理ASLR通过在每次程序执行时随机化内存中库、堆栈和可执行文件的位置,增加攻击者预测内存地址的难度。防御机制即使攻击者成功触发溢出,也难以准确跳转到预期位置,因为关键函数和数据的地址在每次运行时都会变化。局限性ASLR的随机化范围有限,且某些系统实现存在弱点,可能被信息泄露漏洞或暴力破解所绕过。实现方式现代操作系统(如Windows、Linux、macOS)都默认启用ASLR,但实现方式和强度各有不同。ASLR作为一种关键的内存保护机制,与DEP(数据执行保护)、栈保护(StackCanary)等技术共同构成了现代系统的多层次防御体系。但随着攻击技术的发展,单一防御措施已不足以抵御复杂的攻击方式。Return-to-libc结合ASLR的攻击技巧信息泄露辅助地址获取攻击者首先需要利用信息泄露漏洞获取程序或库的实际加载地址,这通常通过以下方式实现:格式化字符串漏洞读取内存利用程序本身的地址输出功能通过崩溃信息间接推断地址动态计算函数地址获取到某个已知函数的地址后,攻击者可以:计算出与目标函数的偏移量在运行时动态确定目标函数地址构造新的ROP链或Return-to-libc攻击即使启用了ASLR,共享库内部的函数相对位置通常是固定的,这为攻击者提供了可利用的特性。执行system构造攻击链计算偏移信息泄露Shellshock漏洞解析Bash环境变量漏洞背景Shellshock(CVE-2014-6271)是2014年发现的一个严重的Bash漏洞,影响了大量Linux、Unix和Mac系统。这个漏洞存在于Bash处理环境变量的方式中,允许攻击者在环境变量中注入恶意代码。漏洞触发机制envx='(){:;};echo漏洞已触发'bash-c"echo测试"当Bash解析上述环境变量时,会错误地将花括号后的命令作为函数定义的一部分执行,从而导致注入的命令被执行。这种特殊的语法利用了Bash在解析函数定义时的缺陷。影响范围及危害Web服务器上的CGI脚本通过SSH远程执行的命令DHCP客户端使用Bash处理配置的系统各种使用Bash作为底层解释器的应用程序Shellshock攻击案例1漏洞公开(2014年9月)Shellshock漏洞被公开后,攻击者迅速开始在互联网上扫描易受攻击的系统。2早期攻击浪潮首批攻击主要针对暴露在互联网上的CGI脚本,攻击者通过HTTP请求中的自定义头部注入恶意命令。3僵尸网络利用多个僵尸网络开始利用Shellshock漏洞感染系统,其中包括挖矿软件和DDoS攻击工具的分发。4持续影响即使在补丁发布后,仍有大量系统未及时更新,导致Shellshock攻击持续数年。防御措施建议系统更新及时应用Bash安全补丁,确保系统使用最新版本的Bash解释器。网络防护在Web应用防火墙中添加规则,过滤可能包含Shellshock攻击的HTTP请求。最小权限原则减少系统中使用Bash解释器的组件,尤其是那些处理不可信输入的组件。格式化字符串漏洞详解格式化字符串的安全隐患格式化字符串漏洞出现在程序直接将用户输入用作printf()等函数的格式化参数时。攻击者可以通过插入特殊的格式说明符(如%x、%s、%n)来读取或写入内存。//有漏洞的代码printf(user_input);//安全的代码printf("%s",user_input);当格式化函数接收到%n说明符时,会将已输出的字符数写入对应的指针参数,这为攻击者提供了强大的内存写入能力。利用格式化字符串实现任意写信息泄露使用%x或%p读取栈上的值,泄露程序内存布局内存读取利用%s从任意内存地址读取字符串数据内存写入通过%n将数值写入指定的内存地址控制流劫持覆盖函数指针或返回地址实现代码执行格式化字符串漏洞虽然在现代软件中出现频率有所下降,但在某些遗留系统和没有经过严格代码审计的应用中仍然存在,且利用难度相对较低。竞态条件漏洞介绍竞态条件定义与成因竞态条件漏洞是一种在并发环境下出现的安全问题,当两个或多个线程/进程以不可预测的顺序访问共享资源,且至少一个操作是写操作时,可能导致程序行为异常。时间窗口攻击攻击者利用权限检查和实际操作之间的时间间隙,在检查通过后、操作执行前修改关键资源。符号链接攻击通过快速切换符号链接指向,欺骗程序对非预期文件进行操作,常见于临时文件处理过程。线程安全问题多线程程序中未使用适当同步机制保护共享数据,导致数据损坏或逻辑错误。防护策略与代码实践使用原子操作确保关键操作的完整性实现锁机制防止并发访问共享资源采用最小权限原则减小潜在影响实施权限检查与操作的原子化,消除检查与使用之间的时间窗口智能合约安全基础智能合约的定义与应用智能合约是在区块链上运行的自动执行的代码,一旦部署就无法更改,因此安全性尤为重要。常见的应用包括:去中心化金融(DeFi)应用数字资产管理与交易供应链追踪与管理去中心化自治组织(DAO)治理常见智能合约漏洞类型重入攻击攻击者利用合约在转账前未更新状态的缺陷,反复调用提款函数。整数溢出未检查的数学运算导致意外的结果,可能影响代币余额或交易逻辑。访问控制缺陷合约关键功能缺乏适当的权限检查,允许未授权操作。第三方评估人工审计动态测试形式化验证静态分析智能合约漏洞案例分析TheDAO攻击事件2016年,攻击者利用重入漏洞从TheDAO智能合约中提取了价值约6000万美元的以太币,最终导致以太坊硬分叉。"这次攻击展示了重入漏洞的破坏力,成为智能合约安全历史上的转折点。"Parity多签钱包事件2017年,一个意外的代码调用导致Parity多签钱包的库合约被自毁,永久锁定了约1.53亿美元的资金。"合约初始化逻辑的缺陷和访问控制不当,导致了这一灾难性后果。"重入攻击详解重入攻击是最著名的智能合约漏洞之一,攻击者利用外部调用在完成前再次进入合约的机会,在状态更新前多次执行提款等操作。//易受攻击的代码functionwithdraw()public{uintamount=balances[msg.sender];//危险:先转账后更新状态(boolsuccess,)=msg.sender.call{value:amount}("");balances[msg.sender]=0;}防御重入攻击的方法遵循检查-效果-交互模式使用重入锁防护机制限制每次调用的gas量使用更安全的transfer()代替call()即使是经验丰富的开发者也可能忽视潜在的重入向量,尤其是在复杂合约交互中。DirtyCOW攻击揭秘DirtyCOW漏洞背景DirtyCOW(CVE-2016-5195)是一个影响Linux内核的严重权限提升漏洞,于2016年10月公开。该漏洞在Linux内核中存在了长达9年之久,影响了几乎所有Linux发行版。漏洞名称中的"COW"指的是Copy-On-Write(写时复制)机制,这是一种内存管理优化技术。漏洞利用原理内存映射攻击者将只读文件映射到内存中触发竞态条件同时写入页面并触发写时复制机制利用内核缺陷利用COW实现中的缺陷绕过权限检查修改只读文件成功写入本应只读的系统文件这个漏洞的危险性在于它允许本地用户修改只读内存映射,从而可以修改系统中的关键文件,即使这些文件对用户来说是只读的。DirtyCOW攻击实战演示漏洞触发步骤01定位目标文件选择一个关键的系统文件,如/etc/passwd或可执行的SUID程序02创建内存映射使用mmap()函数将目标文件以只读方式映射到内存中03创建两个线程一个线程反复调用madvise()触发内存回收,另一个线程尝试写入数据04利用竞态条件两个线程并发执行,触发COW机制中的竞态条件漏洞05验证攻击结果检查目标文件是否被成功修改权限提升过程攻击者通常通过修改以下文件来获取系统权限:向/etc/passwd添加root权限的用户账户修改具有SUID权限的程序,植入后门代码覆盖系统库文件,影响依赖该库的程序防御与补丁情况Linux内核开发者迅速发布了补丁,修复了COW机制中的竞态条件。防御措施包括:及时更新内核版本应用安全补丁启用SELinux等额外安全机制监控系统关键文件的完整性课程中期回顾1基础漏洞原理内存安全、输入验证2缓冲区溢出攻击栈溢出、堆溢出、Return-to-libc3环境与字符串漏洞Shellshock、格式化字符串4高级攻击技术ASLR绕过、竞态条件、智能合约安全、DirtyCOW技术难点解析内存布局理解掌握程序内存结构,包括栈、堆、代码段和数据段的组织方式,是理解大多数漏洞利用技术的基础。汇编语言基础理解基本的汇编指令和调用约定,对于分析漏洞利用代码和构建自己的攻击载荷至关重要。调试技巧熟练使用GDB等调试工具跟踪程序执行,观察内存变化,是开发和测试漏洞利用代码的必备技能。接下来的课程将深入探讨防御策略和更多高级攻击技术,为大家提供全面的安全视角。漏洞利用的防御策略编码规范与安全审计安全编码实践遵循OWASP等组织发布的安全编码指南,在开发阶段预防常见漏洞。静态代码分析使用自动化工具扫描源代码,识别潜在的安全问题和不安全的编码模式。安全代码评审实施严格的代码评审流程,特别关注安全敏感的组件和功能。系统加固与补丁管理系统加固应用最小权限原则,关闭不必要的服务,配置强健的安全策略。安全补丁管理建立有效的补丁管理流程,及时应用关键安全更新。防御深度实施多层次防御策略,确保单点失效不会导致整体安全崩溃。入侵检测与响应机制即使采取了最佳的预防措施,仍需要建立健全的入侵检测和应急响应机制,包括异常行为监控、日志分析、事件响应计划和定期安全演练,以确保在安全事件发生时能够迅速有效地响应。现代安全技术趋势自动化漏洞检测工具现代安全工具正在从简单的签名匹配向智能化、上下文感知的分析方向发展。新一代工具能够:自动化发现复杂的漏洞组合提供可操作的修复建议与开发工作流程无缝集成降低误报率,提高检测精度人工智能辅助安全分析AI在网络安全领域的应用正迅速扩展,主要体现在:异常行为检测与分析大规模威胁情报处理自动化漏洞挖掘与利用安全配置优化建议零信任架构简介零信任安全模型彻底改变了传统的安全思维,其核心理念包括:"永不信任,始终验证"原则细粒度的访问控制策略持续的身份验证与授权最小权限原则的严格执行典型攻击与防御对抗演练攻击者视角分析侦察收集目标信息,识别可能的入口点和潜在漏洞。武器化准备攻击工具和利用代码,针对目标环境定制。投递将攻击载荷传递到目标系统,如通过钓鱼邮件或漏洞利用。利用触发漏洞,执行恶意代码,获取系统控制权。安装部署持久性后门,确保长期访问能力。防御者应对策略预防实施安全架构,加固系统,减少攻击面。检测部署监控系统,识别异常行为和攻击指标。响应快速隔离受影响系统,阻断攻击扩散。恢复恢复正常业务运营,清除恶意代码。学习分析事件,改进防御措施,预防未来攻击。情报分析技术能力战略思维威胁利用情报策略情报攻防战术综合态势感知课程后期专题讲座邢以群教授嘉宾讲座回顾移动安全新挑战随着移动设备成为主流计算平台,针对Android和iOS系统的攻击也日益复杂。邢教授分享了最新的移动平台漏洞利用技术,包括权限提升、沙箱逃逸和应用间通信劫持等攻击方式。物联网安全风险物联网设备的广泛部署带来了新的安全挑战。讲座中,邢教授深入分析了智能家居、工业控制系统等IoT设备的常见漏洞,以及这些漏洞如何被利用构成大规模网络攻击。供应链安全近年来,通过供应链实施的高级攻击日益增多。邢教授讨论了如SolarWinds事件等著名案例,探讨了代码签名、可信构建系统等防御措施的重要性。业界最新安全研究成果硬件漏洞研究进展Meltdown、Spectre等处理器级漏洞的发现,揭示了计算机架构中长期被忽视的安全问题。最新研究表明,即使是硬件级的保护机制也可能存在绕过方法。形式化验证技术形式化方法正逐渐从理论走向实践,被用于验证关键系统组件的安全性。多个安全关键领域已经开始采用形式化验证技术来确保代码的正确性和安全性。这些专题讲座不仅扩展了学生的知识视野,也展示了学术研究与实际安全问题之间的紧密联系。学生项目展示与分享智能漏洞挖掘工具刘同学团队开发的基于机器学习的自动化漏洞挖掘系统,能够分析开源项目代码并识别潜在的安全问题,在测试中成功发现了多个开源库的未公开漏洞。移动应用安全分析平台张同学带领的团队构建了一个针对Android应用的安全分析平台,该平台结合静态和动态分析技术,能够自动检测常见的移动应用漏洞和恶意行为。智能合约安全审计工具王同学的项目专注于以太坊智能合约的安全分析,开发了一套自动化工具,能够识别常见的合约漏洞并提供修复建议,已被多个区块链项目采用。安全创新实践经验分享跨学科合作的价值多个成功的学生项目都体现了跨学科合作的重要性。安全研究与机器学习、形式化方法、密码学等领域的结合,产生了许多创新性的解决方案。开源贡献与社区参与积极参与开源安全项目和安全社区,不仅能够提升个人技能,也能获得宝贵的实战经验和职业发展机会。多位学生通过开源贡献获得了业界认可。这些优秀的学生项目展示了将课堂知识转化为实际应用的能力,也为其他同学提供了宝贵的学习参考。课程资源与学习建议推荐书籍与论文经典教材《计算机系统安全》(邢以群等著)《TheArtofSoftwareSecurityAssessment》《Hacking:TheArtofExploitation》《TheShellcoder'sHandbook》学术论文《SmashingtheStackforFunandProfit》《Return-OrientedProgramming》《TheGeometryofInnocentFleshontheBone》浙大安全实验室近期发表的研究论文在线学习平台与工具CTF竞赛平台:CTFtime、HackTheBox、VulnHub在线课程:浙大网络安全MOOC、Coursera上的安全专项课程漏洞研究平台:Exploit-DB、CVE数据库、MITREATT&CK框架实验环境搭建指南课程网站上提供了详细的实验环境搭建指南,包括虚拟机配置、必要工具安装和实验数据准备等内容。建议使用专用的虚拟环境进行安全实验,避免影响主系统安全。未来安全研究方向物联网安全供应链安全零信任架构AI辅助防御量子安全量子计算对安全的影响量子计算的发展对现有密码系统构成了重大挑战。当量子计算机具备足够的计算能力时,许多现有的加密算法将变得不再安全。RSA、ECC等非对称加密算法将受到严重威胁量子安全密码学正在积极发展后量子密码标准化工作正在进行中区块链安全挑战随着区块链技术的广泛应用,相关的安全问题也日益凸显:智能合约的形式化验证需求共识机制的安全性挑战跨链安全和预言机安全去中心化身份与隐私保护人工智能安全风险对抗性攻击通过精心设计的输入,欺骗AI系统做出错误判断,如自动驾驶系统的视觉欺骗。模型窃取通过黑盒查询,推断或复制AI模型的功能,窃取知识产权或寻找漏洞。数据投毒通过污染训练数据,使AI系统学习到有偏见或恶意的行为模式。AI安全评估开发评估AI系统安全性和鲁棒性的标准方法和工具。课程总结安全基础内存安全、程序结构、操作系统机制等基础知识是理解安全漏洞的关键。漏洞类型缓冲区溢出、格式化字符串、竞态条件等经典漏洞类型的原理与利用方法。高级攻击Return-to-libc、ROP链、ASLR绕过等高级攻击技术的工作原理与实现方法。安全防御从编码实践到系统加固,再到入侵检测的多层次防御策略。新兴领域智能合约安全、量子密码学、AI安全等新兴安全领域的挑战与机遇。伦理责任安全研究者的伦理准则与社会责任,负责任地披露与利用漏洞。技能提升路径1基础阶段掌握编程语言、操作系统原理、计算机网络等基础知识2入门阶段学习基本漏洞类型,参与CTF比赛,构建实验环境3提高阶段深入研究特定安全领域,参与开源项目,分析真实漏洞4专家阶段发现和研究新型漏洞,开发安全工具,发表研究成果持续学习和实践是安全领域进步的关键。技术日新月异,安全专家需要不断更新知识,跟踪最新的漏洞和攻击技术。致谢与联系方式特别感谢邢以群教授感谢邢以群教授对本课程的悉心指导和丰富的学术见解,以及在网络安全领域的开创性研究。教学团队感谢所有参与课程准备和教学的老师、助教和技术支持人员,他们的辛勤工作使本课程得以顺利进行。合作伙伴感谢提供实验环境、数据和案例支持的行业合作伙伴,他们的贡献丰富了课程内容。联系方式电子邮件课程咨询:security_course@技术支持:security_lab@课程网站/course/包含课件下载、实验指南和补充材料交流平台课程论坛:学习小组:WeChat群组(见课程网站)我们鼓励学生积极参与浙大安全实验室的开放日活动,以及各类网络安全竞赛和学术交流。实验室定期招收对安全研究有热情的学生,欢迎有志于安全领域的同学与我们联系。知识的殿堂,安全的守护浙江大学网络空间安全研究中心致力于培养网络空间安全的领军人才守护数字世界的安全与可信20+专职研究人员100+发表学术论文30+国家级项目200+培养安全人才互动环节现场答疑请提出您在课程学习中遇到的疑问,包括理论概念、实验操作或扩展阅读等方面的问题。我们鼓励同学们积极思考并提出有深度的问题。学生反馈收集请通过以下方式分享您对课程的感受和建议:课程内容的难易度和覆盖面是否合适教学方法和实验安排是否有效您最喜欢和最不满意的课程部分课程改进建议我们诚挚地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年多工种协同作业效率提升方法
- 2026年地质灾害风险辨识与应急避险措施
- 2026年非招标方式采购操作实务指南
- 2026年肺结核防治与患者居家护理
- 线上人事助理工作成果合同
- 婴幼儿配方奶粉生产加工合同
- 核心资源合作生产与销售协议
- 2026年结核病与艾滋病双重感染防治
- 2026年中小企业主家庭财富管理读书笔记
- 2026年电力检修现场安全管理费
- 2025年贵州省委党校在职研究生招生考试(政治经济学原理)历年参考题库含答案详解(5卷)
- 多发性脑梗死课件
- 国企房屋租赁管理办法
- 储备土地巡查管理办法
- 上海市黄浦区2025年物理高二下期末统考试题含解析
- 茶文化课件图片
- 培训生态环境培训课件
- 统编版语文三年级下册第七单元 习作《国宝大熊猫》 课件
- TCTBA 001-2019 非招标方式采购代理服务规范
- 1完整版本.5kw机器人专用谐波减速器设计
- 事业单位劳动合同书范本人社局年
评论
0/150
提交评论