恶意代码攻防技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
10 物联网智能设备攻防技术
主要内容 7.1 恶意代码概述 恶意代码行为 恶意代码免杀技术 7.2 逆向工程基础 软件分析技术 逆向分析技术 代码保护方法 加壳与脱壳的技术
4
7.1 恶意代码概述
5
恶意代码行为
1.常见的恶意代码行为 常见的两种恶意代码行为是下载器和启动器。恶意代码被下载器从互联网上下载后,
逆向工程源于商业及军事领域中的硬件分析,其主要目的是在无法轻易获得必要的生产 信息的情况下,直接从成品分析,推导其设计原理。
11
静态分析技术
所谓静态分析,即从反汇编、反编译手段获得程序的汇编代码或源代码,然后从程 序清单中分析程序流程,了解模块完成的功能。 (1)文件类型分析。 静态分析的第一步是分析文件类型,即了解编程语言、编译工具及程序是否被某 种保护程序处理过,为下一步分析做准备。常见的分析工具有Detect it Easy、 PEiD、FileInfo等。 (2)静态反汇编。 静态反汇编的常用工具包括IDA pro、Hopper、Binary Ninja等。其中,IDA pro是 逆向工程的必备工具;Binary Ninja提供了强大的脚本、反汇编功能;Hopper特 别适用于OS X系统的逆向工程。
网络空间攻防技术与实践
计算机科学与工程学院
1
7 恶意代码攻防技术
2
7 恶意代码攻防技术
随着计算机、网络、信息等技术的飞速发展,人类社会已经进入信息化时代。信息化 带给人们极大便捷的同时,也带来了隐私泄露等信息安全问题。其中,恶意代码对信 息安全构成的威胁最为严重。
恶意代码是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。 随着网络技术高速发展,恶意代码传播方式也在迅速地演化,从引导区传播,到电子 邮件传播、网络传播,发作和流行时间越来越短,威胁也越来越大。本章将对恶意代 码的攻防进行拓展介绍。
止安全人员进行基本的分析。
恶意代码通过加密网络通信和程序内部逻辑实现其行为隐藏的目的。
(1)将窃取的信息转储到一个文件,并使用加密技术将其隐藏。
(2)转储需要使用的字符串,使用前再对其解密。
(3)隐藏配置信息,如指令和控制服务器的IP地址。
Biblioteka Baidu
9
7.2 逆向工程基础
10
逆向工程基础
逆向工程,即对一项目标产品进行逆向分析及研究的技术过程,从而演绎并得出该产品 的处理流程、组织结构、功能、性能规格等设计要素,以制作出功能相近,但又不完全 一样的产品。
12
静态分析技术
(3)反汇编引擎。 反汇编引擎的作用是把机器码解析成可以汇编的指令。开发反汇编引擎须要对相
应架构的汇编指令编码有深入的理解。利用网络开源的工具可以自己开发一款反 汇编分析的工具。 2)静态分析工具IDA IDA功能非常强大。操作者可以通过和IDA的交互,指导IDA更好地进行反汇编。 IDA会按照用户的指令找到可疑之处,用户的工作是通知IDA怎么去做,如人工 指定编译类型、重新定义变量名、数据结构、数据类型等。 同时,IDA支持多种类型的文件,从常见的PE、ELF(Linux平台的可执行文件), 到嵌入式的ATmega等。另外,IDA拥有丰富的插件社区,软件功能也得到了进一 步的强化,例如:Hex-Ray是IDA知名的插件,可以将汇编代码直接翻译成C语言13 。
其工具的表现形式各异,但是,大部分Rootkit通常通过修改系统调用、系统内核进 行工作。这样可以将恶意代码的源程序、过程数据、运行进程、网络连接,以及其 他相关资源隐藏起来,使得反病毒程序和安全人员难以发现它们。 一些Rootkit会修改用户态的应用程序或系统内核,这样做的目的在于直接让其运行 于内核态下,绕过用户态的保护程序,甚至成功躲避内核态的保护机制。与运行在 用户态相比,运行在内核态的Rootkit对操作系统的破坏力更大。 运行在用户态的Rootkit通常基于Hook技术,通过对Hook的定位和行为的分析,实现 破坏系统的最终目标。
限,使攻击者可以像在本地系统上一样执行指令。
6
恶意代码行为
2.僵尸网络
僵尸网络是被感染主机(僵尸主机)的一个集合。僵尸网络由单一的实体控制,通
常由一个称为僵尸控制器的计算机作为服务器。僵尸网络会尽可能多地感染计算机,
进而传播恶意代码或蠕虫,也可以用于执行分布式拒绝服务攻击(DDoS)。
3.登录凭证窃取
动态分析技术
动态分析技术中最核心的工具是调试器,可分为用户模式和内核模式两种类型。用户模 式调试器是指用来调试用户模式应用程序的调试器,如OllyDbg、WinDbg等。内核模式 调试器是指能调试操作系统内核的调试器。内核模式调试器处于CPU和操作系统之间, 工作于Ring 0级别中,如SoftICE等。
在本地运行。启动器包含立即运行或之后的某个时间运行的恶意代码。下载器有多 种主流方式,后门就是其中之一。启动器的实施则常采用反向Shell的方式。 1)后门(BackDoor) 后门是一种常见的恶意代码,为攻击者提供远程攻击受害主机的途径。后门一般
拥有多种功能,如操作注册表、列举窗口、创建目录、搜索文件等。 2)反向shell 反向shell是指从被感染机器上发起连接,提供了攻击者shell访问被感染机器的权
8
恶意代码免杀技术
2.数据加密
恶意代码使用了加密技术隐藏其恶意行为。作为恶意代码的分析人员,想要了解恶
意代码,就要掌握数据的加/解密技术。
数据加密时,攻击者往往选择便于编码实现,同时又能提供足够破译复杂性的加密
算法。古典密码算法通过字符集转换、字符的替代、覆盖等技术实现信息的隐藏。
它更适用于有限的空间,其性能开销相对较小。恶意代码仅采用简单加密算法来阻
攻击者窃取登录凭证主要使用以下3种攻击方式。
(1)记录击键。
(2)转储系统中存放的信息。
(3)等待用户登录以窃取相应的凭证,如访问网站时产生的cookie。
4.提权攻击
一个恶意代码通常要执行提升权限攻击来获得对系统所有的访问权限。
7
恶意代码免杀技术
1.隐藏—用户态Rootkit 恶意代码通常会隐藏其运行进程或依附进程。Rootkit是众多隐藏技术的主流之一,
10 物联网智能设备攻防技术
主要内容 7.1 恶意代码概述 恶意代码行为 恶意代码免杀技术 7.2 逆向工程基础 软件分析技术 逆向分析技术 代码保护方法 加壳与脱壳的技术
4
7.1 恶意代码概述
5
恶意代码行为
1.常见的恶意代码行为 常见的两种恶意代码行为是下载器和启动器。恶意代码被下载器从互联网上下载后,
逆向工程源于商业及军事领域中的硬件分析,其主要目的是在无法轻易获得必要的生产 信息的情况下,直接从成品分析,推导其设计原理。
11
静态分析技术
所谓静态分析,即从反汇编、反编译手段获得程序的汇编代码或源代码,然后从程 序清单中分析程序流程,了解模块完成的功能。 (1)文件类型分析。 静态分析的第一步是分析文件类型,即了解编程语言、编译工具及程序是否被某 种保护程序处理过,为下一步分析做准备。常见的分析工具有Detect it Easy、 PEiD、FileInfo等。 (2)静态反汇编。 静态反汇编的常用工具包括IDA pro、Hopper、Binary Ninja等。其中,IDA pro是 逆向工程的必备工具;Binary Ninja提供了强大的脚本、反汇编功能;Hopper特 别适用于OS X系统的逆向工程。
网络空间攻防技术与实践
计算机科学与工程学院
1
7 恶意代码攻防技术
2
7 恶意代码攻防技术
随着计算机、网络、信息等技术的飞速发展,人类社会已经进入信息化时代。信息化 带给人们极大便捷的同时,也带来了隐私泄露等信息安全问题。其中,恶意代码对信 息安全构成的威胁最为严重。
恶意代码是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。 随着网络技术高速发展,恶意代码传播方式也在迅速地演化,从引导区传播,到电子 邮件传播、网络传播,发作和流行时间越来越短,威胁也越来越大。本章将对恶意代 码的攻防进行拓展介绍。
止安全人员进行基本的分析。
恶意代码通过加密网络通信和程序内部逻辑实现其行为隐藏的目的。
(1)将窃取的信息转储到一个文件,并使用加密技术将其隐藏。
(2)转储需要使用的字符串,使用前再对其解密。
(3)隐藏配置信息,如指令和控制服务器的IP地址。
Biblioteka Baidu
9
7.2 逆向工程基础
10
逆向工程基础
逆向工程,即对一项目标产品进行逆向分析及研究的技术过程,从而演绎并得出该产品 的处理流程、组织结构、功能、性能规格等设计要素,以制作出功能相近,但又不完全 一样的产品。
12
静态分析技术
(3)反汇编引擎。 反汇编引擎的作用是把机器码解析成可以汇编的指令。开发反汇编引擎须要对相
应架构的汇编指令编码有深入的理解。利用网络开源的工具可以自己开发一款反 汇编分析的工具。 2)静态分析工具IDA IDA功能非常强大。操作者可以通过和IDA的交互,指导IDA更好地进行反汇编。 IDA会按照用户的指令找到可疑之处,用户的工作是通知IDA怎么去做,如人工 指定编译类型、重新定义变量名、数据结构、数据类型等。 同时,IDA支持多种类型的文件,从常见的PE、ELF(Linux平台的可执行文件), 到嵌入式的ATmega等。另外,IDA拥有丰富的插件社区,软件功能也得到了进一 步的强化,例如:Hex-Ray是IDA知名的插件,可以将汇编代码直接翻译成C语言13 。
其工具的表现形式各异,但是,大部分Rootkit通常通过修改系统调用、系统内核进 行工作。这样可以将恶意代码的源程序、过程数据、运行进程、网络连接,以及其 他相关资源隐藏起来,使得反病毒程序和安全人员难以发现它们。 一些Rootkit会修改用户态的应用程序或系统内核,这样做的目的在于直接让其运行 于内核态下,绕过用户态的保护程序,甚至成功躲避内核态的保护机制。与运行在 用户态相比,运行在内核态的Rootkit对操作系统的破坏力更大。 运行在用户态的Rootkit通常基于Hook技术,通过对Hook的定位和行为的分析,实现 破坏系统的最终目标。
限,使攻击者可以像在本地系统上一样执行指令。
6
恶意代码行为
2.僵尸网络
僵尸网络是被感染主机(僵尸主机)的一个集合。僵尸网络由单一的实体控制,通
常由一个称为僵尸控制器的计算机作为服务器。僵尸网络会尽可能多地感染计算机,
进而传播恶意代码或蠕虫,也可以用于执行分布式拒绝服务攻击(DDoS)。
3.登录凭证窃取
动态分析技术
动态分析技术中最核心的工具是调试器,可分为用户模式和内核模式两种类型。用户模 式调试器是指用来调试用户模式应用程序的调试器,如OllyDbg、WinDbg等。内核模式 调试器是指能调试操作系统内核的调试器。内核模式调试器处于CPU和操作系统之间, 工作于Ring 0级别中,如SoftICE等。
在本地运行。启动器包含立即运行或之后的某个时间运行的恶意代码。下载器有多 种主流方式,后门就是其中之一。启动器的实施则常采用反向Shell的方式。 1)后门(BackDoor) 后门是一种常见的恶意代码,为攻击者提供远程攻击受害主机的途径。后门一般
拥有多种功能,如操作注册表、列举窗口、创建目录、搜索文件等。 2)反向shell 反向shell是指从被感染机器上发起连接,提供了攻击者shell访问被感染机器的权
8
恶意代码免杀技术
2.数据加密
恶意代码使用了加密技术隐藏其恶意行为。作为恶意代码的分析人员,想要了解恶
意代码,就要掌握数据的加/解密技术。
数据加密时,攻击者往往选择便于编码实现,同时又能提供足够破译复杂性的加密
算法。古典密码算法通过字符集转换、字符的替代、覆盖等技术实现信息的隐藏。
它更适用于有限的空间,其性能开销相对较小。恶意代码仅采用简单加密算法来阻
攻击者窃取登录凭证主要使用以下3种攻击方式。
(1)记录击键。
(2)转储系统中存放的信息。
(3)等待用户登录以窃取相应的凭证,如访问网站时产生的cookie。
4.提权攻击
一个恶意代码通常要执行提升权限攻击来获得对系统所有的访问权限。
7
恶意代码免杀技术
1.隐藏—用户态Rootkit 恶意代码通常会隐藏其运行进程或依附进程。Rootkit是众多隐藏技术的主流之一,