恶意代码检测技术的演化

恶意代码防范技术笔记(十) 有时一台计算机内同时潜伏着几种病毒,当一个健康程序在这个计算机上运行时,会感染多种病毒,引起交叉感染。按照是否执行代码分为: 静态检测、动态检测。: 确定恶意代码的种类、症状。讨论自动诊断病毒(查毒)的。 阅读详情

在本文中我们讨论了识别恶意代码的各种方法,它们彼此间在功能上(以及时间上)的联系,它们的技术以及特点。从一个方面讲,这里写到的许多技术和原理实际上并不仅仅可以用在反病毒方面,还可以用在计算机安全系统里更为广泛的环境下。从另一方面讲,有很多技术,它们确实重要,但只用在反病毒方面,如脱壳和流特征检测,对这样的技术本文没有讨论。

引言

最初的搜索恶意程序的技术是基于特征码的。特征码是一段能唯一确定恶意程序的一段代码。随着病毒的演化,病毒检测技术也日益复杂。这些先进的技术——各种启发式分析和行为分析——都可以统称为非特征检测技术。

尽管从标题看本文似乎涉及到了所有的恶意代码检测技术,但实际上本文主要聚焦与非特征检测技术——关于特征扫描技术已经没什么可说的了,这种技术很直观,也很原始。目前,用户对非特征检测技术都还比较陌生。在“启发式”、“主动检测”、“行为检测”、“HIPS”这些名称背后的到底是些什么呢?这些技术彼此间有什么关系呢?它们又有什么有缺点呢?给出这些问题的答案就是本文的目的。另外,本文和前一篇《恶意程序自保护技术的演化》一样,目的就是系统地总结并最为客观地研究一些恶意程序及其防御上的

一些特别的问题。本文预期的读者是对反病毒技术有基本的认识但不是这个恶意程序防御领域专家的人。

恶意程序防御系统模型

首先我们来看下恶意代码搜索技术。为此,我使用以下模型。

在任何防御系统中都有两个组件:技术组件和分析组件。在模块层面或算法层面上,这两个组件的区分倒不一定明显,而在功能层面上,它们却有着显著的区别。

技术组件是用某些算法为分析组件提供分析数据的程序的集合。例如,文件字节代码,文件中的文本字符串,程序独有的行为或行为序列。

分析组件是做出判决的系统。它是一个算法,分析提交给它的数据并给出某些判定结果。根据这些结果和安全策略,反病毒软件(或其它安全软件)会采取相应的行动:通知用户,询问处理方式,将文件隔离,阻断未认证的程序行为等等。

举个例子。我们来看一下经典的基于特征码检测的防御恶意程序的方法。对这种方法来说,技术组件就是获取文件系统、文件数量及内容等信息的系统,而分析组件就仅仅是一个比较字节序列的操作。也就是说,简单说来,分析组件的输入就是文件代码,而输出就是判定结果——文件是否有害。

在这种模型框架下,任何防御系统都可以表示成一个“复数”——两个独立对象的联合体:技术组件与分析组件。用这种观点来分析技术,我们很容易看出它们的关系和它们的优缺点。特别地,借助于这个模型我们可以很容易地解决技术定义中的歧义。例如,后面会证明,“启发式”,作为一种判定的方法,只是应该归在分析组件中,而不是一种独立的技术。而HIPS (Host Intrusion Prevention System),只是一种技术组件,是一种搜集数据的方法。由此得出结论,这些术语,首先形式上彼此不矛盾,第二,不能完整地刻画它们所描述的技术。说到启发式,我们可以不确定启发式分析所用到的数据,而说到HIPS系统,我们可以不知道它的判定标准。

关于这些技术的更为详细的信息将在相应的章节里讨论,现在我们来看恶意代码搜索技术原理本身:技术的——信息收集手段,和分析的——信息处理手段。

 

技术组件

构成恶意程序检测系统的技术组件收集用于分析的数据。

恶意程序,首先是具有一定内容的文件,其次是在操作系统中进行的一组行为,第三,是操作系统中作用效果的集合。因此对恶意程序的识别可以从不同的层面上进行:通过字节序列,通过行为,通过对操作系统的影响等等。

一般来讲,要使恶意程序现形可以通过以下方法:

   1. 将文件作为字节序列处理。
   2. 模拟程序代码。
   3. 在沙箱中运行程序(sandbox)(以及其它类似的虚拟技术)。
   4. 监视系统事件。
   5. 搜索系统异常。

上面的方法是按处理代码时抽象级别由低到高排列的。这里抽象级别的意思就是我们用什么样的角度来看可执行程序:作为原始的数字对象(字节串),作为行为(字节串的结果,更为抽象)施动者或是作为对操作系统产生的效果(行为的结果,进一步抽象)的集合。反病毒技术大概就是按照这个向量来发展的:处理文件本身,根据文件处理事件,根据事件处理文件,处理环境本身——所以给出的列表很自然地按时间顺序排列下来。

要强调的是,上面列出的独立技术有几种,恶意程序数据收集技术的连续发展过程就有几个阶段。从一种技术发展过渡到另一种技术基本上都是渐进的。例如,对模拟来说,如果技术的实现只将文件作为字节序列,那么它就接近于简单的文件处理;如果完整地虚拟了系统函数,那它又接近于虚拟技术。

我们来详细地看一下这些方法。

1. 文件扫描

最早出现的反病毒软件都是将文件视为字节序列的。然而,我们却很难称之为分析技术。它仅仅是将字节序列和已知的特征做比较。但我们现在感兴趣的是这种技术的技术组件:

在搜索恶意程序过程中,数据被传递到判定组件,而这数据是从文件中抽取出的一个具有某种形式的有序字节序列。

这种方法的特点在于,反病毒软件只处理程序的字节码,而不关心它的行为。尽管方法比较老旧,但并没有过时,直到现在还用在所有现在的反病毒软件中,只是它已经不再是唯一的,甚至不再是主要的方法了,只是众多技术中的一种而已。

2. 模拟

模拟技术从程度上来说处于把程序视为字节序列的技术和把程序视为行为序列的技术之间。

虚拟机将程序字节代码划分为指令,并在虚拟的计算机环境中执行每一条指令。这样就可以监视程序的行为,不会像在真实环境中执行恶意程序那样会威胁操作系统和用户数据。

在抽象层级中模拟器位于中层。所以虚拟机的特点大致可以归结为:虚拟机仍然和文件打交道,但是所分析的实际上已经是事件了。虚拟机已经用在了许多反病毒软件中,主要是用作底层的文件引擎或高层引擎(沙箱、系统监视)的一种辅助。

3. 虚拟化: 沙箱

虚拟化技术使用了沙箱,是模拟技术的一种逻辑延伸。使用沙箱技术时,恶意程序已经是在真实的环境中运行了,只不过是被严格控制起来了。

沙箱这个名称就已经很好地反映了虚拟化的本质。通常意义上的沙箱就是封闭的环境,小孩子们可以在里面安全地玩耍。如果做个类比,把操作系统比作现实世界的话,那么扮演爱玩的孩子角色的就是恶意程序了,而这时封闭的环境就成了一组在操作系统中活动的准则。这些准则可以阻止恶意程序修改注册表,利用部分模拟技术提供有限的文件系统操作支持。例如,在沙箱中启动的程序会得到系统注册表的一个副本,这样这个程序对注册表做的修改不会影响到操作系统的正常工作。这样,我们可以虚拟出任何一个程序与环境的接触点:文件系统,注册表。

模拟技术与虚拟化技术之间的界线可能并不宽,但却很明显。前一种技术为程序的执行提供了环境(这样工作的进程就包含了被执行的程序并完全控制了程序的运行)。对后一种技术来说,作为运行环境的已经是真实的操作系统了,而这种技术就是用来控制程序与操作系统间的交互,这就是它和前一种技术的差别所在。

这样,前面所述的这些基于虚拟技术的防御手段的处理对象已经不再是文件,而是程序的行为——但还不是系统。

反病毒软件不会主动使用“沙箱”以及虚拟机这类的方法,主要是因为这些实现方法的程序需要占用大量的资源。带有沙箱的反病毒程序在程序启动和开始执行之间会有一个延时(成功识别出恶意程序的情况——即在恶意程序启动和反病毒软件检测到恶意程序并给出信息之间的延时),所以可以通过这一点判断反病毒程序是否有沙箱。目前硬件虚拟化方面的研究正在积极进行之中,这种情形不久就会改善。

目前只有几个防病毒软件使用了“沙箱”引擎。

4. 系统事件监控

系统事件监控是一种更为抽象的为暴露恶意程序而搜集信息的方法。如果说虚拟机或沙箱是观察每一个独立的程序的话,监控器则是通过监视操作系统和运行的程序中产生的所有事件来观察所有程序。

从技术上说,这种信息搜集的方法是通过挂钩操作系统函数来实现的。挂钩了某些系统函数调用后,挂钩函数就得到了某个确定程序在系统中进行某个确定行为的信息。作为功能的延伸,监控器会收集这些行为的统计信息并将它传给分析组件处理。

这种技术目前发展最为迅速。在某些较好的反病毒软件中,它已经成为了一种组件,占据了基础性低位,成为了一个独立的工具,专门用来监控系统(成为“HIPS工具”,“HIPS”就是像Prevx、CyberHawk这类的程序)。由于任何防御都可以被绕过,所以这种搜索恶意程序的方法并非是最有前途的。在真实环境中运行程序所带来的威胁会大大降低防御的效果。

5. 搜索系统异常

这是搜集可能被感染的系统中信息的最为抽象的方法。我这里首先是把它作为前面技术的一种自然延伸和抽象的极限而提出来的。

这种方法建立在以下前提之上:

操作系统和运行于其上的程序是一个完整的系统;
操作系统有内在的“系统状态”;
如果在操作系统中执行了恶意代码,则系统的状态就是“非健康的”,这种状态和系统中没有恶意代码时的“健康状态”是不同的。

从这些状态入手,将系统状态与标准状态(用作“系统健康”状态的标准状态)做对比或单独分析状态参数,我们就能评价系统的状况(从而能够判断系统中是否可能有恶意程序)。

为了有效地用分析异常的方法来检测恶意代码,分析系统必须足够强大——比如用专家系统或神经网络。这就引出了许多问题:如何定义“健康状态”,它和“非健康状态”的区别在哪里,有哪些离散的参数可供跟踪以及如何进行分析。由于这种复杂性,目前这种方法用得还很少。它的源头可以从某些anti-rootkit工具中找到。这些工具要么将系统状态和标准系统状态做对比(已过时的PatchFinder、Kaspersky Inspector),要么比较单独的参数(GMER, Rootkit Unhooker)。

有趣的比喻

前面“沙箱”部分做的孩子的比喻,还可以这样延伸:虚拟机就像个保姆,时刻照看着孩子,不让他有不良的行为;系统事件监控则像个私塾老师,监督着一群孩子;而搜索系统异常技术则给予了孩子们充分的自由,只是会在操行日志里给它们打分。这样打比方的话,那文件的字节分析就只是对孩子的设计,更确切的说就是在准父母的性格里寻找不安分的成分。

而且,就像孩子一样,技术也是在成长和发展的。


分析组件

病毒判定算法的复杂度可以是完全任意的。反病毒软件的分析系统大致可以分成三种,而在这三者中间可能还有许多中间变体。

简单比较

通过将单一对象与已有样本做比较而得出结论。比较的结果是排中的(即只有“是”或着“不是”)。一个例子就是用严格确定的字符序列去识别恶意程序。更高层次点的例子就是通过行为比较而发现可疑程序行为(比如向注册表关键部位或自启动文件夹中写入)。

2. 复合比较

将一个或几个对象与相应样本做比较而得出结果。比较的模式可以是可伸缩的,而比较的结果是一个概率。例如,使用几条字节特征中的一条来识别恶意代码,而这几条字节特征都是非严格的(每一个单独字节序列都是不确定的)。另一个更高层次点的例子就是通过几个恶意程序用到的并且用一定的参数非顺序调用的API函数来识别恶意代码。

3. 专家系统

通过对数据进行复杂的分析而得出结果。这可能会是个自身带有人工智能成分的系统。比如说:不使用严格给定的一组参数,而是从整体上多方面评估所有参数,考虑它们的潜在恶意性的权重并计算出总体结果。


技术的本质 — 什么是什么

我们现在来看这些恶意程序搜索具体技术的基础是些什么样的算法。

一般开发新技术的厂商都会给他们的新技术起一个全新的、独特的名字(例如Kaspersky Antivirus的“主动防御”,Panda的TruPrevent,F-Secure的DeepGuard)。这种做法是很正确的,因为这样可以避免用户受狭义术语的影响而对新技术有先入为主的错觉。然而,在用通俗的、技术味不浓的语言描述新技术时,使用像“启发式”、“虚拟机”、“沙箱”、“行为阻断”这样含义广泛的术语就不可避免了。

到这里,术语意义上的分歧开始出现了。这些术语都是没有严格定义的(理想状况下,一条术语的意义应该是单一的)。对于一条术语,这个人的理解可能是这样的,而那个人可能又有另外的理解。而且,术语作者为它赋予的清晰易懂的意义经常和专家们所理解的含义不同。这就解释了一个现象,即在反病毒软件厂商的网站上充斥着大量技术术语,但却找不到有关这种技术本质的信息。

例如,某些反病毒厂商称自己的产品装备了HIPS、“主动技术”或“非特征码技术”。如果用户将HIPS理解为有一个程序监控系统事件并分析是否存在恶意代码,那他就有可能被骗。实际上,靠这些术语,反病毒厂商可以掩盖所有他们想掩盖的信息——比如,装备有“启发式”系统的“虚拟机”引擎。还有一种情形经常会遇到,就是将某种技术描述为“启发式”的,但却没有任何更为详尽的信息。

需要强调的是,我们不是说反病毒厂商有意要欺骗用户——很有可能写那些描述的人自己都不明白那些术语的意思。我们只是说,那些对技术的描述都是给用户看的,而用户可能并不了解这些技术到底是什么东西,再有就是提醒用户在靠这些描述选购反病毒软件的时候应谨慎。

我们来详细看一下这些反病毒领域中的流行名词。

“特征码检测”的歧义最小:无论怎么说,从技术角度讲它都是和文件字节代码打交道的,而从分析角度讲它用的就是最初级的数据处理方法,一般就是简单比较。这种技术最为古老,但却最为可靠,所以尽管它有个最大的缺点,需要更新病毒库,但是直到今天各个反病毒软件仍都在使用。

前面列表中的“虚拟机”、“沙箱”也没什么其它的解释方法。用于它们的分析组件的算法复杂度也可以是任意的,从简单比较到专家系统。

而“启发式”这个词就有点朦胧了。奥日科夫俄语词典上的定义是:“启发——检测未知病毒的所有研究方法”。启发式首先是一种分析组件,而不是一种有着严格定义的技术。

离开了具体的上下文的话,那就会很像是用一种不确定的技术去解决一个不明了的问题。

在反病毒技术发展的初期,“启发式”刚开始使用的时候,它还是一种完全确定的技术——通过某种可变字节模式来识别病毒的技术,也就是说它是文件处理型技术组件和复杂比较型分析组件构成的一种系统。而现在“启发式”的含义已经变得更为广泛,成了“搜索未知恶意程序”的技术。换句话说,说到“启发式检测”,厂商就会暗示它是一种防御系统,这种系统的分析组件会进行模糊搜索来寻找解决办法(可能是用“复杂分析”或“专家系统”的分析组件)。用启发式的话,反病毒技术的基础——即为后续分析搜集信息的方法——可以任意,从文件处理到事件或操作系统状态的处理都可以使用。

“行为检测”、“主动检测”这类的名称也没什么确定的定义。他们包含的技术很广泛——从启发式到系统事件监控。

反病毒技术描述中经常会用到HIPS这个词,但不总是能用得恰当。尽管这个缩写词(Host Intrusion Prevention System)并没有反映出技术的本质,但在反病毒方面它的含义是明确的:HIPS是一种基于系统事件监控的防御技术。它可以搭配任意的分析组件——从对单一的可疑事件的处理到对一系列的程序行为的复杂分析。这样,在反病毒软件的描述中,用HIPS就可以掩盖一些事实。比如它只保护了几个关键的注册表项,还是在访问某个目录时会进行提示,还是会对程序行为进行更复杂的分析,还是使用了基于系统事件监控的其它技术。


恶意代码检测技术的优缺点

如果我们不是单一的看某一种恶意程序防御技术,而是从整体上来进行研究的话,从本文模型的观点看,有以下方面。

技术组件有以下属性:对系统资源的利用(其结果就是程序运行的快慢)、安全和防护。

“系统资源”就是在为系统提供连续或周期性保护并保证系统快速运行的同时所使用的处理器时间片和内存。模拟技术运行起来很慢,无论它是如何实现的:每一条被模拟的指令都会在人工环境中被分成几条指令。虚拟化技术也是一样。系统事件监控也一样会拖慢系统,但其程度则依赖于实现。文件检测和系统异常搜索就完全依赖于实现了。

“安全”反映了恶意程序识别过程中操作系统和用户数据的危险程度。恶意代码在操作系统中执行后,这种危险总是存在的。系统事件监控技术要等恶意程序运行起来后才能检测得到,而模拟技术和文件扫描技术在恶意代码执行前就可以检测到。

“防护”这一项反映了技术的脆弱性,即恶意代码能在多大程度上干扰识别过程。要对抗文件检测是很简单的:文件加壳就不错,或者使用多态,或者用rootkit技术隐藏文件。对抗模拟技术就要困难一些了,但也是可以的——可以在恶意程序的代码中嵌入虚拟机检测处理的代码。但要在系统监控下隐藏就很困难了——因为要隐藏行为是不太可能的。

结论:一般说来,防御技术的抽象层次越低,它的安全性就越好,但越容易被绕过。

分析组件有以下属性:主动性(是否依赖于反病毒软件的更新频率)、误报率和用户参与程度。

主动性反映的是对专家们尚未拿到的新未知恶意程序的检测能力。举个例子,像特征码检测这类最简单的分析类型技术(“简单比较”)的主动性就最差:用这种技术只能检测到已知的恶意程序。随着分析系统复杂度的提高,它的主动性也随之增强。和主动性直接相关的还有一个属性,那就是更新的频率。例如,病毒库就需要频繁地更新,更复杂的启发式系统保持有效状态的时限就要长一些,而专家分析系统则可以做到数月不更新都能很好地工作。

误报率和分析技术的复杂度也是有着直接的关系的。用定死的特征码或行为序列来识别恶意代码,如果特征(字节码、行为特征或其它)能足够长,那么就能唯一地确定恶意程序。特征码可以识别某一种确定的恶意程序,而不能识别出其它的。若识别算法试图识别出更多的恶意程序的话,那么它也会变得更不确定,结果会误报更多的非恶意程序。

用户参与度反映了需要用户参与制定防御策略和协助做出判定的程度。防御策略就是例外、白名单的规则,而协助判定就是对分析系统给出的可疑行为进行确认或否定。用户参与度依赖于实现,而且一般来说,离原始的字节比较技术越远的分析技术,其误报的可能性就越大。当然,误报可以修正,而这就需要用户参与了。

结论:分析系统越复杂,功能就越强大,误报的可能性也越高。误报需要与用户互动进行解决。

如果用这种模型来研究某种技术的话,就很容易从理论上评价它的优缺点。例如,带有复杂分析系统的虚拟机。这种系统非常安全(因为不会启动被检查的程序),但是会因为恶意程序使用了反虚拟机技术或是虚拟机本身实现上的缺陷而漏掉某些恶意程序。这种技术有着巨大的潜力,精心实现后会识别出大多数的恶意程序,但速度慢是一个不可避免的问题。


如何选择非特征码防御系统?

目前,在计算机安全领域里的解决方案大多都是以上某些技术的复合体。在经典的反病毒软件中,特征码检测通常都会和各式各样的系统事件监控、虚拟机、沙箱一同使用。如何面对自身实际情况选择恶意代码防御系统,最大程度地满足具体用户的需求呢?

首先要明白,万能的、“最好的”解决方案是不存在的。每一种技术都有自己的优缺点。例如,系统事件监控会长期占用处理器时间,但不易被绕过;用某些特殊指令就可以混过虚拟机的检查,但在用虚拟机检测恶意代码时,可以先发制人,使系统不受影响。另一个例子:行为规则越简单,用户参与度就越高,这样就会给用户提出一大堆问题,而复杂且“安静”的规则又会有很多误报。

对技术的选择就是对具体需求和环境的权衡。比如,在脆弱条件下(没打补丁的系统,允许使用浏览器插件和执行脚本等等)的人,很为自己系统的安全担心,同时他又有足够的资源,那他就适合用带有强大分析组件的“沙箱”类的系统。这种系统能提供最大的安全性,但目前实现这种系统的程序需要占用大量的内存和处理器时间,这就会拖慢操作系统。对于既希望能控制关键系统事件同时又想免受恶意代码困扰的专家来说,就可以选用实时监控系统。这种系统运行稳定,又不会拖慢系统,而且要求用户参与制定规则和例外情况。而系统资源有限,不想自己的机器因总处在监视下而被拖慢,而且想设置简单规则的用户可以选择更简单的启发式技术。总之,对于未知恶意程序检测来说,靠单一的一种技术是不够的,需要从整体入手。复杂的技术可以为简单的技术提供补充。

检测未知代码的非特征码系统可以分为两类。第一类就是独立的HIPS系统,如Prevx或Cyberhawk。第二类就是反病毒软件,它们在提高检测技术有效性的演化中发展到了非特征码技术阶段。两者的优势都很明显:前者的优势就是专注,从而有无限潜力去完善,而后者在对抗恶意程序的各个方面都有着丰富的经验。

在选择反病毒产品的时候建议参考独立评测的结果和可信用户的推荐。

 

 
基于行为的恶意代码检测技术 基于行为的恶意代码检测技术,从病毒体内提取的原始数据片断,以及该片断的位置信息。将一系列已经规定好的恶意行为做为规范,根据这些规范,去监视程序做了什么,再结合这个规范来判定程序是否是恶意代码。 立即下载

相关推荐

恶意代码及其检测技术研究

网络安全的一些技术,病毒,蠕虫,不同类型后门介绍以及怎么启动window后门

恶意代码防范技术原理

恶意代码的英文是Malicious Code,它是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用、破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另一台计算机系统,未经授权认证访问或破坏计算机系统。通常许多人认为“病毒”代表了所有感染计算机造成破坏的程序。事实上,“恶意代码”的说法更为通用,病毒只是一类恶意代码而已。

yyj173637的博客 2373

基于C语言实现PCAP的网络入侵检测系统源码+项目说明.zip

本项目将实现一个基本的网络入侵检测系统, 涉及到对TCP/IP网络协议和线程的知识理解. 项目将使用libpcap库在特定的接口拦截 (嗅探) 数据包, 之后分析数据包. 项目的目标是检测高吞吐量网络中潜在的恶意流量. 项目结构 src ├── Makefile # 构建../build/idsniff ├── analysis.c # 分析和识别恶意数据包 ├── analysis.h ├── dispatch.c # 将analyse()任务分发给多个线程 ├── dispatch.h ├── main.c # 包含解析命令行参数的代码段, 同时调用sniff()在指定的端口上启动抓包 ├── perf.data # 使用perf工具检测性能得到的报告 ├── sniff.c # 使用pcap_loop()持续捕获数据包 └── sniff.h

6.4 恶意代码

6.4 恶意代码

weixin_43263566的博客 1367

桁架 拓扑优化 matlab程序_拓扑优化在结构轻量化及板壳加筋肋最优布置的应用...

1 拓扑优化简介材料的有效利用一直都是人类追求的目标,也是许多研究领域不变的话题,并伴随着结构优化理论和方法的产生而发展。结构优化设计通常分为三个层次:(1)拓扑优化:在一个确定的连续区域内寻求结构内部非实体区域位置和数量的最佳配置,寻求结构中的构件布局及节点联结方式最优化,使结构能在满足应力、位移等约束条件下,将外载荷传递到结构支撑位置,同时使结构的某种性态指标达到最优;(2)形状优化:指在保持...

weixin_39525355的博客 1877

从硬件到软件:TSMaster报文过滤全链路配置指南(含同星设备适配)

本文详细介绍了TSMaster平台下CAN/LIN/FlexRay总线的报文过滤全链路配置指南,特别针对同星TC1016等硬件的兼容性进行实战演示。从硬件层预过滤到软件层可编程过滤,提供五维过滤体系构建方法,帮助工程师提升车载诊断与总线分析效率。重点解析混合总线过滤策略优化及诊断场景下的特殊过滤方案。

tensorflowjs6的博客 401

恶意代码的发展历程

尽管最近发生了越来越多的恶意代码安全事件,但是恶意代码并不是新生事物。近年来,攻击者一直在努力研究攻击能力和生存能力更强的恶意代码。下面我们列举了近三十年来恶意代码发展史上的里程碑事件: ...

ajiao__的博客 1848

comfyui从入门到精通二:提示词规则详解

《AI绘画提示词使用全指南》摘要: 本文系统解析AI绘画提示词的核心规则与实用技巧。关键点包括:1) 空格与下划线的本质差异,webui会自动转换但comfyui保留原格式;2) 数字与单词表达(如1girl/one girl)会导致风格变化;3) 三种权重控制方式(数值标注、括号嵌套、位置效应),其中数值标注最直观有效;4) 位置衰减公式揭示提示词排序对效果的影响权重。同时指出当前AI绘画仍存在角色一致性等更复杂的技术瓶颈。全文通过多组对比实验,为创作者提供从基础语法到高阶控制的完整解决方案。

ScottePerk的博客 1934

基于深度学习的加壳恶意代码检测系统研究

基于深度学习的加壳恶意代码检测系统研究运用A+-ELM算法、特征融合技术、可视化增强技术和共享近邻聚类方法解决了恶意代码检测中的加壳干扰、特征单一、信息缺失和未知样本检测等问题,实现了高效准确的恶意代码识别与分类。对于计算机专业、软件工程专业、人工智能专业、大数据专业的毕业生而言,选择一个合适的毕业设计选题至关重要。在这个毕业设计选题合集中,我们精心收集了各种有趣且具有挑战性的选题,旨在帮助学生们在毕业设计中展现他们的技术实力和创新能力。

2301_79555157的博客 1267

飞书应用开发脚手架lark-harness:从零构建企业级机器人

在构建企业级应用时,开发脚手架是提升工程效率和规范性的关键工具。其核心原理在于通过预设的项目模板、最佳实践和通用模块封装,自动化处理项目初始化、配置管理和基础架构搭建。这种技术价值在于将开发者从重复性劳动中解放出来,确保团队技术栈统一,并降低维护成本。在Node.js生态中,脚手架常与Express或Koa等Web框架结合,用于快速构建Web服务、API接口和实时事件处理系统。具体到飞书开放平台开发场景,开发者需要处理OAuth 2.0授权、事件订阅验证、消息加解密等复杂且标准的流程。lark-harnes

weixin_30703911的博客 612

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

WW、forever的博客 803

基于网络行为分析的恶意代码检测系统

摘要:本文设计了一种基于网络行为分析的恶意代码检测系统,通过机器学习技术提高检测准确率。系统采用ResNet卷积神经网络模型,将二进制文件转换为灰度图像进行特征提取。实验数据来源于UCI等公开数据集,通过PyQt5实现用户界面。研究表明,该方法能有效识别未知恶意代码,误报率较低。系统包含文件上传、图像转换、模型检测和结果展示等功能模块,为网络安全防护提供了新思路。

1327

TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate

这篇被 ICLR 2026 接收的论文提出了一种名为TurboQuant的全新在线向量量化(Vector Quantization, VQ)算法。该研究的核心目标是解决大语言模型(LLM)在长上下文推理时面临的 KV Cache 显存消耗瓶颈,以及大规模向量数据库在近似最近邻检索中的存储与延迟问题。有别于现有技术,TurboQuant 是一种无需任何校准数据、无需训练的在线算法(Data-oblivious)。

c_cpp_csharp的专栏 118

网络攻防技术:恶意代码

恶意代码的演变与防御策略 恶意代码已成为网络安全的主要威胁,其发展经历了从早期实验性病毒到现代高度组织化、商业化的演变。主要类型包括病毒、木马、蠕虫和Rootkit,各自具有不同的传播方式和破坏性。恶意代码攻击遵循入侵、隐蔽、潜伏、破坏和传播的系统化模型。为应对威胁,防御技术包括基于特征的扫描、校验和行为分析等方法。随着恶意代码技术不断进化,防御策略也需要持续更新。

spinage的博客 2077

基于 OpenCVSharp 的晶圆缺口自动检测与旋正方案

在半导体制造过程中,晶圆(Wafer)需要精确定位才能进行后续加工。每个晶圆边缘都有一个特定的缺口,这个缺口就像 "箭头" 一样,帮助机器确定晶圆的方向。我们的任务就是通过摄像头拍摄的图片,自动找到这个缺口的位置,计算出需要旋转多少角度才能让晶圆对准正确方向。简单来说,这个技术就像给晶圆 "找方向",确保它在生产线上始终保持正确的姿态。

品质生活,极致编程。 1211

SPD-Conv+YOLOv8:空间深度转换卷积赋能小目标检测,从原理到实战的科研级优化指南

从理解SPD-Conv“空间到深度+逐步卷积”的核心设计,到亲手将其嵌入YOLOv8并验证在小目标场景的表现,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解“小目标特征保留”在检测任务中的核心价值。现在就开始行动,相信你会在小目标检测的“细节捕捉”之路上,走出一条属于自己的技术路径。实验通常会证明:嵌入SPD-Conv后,YOLOv8在小目标AP上提升5-8个百分点,mAP50-95提升3-5个百分点,而推理速度仅下降5%以内,充分体现了其“保细节+提精度”的优势。

m0_64661770的博客 163

【恶意软件检测论文】MSDROID:用于Android恶意软件检测的恶意代码片段识别

在文献中,机器学习已经显示出提高Android恶意软件检测准确性的希望。然而,这是具有挑战性的: (1) 保持对现实世界场景的鲁棒性和 (2) 提供可解释的解释供专家分析。在本文中,我们提出了MsDRoID,这是一个Android恶意软件检测系统,通过识别带有可解释解释的恶意代码片段来做出决策。我们模仿了安全分析师的一种常见做法,即在查看每种方法之前过滤api,以关注敏感api周围的本地代码片段,而不是整个程序。每个片段用编码代码属性和领域知识的图表示,然后用图神经网络(GNN)进行分类。

czc的博客的csdn版本,欢迎访问我的还在建设的个人网站:czchx.cc 1715

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

四川大学 | PyPI生态系统中恶意代码的实证研究,从零基础到精通,收藏这篇就够了!

PyPI作为Python包管理平台,为开发人员提供了便捷的工具来加速功能实现和提升工作效率。然而,PyPI生态的迅速扩展也伴随着恶意包的广泛传播问题。开发者通过将恶意包伪装成常规组件来威胁下游用户和项目的安全。当前,PyPI恶意代码检测领域面临着高质量、大规模数据集的缺乏,这限制了对该生态中恶意代码特征的深入了解。为应对这一挑战,本研究构建了一个自动化恶意代码收集框架,利用PyPI镜像站点及其他渠道收集高质量恶意代码数据,并在此基础上进行实证研究,以揭示PyPI生态中恶意代码的特性。

leah126的博客 1063

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析

本文主要结合作者的《系统安全前沿》作业,师姐的论文及绿盟李东宏老师的博客,从产业界和学术界分别详细讲解恶意代码攻击溯源的相关知识。在学...

bylfsj的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

当‘工具’变成‘武器’:冰河木马的双重身份引发的技术伦理思考

本文探讨了冰河木马从合法工具演变为黑客利刃的技术伦理困境,分析了其技术架构、功能演进及滥用案例。文章指出,技术中立性背后隐藏的伦理风险,呼吁开发者在设计时考虑权限最小化、行为透明化等原则,以避免工具被恶意利用。

weixin_29315091的博客 294

恶意代码传播路径与防御技术深度解析

恶意代码是网络安全领域的重要威胁,其传播方式不断演化,从传统的钓鱼邮件到供应链污染等复合型攻击链。恶意代码的核心技术包括代码混淆、反分析技术以及持久化驻留机制,这些技术使得恶意软件更难被检测和清除。动态DNS在恶意架构中的应用进一步增加了防御的难度,例如通过DGA(域名生成算法)动态生成通信节点。构建多维度防御体系是应对这些威胁的关键,包括网络层防护、终端防护和威胁情报体系的建设。通过实战防御演练案例,可以看到行为分析的下一代防护产品在检测率上的显著提升。

weixin_29324877的博客 280

恶意代码分析与防治

目 录摘 要 1关键词 1Abstract 1一、恶意代码概述 1(一)认识恶意代码 1(二)恶意代码分类 2二、恶意代码分析技术 3(一)静态分析方法 3(二)动态分析方法 4(三)恶意代码分析流程 4(四)恶意代码分析实例一 5(五)恶意代码分析实例二 8三、恶意代码的防治 10(一)使用优质的杀毒软件 11(二)安装正版的应用程序 11(三)提高对计算机病毒的防范意识 11结语 11参 考 文 献 12恶意代码的分析与防治。

weixin_51725318的博客 182
上一篇: 在Ring3上实现文件碎甲(解锁)功能
下一篇: 绕过 KIS 7 防火墙的一种简单方法
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值