




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于机器学习的恶意行为自动化分析【实用文档】doc文档可直接使用可编辑,欢迎下载
基于机器学习的恶意行为自动化分析基于机器学习的恶意行为自动化分析【实用文档】doc文档可直接使用可编辑,欢迎下载KonradRieck,PhilippTrinius,CarstenWillems,andThorstenHolzBDomne译摘要恶意程序是计算机系统中最主要的安全威胁,其变种的数量和多样性使得传统的安全防护不再可靠,互联网上数以万计的机器正受到恶意软件的侵害,这之中最常见的当属病毒、蠕虫和木马。同时,恶意程序采用的混淆和多态技术给文件层面的检测造成了很大阻碍,基于二进制的程序动态分析技术给描述和防御恶意威胁提供了一种新的手段。本文我们基于机器学习提出了一套恶意行为自动化分析的框架,此框架能根据相似的行为特征发现新的恶意程序类型(聚类),并将未知的恶意样本指派到已知的类型中(分类)。在聚类和分类的基础上,我们接着又提出了一种增量分析的方法,它使得借助行为检测处理每天新增的大量样本成为可能,在保证准确识别新变种的同时,增量分析法能很大程度缩短目前通用方法的运行时间.1介绍恶意程序是当今互联网中的一个主要威胁,从经典的计算机病毒到网络蠕虫,再到僵尸网络,无一例外的把连接到网络中的计算机系统作为攻击目标。此类威胁主要由黑色产业驱动,通过系统化的利用被入侵主机达到非法目的,比如传播垃圾邮件、获取机密数据等.遗憾的是传统的安全技术,比如防病毒扫描,在恶意程序不断增长的数量及多样性背景下变得不再那么可靠,导致互联网中成千上万的主机面临恶意软件的威胁。为了对抗网络中快速传播的恶意威胁,反恶意程序的开发者很大程度上需依靠自动化来分析新的变种,进而制定相应的防护措施。然而,自动化分析并非易事,因为恶意程序的编写者经常采用混淆技术,比如二进制加壳、加密,或者代码自修改等来增大分析难度,这些手段对反静态分析特别有效。但和静态分析不同,动态的二进制流分析能够有效的监控程序的恶意行为,这些行为通常不容易隐藏,而且往往表征对应的恶意目的。因此,大量的研究工作集中到开发特定工具来收集和监控恶意样本的行为.动态监控二进制流为研究恶意行为提供了可能,但这还不足以阻止恶意程序的传播。真正需要的是能够自动化的分析样本行为,只有这样新出现的恶意操作才有可能得到控制.针对基于机器学习的自动化分析近年来出现了以下两个概念:(a)对行为的聚类处理,目的在于发现具有相似行为的新类型;(b)对行为的分类处理,能够将恶意操作对应到已知的行为类别.早先的工作大都将这两个概念分开来研究,并通过不同的算法加以实现,以此来处理行为特征.在本文中,我们认为新类型的发现(聚类)和已知类型的区分(分类)是能合而为一的,对于有效的恶意程序分析它们都是不可或缺的.因此我们提出的恶意行为自动化分析框架将融合聚类和分类的处理。总体来说,本文主要有以下贡献:-可计算的聚类和分类处理。我们将监控到的行为特征映射到一个向量空间,这样就能有效的应用到机器学习的相关方法.同时,为了使计算成千上万的向量成为可能,我们介绍了一种基于原型向量的近似技术,这对于聚类和分类处理都是适用的。-恶意样本的增量分析。通过结合聚类和分类处理,我们设计了一种增量法来进行行为分析,这使得处理每天新增的大量样本成为可能。通过迭代处理,增量分析法极大的降低了运行时间和内存占用,而且还保证了新类型的准确识别。—借助实际的恶意样本进行评估。通过比较评估,我们证明了此框架要远胜于目前主流的分析方法.从结果来看,增量分析法降低了94%的内存占用,并且在速度上至少提升了4倍,它能够在少于25分钟的时间内对33000份行为报告进行处理。虽然提出的分析框架并不能消除恶意程序的威胁,但它为反恶意程序产品的开发指出了一个新的方向,使其能够自动有效的识别新的恶意类型。文章其余部分的组织结构如下:第二节将介绍我们的分析框架,包括特征提取、机器学习技术以及恶意行为的增量分析。第三节将借助反病毒厂商提供的样本对框架进行评估。相关工作将在第四节讨论,第五节为本文的总结.2恶意行为自动化分析恶意程序通常拥有复杂的行为特征,包括最简单的系统资源修改到多样化的网络交互.然而,属于同一家族的变种大都具有相同的行为模型,比如使用特别的互斥变量名或者修改特殊的系统文件。我们的目标就是利用这些相同模型进行自动化分析,并提出一套基于行为检测的包含聚类和分类处理的分析框架。我们的框架原理图如图1所示,主要步骤可概括为:1。首先我们将通过沙箱环境监控恶意样本的二进制流。基于具体的执行操作,换言之即系统调用,每一个二进制文件将产生一系列的行为报告,其中的系统调用和参数将保存在特定的表示法中以进行下一步的分析。(2.1节)2.而后这些报告将被映射到一个高维的向量空间,每一维对应一种行为模型。借助向量表示,相似的行为可通过几何特性来衡量,这样很自然的就会用到聚类和分类的方法。(2.2节)3.接着基于机器学习的聚类和分类方法将用来处理这些报告,进而识别成新的或已知的恶意类型.为了实现高效的分析计算,我们借助原型向量将具有相同行为的报告进行归类,这样在实际的分析中就能有效的用到近似分析法。(2。3节)4。最后,考虑到每天的样本数量,在聚类和分类的交互迭代中采用了增量法来进行行为的分析。那些匹配已知类型的样本将被对应的原型向量识别出来,接着再从那些未知的行为报告中发掘新的恶意类型.(2。4节)接下来的章节将一一讨论这些步骤和详细的技术背景。我们将给出具体的行为监控实例,描述对应的向量表示,并详述聚类和分类处理以及增量法的应用。图1:分析框架原理图。输入的行为报告将被归类到已知的恶意类型或新定义的类型,并且由聚类处理得到的新原型向量也将作用于后续的分析。2.1监控恶意行为在基于行为的恶意程序分析中,先决条件是能有效的进行行为监测且对应的表示适合精确的计算处理。在本小节中,我们将介绍框架中用到的沙箱技术以及通过恶意指令集来表示行为特征。2.1。1恶意程序与沙箱为了监视二进制流,大部分方法用到了系统调用的拦截技术。和源码分析不同,二进制分析基于程序的反汇编结果,在此过程中源文件是可以被完全忽略的,而二进制流将被视作黑盒在受控环境中执行,其中所有的系统交互都会被拦截。因此,通过hook系统调用,沙箱能够监测和修改程序运行时的调用参数以及得到的返回值。当然,此类拦截的实现可分为多个层次,从简单的程序监控到深入进程的动态插桩或静态补丁都是可行的。我们分析中用到的CWSandbox工具则借助inlinehook实现系统调用的拦截,通过修改每个系统调用的前几条指令,使其无条件跳转到hook函数,在hook函数中会将系统调用和对应参数记录到日志文件而后转去执行真正的调用函数.2。1.2恶意指令集从沙箱Anubis、CWSandbox生成的报告可以看出,监控行为的表示方式主要基于文本和XML格式.然而,这样的表示只适合人工分析和一般意义上的统计计算,对于行为的自动化分析显然是不合适的。此类结构和富文本加大了应用机器学习处理报告的难度,因为机器对于观测到的行为流是不能直接理解的.此外,复杂的文本表示还会增加报告的大小,这对于分析算法的执行性能也是不利的.为了应对此问题以及优化报告的处理,我们从处理器的指令集设计中获得灵感进而提出了基于恶意指令集(MIST)的行为表示方式。和一般的格式不同,监控到的恶意行为将转而由一系列的指令来描述,即每一条线程流或进程流的描述将依次附加到统一的报告中。在这种格式下,一条指令将对应一个具体的系统调用,且参数都由数字来标识,例如‘0305’用来表示系统调用‘move_file’。对于多个参数的情况,将采用不同的等级块来表示,对应到行为识别的不同等级,我们称之为MIST等级。此外,像文件名和互斥变量名这些变长参数将由索引号表示,借助全局映射表可将索引号和原始内容进行转换。图2:MIST指令图解.CATEGORY表示对应的系统调用类别,OPERATION表示具体的系统调用,ARGBLOCKN表示参数。图2展示了MIST指令的基本结构。指令的第一级对应系统调用的类型和名称,例如,‘0305’对应‘filesystem'(03)类型,名称为‘move_file'(05)。接下来的各级包含不同的参数块,其识别顺序为自左向右,这样排列的主要目的是为了消除“噪音”元素,比如将进程和线程的标识参数移到指令的末尾,而将目录名和互斥变量名这些固定且易于区分的参数移到开头,这样基于行为的分析最多只要考虑到指令的某一具体等级即可.此外,如果指令间只存在小幅的差别,比如使用了随机文件名,那么这些类型的相似行为也是有可能被检测出来的。作为例子,图3比较了CWSandbox早先的XML表示法和新的MIST表示法在生成报告时的不同.图示的move_file操作带上了具体参数,虽然从格式来看它们差别较大,但表示的却是相同的内容。容易看出,MIST指令的参数排列被重新处理过了,其中文件路径名和扩展名包含在级别2中,而文件名则包含在级别3中。此外,借助数字标识和索引,MIST指令表示比XML表示要精简的多.图3:系统调用的特征表示。CWSandbox通过XML属性表示系统调用,而恶意指令集(MIST)通过结构化的指令表示系统调用。2.2恶意行为的向量映射前面提到的MIST特征表示能够较好的对行为进行描述,具体的动态二进制流将由一系列指令组成的报告来表示。而诸如改变注册表键值或者修改系统文件之类典型的恶意行为将会对应报告中的特定子序列,但是,这种表示仍不适合应用机器学习来分析,因为学习算法通常处理的是向量中的实际数据。为了解决此问题,我们将介绍一种把恶意行为映射到向量空间的技术,此处的灵感主要源自自然语言的处理和基于主机的入侵行为检测。2.2.1使用q元指令进行映射从抽象层面看,恶意程序的行为报告x对应一系列具体的指令,为了描述此序列的内容,我们引入滑动窗口的概念,并假设每个子序列的偏移量为q.由此得到的指令片段集,即q元指令,将对应各简短的行为模型,这其中蕴含着一定的程序语义。为了通过q元指令进行报告的映射,我们定义了一个包含所有可能q元指令的集合S:其中A表示所有可能指令的集合,考虑到MIST的等级划分,这里的A和S可能包括从无参数系统调用(级别1)到全参数系统调用(级别大于1)之间的所有情况。借助集合S,恶意行为报告x可被映射到一个|S|维的向量空间,每一维对应一个q元指令,即单独的行为模型.相应的映射函数φ,也就是q元指令的存在标识,定义如下:作为例子,让我们考虑这么一个报告x='1|A2|A1|A2|A',它仅包含两条指令,集合A={1|A,2|A}。如果我们通过2元指令来描述报告x,那么φ(x)表示如下:不同于这个简单例子,实际指令集的向量空间维度要大得多。例如,对于MIST等级为2的2元指令,1000个报告集合中通常包含超过100000个单独的2元指令,因而映射的向量空间维度将超过100000,咋看之下,要计算比较这么高维度的向量几乎是不可能的。然而,单独一个报告x所包含的q元指令数目与其长度仅成线性相关,也就是说,对于包含了m条指令的报告x,其最多由(m-q)条不同的q元指令构成.因此,不论实际的向量空间维度有多大,对于特征向量φ(x)来说,最多只有(m-q)维的值是非零的。鉴于这样的稀疏向量φ(x),使得我们可以通过时间复杂度为线性的算法来比较不同的映射报告,因而才能通过第3节介绍的方法进行高效的行为分析。同时,非零维度的数量还和其它因素有关,比如冗余的行为、用到的符号集或者报告的长度等。事实上,在这些因素中报告的长度影响最大并且会给结果带来误差,在比较长度相差较大的报告时尤为明显。为了消除误差,我们引入了标准化映射函数:它将起到均衡的作用,使得每个向量φ(x)的向量基等于1。通过这种标准化处理,在q元指令相对更少的报告中,每条q元指令的影响权重将更大。也就是,对那些包含重复行为模型的报告,改变其中一定数量的指令在映射向量上带来的影响要大于那些由多种不同的行为模型组成的报告。这种形式的标准化在以信息检索进行文本比对领域有着广泛的应用,通常被当作相似计算的一部分。2.2.2映射报告的比较将报告映射到向量空间使得我们能够借助几何方法来描述相似行为,进而自然的用到机器学习的相关技术.为了计算映射报告间的几何距离,我们定义了距离d:它将用来比较映射报告x和z的行为,这种表示和欧几里得距离R|s|是一致的.因为经过了标准化处理,所以距离d(x,z)的取值范围为0到√2,即相同行为(0)到最大偏差(√当借助向量空间将问题转换到几何层面后,我们就可以通过机器学习的方法来有效的分组和区分映射报告了.那些来自相同家族的恶意变种在行为上拥有一些共同的q元指令,彼此间具有相似性,因而d值较小,而来自不同家族的恶意报告间d值较大,彼此在向量空间上的分布也更分散。同其它计算距离的方法相比,我们的方法借助了向量表示,每一个q元指令都对应到具体的行为模型,后续的分析算法就是建立在这些行为模型基础上做出的判断.2.3聚类和分类通过建立恶意报告到向量空间的映射,使得我们可以采用机器学习的方法来进行行为分析。具体来说,我们将涉及以下两个概念:行为的聚类,即能够通过相似行为识别新的恶意类型;行为的分类,即将程序对应到已知的恶意类型。为了更新恶意程序信息,需要每天通过聚类和分类的方法处理大量的样本报告,但是,大部分学习算法在复杂度上和输入数据量成超线性关系,因而不能直接应用到恶意程序的分析中。为了处理此问题,我们在进行聚类和分类时采用了一种相似法计算。相同家族的二进制流经常包含相似的手法,进而表现出几乎相同的行为模型,因此对应的映射报告在向量空间上看起来是彼此汇集的。利用这种聚合特性,我们使用原型向量来进行相似样本的归组,这里样本报告是由一组行为模型来表示的。通过减少算法对原型向量的计算以及结果反馈机制,我们能加快聚类和分类的处理。同时,每个选取的原型向量都能对应到具体的样本报告,因而对分析者来说行为信息是可见的,若采用哈希方式来处理就不透明了,分析者几乎得不到具体的行为信息。图4(a)阐述了原型向量的概念,在构造的数据集上由每个原型代表一组相似的向量。图示大约有100个向量,它们被分成3个聚集,由5个原型向量(以黑点表示)来代表这些数据.注意原型个数没必要和聚集个数相一致,比如图4(a)下方和上方的聚集各有两个原型向量。正如第3节所述,原型向量近似法比精确计算法更能提高运行效率,同时仅引入很小的误差。图4:使用原型向量进行行为分析:(a)原型向量,(b)借助原型向量划分聚集,(c)借助原型向量进行分类。图4(b)的黑线表示聚集中的原型关联。图4(c)的黑线表示类型划分。2.3.1提取原型向量从样本集中提取一小部分具有代表性的原型并不是一件容易的事,大多数提取方法主要依靠聚合处理或者超线性计算,但如果作为实现有效近似计算的基础,这显然就不合适了.更糟的是,要找到最优的原型集合似乎还是一个NP难题。但幸运的是,我们可以通过修改Gonzalez提出的一个时间复杂度为线性的算法来获取原型集合,可以证明其在效率上仅比最优方案慢了1倍。具体的算法描述见Algorithm1。此算法通过迭代从报告集中提取原型向量,其中初始向量要么是设定的要么是随机选择的.在每轮迭代中,我们会计算当前各原型向量到所有剩余报告间的距离d(第5—7行),d值最大的映射报告会被选作新的原型向量(第4行),通过不断的迭代这些报告最终都会被原型向量覆盖到,此过程将一直进行下去直到所有的向量到其最近的原型向量间的距离d小于临界值dp(第3行)算法的时间复杂度为O(kn),其中n为所有报告的个数,k为原型向量的个数。给定值dp是精心选择的,算法和报告个数成线性关系,其中k值仅和报告的向量空间分布有关。另外,如果dp值无法确定,那么也可以通过设置2.3.2建立在原型向量上的聚类过程聚类是机器学习中最基本的一项技术,它的目标就是将给定的数据划分成有意义的分组,即聚集。划分一旦确定下来,那么在同一聚集中的各个样本彼此间是相似的,反之不同聚集的样本间是不相似的.聚类有助于发现未知数据的构成,并且在许多方面都得到了应用。借助聚类分析恶意行为最初是由Bailey提出的,之后由Bayer完善。我们遵循了这个方向,并且还探究了标准的层级聚类技术,最终在这些基础上分组相似的恶意程序。和早前的工作不同,我们将基于原型向量的思想展开分析。首先需要确定聚集中的原型向量,而后再向各聚集中添加其余的样本向量,图4(b)就给出了这么个聚类过程,黑线连接的两个原型向量属于同一聚集。对应的聚类算法见Algorithm2.最初每个原型向量都是一个单独的聚集,算法通过迭代计算合并那些间距小的聚集(第4行),直到最接近的聚集间距大于dc为止。算法以两个聚集中包含的所有成员间的最大距离来表示它们的间距,类似于标准的层级聚类算法。接着算法将向这些聚集中添加对应的样本,每个样本一旦确定所属聚集后,就会成为初始报告集中的一部分(第6—8行)。此外,成员数小于m的聚集不会被采纳,对应样本会被归入到下一轮的增量分析中,这部分内容将在2。4算法的时间复杂度为O(k2logk+n),其中n表示报告的个数,k表示原型向量的个数。相对比准确的层级聚类法的O(n2logn)时间复杂度,基于原型向量的相似计算法在性能上提升了√(n/k2。3.3建立在原型向量上的分类过程接下来我们将讨论分类技术,它能够区分不同类型的样本对象。分类方法在具体应用前需要有个训练阶段,区分模型将通过一系列已标识的样本对象推导出来,而后这些模型将用来预测未处理样本对应的类型。因为许多实际应用中涉及到了分类学习的概念,所以目前有很多这方面的技术研究。Lee和Mody(2006),以及Rieck(2008)都曾研究过使用分类法分析恶意程序的行为,在这些方法中,未处理的恶意行为将被归类到已知的行为类型,初始训练样本则通过防病毒扫描器进行标识。然而,目前大部分的防病毒产品在恶意类型上都不完整,并且还有可能前后不一致,因此在训练时不能提供精确的标识.为了改进,我们通过聚类划分恶意类型,并以此进行分类训练来学习区分不同的行为聚集.在我们的框架中,聚集借由原型向量来表示,我们还通过近似法提高了分类的效率。作为例子,图4(c)展示了基于原型向量的分类过程,对应的算法见Algorithm3.对于每个报告x,算法将找出各聚集中与之最接近的原型向量(第1-2行)。如果它们间的距离小于dr,那么报告x将被当作已知类型而添加到这个聚集中,否则将归到后续的增量分析报告集中(第4-6行).此过程也称作最近原型向量分类,可看作k最近邻分类算法的一种此算法的时间复杂度为O(kn),因为对这n个报告来说,要确定每个报告最接近的原型向量需要和初始的k个原型向量都进行一次计算.但若借助特殊树结构表示原型向量的话,那么可将最差情况下的时间复杂度降到O(nlogk)。然而,在我们的分析框架中,我们更倾向于这种简单的算法实现,因为它是高可并行的,借助多核系统反而可以获得更好的运行性能。2。4增量分析法通过结合聚类和分类,我们设计了一种增量法来分析程序的恶意行为.早先的工作大都受限于批量的分析处理,而在我们的方案中每轮仅需处理一定数量的恶意报告,例如以每天的新增样本量为基准。为了实现增量分析,我们需要跟踪每轮处理后的中间结果,比如聚类操作就需要考虑上一轮新得出的计算结果.幸运的是,原型向量使得我们能够简明的表示新发现的聚集,同时还很大程度上加快了分类操作。最终结合了增量法的基于原型向量的聚类和分类处理如Algorithm4所示.分析数据主要来自蜜罐采集及一定时间段内收集的恶意样本。在开始阶段,待分析报告先通过已知的聚集类型进行分类处理(第3行),因而,已知的恶意变种将被识别出来并作用于后续的分析。随后,我们从剩余报告中提取出新的原型向量用于接下来的聚类处理(第4-5行),新定义的聚集原型向量将加入到已有的原型向量集合中,这样它们就能用于下一轮的分类处理。分类处理和聚类处理这两个过程将交替进行,因此,未知的恶意程序数将不断减少,且新出现的恶意类型也能被自动的识别出来。然而,在一轮增量分析中,可利用的样本数可能不足以确定新的恶意聚集,例如,罕见的恶意变种在映射空间上仅能被很少量的样本所代表。为了缓解此类信息不足,我们将拒绝采纳成员个数少于m的聚集,对应的报告将在后续进行重新处理,因而,罕见程序的样本数将逐渐累积直到它们能够确定新的行为聚集.正如3。4节所阐述的,此过程可以保证准确识别新的恶意类型,即便我们在最初的增量分析阶段可能没有足够多的信息。对于每轮处理n个报告块的增量分析,其算法的时间复杂度为O(nm+k2logk),m表示上一轮分析得到的原型向量个数,k表示当前这一轮分析新提取的原型向量个数.虽然复杂度和k成二次比,但每一轮计算中新提取的原型向量数只和报告块的大小及分布有关。因此,增量分析的算法复杂度主要由m确定,即已知类型中原型向量的个数,这和防病毒产品中特征匹配时的线性复杂度是相同3实践与应用接下来将通过实验评估我们提出的恶意行为分析框架。首先,我们会在参照数据集上调整框架中的每个独立组件(3。2节)。而后,我们对基于原型向量的聚类及分类处理和目前最新水平的分析法做了个比较(3。3节)。最后,我们利用防病毒厂商提供的样本进行了一次实际应用,以此评估框架的功耗和运行性能(3.4节)。3.1实验数据我们在实验中将用到两组恶意程序:参照数据集包含已知类型的恶意样本,它将用来调整我们的分析框架,而应用数据集包含的是从防病毒厂商那里获得的未知恶意样本.-参照数据集:参照数据是从CWSandbox网站维护的一个恶意文件数据库中提取的,这些数据的收集已经超过了3年,主要从蜜罐、垃圾邮件、防病毒厂商以及安全研究者等渠道获取。在整个数据库中,我们选用那些能被目前主流防病毒产品识别的已知类型样本,虽然各厂商的标识可能不一致,但我们希望通过不同产品的扫描能使结果更准确合理些。同时,为了平衡各恶意类型的分布,我们将丢弃那些样本数少于20的类型,并且每个类型的最大样本数被限制在300以下.所有选用的恶意样本将在CWSandbox沙箱环境中监控执行,最终我们得到3133份MIST格式的行为报告(表1).表1:24种恶意类型组成的参照数据集。此集合包含3133份恶意行为报告,其中常见类型的样本数被限制在300以下.—应用数据集:和参照数据集包含已知样本用于评估测试不同,应用数据集仅包含未知的恶意样本,它由厂商SunbeltSoftware提供的7组样本集合构成。这些二进制文件对应2009年8月份连续7天中的所有恶意程序,收集方式涵盖了多种渠道,如防恶意程序扫描器、厂商间交换或者蜜罐等。SunbeltSoftware使用这些样本更新产品VIPRE的特征以及ThreatTrack中的数据.与参照数据集类似,各组恶意样本也在CWSandbox沙箱环境中监控执行,最后总共得到33698份MIST格式的行为报告,关于此数据集的统计信息以及行为报告的特点如表2所示。表2:33698份报告组成的应用数据集.此集合包含防恶意程序厂商SunbeltSoftware在2009年8月1日到7日收集到的样本。3.2组件的评估作为实验的第一部分,我们将对框架中的组成部分做出评估和调整,包括原型向量的提取、聚类处理以及分类处理.为了直观展现组件的性能,我们引入精度和覆盖率这两个评估参数,精度P反映得到的聚集和恶意类别的吻合度,而覆盖率R表示具体恶意类别在各聚集上的分散情况。基于聚集集合C和恶意类别集合Y,我们给出如下精度和覆盖率的定义:其中#c表示聚集c中属于相同恶意类别的最大样本数,#y表示各聚集中y类恶意样本数的最大值。如果每个样本都作为一个单独聚集,那么P值将取1,而覆盖率偏小。反之,如果所有样本都属于同一个聚集,那么R值将取1,而精度偏小。为此,我们转而寻找一种能够放大精度和覆盖率的表示机制,最终,我们给出结合这二者的性能估值F—measure的定义:当F取1时,结果是最理想的,反之,不论精度还是覆盖率偏小都会导致F-measure值偏小.原型向量提取作为此框架的第一个组件,我们首先对其性能做出评估。我们将在参照数据集上测试原型向量的提取精度,同时也会得到原型向量个数在样本总数中的占有比(压缩率).这里不需要考虑覆盖率,因为并不要求原型向量能够表示完整的恶意类别。通过改变Algorithm1中的距离参数dp,我们可以得到不同的原型向量集,此外,q元指令的长度q将从集合{1,2,3,4}中选取,我们将借此评估不同设置下的图5:在参照数据集上提取原型向量.精度和压缩率随原型向量定义的阈值dp图5展示了MIST等级为1和2时原型向量的提取结果(超过10次运算得到的平均估值),其中初始原型向量是随机选择的。所示结果中q元指令的长度为2,此时精度和压缩率能达到最好的平衡。在最优情况下,即精度为0.99时,原型向量的个数在总样本中的占比分别为2。9%和7。0%.此外,不同实验中运算的平均标准差低于1。5%,且得到的精度可视为具体的统计特征。最终,我们将根据上述的最优情况调整距离参数dp的取值,且在后续实验中q元指令的长度均设为2接下来我们开始评估建立在原型向量基础上的聚类处理。对于本实验,我们在参照数据集上分别计算了基于原型向量的聚类和标准的层级聚类对应的F-measure值.通过改变Algorithm2中的距离参数dc的取值(从0到√2),我们可以得到图6展示了MIST等级为1和2时聚类处理的评估结果,同样取的超过10次运算得到的平均值,且初始原型向量也是随机选取的。可以看到,基于原型向量和标准的层级这两种聚类方法的精度随距离参数dc的变化情况几乎是相同的,只要相似的样本能被归入到正确的聚集中,那么F—measure的取值将随参数dc而增加,最终在0。6和1.1之间达到稳定状态。两次实验的F—measure值分别达到了0。93和0。95,几乎完美识别出了参照数据集上的24类恶意程序。在后续实验中,我们将依此修正参数dc图6:参照数据集上的聚类处理性能评估。所示为基于原型向量和标准层级的聚类处理性能参数(F—measure)随距离dc在第三个实验中我们将对分类的性能进行评估。因为分类是含训练阶段的有监督的学习任务,所以我们将参照数据集随机的分为训练部分和测试部分,结果同样取10次以上运算的均值.同时,每次运算我们会将一半的恶意类别视作是未知的,其中的样本不参与训练,因此,我们需要考虑以下两种不同的F-measure表示:Fk:Fk用来评估在已知类型上的分类处理性能。除了仅考虑已知类型集合上的精度及覆盖率这点不同外,其余都和公式(7)中的Fu:Fu用来评估舍弃未知类型样本的性能。在所有样本数据上,它都按公式(7)图7展示了MIST等级为1和2时对应的评估结果.分类已知类型样本的F—measure值随距离参数dr而增大,但舍弃未知类型样本的F-measure值正好相反.当距离dr的取值越大时,即原型向量代表的范围更广,我们能更好的描述已知类型的恶意样本,但是,如果参数值dr过大的话,那么未知样本就很容易被错误的归类为已知的恶意类型.在最佳情况下,这两种类型的F-measure值能同时稳定在0.96到0.99之间,不仅适合于分类已知类型的样本,而且图7:参照数据集上分类处理的性能评估。分类已知类型样本和舍弃未知类型样本对应的性能参数(F-measure)随拒绝阈值dr3。3与主流方案的比较在调整完框架中的各组件后,我们将和目前主流的方案在恶意行为分析上做一个比较评估.对于行为聚类的比较,我们选用Bayer(2009a)提出的方法,其在Anubis沙箱生成的行为特征基础上采用位置敏感哈希函数(LSH)来进行近似聚类计算.而对于分类的比较,我们选取Rieck(2008)提出的方法,该方法通过行为监控获得XML格式的特征,并采用支持向量机(SVM)来学习分类识别.我们将详细按照上一节的测试过程进行这两种比较,并且选用了对应的最佳参数设置。表3:参照数据集上不同分析方法的比较。所示为聚类和分类处理的性能评估值(F-measure)。对于分类给出了已知类型上的F-measure值(Fk)和未知类型上的F—measure值(F以F—measure值作为性能评估标准的比较结果如表3所示。在这两方面分析中我们的框架上对应组件的性能都要优于相关的方法。其中,基于原型向量的聚类处理在MIST等级为1和2时对应的F-measure值分别为0.95和0.936,而Bayer的方法仅能达到0。881。同样的,我们在分类处理上的F—measure值都高于0.96,而Rieck的方法在分类已知恶意样本时性能值仅为0.807,且在分类未知类型时更是不足0.55。我们的分析框架之所以体现出这么大的性能优势主要源自于聚类和分类处理中用到的几何构思,其间我们直接利用了MIST描述所提供的行为表示.需要指出的是,和Bayer的聚类处理相关的测试我们很荣幸交由维也纳技术大学来完成。其中恶意样本是在MIST报告生成6周后才进行测试的,因此不能保证监控到的行为是完全一致的,毕竟行为表现的不同有可能是两次的监控时间间隔造成的。但不管怎么说,基于原型向量的聚类处理确实提高了F-measure性能值。3。4应用实例目前为止我们的框架在包含已知恶意样本的参照数据集上完成了评估测试,然而,能在未知样本中发掘新的恶意类型才是基于行为的分析技术优于相关方案的地方.因此,我们将目光转向未知样本的处理.在应用数据集上我们将使用2。4节介绍的增量法进行分析,其中,每轮迭代将处理七份样本块中的一份,这么设计和防病毒厂商一贯的处理方式有关,即特征库的更新分析是以一天中的新增样本量为基本单位的。我们将根据前面在参照数据集上的评估对原型向量提取、聚类和分类处理的相关参数做出调整。同时,Algorithm2中的阈值m被置为10,也就是说成员个数小于10的聚集将会拒绝采纳,对应样本将进入下一轮的迭代分析。此外,我们将MIST的等级限制为2,因为此类指令组成对于精度要求已经足够了,而且还能对抗简单的绕过攻击。最后,作为增量分析法的对照,应用数据集也将借助标准的层级聚类进行处理。图8:应用数据集上的聚类评估.图8(a)由聚集数和Rand指数比较标准聚类法和增量分析法二者的处理结果,图8(b)为增量分析法处理后的聚类-分类比。图8展示了应用数据集上基于行为分析的处理结果。其中,增量分析法和标准聚类法的比较结果见图8(a),两者间的差别可以忽略不计,即便在处理完这7天收集的所有样本后,它们最终的总聚集数也是相差无几,我们可以从图8(a)的Rand指数得到印证.Rand指数是聚类比较的一个衡量标准,其值为1时表示聚类结果相同,而为0时则表示结果差别最大。可以看出,在增量分析的每一轮迭代中,Rand值稳定在0.99,表明这两种聚类方法得到的分析结果几乎是完美吻合的。在增量分析中,报告的状态可分为已分类的、已聚类的以及非接受的三种情况,图8(b)为应用数据集上连续7天累积的分析报告在这三种状态下的比率。随着越来越多的报告加入到聚类处理中,得到的聚集数将不断增多,而不被接受的报告数也将持续的减少.此外,在首轮迭代后,分类的报告数有了显著的增加,因此需要进行聚类处理的数据将变得更少,进而节省了运行时间.从这些结果可以看出在增量分析中结合聚类和分类处理还是很有优势的,不仅在得到的聚集上和标准的聚类法相同,而且还能将报告从耗时的聚类处理转换到更高效的分类处理。接下来,在详细阐述获得的性能提升前,我们先来讨论一下本次结果中所发现的恶意类型。3.4.1恶意聚集的评估实验结果中恶意聚集的相关统计信息如图9(a)所示。我们从应用数据集上的33698个恶意样本中一共得到了434个聚集,其中,各聚集在大小上的分布差异还是比较明显的,平均而言每个聚集包含69个样本报告,然而最大的聚集却由超过2500个的样本报告组成。总体来看,提取出的1805个原型向量能有效的表示所有的样本报告,每个聚集平均和4个原型向量存在关联,最终得到的压缩比为5。4%。图9(b)所示为增量法结果中成员个数最多的10个聚集。我们借助卡巴斯基防病毒引擎扫描这些恶意样本,并将每个聚集中出现频率最高的病毒标识作为此聚集的参考名称.同时,由于刚获得的样本目前还都是未知类型的,为了给防病毒引擎足够的时间进行特征更新,对应的样本扫描过程是在8周后才进行的。对于图9(b)来说,每个聚集都有一个代表性的病毒标识,能够表明各成员行为上的总体特点。其中,聚集3主要和文件感染型病毒VIRUT存在联系,样本中包含此恶意类型特殊的行为操作,如‘&virtu’方式下的IRC僵尸功能。聚集8中的样本则全部和ALLAPLE蠕虫有关,它们都具有相同的典型行为,诸如创建‘urdvxc.exe'文件以及频繁的ping扫描。而让人颇感意外的是,聚集4的标识为NF(nothingfound),也就是实际上都没有包含恶意的行为。尽管如此,对于此聚集中的样本来说,它们都是由Winzip或WinRAR这类工具生成的自解压文件,这虽然和恶意操作不相关,但同样也能说明我们的分析框架具有发掘新的行为类型的能力。图9:应用数据集上的增量分析.图9(b)中的病毒标识为获取样本8周后通过卡巴斯基防病毒引擎扫描得出的。很显然,分析结果看起来是有出入的,恶意类型BASUN以及SWIZZOR就同时出现在了不同的聚集中,似乎区分还有失准确性。然而,基于行为的分析对比一般的防病毒分析工具其主要优势表现为:恶意程序的分析将考虑样本的行为特征而不再是上下文的相似性。例如,虽然所有标识为BASUN的二进制样本都共享相同的主服务器名‘all-internal.info',但是一旦进行连接就会表现出各异的行为,包括连接失败(聚集2)、检查Windows更新(聚集1)以及成功连接恶意站点(聚集7)。同样的,SWIZZOR样本最开始都是先注入IE进程,但随后的处理就不同了,对于聚集9中的样本,它将下载并执行不同的二进制文件,而对于聚集10来说,样本将通过HTTPPOST请求向远程服务器传输数据.因此,对于同一恶意类型中不同行为实现的聚集是很难单独由静态上下文进行区分的,或许只能通过基于行为的分析法来识别.最新恶意程序表现出的依据上下文、远程控制以及下载的payload执行不同操作的能力使得借助行为分析来进行高效的特征更新和针对性防护变得至关重要。3。4.2运行时间和内存的要求作为此框架实际应用中的最后一个问题,我们将讨论它的运行性能和内存要求。首先,我们评估了在q元指令表示的向量空间上进行报告映射和距离计算的运行时间。而后,在和标准批量分析的比较中,我们基于应用数据集考量了增量分析对于运行时间和内存的要求.所有实验均在AMDOpteron2.4GHz四核处理器下进行,虽然我们的框架在实现上支持并行处理,但所有计算将被限制在处理器的单核中。此外,我们没有对MIST报告的生成进行估测,因为此格式是恶意样本在沙箱监控中自动获得的,因而其影响可以忽略.图10:报告映射和距离计算的运行性能。图示运行时间为取自应用数据集上的1000个样本在MIST等级2时的测量结果.图10(a)展示了1000个样本报告在映射过程中的运行性能,其中,每秒处理的样本数介于100到800之间,主要取决于报告的大小,但总体上看,平均速率可以达到每秒254个。此性能允许我们每分钟处理大约15000份样本报告,这对于实际应用中的大规模恶意行为分析显然已经足够了。映射报告间距离计算所对应的运行性能则如图10(b)所示。平均每秒可以进行129000次距离计算,也就是说,假设所有聚集包含的原型向量数为1000000,那么报告进行一次分类处理所需的时间连8秒都不要。此外,单独一次距离计算的时间大约为0。0077毫秒,明显要远低于Bayer(2009a)给出的性能值。除了上述单独部分的运行性能外,我们还评估了增量分析在整体上的运行时间和内存消耗.图11所示为应用数据集上各天样本处理时间的累积结果,其中,图11(a)为标准聚类处理的结果,图11(b)为增量分析处理的结果。可以看到,标准的聚类表现出了较陡的二次增长,处理所有这7天的数据需要100分钟的运行时间。与之相对,增量分析允许我们在25分钟内计算出这些数据的所有聚集,因而速度上至少提升了4倍.此外,两种方案的内存消耗对比如图11(c)所示,在计算聚集时标准的聚类法需要大约5GB的内存空间,而增量法在分析过程中需分配的内存空间还不到300MB。图11:处理应用数据集时运行时间和内存的要求.所示为标准聚类和增量分析对应的运行时间和内存消耗。实验结果说明了增量分析所带来的优势,通过将报告集进行分块处理,我们可以极大的减少运行时间和内存消耗。这使得长期的行为分析成为可能,例如,将其作为防病毒产品中日常操作的一部分。4相关研究恶意程序在很多方面给互联网安全造成了严重威胁,因此,这部分内容在研究领域得到了足够多的重视,许多不同的概念和技术相继被提出来解决恶意程序的分析问题。其中,我们的贡献主要涉及以下讨论的几个方面:-恶意程序的静态分析。分析和检测恶意程序的初始方案之一是由Lo在1995年提出的,二进制文件需借助手工分析,那些表明恶意行为的特征将被提取出来,以此检测其它的恶意样本。该方法在2003年得到了进一步发展,Christodorescu和Jha提出了一套检测特定恶意模型的架构,且对于通用的混淆技术也是适用的。再后来,Christodorescu在2005年提出了基于语义识别的二进制分析技术,随后被Preda进一步扩充(2007,2008).但是,静态的二进制分析在很大程度上还是受困于混淆技术,恶意者经常借此来阻碍分析.虽然简单的混淆在一定程度上可以被还原,但通用的分析方法在处理混淆代码时可能遇到NP难题.因此,在我们的框架中选用了动态分析的机制,因为行为特征相比较代码层面是更不容易被隐藏的。-恶意程序的动态分析.为了增加静态二进制分析的难度,目前大部分恶意程序都用到了加壳和加密的保护机制.但近年来,一些研究者也相继提出了通用的恶意样本脱壳技术,这些分析系统的核心思想是先让恶意程序运行起来,当样本脱壳后,即所有与壳程序相关的代码都成功执行完成后,此时再想办法获取脱壳后的程序。因为大部分的混淆手段都被移除了,所以脱壳后的恶意程序还是比较容易分析的。当然,这些方法都同时用到了动态和静态的分析技术,而在我们的研究中则完全采用动态方式分析样本的恶意行为,因为这种方式更适合于混淆代码的处理并且与具体的加壳策略无关。恶意程序的动态分析技术在研究领域一直受到广泛的关注,诸如CWSandbox、Anubis、BitBlaze、Norman或ThreatExpert这类分析系统都是在插桩环境下运行恶意样本的,因而能够监控程序的行为,我们可以借此进行分析和构建防御机制.在我们的框架中,我们利用分析工具CWSandbox监控恶意程序的行为,这里只保证将行为特征转换为MIST表示是可行的,目前我们对沙箱以下层面的实现还是未知的。分析结果能用来及时响应新的恶意威胁,同时也能和其它相关方法串联起来,比如,可通过识别的新恶意类型直接观测目前恶意程序的发展趋势,构建有效的检测模型或者用于设计自动化的恶意行为分析。动态分析的主要局限是通常情况下程序只有一条执行路径能被检测到,这可能导致得到的恶意行为图是不完整的,因为一些特殊操作仅在特定条件下才会发生。为了克服此限制,Moser提出了多路径执行的技术,恶意样本的行为将通过触发运行时不同的执行路径进行迭代式监控.虽然目前我们还没有利用此技术,但通过将分析结构从队列扩展到树或图就可以实现将多路径的行为分析集成到我们的方案中。考虑到基于树的有效学习也才提出来不久,这方面的扩充将会成为我们未来工作中的一个重要方向.-机器学习在恶意程序分析中的应用。最先开始借助机器学习来分类恶意程序的研究者有Schultz(2001)和Kolter以及Maloof(2006),这些方法利用样本执行时的特征来训练学习算法,进而区分恶意和非恶意文件.Perdisci(2008)在此基础上进行了扩展,引入恶意样本脱壳的功能。此外,Stolfo在2007年提出了通过分析文件上下文检测内嵌恶意样本的方法,其中就用到了相似的技术。而最先采用分类处理恶意行为则是自Lee以及Mody(2006)和Rieck(2008)开始的。我们在前人研究的基础上提出了基于原型向量的分类方法,很大程度上改善了分类的精确性和效率。另一方面的研究工作主要集中在恶意行为的聚类处理上,以此发掘新的恶意类型,并尽可能减少人工层面的分析。首个监测行为的聚类系统是由Bailey(2007)提出来的,随后被Bayer(2009a)进一步发展,他所提出的分析系统在实际应用中展现了极佳的运行性能.然而,这两种方法都要求对每次的恶意样本进行单一的批量处理,因而限制了系统的整体性能.在此基础上我们提出了一种增量分析的方法,通过结合聚类和分类处理,使得我们可以在大量样本上对恶意行为进行迭代的分析。—绕过与伪造。由于我们的框架是用来分析恶意行为的,因此对于攻击者来说我们扮演的是对立的角色,他们可能尝试不同的方法躲避或阻碍行为分析,常见的躲避技术包括伪造攻击和针对分析系统的攻击。在我们的算法中,输入内容基于的是CWSandbox的动态分析结果,而对于那些设计来阻碍静态分析的通用混淆手法,此工具都是适用的.这里我们假设CWSandbox在其分析环境中能正常的监控样本的执行过程,当然,针对此环境的特殊攻击也是可能存在的,但这不在本文讨论的范围。基于主机的入侵检测系统中用到的q元映射表示法目前已被证实存在躲避及伪造攻击,在我们的框架中也采用了此类表示,但不同的地方在于我们的q元指令在具体构成上由MIST等级所决定.当等级大于1时,得到的q元指令由系统调用及对应参数组成,此时就不是通过单纯的系统调用进行识别了。这种引入了参数的表示法使得针对入侵检测系统的绕过技术在具体实现上变得更加困难,如果攻击者仍试图伪装成特定的恶意类型,那么就必须同时包含有效的系统调用参数,因而会触发相应的恶意操作。所以,对于我们的框架最有效的绕过手段就是在单次执行过程中同时触发虚假的和真实的恶意操作,这和针对特征检测的躲避技术是类似的。虽然这种攻击在一定程度上是很有效的,但其还是可以通过多路径执行的方式得到缓解,即最大限度的将恶意程序的行为特点展现给我们的分析系统,进而排除掉可能的干扰因素。5结论恶意程序如今已成为互联网上主要的威胁之一,许多计算机方面的安全问题其根源就在于大量激增的恶意软件,比如拒绝服务攻击、信息窃取或者大量传播的垃圾邮件和钓鱼邮件。在过去几年,一些关于恶意样本自动化分析的技术相继得到了发展,囊括静态代码检测到恶意行为动态分析的各个层次.但是,一方面静态分析受困于混淆等躲避检测技术,另一方面就动态分析而言,对那些不断涌现的多样化变种中精心构造的部分,在一定程度上仍需借助人工进行分析。在本文中,我们介绍了一种新的方法来解决这些不足,并且较目前主流解决方案有了很大的提升,我们的主要贡献在于提出了一套基于学习的恶意行为自动化分析框架.实际应用此框架时需要先收集大量的恶意样本,并通过沙箱环境监控它们的行为,接着再将观测到的行为特征映射到向量空间,这样我们才能应用诸如聚类和分类的学习算法来分析恶意程序的行为。其中,聚类和分类技术对于自动化的样本处理无疑是很重要的,在涉及的几个实验中可以看到我们的方法较该领域之前的研究成果有了较大的突破。而原型向量的概念不仅有利于高效的聚类和分类处理,同时也使得安全研究者在分析工作中只需关注那些代表性的原型样本而非所有的恶意样本。此外,我们介绍了一种采用增量方式的行为分析技术,能够避免早前方案中固有的运行超时和内存不足问题。综上,此框架能够进行自动高效的恶意行为分析,并且为变种的及时响应提出了一种新的方式。通过结合检测模式架构和启发式处理等新近技术,基于机器学习的恶意程序分析必将成为我们与恶意软件开发者相抗争的有力武器。毕业设计(论文)题目基于PLC的自动化立体仓库设计系(院)自动化系专业电气自动化技术班级2010级5班学生姓名学号指导教师职称助教二〇一三年六月十日基于PLC的自动化立体仓库设计摘要随着国民经济的飞速发展,自动化立体仓库会在各行各业中得到越来越广泛的应用。自动化立体仓库是现代物流系统的重要组成部分,是一种多层存放货物的高架仓库系统,由自动控制、管理系统、高位货架、巷道堆垛机、自动入库、自动出库、计算机管理控制系统以及其他辅助设备组成。本仓库模型控制系统是根据自动化立体仓库运行的基本原理而设计的.在整个控制系统中以三菱FX2N系列PLC作为核心控制元件,专用键盘作为人机接口部件,控制步进电机来驱动一个有三自由度的仓库模型在高强度导轨上做三维运动。以步进电机每转输出的脉冲数为基础,通过键盘对每个仓位予以地址编码,通过PLC对命令键盘进行扫描并得到相应的仓位号,当PLC接收到来自键盘的输入命令后,便输出对应仓位的脉冲数,经过驱动器驱动步进电机按设定的方向转动一定的角度,进而控制传动部件丝杠旋转进行准确的定位,以完成货物的存取功能。另外,为了保证整个控制系统运行的稳定性和可靠性,我们还采用了限位开关对其进行限位保护。本文首先对该课题的可行性及课题实现的现实意义和价值进行了介绍;其次对该系统的硬件组成、结构、原理进行了阐述和分析;再次对本控制系统的核心软件进行了编写,论文中既有梯形图又有相应的语句表;最后对设计本课题所学到的知识和结论进行归纳和总结,并对本论文有待完善的地方进行扼要的说明。关键字:立体仓库,可编程控制器(PLC),步进电机,物流管理BasedonPLCautomaticstereoscopicwarehousedesignAbstractWiththerapiddevelopmentofnationaleconomy,theautomationstereoscopicwarehousewillgetmoreandmoreextensiveapplicationinalltradesandprofessions.Theautomatedwarehouseisanimportantpartofmodernlogisticssystem,elevatedwarehousesystemforamulti-layerstorageofgoods,whichconsistsofautomaticcontrolandmanagementsystem,highshelves,stackingmachine,automaticstorage,automaticwarehouse,computercontrolsystemandotherauxiliaryequipment.Thewarehousemodelofthecontrolsystemisdesignedaccordingtothebasicprincipleofautomatedwarehouseoperation.InthewholecontrolsysteminordertoMitsubishiFX2NseriesPLCasthecorecontrolelement,aspecialkeyboardastheman—machineinterfaceunit,controlthesteppermotortodriveawarehousemodelofthreedegreesoffreedommovementinthreedimensionalhighstrengthrail。Thispaperfirstintroducesthefeasibilityandthesubjectoftheimplementationofpracticalsignificanceandvalue;secondly,thesystemhardwarecomposition,structure,principlearedescribedandanalyzed;thecoreofthecontrolsystemagain——softwarehasbeenwritten,thepaperisaladderdiagramandthecorrespondingstatementattheendofthetable;thesubjectofthedesignknowledgeandconclusionsaresummarized,andtheperfectplacetobemakingabriefexplanation。Keywords:stereoscopic,warehouseprogrammablecontroller(PLC),steppingmotor,logisticsmanagement目录TOC\o"1—3”\u\hHYPERLINK\l”_Toc348114918"引言PAGEREF_Toc348114918\h1HYPERLINK\l"_Toc348114919"第一章绪论PAGEREF_Toc348114919\h2HYPERLINK\l”_Toc348114920"1.1本课题设计的背景PAGEREF_Toc348114920\h21.2本课题设计的内容PAGEREF_Toc348114921\h31。3本课题设计的目的和意义348114922\h3第二章系统控制方案的确定PAGEREF_Toc348114923\h5HYPERLINK\l"_Toc348114924"2。1自动化立体仓库的概述PAGEREF_Toc348114924\h5HYPERLINK第四章系统控制软件设计PAGEREF_Toc348114942\h164.1PLC梯形图概述PAGEREF_Toc348114943\h16HYPERLINK\l”_Toc348114944"4.2系统流程图PAGEREF_Toc348114944\h174.3梯形图的设计PAGEREF_Toc348114946\h18第五章系统调试及结论PAGEREF_Toc348114947\h19HYPERLINK\l”_Toc348114948"5.1梯形图程序的下载PAGEREF_Toc348114948\h19HYPERLINK\l"_Toc348114949"5。1.1传输设置PAGEREF_Toc348114949\h19HYPERLINK\l”_Toc348114950"5。1.2梯形图写入PLCPAGEREF_Toc348114950\h195.2程序运行过程记录PAGEREF_Toc348114951\h20HYPERLINK\l"_Toc348114952”5.3结论PAGEREF_Toc348114952\h21HYPERLINK\l"_Toc348114953”谢辞PAGEREF_Toc348114953\h22参考文献PAGEREF_Toc348114954\h23HYPERLINK\l"_Toc348114955”附录PLC设计的梯形图PAGEREF_Toc348114955\h23引言自动化立体仓库也称立库,是在不直接进行人工参与的情况下自动地存储和取出物料的系统。它是采用高层货架存储货物,用专门的仓储作业设备进行货物出入库作业的仓库。立体仓库是一种集信息、储存、管理于一体的高技术机电一体化产品,随着现代工业的生产规模的不断扩大和深化,它将为工业、企业带来巨大的经济效益.以往的自动化仓库,大都采用PLC加计算机或计算机加控制板卡的方式进行控制。计算机技术的飞速发展,计算机的性能以及稳定性的大幅度提高以及现场总线技术的日益成熟,一种新的控制方式——软PLC控制方式正在逐渐形成并被应用于各种控制领域,其中就包括自动化立体仓库.本文中PLC对立体仓库的控制系统是利用计算机控制调度、管理,完成了计算机与PLC之间或PLC与PLC之间的监视和控制参数的传递,应用了PLC通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等优点,提高了立体仓库的自动化管理水平。并且与继电、接触器系统相比更加可靠,占位空间比继电、接触器控制系统小。经过实践证明,这种管理和控制结构具有很高的可靠性和稳定性.第一章绪论1。1本课题设计的背景立体仓库一般是指采用几层、十几层乃至几十层高的货架储存单元货物,用相应的物料搬运设备进行货物入库和出库作业的仓库。由于这类仓库能充分利用空间储存货物,故常形象地将其称为“立体仓库"。立体仓库的产生和发展是第二次世界大战之后生产和技术发展的结果。50年代初,美国出现了采用桥式堆垛起重机的立体仓库;50年代末60年代初出现了司机操作的巷道式堆垛起重机立体仓库;1963年美国率先在高架仓库中采用计算机控制技术,建立了第一座计算机控制的立体仓库。此后,自动化立体仓库在美国和欧洲得到迅速发展,并形成了专门的学科。60年代中期,日本开始兴建立体仓库,并且发展速度越来越快,成为当今世界上拥有自动化立体仓库最多的国家之一.我国对立体仓库及其物料搬运设备的研制开始并不晚,1963年研制成第一台桥式堆垛起重机,1973年开始研制我国第一座由计算机控制的自动化立体仓库,该库1980年投入运行。到目前为止,我国自动化立体仓库数量已超过200座.由于其具有很高的空间利用率、很强的入出库能力、采用计算机进行控制管理而利于企业实施现代化管理等特点,已成为企业物流和生产管理不可缺少的仓储技术,越来越受到企业的重视。青岛海尔集团国际物流中心立体库就是个很好的例子,目前经过第三次技术革新,跃升为技术水平世界领先的物流中心。该立体库高22米,全部操作采用世界上最先进的激光导引无人运输车系统,实现了物流的自动化和智能化,使海尔集团库存资金占用从每年15亿元降至6亿元,杜绝了呆滞物资的产生.
这是激光导引无人运输车向自动巷道堆垛机运送产品。高度智能化使立体仓库仅需要28名工人就能全部控制。自动化仓库应用范围很广,几乎遍布所有行业。在我国,自动化仓库应用的行业主要有机械、冶金、化工、航空航天、电子、医药、食品加工、烟草、印刷、配送中心、机场、港口等。1969年美国数字设备公司(DEC)研制书世界第一台可编程控制器,并成功地应用在美国(GM)的生产线上.但当时只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC(programmablelogiccontroller)。70年代后期,随着微电子技术和计算机的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC(programmablecontroller)。但由于PC容易与个人计算机(programmablecomputer)相混淆,故人们仍习惯地用PLC作为可编程器的缩写。1985年国际电工委员会(IEC)对PLC的定义如下:可编程控制器是一种进行数字运算操作的电子系统,专为在工业环境下的应用而设计,它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟式的输入和输出,控制各种类型机械的生产过程。PLC是继电器逻辑控制系统发展而来,所以它在数学处理、顺序控制方面具有一定优势。继电器在控制系统中主要起两种作用:(1)逻辑运算(2)弱电控制强电。PLC是集自动控制技术,计算机技术和通讯技术于一体的一种新型工业控制装置,已跃居工业自动化三大支柱(PLC、ROBOT、CAD/CAM)的首位。可编程控制器,简称PLC.它在集成电路、计算机技术的基础上发展起来的一中新型工业控制设备.具有:(1)可靠性高、抗干扰能力强(2)设计、安装容易,维护工作量少(3)功能强、通用性(4)开发周期短,成功率高(5)体积小,重量轻、功耗底等特点.已经广泛应用于自动化控制的各个领域,并已成为实现工业生产自动化的支柱产品。与继电—接触器系统相比系统更加可靠;占位空间比继电—接触器控制系统小;价格上能与继电—接触器控制系统竞争;易于在现场变更程序;便于使用、维护、维修;能直接推动电磁阀、触器与于之相当的执行机构;能向中央执行机构;能向中央数据处理系统直接传输数据等。因此,进行立体仓库的PLC控制系统的设计,可以推动机械手行业的发展,扩大PLC在自动控制领域的应用,具有一定的经济和理论研究的价值。1。2本课题设计的内容课题的主要任务是基于三菱FX2N系列PLC的自动化立体仓库控制系统的设计。仓位的主体框架除包括十二个库位外,还配有一个物品入口位和一个出口位,并在这十二个库位的底部均设置有检测开关,若库内有物品,则压制相应的检测开关使之闭合,若无物品,则相应的检测开关断开。1.3本课题设计的目的和意义传统条件下的库房管理作业,主要依据人工装卸,特别是对于一些大型物资,不仅工作效率低,浪费大量的人力、物力,存在较大的安全隐患,同时还占据大量的库房面积。立体库的投入使用,彻底解决了这一难题。(1)由于能充分利用仓库的垂直空间,其单位面积存储量远远大于普通的单层仓库(一般是单层仓库的4—7倍).目前,世界上最高的立体仓库可达40多米,容量多达30万个货位。(2)仓库作业全部实现机械化和自动化,一方面能大大节省人力,减少劳动力费用的支出,另一方面能大大提高作业效率。(3)采用计算机进行仓储管理,可以方便地做到"先进先出”,并可防止货物自然老化、变质、生锈,也能避免货物的丢失。(4)货位集中,便于控制与管理,特别是使用电子计算机,不但能够实现作业的自动控制,而且能够进行信息处理。(5)能更好地适应黑暗、低温、有毒等特殊环境的要求。例如,胶片厂把胶片卷轴存放在自动化立体仓库里,在完全黑暗的条件下,通过计算机控制可以实现胶片卷轴的自动出入库.(6)采用托盘或货箱存储货物,货物的破损率显着降低。第二章系统控制方案的确定2.1自动化立体仓库的概述自动化立体仓库是指在不直接进行人工处理的情况下,自动地完成物品仓储和取出的系统,它以高层立体货架为主体,以成套搬运设备为基础,是集自动控制技术、通信技术、机电技术于一体的高效率、大容量存储机构。自动化立体仓库的出现,实现了仓库功能从单纯保管型向综合流通型的转变。用PLC控制的自动化立体仓库达到仓储技术的全面自动化。自动化立体库基本由以下部分组成:(1)土建及公用工程设施①库房。库存容量和货架规格是库房设计的主要依据。②消防系统。对于自动化立体仓库而言,由于库房规模大,存储的货物和设备较多且密度大,而仓库的管理和操作人员较少,所以仓库内一般都采用自动消防系统。③照明系统。④动力系统.⑤通风及采暖系统.⑥其他设施。如排水设施、避雷接地设施和环境保护设施等。(2)机械设备①货架。②货箱与托盘。③巷道机.④周边搬运设备.(3)电气与电子设备①检测装置.②信息识别设备。③控制装置。④监控及调度设备。⑤计算机管理系统。⑥数据通信设备.⑦大屏幕显示器。2.2采用PLC控制立体仓库的优点(1)结构灵活,使用方便。(2)传输质量高、速度快、带宽稳定,(3)范围广,无所不在的电力线网络也是这种技术的优势.(4)低成本(5)适用面广(6)可靠性强(7)抗干扰能力强2.3系统设计的基本步骤立体仓库系统设计与调试的主要步骤:(1)收集、研究用户的原始资料(2)确定自动化立体仓库的主要形式及相关参数
(3)合理布置自动化立休仓库的总体布局及物流图(4)选择机械设备类型及相关参数(5)初步设计控制系统及仓库管理系统(WMS)的各功能模块(6)仿真模拟整套系统2.4系统控制方案立体仓库的结构示意图见下图2—1所示:9987654321自动堆垛机堆垛机伸叉称重仪供步进机驱动模块行走步进电机驱动模块升降步进电机驱动模块堆垛机电源直流开头电源直流开头电源四层三列立体库紧停按钮紧停叉中联动单动手动复位功能伸叉升降行走线位联动自动111012堆垛机动作指示灯堆垛机控制PLC:Fx-2n-80mr反射式传感器图2—1立体仓库结构示意图本课题所设计的立体仓库具有以下功能:(1)堆垛机(机械手)要有三个自由度,即:前进、后退;上、下;左、右;(2)堆垛机的运动由步进电机驱动;(3)堆垛机前进(或后退)运动和上(或下)运动可同时进行;(4)堆垛机前进、后退和上、下运动时必须有超限位保护;(5)每个仓位必须有检测装置(微动开关),当操作有误时发出错误报警信号;(6)当按完仓位号后,没按入或取前,可以按取消键进行取消该操作;(7)整个电气控制系统必须设置急停按钮,以防发生意外。2。5立体仓库技术参数的确定表2-1立体仓库具体参数出/入货柜台最重物品20Kg每个仓位的高度4.5M仓位的上下距离1.5M仓位的平行距1.5M仓位的体积4M3可编程控制器(PLC)电源24VDC堆垛机电源220VAC,50Hz第三章系统硬件设计3.1控制系统结构设计本设计是运用PLC控制系统来控制立体仓库的运动的方式。能快速的对输入信号做出反应控制立体仓库,便于检修。控制系统结构图如图3-1所示。手动/自动手动/自动键键前进限制后退限制后退超过向上限制向下限制向下超过前时限制取出限制取出超过PLC图3—1控制系统结构图3.2可编程控制器(PLC)的选型3.2。1PLC概述可编程控制器,英文称ProgrammableController,简称PLC,PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子系统它源于继电器控制技术。它通过运行存储在其内存中的程序,把经输入电路的物理过程得到的输入信息,变换为所要求的输出信息,进而再通过输出电路的物理过程去实现对负载的控制。PLC有丰富的指令系统,有各种各样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- “血氧饱和度”知多少
- 水玻璃花盆行业深度研究报告
- 绩效评价报告审核内容
- 中国五星级酒店行业市场运行态势及投资战略咨询研究报告
- 配音签约合同范本
- 2025年塑料制品项目可行性研究报告
- 露营采购麦德龙合同范本
- 知识产权保护意识在企业中的培养
- 42个微单倍型复合检测体系的构建及法医学应用
- 枣庄市山丘区中小河流洪水淹没模拟及风险分析
- 抗震支架安装工程施工方案范文
- GB/T 45071-2024自然保护地分类分级
- 农业托管合同范例
- 食品中阿维菌素等55种农药最大残留限量
- 保洁部消杀培训
- 口服轮状疫苗知识课件
- 中国脑小血管病诊治指南2023版
- 中国聚乙烯催化剂行业发展状况及需求规模预测研究报告(2024-2030版)
- 新能源汽车驱动电机及控制系统检修课件 学习情境4:电的转换
- 车辆实际使用权协议书范文模板
- 新版加油站全员安全生产责任制
评论
0/150
提交评论