恶意代码攻防技术
《恶意代码分析与防控》课程教学大纲

《恶意代码分析与防控》课程教学大纲课程编号:081504372课程名称:恶意代码分析与防控英文名称:Malware Analysis and Prevention课程类型:学科专业课课程要求:选修学时/学分:48/3(讲课学时:16 实验学时:32)适用专业:软件工程一、课程性质与任务“恶意代码分析与防控”是软件工程专业信息安全方向中专业性较强的课程,是信息安全学科中的重要分支,与后续学习的多门课程皆有关联。
本课程主要研究恶意代码的分类、恶意代码的原理、恶意代码的行为、恶意代码静态与动态的分析方法以及恶意代码的防控技术,对构建学生信息安全类知识体系进而进行恶意代码防控实践有重要作用。
课程的任务是通过教学,使学生能够掌握恶意代码防控技术的基本原理与实现方式,掌握常见恶意代码的防控方法,培养学生具备良好的恶意代码分析能力与常见恶意代码的防控能力,提高自身对相关领域的安全意识与职业素养,从而为今后从事信息安全领域相关工作奠定坚实的基础。
通过本课程学习,使学生能够通过对相关实操案例的分析,对恶意代码的种类、危害、应急、防控处理都有较为深入的认识,具备一定的分析研究能力,能够将本课程的相关知识与防控技术的思路和技巧用于解决恶意代码所带来的问题。
二、课程与其他课程的联系先修课程:信息安全导论、J2EE程序设计。
后续课程:网络攻防技术、网络安全管理。
先修课程对本课程起基础支撑作用,安全导论提供基础的计算机安全方面知识,程序设计语言使学生能够理解和掌握恶意代码的运行机理与实现过程。
本课程为后续课程提供理论和技术基础支持,有助于对恶意代码攻击问题更深入的理解,拓展解决问题的思路。
三、课程教学目标1. 理解恶意代码的最基本概念和理论知识,能够描述恶意代码的基本特性以及恶意代码的发展趋势。
(支持毕业能力要求1)2. 掌握防控恶意代码的基本技术,能够自觉运用基本知识认识恶意代码,并对其中的常见恶意代码的防控进行分析,培养学生分析问题的能力。
恶意代码基础知识与分析方法

恶意代码的类型
恶意代码类型
计算机病毒(Virus)
定义特征
通过感染文件(可执行文件、数据文件、电子邮件等)或 磁盘引导扇区进行传播,一般需要宿主程序被执行或人 为交互才能运行 一般为不需要宿主的单独文件,通过网络传播,自动复 制,通常无需人为交互便可感染传播 从远程主机下载到本地执行的轻量级恶意代码,不需要 或仅需要极少的人为干预。代表性的开发工具有: JavaScript, VBScript, Java,以及ActiveX 绕过正常的安全控制机制,从而为攻击者提供访问途径 伪装成有用软件,隐藏其恶意目标,欺骗用户安装执行 使用一对多的命令与控制机制组成僵尸网络 通过替换或修改系统关键可执行文件(用户态),或者 通过控制操作系统内核(内核态),用以获取并保持最高 控制权(root access) 融合上述多种恶意代码技术,构成更具破坏性的恶意代 码形态
现在你作为一名安全事件处理者的任务如果你接受的话就是深入分析这个二进制文件并获得尽可能多的信息包括它是如何工作的它的目的以及具有的能力最为重要的请展示你获取所有信息所采取的恶意代码分析技术
网络攻防技术与实践课程
课程9.恶意代码基础知识和分析方法
诸葛建伟 zhugejw@
2011年3月6日
1983
1986
SunOS 第一例蠕虫 Rootkit
1988
2002 1999
蠕虫年: Slammer 冲击波/Sobig
木马后门Setiri 分布式攻击工具 TFN
1998
Fred Cohen 定义计算机病毒
CIH病毒爆发
1995
第一例宏病毒 Concept
1983
Thompson的 Unix后门曝光
10.14腾讯竞争联合声明》 10.28弹窗战争
免杀知识点总结

免杀知识点总结一、免杀概述免杀技术是指通过各种手段,让恶意软件能够避开杀毒软件的检测,从而成功感染目标系统,达到攻击者的目的。
免杀技术已经成为当前网络安全攻防战中的一个热点话题,对于网络攻击者和渗透测试人员来说,掌握免杀技术至关重要。
对于网络防御者来说,了解免杀技术也是非常关键的,只有深入了解免杀技术,才能更好地防范这些攻击。
二、免杀技术分类1. 多态性多态性是免杀技术中非常关键的一种技术手段,其核心思想是不断改变恶意代码的形式和特征,使得每个新生成的样本都不同于已知的样本,从而能够逃避杀毒软件的检测。
多态性可以通过各种手段来实现,比如代码加密、代码压缩、指令替换等。
2. 加壳加壳是指将恶意代码进行加密或者混淆处理,生成一个新的可执行文件,执行时需要先经过解密或者解压缩的过程,从而使得病毒样本不易被杀毒软件检测到。
加壳也是一种非常常见的免杀技术手段。
3. 免杀代理免杀代理是指利用被信任的程序作为载体,将恶意代码植入到这些程序中,利用这些可信程序的信任度来躲避杀毒软件的检测。
免杀代理技术常见的方式包括DLL注入、shellcode注入等。
4. 免杀利用漏洞免杀利用漏洞是指通过利用系统或者应用程序的漏洞,来进行免杀攻击。
这种方式可以绕过杀毒软件的检测,因为漏洞本身并不是一种已知的攻击形式。
5. 免杀模块化免杀模块化是指将恶意代码进行模块化处理,将恶意功能分成若干模块,然后分别插入到合法程序中。
这样做的好处是一旦某个模块被杀毒软件检测到,也不会影响其他模块的正常工作。
6. 免杀定制化免杀定制化是指根据具体的目标系统和杀毒软件来进行技术定制,使得恶意代码能够更好地逃避检测。
这种方式需要对目标系统和杀毒软件有深入的了解,并能够根据具体情况来进行技术调整。
三、常见的免杀技术手段1. 代码混淆代码混淆是指对恶意代码进行各种变换和混淆处理,使得其在静态分析和动态执行时难以被识别。
常见的代码混淆手段包括变量重命名、函数重命名、指令替换、代码插入等。
网络安全重点专业领域

网络安全重点专业领域网络安全是一个重要的专业领域,随着互联网的普及和发展,网络安全也越来越受到人们的关注。
网络安全的主要目标是保护网络系统和数据的机密性、完整性和可用性,防止恶意攻击和非法访问。
网络安全的重点专业领域包括以下几个方面:1. 网络攻防技术:网络攻防技术是网络安全领域的核心内容,主要包括入侵检测与防御、漏洞分析与修复、恶意代码检测与清除等技术。
攻击者通过利用系统和应用程序的漏洞对网络系统进行攻击,而防御者则需要及时发现和修复这些漏洞,防止系统被攻击。
2. 密码学与加密技术:密码学是网络安全的基础,主要研究如何通过加密算法和密钥管理保护数据的机密性。
加密技术在网络通信、数据存储和身份验证等方面起着重要作用,可以有效防止数据被窃取和篡改。
3. 网络流量分析与监测:网络流量分析与监测是指通过分析网络流量,检测和预防网络攻击和异常行为。
网络流量分析技术可以帮助发现攻击行为、提前预警,并对异常流量进行阻断和隔离,保护网络安全。
4. 网络安全管理与运维:网络安全管理与运维是指对网络系统进行规划、部署、监控和维护,保证网络的安全运行。
这包括网络设备的配置与管理、安全策略的制定与执行、漏洞修复和事件响应等工作,对网络安全起着关键作用。
5. 信息安全法律与政策:随着网络安全问题的日益突出,各国纷纷出台了相关的法律和政策来保护网络安全。
信息安全法律与政策研究主要关注网络安全法规的制定与执行,以及网络安全威胁的预警与处置。
网络安全作为一个综合性的学科,需要跨多个专业领域的知识,如计算机科学、密码学、通信技术、数据分析等。
对于网络安全人才的需求越来越大,相关专业的学生需要具备扎实的专业技能和知识,同时具备良好的学习能力和团队合作能力。
总之,网络安全是一个重要的专业领域,它关乎到社会的稳定和人们的生活。
随着网络技术的不断发展,网络安全的研究和应用将变得越来越重要,相关专业人才的需求也将越来越大。
对于有兴趣从事网络安全工作的人来说,深入研究和学习这个领域的知识将具有广阔的职业发展前景。
计算机网络攻防技术入门指南

计算机网络攻防技术入门指南第一章:计算机网络和攻防概述1.1 计算机网络的概念和组成计算机网络是一个由多个计算机和其他设备互联而成的系统,可以共享资源和信息。
计算机网络包括硬件设备(如计算机、路由器、交换机等)和软件协议(如TCP/IP、HTTP等)。
1.2 网络攻击的类型和危害网络攻击的类型包括拒绝服务攻击、网络钓鱼、中间人攻击、网络蠕虫等,可能导致数据泄露、服务中断等问题。
1.3 网络防御的重要性和目标网络防御的重要性在于保护网络安全、确保数据的保密性、完整性和可用性。
主要目标包括防止未授权访问、阻止恶意代码传播和提高网络运行的安全性。
第二章:网络攻击技术2.1 拒绝服务(DOS)攻击DOS攻击目的在于使目标系统无法正常提供服务,通过洪水攻击、合理攻击等方式来消耗资源以达到拒绝服务的目的。
2.2 中间人攻击中间人攻击是指攻击者在通信过程中伪装成通信的一方,窃取重要信息或篡改数据的行为。
常见的中间人攻击方式有ARP欺骗、SSL剥离等。
2.3 木马和病毒攻击木马和病毒是恶意软件,它们可以在用户不知情的情况下进入系统并进行破坏或窃取信息。
第三章:网络防御技术3.1 防火墙防火墙可以监控网络流量并根据设定的规则对流量进行过滤,以保护内部网络不受未经授权的访问。
3.2 入侵检测和入侵防御系统入侵检测和入侵防御系统可以及时监测和响应网络中的入侵行为,并采取相应措施进行应对。
3.3 加密和身份认证技术加密技术可以保护数据的机密性,而身份认证技术可以确保用户的真实身份,防止未授权访问。
第四章:网络安全管理4.1 安全策略和政策安全策略和政策是组织制定的规范和指南,用于保护网络安全,如访问控制策略、密码策略等。
4.2 安全意识培训和教育安全意识培训和教育是提高用户对网络安全风险的认识和应对能力,减少人为因素对网络安全造成的影响。
4.3 安全事件响应和漏洞管理安全事件响应和漏洞管理是指对网络安全事件和漏洞进行及时响应和管理,以减少安全风险。
第4章-黑客攻防技术

第4章 黑客攻防技术
4.2.3 密码破解攻防 1. 密码攻防的方法
一般密码攻击有3种方法: (1) 通过网络监听非法得到用户密码 (2) 密码破解 (3) 放置木马程序
24
第4章 黑客攻防技术
2. 密码攻防对策
通常保持密码安全的要点:
(1) 不要将密码写下来,以免遗失;
(2) 不要将密码保存在电脑文件中;
第4章 黑客攻防技术
教学目标
●了解黑客攻击的目的及攻击步骤 ●熟悉黑客常用的攻击方法 ●理解防范黑客的措施 ●掌握黑客攻击过程,并防御黑客攻击
1
第4章 黑客攻防技术
4.1 黑客概述
1. 黑客与黑客守则
(1)什么是黑客
黑客是“Hacker”的音译,源于动词Hack,其引 申意义是指“干了一件非常漂亮的事”。这里说的黑 客是指那些精于某方面技术的人。对于计算机而言, 黑客是指既具有高超的专业技术(精通网络、系统、 外设以及软硬件技术),又能遵守黑客行为准则的人 。
Strobe是一个超级优化TCP端口检测程序,能快速地识 别指定机器上正运行什么服务,用于扫描网络漏洞。它 可以记录指定机器的所有开放端口。
16
第4章 黑客攻防技术
4. 端口扫描的防范对策 端口扫描的防范也称为系统“加固”,主要
有两种方法。 (1) 关闭闲置及危险端口 (2) 屏蔽出现扫描症状的端口
6
第4章 黑客攻防技术
(2) 黑客攻击的分类
按攻击的行为主动性分为:主动攻击 被动攻击
按攻击的位置情况可分为: 远程攻击 本地攻击 伪远程攻击
7
第4章 黑客攻防技术
(3)黑客攻击的步骤
1)信息收集 黑客首先要确定攻击的目标,然后利用社会工程学、
《网络攻防原理与技术(第 3 版)》教学课件第7章
MIME漏洞则是利用Internet Explorer在处理不正常的 MIME类型存在的问题,攻击者有意地更改MIME类 型,使IE可以不提示用户而直接运行电子邮件附件 中的恶意程序等。
配置木马 传播木马 启动木马 建立连接 远程控制
配置木马
配置木马:
通信配置:监听端口、DNS、IP等 功能配置:文件读取、键盘监听、截屏等 安装配置:安装路径、文件名、是否删除安
装文件、注册表启动项等
配置木马
案例:冰河木马的配置界面
远程控制木马的运行步骤
远程控制木马进行网络入侵的过程:
远程控制木马
木马体系结构:C/S 架构,木马程序 + 控 制端程序
木马程序即是服务器端程序。 控制端程序作为客户端,用于攻击者远程控
制被植入木马的机器。
远程控制木马与远程控制软件的区别?
隐蔽性: 木马被隐藏,避免被发现; 非授权性:木马程序不经授权控制主机
远程控制木马的运行步骤
远程控制木马进行网络入侵的过程:
计算机木马
木马程序具有很大的危害性,主要表现在: 自动搜索已中木马的计算机; 管理对方资源,如复制文件、删除文件、查 看文件内容、上传文件、下载文件等; 跟踪监视对方屏幕; 直接控制对方的键盘、鼠标; 随意修改注册表和系统文件; 共享被控计算机的硬盘资源; 监视对方任务且可终止对方任务; 远程重启和关闭机器。
2007~20半年:毒王“AV终结者”
恶意代码概念的发展史
2010~2020:虚拟货币和隐秘网络带动的 勒索新对抗
2013年开始,勒索软件、挖矿木马逐步泛滥 2016:Mirai爆发,致瘫Dyn 2017:WannaCry全球大爆发 2019:WannaMine挖矿木马爆发
网络安全防护技能培训教材
网络安全防护技能培训教材第1章网络安全基础概念 (4)1.1 网络安全的重要性 (4)1.1.1 个人信息安全 (4)1.1.2 企业信息安全 (4)1.1.3 国家信息安全 (4)1.2 常见网络安全威胁 (4)1.2.1 恶意软件 (4)1.2.2 网络钓鱼 (4)1.2.3 社交工程 (4)1.2.4 DDoS攻击 (4)1.2.5 数据泄露 (5)1.3 安全策略与防护措施 (5)1.3.1 安全策略 (5)1.3.2 防护措施 (5)第2章密码学基础 (5)2.1 密码学概述 (5)2.2 对称加密算法 (5)2.3 非对称加密算法 (6)2.4 哈希算法与数字签名 (6)第3章网络设备与系统安全 (6)3.1 网络设备的安全配置 (6)3.1.1 基本安全配置原则 (6)3.1.2 路由器安全配置 (7)3.1.3 交换机安全配置 (7)3.1.4 无线设备安全配置 (7)3.2 操作系统的安全防护 (7)3.2.1 操作系统安全概述 (7)3.2.2 常见操作系统安全漏洞 (7)3.2.3 操作系统安全防护策略 (7)3.2.4 主机安全防护 (7)3.3 网络安全设备介绍 (7)3.3.1 防火墙 (7)3.3.2 入侵检测系统(IDS)与入侵防御系统(IPS) (7)3.3.3 虚拟专用网络(VPN) (8)3.3.4 安全审计设备 (8)第4章网络攻防技术 (8)4.1 扫描与探测技术 (8)4.1.1 基本概念 (8)4.1.2 常用扫描技术 (8)4.1.3 常用探测工具 (8)4.2 漏洞分析与利用 (8)4.2.2 漏洞挖掘技术 (8)4.2.3 常用漏洞利用工具 (9)4.3 防御策略与应对措施 (9)4.3.1 防御策略 (9)4.3.2 应对措施 (9)第5章恶意代码与病毒防护 (9)5.1 恶意代码概述 (9)5.1.1 恶意代码的定义 (9)5.1.2 恶意代码的类型及特点 (10)5.2 病毒防护技术 (10)5.2.1 病毒防护原理 (10)5.2.2 常见病毒防护技术 (10)5.3 勒索软件防护策略 (10)5.3.1 勒索软件概述 (10)5.3.2 勒索软件防护策略 (11)第6章防火墙与入侵检测系统 (11)6.1 防火墙原理与配置 (11)6.1.1 防火墙概述 (11)6.1.2 防火墙工作原理 (11)6.1.3 防火墙配置 (11)6.2 入侵检测系统原理与应用 (12)6.2.1 入侵检测系统概述 (12)6.2.2 入侵检测系统工作原理 (12)6.2.3 入侵检测系统应用 (12)6.3 防火墙与入侵检测系统的联动 (12)6.3.1 联动原理 (12)6.3.2 联动配置 (12)第7章虚拟专用网络(VPN) (13)7.1 VPN技术概述 (13)7.1.1 VPN的定义与功能 (13)7.1.2 VPN的分类 (13)7.1.3 VPN的典型应用场景 (13)7.2 VPN加密协议 (13)7.2.1 加密技术在VPN中的应用 (13)7.2.2 常见VPN加密协议 (13)7.2.3 加密协议的选择与配置 (13)7.3 VPN设备的配置与管理 (13)7.3.1 VPN设备选型与部署 (13)7.3.2 VPN设备配置基本步骤 (14)7.3.3 VPN设备管理 (14)7.3.4 VPN设备故障排除 (14)第8章无线网络安全 (14)8.1 无线网络安全概述 (14)8.1.2 威胁类型 (14)8.1.3 安全挑战 (14)8.2 无线网络安全协议 (15)8.2.1 WEP (15)8.2.2 WPA (15)8.2.3 WPA2 (15)8.2.4 WPA3 (15)8.3 无线网络安全防护策略 (15)8.3.1 加强无线接入点安全 (15)8.3.2 强化密码策略 (16)8.3.3 网络隔离与访问控制 (16)8.3.4 安全监控与审计 (16)第9章应用层安全 (16)9.1 Web安全防护 (16)9.1.1 概述 (16)9.1.2 Web攻击手段 (16)9.1.3 Web防护策略 (16)9.1.4 Web应用防火墙 (16)9.1.5 与SSL/TLS (17)9.2 数据库安全 (17)9.2.1 数据库安全概述 (17)9.2.2 数据库访问控制 (17)9.2.3 数据库加密技术 (17)9.2.4 数据库防火墙 (17)9.2.5 数据库安全运维 (17)9.3 邮件安全与防护 (17)9.3.1 邮件安全概述 (17)9.3.2 邮件加密技术 (17)9.3.3 邮件认证与签名 (17)9.3.4 邮件过滤与防护 (17)9.3.5 邮件服务器安全配置 (17)第10章安全审计与应急预案 (17)10.1 安全审计概述 (17)10.1.1 安全审计的定义与作用 (17)10.1.2 安全审计的分类与标准 (18)10.1.3 安全审计的实施步骤 (18)10.2 安全事件应急响应 (18)10.2.1 安全事件概述 (18)10.2.2 安全事件应急响应流程 (18)10.2.3 安全事件应急响应团队建设 (18)10.3 安全预案制定与演练 (18)10.3.1 安全预案概述 (18)10.3.2 安全预案的编制方法 (18)10.3.3 安全预案的演练与评估 (18)第1章网络安全基础概念1.1 网络安全的重要性网络安全作为维护国家、企业和个人信息安全的关键环节,日益受到广泛关注。
网络攻防实战技术
网络攻防实战技术随着互联网的发展,网络攻击行为也日益增多,网络安全问题成为了现代社会不可忽视的问题。
网络攻防实战技术作为一种重要的网络安全技术,越来越受到人们的关注。
本文将从攻击技术和防御技术两个方面,介绍一些常见的网络攻防实战技术。
一、攻击技术1. DOS/DDOS攻击DOS攻击(Denial of Service,拒绝服务攻击)是指攻击者占用资源,使正常的网络流量无法传递,从而导致目标系统无法为正常用户提供服务。
DDOS攻击(Distributed Denial of Service,分布式拒绝服务攻击)则是指攻击者通过多个控制节点向目标系统发起大量的请求,使目标系统被压垮。
常见的防御方法包括使用防火墙、入侵检测系统、CDN等,以尽可能减少攻击带来的影响。
2. SQL注入攻击SQL注入攻击是指攻击者利用输入栏中的漏洞,通过构造特定的SQL语句,获取目标系统中的敏感数据等信息。
防御方法包括对输入进行过滤验证,使用参数化查询等措施。
3. XSS攻击XSS攻击(Cross Site Scripting,跨站脚本攻击)是指攻击者向目标系统中注入恶意代码,从而窃取用户的敏感信息、并进行一定的控制。
防御方法包括对用户输入进行过滤转义、使用HTTP-only Cookie等技术。
二、防御技术1. 漏洞扫描漏洞扫描是指通过对目标系统进行一系列的端口扫描与漏洞检测,发现其存在的漏洞,并及时修补漏洞。
漏洞扫描工具包括Nmap、Metasploit等。
2. 入侵检测入侵检测(Intrusion Detection,IDS)是指对网络流量进行监测,发现可能存在的入侵行为,及时对其进行处理。
入侵检测系统包括基于规则的IDS和基于机器学习的IDS等。
3. 防火墙防火墙是指在网络与互联网之间设置一道屏障,限制网络流量的进出。
防火墙可以通过黑名单、白名单、应用层规则等方式对流量进行处理,保护网络安全。
4. 加密技术加密技术将明文转换成加密后的密文,从而在网络传输中保证信息的安全性。
学习网络攻防的基础知识和教程推荐
学习网络攻防的基础知识和教程推荐网络攻防是信息安全领域中至关重要的一部分,对于网络安全方向的学习者来说,了解和掌握网络攻防的基础知识是必不可少的。
本文将按照类别划分为四个章节,分别介绍网络攻防的基础知识和一些教程推荐。
第一章:网络攻防概述网络攻防是指通过技术手段保护计算机系统和网络免受恶意攻击的一系列措施。
攻击者和防御者之间进行的攻与防的博弈常常围绕以下几个方面展开:网络漏洞与漏洞利用、恶意代码与病毒、入侵检测与防护、网络监控与日志分析等。
第二章:网络攻击与防御技术2.1 网络漏洞与漏洞利用网络漏洞是指网络系统或应用程序中存在的错误或弱点,可能被攻击者利用来入侵系统或获取非法权限。
学习者需要了解常见的漏洞类型,如跨站脚本攻击(XSS)、SQL注入、拒绝服务攻击(DDoS)等,并学习相应的防御措施。
2.2 恶意代码与病毒防御恶意代码(如病毒、木马、蠕虫等)是攻击者用来入侵系统或盗取用户信息的工具。
学习者需要了解恶意代码的传播途径和感染方式,并研究防御恶意代码的方法,如杀毒软件、防火墙配置、安全补丁更新等。
2.3 入侵检测与防护入侵检测与防护是指通过监控系统内外部的网络活动,及时发现和防止入侵行为。
学习者需要熟悉常见的入侵检测技术,如网络流量分析、入侵日志分析等,并学习如何配置和使用入侵检测系统(IDS)和入侵防护系统(IPS)来提高系统安全性。
2.4 网络监控与日志分析网络监控和日志分析是指利用各类监控工具和系统日志来实时监测和分析网络活动,及时发现潜在的安全威胁和异常行为。
学习者需要了解网络监控的基本原理和常见的监控技术,如网络流量分析、入侵检测、安全事件管理等,并学习如何使用相关工具来进行网络监控和日志分析。
第三章:网络攻防教程推荐3.1 OWASP(Open Web Application Security Project)OWASP是一个致力于提供开放式Web应用安全的组织。
他们提供了一系列的在线教程和指南,向学习者介绍了Web应用安全的基本概念、常见漏洞和安全测试方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
静态分析技术
所谓静态分析,即从反汇编、反编译手段获得程序的汇编代码或源代码,然后从程 序清单中分析程序流程,了解模块完成的功能。 (1)文件类型分析。 静态分析的第一步是分析文件类型,即了解编程语言、编译工具及程序是否被某 种保护程序处理过,为下一步分析做准备。常见的分析工具有Detect it Easy、 PEiD、FileInfo等。 (2)静态反汇编。 静态反汇编的常用工具包括IDA pro、Hopper、Binary Ninja等。其中,IDA pro是 逆向工程的必备工具;Binary Ninja提供了强大的脚本、反汇编功能;Hopper特 别适用于OS X系统的逆向工程。
攻击者窃取登录凭证主要使用以下3种攻击方式。
(1)记录击键。
(2)转储系统中存放的信息。
(3)等待用户登录以窃取相应的凭证,如访问网站时产生的cookie。
4.提权攻击
一个恶意代码通常要执行提升权限攻击来获得对系统所有的访问权限。
7
恶意代码免杀技术
1.隐藏—用户态Rootkit 恶意代码通常会隐藏其运行进程或依附进程。Rootkit是众多隐藏技术的主流之一,
止安全人员进行基本的分析。
恶意代码通过加密网络通信和程序内部逻辑实现其行为隐藏的目的。
(1)将窃取的信息转储到一个文件,并使用加密技术将其隐藏。
(2)转储需要使用的字符串,使用前再对其解密。
(3)隐藏配置信息,如指令和控制服务器的IP地址。
9
7.2 逆向工程基础
10
逆向工程基础
逆向工程,即对一项目标产品进行逆向分析及研究的技术过程,从而演绎并得出该产品 的处理流程、组织结构、功能、性能规格等设计要素,以制作出功能相近,但又不完全 一样的产品。
3
10 物联网智能设备攻防技术
主要内容 7.1 恶意代码概述 恶意代码行为 恶意代码免杀技术 7.2 逆向工程基础 软件分析技术 逆向分析技术 代码保护方法 加壳与脱壳的技术
4
7.1 恶意代码概述
5
恶意代码行为
1.常见的恶意代码行为 常见的两种恶意代码行为是下载器和启动器。恶意代码被下载器从互联网上下载后,
在本地运行。启动器包含立即运行或之后的某个时间运行的恶意代码。下载器有多 种主流方式,后门就是其中之一。启动器的实施则常采用反向Shell的方式。 1)后门(BackDoor) 后门是一种常见的恶意代码,为攻击者提供远程攻击受害主机的途径。后门一般
拥有多种功能,如操作注册表、列举窗口、创建目录、搜索文件等。 2)反向shell 反向shell是指从被感染机器上发起连接,提供了攻击者shell访问被感染机器的权
动态分析技术
动态分析技术中最核心的工具是调试器,可分为用户模式和内核模式两种类型。用户模 式调试器是指用来调试用户模式应用程序的调试器,如OllyDbg、WinDbg等。内核模式 调试器是指能调试操作系统内核的调试器。内核模式调试器处于CPU和操作系统之间, 工作于Ring 0级别中,如SoftICE等。
12
静态分析技术
(3)反汇编引擎。 反汇编引擎的作用是把机器码解析成可以汇编的指令。开发反汇编引擎须要对相
应架构的汇编指令编码有深入的理解。利用网络开源的工具可以自己开发一款反 汇编分析的工具。 2)静态分析工具IDA IDA功能非常强大。操作者可以通过和IDA的交互,指导IDA更好地进行反汇编。 IDA会按照用户的指令找到可疑之处,用户的工作是通知IDA怎么去做,如人工 指定编译类型、重新定义变量名、数据结构、数据类型等。 同时,IDA支持多种类型的文件,从常见的PE、ELF(Linux平台的可执行文件), 到嵌入式的ATmega等。另外,IDA拥有丰富的插件社区,软件功能也得到了进一 步的强化,例如:Hex-Ray是IDA知名的插件,可以将汇编代码直接翻译成C语言13 。
网络空间攻防技术与实践
计算机科学与工程学院
1
7 恶意代码攻防技术
7 恶意代码攻防技术
随着计算机、网络、信息等技术的飞速发展,人类社会已经进入信息化时代。信息化 带给人们极大便捷的同时,也带来了隐私泄露等信息安全问题。其中,恶意代码对信 息安全构成的威胁最为严重。
恶意代码是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。 随着网络技术高速发展,恶意代码传播方式也在迅速地演化,从引导区传播,到电子 邮件传播、网络传播,发作和流行时间越来越短,威胁也越来越大。本章将对恶意代 码的攻防进行拓展介绍。
8
恶意代码免杀技术
2.数据加密
恶意代码使用了加密技术隐藏其恶意行为。作为恶意代码的分析人员,想要了解恶
意代码,就要掌握数据的加/解密技术。
数据加密时,攻击者往往选择便于编码实现,同时又能提供足够破译复杂性的加密
算法。古典密码算法通过字符集转换、字符的替代、覆盖等技术实现信息的隐藏。
它更适用于有限的空间,其性能开销相对较小。恶意代码仅采用简单加密算法来阻
限,使攻击者可以像在本地系统上一样执行指令。
6
恶意代码行为
2.僵尸网络
僵尸网络是被感染主机(僵尸主机)的一个集合。僵尸网络由单一的实体控制,通
常由一个称为僵尸控制器的计算机作为服务器。僵尸网络会尽可能多地感染计算机,
进而传播恶意代码或蠕虫,也可以用于执行分布式拒绝服务攻击(DDoS)。
3.登录凭证窃取
其工具的表现形式各异,但是,大部分Rootkit通常通过修改系统调用、系统内核进 行工作。这样可以将恶意代码的源程序、过程数据、运行进程、网络连接,以及其 他相关资源隐藏起来,使得反病毒程序和安全人员难以发现它们。 一些Rootkit会修改用户态的应用程序或系统内核,这样做的目的在于直接让其运行 于内核态下,绕过用户态的保护程序,甚至成功躲避内核态的保护机制。与运行在 用户态相比,运行在内核态的Rootkit对操作系统的破坏力更大。 运行在用户态的Rootkit通常基于Hook技术,通过对Hook的定位和行为的分析,实现 破坏系统的最终目标。