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