网络基础安全 6_第1页
网络基础安全 6_第2页
网络基础安全 6_第3页
网络基础安全 6_第4页
网络基础安全 6_第5页
已阅读5页,还剩47页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《网络安全与管理》第6章恶意代码防范恶意代码既是一个新的概念又具有悠久的历史渊源。人们早已了解计算病毒,为什么又提出恶意代码的概念?恶意代码与计算机病毒究竟又有怎样的关系?恶意代码究竟有哪些危害,又是怎样一步一步繁衍起来的?应该如何及时检测发现,避免恶意代码的危害呢?本章将针对这些问题,通过对恶意代码基本概念以及一些典型恶意代码的阐释,讨论恶意代码的机理机制、攻击技术,然后给出恶意代码的常用检测与分析方法及其防范技术。引言凡战者,以正合,以奇胜。故善出奇者,无穷如天地,不竭如江河。——《孙子兵法》(兵势篇)妙用兵法6.1恶意代码概述6.2恶意代码的机理6.3恶意代码检测与分析6.4恶意代码对抗本章小结小测验第6章恶意代码防范了解恶意代码的基本概念、机理;掌握恶意代码检测与分析方法;掌握针对特定恶意代码对抗技术。第6章恶意代码防范恶意代码的机理;恶意代码检测与分析方法;恶意代码的清除及防范。学习目标关键知识点伴随着信息技术、网络互联技术的应用发展,网络系统在给人们带来便捷的同时,也带来了计算机病毒、蠕虫和特洛伊木马等骚扰破坏。据报道,世界各国遭受计算机病毒感染和攻击的事件数以亿计,严重地影响了正常的工作与生活,也给网络信息系统带来了巨大的安全威胁和危害:且呈现出善于变化且能适应新环境运行等特点。与其对应,信息安全技术也在随之迅速发展,计算机病毒的概念越来越不能全面反映其内涵,适时提出了恶意代码(MaliciousCode)的概念,并逐渐被人们接受和使用。6.1恶意代码概述恶意代码或恶意软件主要是指一种以危害信息与网络系统安全等不良意图为目的的程序代码,它们一般潜伏在受害网络系统或计算机终端中,会造成目标系统信息泄露、资源滥用,破坏系统的完整性与可用性。1.计算机病毒的起源及演变2.恶意代码概念的提出恶意代码又称恶意软件。维基百科将其描述为:恶意代码是在未授权的情况下,以破坏软硬件设备、窃取用户信息、扰乱用户心理、干扰用户正常使用为目的而编制的软件或者代码片段。6.1.1何谓恶意代码3.恶意代码的基本特性恶意代码是一个具有特殊功能的程序或者代码片段,就像生物病毒一样,具有独特的传播和破坏能力。目的性传播性破坏性这几个特性使得恶意代码具有生物病毒的一些特点,因此在网络安全领域借用了大量生物学中的许多专业词汇,如繁殖、感染、寄生等。另外,恶意代码还能针对具体应用或系统善于变化,在运行或传播中欺骗用户,具有针对性、欺骗性和变化性等特点。6.1.1何谓恶意代码4.恶意代码的种类恶意代码的种类繁多,界限难以区分,没有固定的分类标准。很多安全学专家根据恶意软件的特点和行为定义了不同的类别,例如分为计算机病毒、蠕虫、木马、Rootkit等。由于计算机病毒是最早出现的恶意代码,因此也有将恶意代码等价于计算机病毒的看法。5.恶意代码的命名规则1991年,计算机反病毒研究组织(CARO)提出了一套被称为CARO的命名规则的标准命名格式。此后,对于恶意代码的命名规则取得了相对共识,一般命名格式为:<恶意代码前缀>.<恶意代码名称>.<恶意代码后缀>6.1.1何谓恶意代码1.传统计算机病毒计算机病毒的特性传染性:传染性是指计算机病毒通过修改别的程序将自身的复制品或其变体传染到其他无毒的对象上,这些对象可以是一个程序也可以是系统中的某一个部件。隐蔽性:具有很强的隐蔽性,只有少数病毒能够通过病毒软件检查出来。繁殖性:可以像生物病毒一样进行繁殖,当正常程序运行时,它也进行自身复制。潜伏性:可以依附于其他媒体寄生的能力,侵入后的病毒潜伏到条件成熟时才发作。可触发性:一旦条件满足,计算机病毒就会“发作”,破坏计算机系统。破坏性:计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏,破坏引导扇区及BIOS,破坏硬件环境。6.1.2典型的恶意代码1.传统计算机病毒计算机病毒的类型按照计算机病毒的传染方式可以分为:①引导型病毒。文件型病毒,也称为“寄生病毒”,③混合型病毒,④宏病毒。根据病毒传染渠道可以分为:①驻留型病毒,②非驻留型病毒,③脚本病毒。根据破坏能力可分为:①无害型,②无危险型,③危险型,④非常危险型。计算机病毒的组成结构计算机病毒在组成结构上一般都包括引导、传染和破坏3个最基本的功能模块。传统计算机病毒实例6.1.2典型的恶意代码2.蠕虫蠕虫也属于一种病毒,它有自我复制能力并通过计算机网络传播,其目的是增加系统和网络的负载,消耗系统有限资源。蠕虫的组成蠕虫的攻击过程蠕虫的危害蠕虫与病毒的区别一般认为,蠕虫是一种通过网络传播、实施主动攻击的恶性病毒,属于计算机病毒的子类。6.1.2典型的恶意代码3.特洛伊木马木马通常指一种基于远程控制、暗藏恶意指令的程序或代码。木马的组成木马的种类木马的通信技术木马的防范木马的危害非常大,它能使远程用户获得本地计算机的最高操作权限,通过网络对本地计算机进行任意操作,比如删添程序、锁定注册表、获取用户机密信息、远程关机等。木马不仅破坏计算机及网络,而且对其进行控制、窃取或篡改重要信息。因此,需要采取多种有效措施加强对木马的防范。6.1.2典型的恶意代码恶意代码经过几十年的发展,在攻击与防范的持续博弈中,其攻击技术不断改进与更新,形成了独有的实现及运行机理。如今,恶意代码融合了多种先进的网络攻击技术,可以实现快速传播、隐蔽运行、信息窃取、远程控制,以及免杀、反逆向分析等多种功能,组成恶意代码的各要素在工作方式以及诸要素在一定环境条件下能够相互联系、相互作用、肆行暴虐。因此,需要深入分析恶意代码的形成、运行机理,研究其实现攻击的关键技术,才能够从根本上有效防范恶意代码的侵害。6.2恶意代码的机理恶意代码的生命周期包括编制代码、传播、感染、触发、运行等环节,如图所示。在整个生命周期,恶意代码的机理主要集中在传播、感染和触发三个环节。6.2.1恶意代码实现机理1.传播机制传播机制是指恶意代码散布和侵入受害系统的方法,包括恶意代码自我复制和传播的情况,也包括恶意代码被复制和被传播的情况。文件流动网页脚本和插件电子邮件数字内容播放网络攻击自我传播6.2.1恶意代码实现机理2.感染机制感染机制是指恶意代码依附于宿主或隐藏于系统中的方式,进行感染的前提是恶意代码已经进入受害系统。感染引导感染执行文件感染结构化文档感染网络服务或客户端假冒文件6.2.1恶意代码实现机理3.触发机制触发机制是指对已经侵入或感染到受害系统中的恶意代码,使它们得到执行的方法、条件或途径,其中,恶意代码的执行条件可以是客观的技术约束条件,也可以是恶意代码设计者为了实现潜伏性或等待破坏时机而主观设置的。恶意代码的触发机制主要取决于感染机制。最简单地,当程序、组件和宏命令等被执行时,其中感染的恶意代码将获得执行权。对引导型病毒,系统启动可以直接使它们获得执行权限。6.2.1恶意代码实现机理1.恶意代码传播植入恶意代码传播植入就是当系统启动时被自动加载,即把与服务相关的嵌入了恶意代码程序的可执行代码作为载体,实现自身隐藏并启动。这类恶意代码只需安装一次,就能被服务加载到系统中运行,并且可以一直处于活跃状态。邮件附件植入共享软件植入传播网站下载植入漏洞植入挂马植入6.2.2恶意代码攻击方式2.隐藏隐藏是木马等类别恶意代码的主要技术,尤其是为了窃取信息,需要长期潜伏在用户计算机系统中。恶意代码在成功入侵目标系统后,常采取各种技术手段来隐藏自己,以防被用户发现和清除。主机隐藏通信隐藏3.信息窃取GINA拦截口令哈希值转储击键记录6.2.2恶意代码攻击方式4.免杀与反逆向技术免杀是指一种使恶意代码免于被杀毒软件查杀的技术。免杀技术涉及范围非常广泛,包含反汇编、逆向工程、系统漏洞等。免杀技术更改特征码免杀“加花”免杀加壳免杀反逆向技术加壳反逆向技术对抗反汇编技术6.2.2恶意代码攻击方式恶意代码的泛滥成灾,尤其是莫里斯蠕虫爆发带来巨大损失之后,在全世界引起了广泛关注,也催生了恶意代码检测与分析技术。最早研究恶意代码检测技术的是所罗门博士(DoctorSoloman)和尤金·卡巴斯基(EugeneKaspersky)。1989年,我国公安部发布了中国最早的杀毒软件产品Kill,在很长时间内向国内部分用户免费发放使用。20世纪90年代国内的杀毒软件如雨后春笋般出现,包括瑞星、江民、金山等,对于病毒检测查杀起到了积极作用。面对日益增多的恶意代码及其变种,如何对其进行快速有效的检测与分析,是信息安全领域一直在深入研究解决的主要问题。恶意代码检测与分析是网络安全的基石。6.3恶意代码检测与分析恶意代码检测是指利用一定的规则和先验知识确定某个文件是否为恶意代码程序,即对目标文件进行二分类的问题。恶意代码在感染用户计算机后,在从事破坏活动的过程中会引起各种变化,恶意代码的检测原理就是根据这些特征来判断是否是恶意代码,进而确定清除方案的。恶意代码的检测方法主要用于确定在感染目标中是否存在恶意代码及其种类。6.3.1恶意代码检测方法1.特征代码扫描法恶意代码一般以二进制代码形式存在,其中可能存在某一个称为特征代码的代码序列,可以用来标识一个病毒、木马或蠕虫等。特征代码扫描的原理就是利用已经得到的特征代码,通过匹配可能的感染对象,确定是否感染了某种恶意代码。建立特征代码库匹配特征代码6.3.1恶意代码检测方法2.校验和检测法校验和检测法是指在文件使用或者系统启动过程中,检查检测对象的实际校验和是否与预期一致,进而发现文件或引导扇区是否被感染。通常是利用哈希函数(如MD5、SHA-1等)计算并保存未感染恶意代码时系统中文件的哈希值,检测恶意代码时重新计算该值与原来的哈希值进行比较,如果不一致该文件则可能被恶意代码篡改。目前,已有很多检测工具为用户提供这种文件完整性保护的校验和检测方法,能够很方便地计算检测对象的哈希校验和。6.3.1恶意代码检测方法3.行为监测法行为监测法通过发现异常行为进行报警。很多检测工具都提供有类似的功能。基于异常的检测。定义正常程序的合法行为规则,通过计算与合法行为的偏差判断是否为恶意代码。基于误用的检测。定义恶意代码程序的非法行为规则,当被检测程序与非法规则匹配时,则判定为恶意代码。6.3.1恶意代码检测方法4.软件模拟法软件模拟法用可控的软件模拟器模拟恶意代码的执行,在执行中确认恶意代码的特征。5.比较法比较法是指用正常对象与被检测对象进行比较。6.感染实验法将一些确知干净的文件复制到可能含有病毒的系统中,反复执行或打开它们,从它们的长度或内容的变化来确定是否存在恶意代码。6.3.1恶意代码检测方法1.静态分析静态分析是指对恶意代码的可执行文件利用可移植的执行文件(PE)结构、编译原理等技术进行分析,分析过程中不需要执行恶意代码。静态分析技术可分为字符串分析、查看脚本分析、二进制分析、反汇编以及可能的反向编译分析等。进行恶意代码静态分析通常需借助于软件分析工具,例如IDAPro。对恶意代码进行静态分析的具体步骤。具体的分析过程是灵活多样的,常常需要与动态调式工具结合,边分析边验证,以达到最终的分析目的。6.3.2恶意代码分析技术2.动态分析动态分析是在恶意代码执行的情况下,通过工具进行行为及内存监控的一种分析方式。由于分析过程中恶意代码被实际执行,因此,分析过程能够真实展现恶意代码的内部细节。常见的动态分析工具是调试器,如WinDBG、OllyDbg、Immunity、Debugger、GDB等。通过调试器调试恶意代码,分析人员能够查看每条指令执行时各寄存器的值、任意内存地址处的值,查看函数调用堆栈、SHE链等信息。静态分析查看恶意代码相关的代码或数据文件,可以对恶意代码有个基本了解,若要全面深入地掌握恶意代码的内部细节,需要进行动态分析。6.3.2恶意代码分析技术3.基于人工智能的算法分析人工智能算法为恶意代码的检测分析提供了新思路和方法,并扮演着越来越重要的角色。目前,被用于恶意代码检测分析领域的人工智能技术包括数据挖掘、人工神经网络、机器学习和人工免疫系统等。其中,基于机器学习的检测分析是通过对大规模恶意代码样本进行特征提取,如API、CFG(controlflowgraph)、关键字符串值等,然后采用机器学习算法(例如分类或聚类)训练样本,以构建模型判断恶意代码的恶意特性。借助人工智能算法,检测系统可以实时检测分析恶意代码的入侵,提高系统安全管理能力。6.3.2恶意代码分析技术1.勒索型恶意代码分析勒索型恶意代码的攻击方式。勒索恶意代码攻击一般包括传播感染、本地攻击和勒索支付3个阶段。勒索型恶意代码家族及危害。勒索型恶意代码的攻击目标、手段逐渐多样化。通常,Windows用户是勒索软件的主要攻击目标。由于各种恶意代码编制团伙都在争相寻找目标群体,针对其他平台(如Linux系统、安卓平台、MacOSX,以及物联网)的勒索软件攻击活动也在与日俱增。勒索型恶意代码常用加密算法。6.3.3典型恶意代码分析1.勒索型恶意代码分析勒索型病毒(Hidden-Tear)源码分析。HiddenTears是一个针对Windows开源的、学习型勒索病毒演示软件,由土耳其安全研究员UtkuSen于2015年首次上传到代码托管平台GitHub。Hidden-Tear病毒源代码流程图如图所示,包括初始化、定义参数、窗体函数可视化配置、生成随机密码,发送随机密码到服务器、加密文件、生成警告信息等。6.3.3典型恶意代码分析2.移动终端恶意代码分析对移动终端恶意代码被广泛接受的表述是:运行于包括智能手机在内的具有移动通信功能的移动终端之上,存在窃听用户通话、窃取用户信息、破坏用户数据、擅自使用付费业务、发送垃圾信息、推送欺诈信息、影响移动终端运行、危害互联网安全等恶意行为的程序代码。智能手机恶意代码的种类。通过蓝牙传播的病毒,如零点击蓝牙漏洞(zero-click漏洞)。针对移动通信商的手机病毒,比如“蚊子木马”。针对手机BUG的病毒,比如“移动黑客”。利用短信或彩信进行攻击的“Mobile.SMSDOS”病毒。6.3.3典型恶意代码分析2.移动终端恶意代码分析移动终端恶意代码的传播方式。终端→终端:手机直接感染手机,其中间桥梁诸如蓝牙、红外线等无线连接,主要是以恶意短信的方式发起攻击,传播非法信息。终端→网关→终端:手机通过发送含病毒的程序或数据攻击网关,如无线接入点(AP或WAP)服务器、短信平台等。PC机→终端:恶意代码先寄生在普通计算机系统中,当移动终端连接染毒的计算机时,恶意代码再传染给移动终端。6.3.3典型恶意代码分析2.移动终端恶意代码分析移动终端恶意代码分析方法。静态特征提取。静态特征主要包括两种,一种是权限特征,另一种是敏感API特征。动态特征提取。对于动态行为,一般可以选择自动化工具MonkeyRunner和动态分析工具Inspeckage来提取动态特征。移动终端恶意代码的防范。在手机研制阶段,尽量避免存有手机操作系统漏洞,从源头杜绝手机病毒。养成良好的手机上网习惯。安装合适的手机杀毒软件。6.3.3典型恶意代码分析3.APT攻击路径分析APT攻击过程。军事领域有一个“杀伤链”模型,用“发现→定位→跟踪→瞄准→打击→达成目标”6个环节描述一个攻击过程。在网络空间安全领域,洛克希德·马丁公司提出了网络杀伤链(Cyber-Kill-Chain)模型,如图所示。6.3.3典型恶意代码分析3.APT攻击路径分析APT的特征。高级性是指实施APT攻击需要比传统攻击更高的定制程度和复杂程度,需要花费大量时间和资源来研究确定系统内部的漏洞。持续性是指APT攻击为了达到特定目的,采用“放长线”策略持续监控目标,保有对目标的长期访问权。APT攻击者一般都很有耐心,渗透过程和数据外泄阶段往往会持续数月乃至数年。APT是人为参与策划的攻击,攻击目标一般是具有高价值的组织,一旦攻击成功,往往会对目标系统造成巨大的经济损失或政治影响,乃至于毁灭性打击。6.3.3典型恶意代码分析3.APT攻击路径分析APT攻击的典型实例。GoogleAurora极光攻击。震网攻击。SolarWinds供应链事件。当前针对APT的研究侧重于寻找可靠的攻击特征并提高检测准确率,由于复杂且庞大的数据很容易将APT特征隐藏,使得难以获取可靠特征数据。6.3.3典型恶意代码分析恶意代码作为对网络系统实施破坏的一种形式,已经成为当前网络空间安全面临的安全威胁之一。网络系统一旦感染了恶意代码其后果往往不堪设想,而且恶意代码十分狡猾,只要计算机连接在网络上,只要浏览网页或收发电子邮件,恶意代码就有可能让网络用户遭受侵害。网络安全技术必须以牙还牙,不但要防范恶意代码的传播和感染,还要在恶意代码入侵行为造成恶劣影响之前,就能够及时精准检测、予以清除,对抗恶意代码的侵害。所谓对抗就是基于不同的网络场景、安全需求,构建起弹性主动防御体系,部署特定的防范策略及防御措施,以有效避免、转移、降低系统面临的安全风险。6.4恶意代码对抗1.检测恶意代码检测技术是指通过一定的技术手段来判定是否是恶意代码,通常是采取特征扫描法。针对网络系统,需开展定时检测和在线检测,并及时在线更新恶意代码特征库。2.清除恶意代码清除是指在尽量保全被感染程序功能的情况下,移除恶意代码或使其失效。清除人员一般需要了解相关恶意代码的感染机制。注意,随着恶意代码技术的发展,并不是每种恶意代码都能够被详细分析,也并不是所有的恶意代码都能够成功清除。6.4.1恶意代码防范方法3.预防预防主要是通过一定的技术手段防止恶意代码对系统进行传染和破坏。预防恶意代码的主要方法是阻止恶意代码进入系统,或阻止恶意代码对磁盘的操作尤其是写操作,具体包括磁盘引导区保护、加密可执行程序、读写控制和系统监控、系统加固(如打补丁)等技术。4.免疫主动免疫可信计算模式的核心是构建“计算+保护”并行的双轮驱动体系结构,形成动态的防防范模式,对计算过程进行正确性的核研,发现异常及时处理,达到主动防护的效果。5.恶意代码防范策略6.4.1恶意代码防范方法1.系统安全加固操作系统,包括Windows系统、UNIX系统等。网络设备,包括华为、中兴以及Cisco的路由器、交换机等主流网络设备。安全设备策略,包括防火墙、入侵防御/入侵检测等设备的数据包过滤规则。网络架构,包括网络拓扑分析、路由配置安全性评价、网络接入安全性评估等。数据库,包括主流的数据库系统,如MySql、MSSQLServer、Oracle等。通用应用软件,包括IIS、Apache等常见Web服务器应用软件等。6.4.2恶意代码防御技术2.Web应用防火墙WAF的功能。从广义上来说,WAF与网络层的边界防火墙功能类似,就是一种应用级的网站安全综合解决方案,它以全新的安全理念与先进的创新架构集成了Web防护、网页保护、负载均衡、应用交付等功能,能够保障用户核心应用与业务持续稳定运行。WAF的部署接入方式。CNAME接入。透明接入。6.4.2恶意代码防御技术3.杀毒软件杀毒软件是一种对计算机的内容和文件进行扫描,检测其中是否隐藏有恶意代码,并对其做出查杀、隔离等不同措施的工具。杀毒软件的工作方式主要是内存监控和磁盘扫描。内存监控会在文件打开、关闭、清除、写入等操作内存时,对内存进行监控,以检查文件是否携带了恶意代码。磁盘扫描能够对磁盘中的所有文件直接进行扫描,运用特征代码匹配等技术检查恶意代码。对于检测出的恶意代码,杀毒软件会根据用户的决策选取不同的处理方案,包括清除、删除、禁止访问、隔离、不处理。6.4.2恶意代码防御技术4.实时监控所谓实时监控就是在网络系统中,始终监控访问系统资源的一切操作,并对其中可能含用的恶意行为予以告警。实时监控能够实现包括文件监控、注册表监控、进程监控、脚本监控和内存监控在内的多种监控方式。它们协同工作可以形成全方位的立体防护,有效抵御恶意代码的攻击破坏。为减少SQL注入攻击的可能性,可采取如下一些防御措施。使用类型安全(type-safe)的参数编码机制。凡是来自外部的用户输入,都进行安全性检查。在构造动态SQL语句时,一定要使用类安全(type-safe)的参数编码机制,将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象。6.4.2恶意代码防御技术5.数据备份与数据恢复数据备份技术。完全备份。增量备份。差异备份。数据恢复方法数据恢复是指当系统发生故障时将数据恢复到原有状态。根据有无数据备份,数据恢复有正常数据恢复和灾难数据恢复之分。6.增强安全防御意识6.4.2恶意代码防御技术本章小结作为发起网络攻击的一种武器,恶意代码已经成为当前网络空间面临的主要安全威胁;而且为了对抗检测,恶意代码还在持续演化升级。恶意代码始作俑者普遍采用加壳、多态、变形、环境侦测等手段,在保持代码恶意性的同时,不断改变恶意代码的结构特征,规避分析与检测,给恶意代码防范带来严峻挑战。本章通过分析恶意代码概念、机理机制及其攻击技术,重点讨论了恶意代码的检测与分析方法,并以典型的恶意代码实例,如勒索型恶意代码、移动智能终端恶意代码和高级持续性威胁(APT)攻击的检测与认知等,进行了比较深入的讨论。最后针对恶意代码的特性给出了防范对抗技术方案,意

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论