网络攻击课件二进制代码分析
- 格式:ppt
- 大小:2.17 MB
- 文档页数:126
摘要随着计算机及网络的快速发展,计算机的安全问题越来越受到人们的重视。
面向返回的编程Return-oriented-progrming(ROP)攻击是一种典型攻击计算机的方式,它通过将动态链接库函数中的以ret结尾的短小指令链接起来实现攻击目的。
栈返回地址保护、地址空间布局随机化(Address Space Layout Randomization,ASLR)等防御机制在一定程度上增强了操作系统的安全。
因此如何绕过这些防御机制来实施ROP攻击以及如何对ROP攻击做出检测受到了研究者的广泛关注。
在本文中,对ROP攻击机理以及检测方法做了研究。
针对在实施ROP攻击时怎样绕过地址空间布局随机化以及栈不可执行这一问题,提出了一种绕过ASLR的ROP攻击;同时针对栈返回地址保护机制实施了函数指针ROP攻击。
通过对函数指针ROP攻击的分析,提出了fpdetect检测方案,提高了函数指针ROP攻击的准确率。
本文主的主要研究工作如下:(1)针对如何绕过ASLR保护的问题展开研究。
本文通过返回到_dl_runtime_resolve函数动态获取动态链接库函数地址实施绕过ASLR的ROP攻击。
(2)本文通过缓冲区溢出漏洞修改函数指针实施ROP攻击,绕过栈返回地址保护,成功实施了ROP攻击。
(3)提高了函数指针ROP攻击检测的准确率。
本文通过分析调用动态链接库函数的特点,将静态分析与动态检测技术相结合,提出fpdetect检测方案。
实验验证了所提检测方案的有效性。
关键词ROP攻击地址空间布局随机化操作系统检测函数指针IAbstractWith the rapid development of computer and network,people pay more and more attention to the security of computer.Return-oriented-programming(ROP)attack is a typical way of attacking computers by linking short instructions ending in RET in dynamic library functions.Defense mechanisms such as stack return address protection and address randomization(ASLR)enhance the security of the operating system to some extent.Therefore, how to circumvent these defense mechanisms to implement ROP attacks and how to detect ROP attacks have attracted extensive attention of researchers.In this paper,ROP attack mechanism and detection methods are studied.To solve the problem of how to bypass address randomization and stack non-execution when implementing ROP attack,a ROP attack bypassing ASLR is proposed,and a function pointer ROP attack is implemented for stack return address protection mechanism.Through the analysis of function pointer ROP attack,a fedetect detection scheme is proposed,which improves the accuracy of function pointer ROP attack.The main research work of this paper is as follows:(1)How to bypass ASLR protection is studied.In this paper,a ROP attack bypassing ASLR is implemented by returning to the_dl_runtime_resolve function to dynamically obtain the address of DLL function.(2)In this paper,we implement ROP attacks by modifying function pointer through buffer overflow vulnerability,bypassing stack return address protection,and successfully implement ROP attacks.(3)Improve the accuracy of ROP attack detection with function pointer.In this paper,by analyzing the characteristics of calling dynamic link library functions,combining static analysis with dynamic detection technology,a detection scheme of fpdetect is proposed. Experiments verify the effectiveness of the proposed detection scheme.Key words ROP Attack Address Randomization Operating System Detection Function PointerII目录第一章绪论 (1)1.1研究背景 (1)1.2研究现状与分析 (2)1.3研究内容 (4)1.4本文的结构 (4)第二章研究基础与相关知识 (6)2.1图灵完备性 (6)2.2return-into-libc攻击原理 (7)2.3ROP攻击的形成机理 (8)2.3.1ROP gadget的组成 (9)2.3.2ROP原理解析 (11)2.4函数信息提取相关知识 (12)2.4.1PE文件 (12)2.5本章小结 (18)第三章ROP攻击的实施 (19)3.1绕过ASLR的ROP技术 (19)3.1.1GOT表和PLT表 (19)3.1.2重定位的工作机制 (23)3.1.3绕过ASLR的ROP攻击实现 (24)3.2函数指针ROP攻击 (26)3.2.1加载常数到寄存器 (26)3.2.2栈空间布局分析 (28)3.2.3函数指针注入攻击实现 (30)3.2.4函数指针ROP攻击实现 (31)3.3本章小结 (34)第四章ROP攻击检测 (35)4.1现有ROP攻击检测方法 (35)4.2fpdetect基本检测思想 (36)4.3函数指针ROP攻击检测 (38)4.4本章小结 (39)第五章总结与展望 (41)5.1总结 (41)5.2展望 (41)参考文献 (43)致谢 (48)攻读学位期间取得的研究成果 (49)第一章绪论1.1研究背景在这个信息全球化的时代,各种生产应用都趋于软件化、智能化,在计算机技术加快世界智能化步伐过程中,计算机软件系统潜在的缺陷和漏洞给我们的信息安全带来巨大的威胁。
恶意代码安全攻防1. 实践内容1.1 恶意代码1.1.1 定义与分类定义:计算机按照攻击者的意图执⾏以达到恶意⽬标的指令集。
分类:计算机病毒、蠕⾍、恶意移动代码、后门、特洛伊⽊马、僵⼫程序、内核套件,融合型恶意代码。
计算机病毒:通过感染⽂件进⾏传播,能⾃我复制,需要⼈为⾏动或被执⾏。
蠕⾍:⾃主运⾏,主动扫描。
恶意移动代码:从远程主机下载并在本地执⾏的轻量级程序,较⾼⾃主性。
后门:绕过正常的安全机制,直接控制主机。
特洛伊⽊马:伪装的恶意软件。
僵⼫⽹络:传播恶意代码控制多台主机,实施⼀对多控制。
rootkit:修改⽤户态软件或内核,执⾏时获取root。
1.1.2 计算机病毒通过拷贝⾃⾝嵌⼊系统程序感染主机。
基本特性:感染性、潜伏性、可触发性、破坏性、衍⽣性。
潜在感染⽬标及机制:1. 可执⾏⽂件;前缀感染机制,拷贝在宿主程序的始端,执⾏宿主程序时⾸先运⾏病毒代码;后缀感染机制,拷贝在宿主程序的末端,通过跳转指令控制代码运⾏;插⼊感染机制,拷贝在宿主程序中间。
2. 感染引导扇区( 主引导区和分区引导区);感染引导区上的引导记录,在系统启动时先于操作系统截取系统控制权。
3. 宏指令数据⽂件:以宏指令的⽅式拷贝到⽬标中,造成感染。
1.1.3 ⽹络蠕⾍通过⽹络⾃主传播、⾃我复制,没必要感染宿主。
组成结构:1. 弹头:渗透代码,利⽤诸如⽹络服务,⽂件传输服务上的系统漏洞以获取主机访问权。
2. 传播引擎:通过弹头装载⾃⾝拷贝写⼊系统或通过在系统中利⽤⽹络⽂件传输服务加载⾃⾝拷贝。
3. ⽬标选择算法和扫描引擎:查找新⽬标,通过不同⽬标,如电⼦邮件地址、主机列表、被信任的系统选择相应算法确定⽬标地址。
4. 有效载荷:附加的攻击代码,如安装后门、或利⽤资源执⾏复杂计算。
1.1.4 僵⼫程序与僵⼫⽹络功能结构:1. 主体功能:命令控制模块和传播模块,⽤于僵⼫⽹络的控制和僵⼫陈旭的传播。
2. 辅助功能:信息窃取模块、主机控制模块、下载更新模块、防分析检测。
网络安全技术中的恶意代码检测与分析1.引言随着互联网的不断发展,网络安全问题越来越引起人们的关注。
恶意代码(Malware)是一种能够损害计算机系统的程序,常见的恶意代码有病毒、蠕虫、木马、广告软件和僵尸网络等。
这些恶意代码不仅会破坏计算机系统,还会泄露个人隐私和商业机密等重要信息。
因此,在网络安全技术中,恶意代码检测和分析是非常重要的一个方面。
2.恶意代码分类在进行恶意代码检测和分析之前,必须先了解恶意代码的类型。
根据恶意代码的特性和目的,可以将恶意代码分为以下几类:2.1 病毒病毒是恶意代码中最为常见的一种,它会通过在合法程序中插入代码来感染其他程序,在用户不知情的情况下进行自我复制和传播。
病毒具有隐蔽性和破坏性,能够在计算机系统中扩散,并在病毒感染的计算机上执行一定的恶意行为,比如删除文件和窃取用户信息等。
2.2 蠕虫蠕虫是一种自我复制的计算机程序,它可以自主传播到计算机网络中的其他计算机,具有很高的感染力和传染速度。
和病毒不同,蠕虫可以完全自主运行而不需要依附于其他程序。
2.3 木马木马是一个伪装成合法程序的恶意代码,常常伪装成一些有用的软件来诱骗用户下载和安装。
一旦安装,木马就能够实现远程控制和命令执行等功能,攻击者可以通过木马窃取用户信息、攻击其他计算机系统等。
2.4 广告软件广告软件是一种通过弹窗、网页等形式来展示广告或者强制用户进行某些操作的程序。
广告软件也常常被称为“流氓软件”,因为它们经常会在用户不知情的情况下安装,占用带宽和资源,影响用户体验。
2.5 僵尸网络僵尸网络是由大量被感染的计算机组成的网络,攻击者可以通过这个网络来发起各种攻击。
一旦计算机感染了恶意软件,攻击者就可以远程控制它来实现各种目的,如发起DDoS攻击、窃取用户信息和进行网络钓鱼等。
3.恶意代码检测技术面对不同类型的恶意代码,必须采用不同的检测技术来进行检测。
下面介绍几种常见的恶意代码检测技术。
3.1 签名检测签名检测是一种常见的恶意代码检测技术,它是通过对已经发现的恶意代码进行分析和特征提取来建立恶意代码库,然后对系统中的二进制文件进行扫描匹配,从而检测出是否感染了恶意代码。
黑客代码分析与预防黑客攻击是当今互联网世界中的一大威胁,对个人、组织和企业的信息安全造成为了严重的威胁。
为了保护自己的网络安全,了解黑客的攻击方式和分析黑客代码是至关重要的。
本文将详细介绍黑客代码分析的基本原理和方法,并提供一些预防黑客攻击的有效措施。
一、黑客代码分析的基本原理黑客代码分析是指对黑客使用的恶意代码进行深入研究和分析,以便确定其攻击方式和目的,从而采取相应的谨防措施。
黑客代码可以是恶意软件、病毒、蠕虫等形式,它们通过利用系统的漏洞、弱点或者社会工程学手段来入侵目标系统。
黑客代码分析的基本原理包括以下几个方面:1. 静态分析:通过对代码的反汇编、反编译和逆向工程等技术手段,分析恶意代码的结构、功能和执行流程。
静态分析可以匡助我们了解黑客代码的具体实现方式和攻击目标。
2. 动态分析:通过在安全环境中运行恶意代码,并监视其行为和影响,分析恶意代码的运行过程和对系统的影响。
动态分析可以匡助我们了解黑客代码的行为特征和攻击手段。
3. 漏洞分析:通过对系统漏洞的研究和分析,确定黑客利用的漏洞类型和攻击方式。
漏洞分析可以匡助我们修补系统漏洞,提高系统的安全性。
4. 溯源分析:通过对黑客攻击的溯源和追踪,确定黑客的身份和攻击来源。
溯源分析可以匡助我们采取相应的法律手段,追究黑客的责任。
二、黑客代码分析的方法1. 静态分析方法:(1)反汇编:使用反汇编工具将二进制代码转换成汇编代码,以便分析代码的执行流程和功能。
(2)反编译:使用反编译工具将二进制代码转换成高级语言代码,以便更好地理解代码的逻辑和结构。
(3)逆向工程:使用逆向工程工具将二进制代码还原成源代码,以便进行更深入的分析和修改。
2. 动态分析方法:(1)沙箱环境:在安全环境中运行恶意代码,监视其行为和影响,以便分析其攻击方式和目的。
(2)动态调试:使用调试工具对恶意代码进行动态调试,以便观察代码的执行过程和变量的变化。
(3)网络监控:监控网络流量和通信协议,以便分析黑客与恶意代码之间的交互过程。