CN103679023B - 一种联合计算架构下的海量病毒报告分析方法 - Google Patents
一种联合计算架构下的海量病毒报告分析方法 Download PDFInfo
- Publication number
- CN103679023B CN103679023B CN201310471339.5A CN201310471339A CN103679023B CN 103679023 B CN103679023 B CN 103679023B CN 201310471339 A CN201310471339 A CN 201310471339A CN 103679023 B CN103679023 B CN 103679023B
- Authority
- CN
- China
- Prior art keywords
- server
- task
- virus
- report
- terminal node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种联合计算架构下的海量病毒报告分析方法,该方法解决了云安全系统不依赖大规模的网络终端节点提交病毒报告来监测网络中的各种恶意代码;本发明提出联合计算架构下的海量病毒报告分析机制,充分利用服务器和大规模终端构成的联合计算能力,将针对海量病毒报告的分析任务进行有效的分割,并通过移动代理有序部署到服务器端和大规模终端节点上来执行,从而有效降低服务器端的负载,提高了系统的病毒报告处理效率。
Description
技术领域
本发明涉及计算机网络安全技术,特别涉及一种联合计算架构下的海量病毒报告分析方法。
背景技术
网络病毒包括计算机病毒、网络蠕虫、后门木马、间谍件等,网络优秀的资源共享和通信功能为网络病毒的传播、感染和破坏提供了天然温床。通过网络特别是互联网及其应用系统传播的网络病毒、波及范围大、覆盖面广,在短时间内就可以造成网络拥塞甚至瘫痪、共享资源丢失、机密信息失窃,从而造成巨大的损失。
新型的云安全反病毒系统通过网状的大规模终端对网络中软、硬件异常行为进行监测,实时获取互联网中蠕虫与木马等恶意代码的最新信息,自动传送到服务器端进行分析和处理,再将恶意代码解决方案迅速分发到每一个网络终端。这意味着反病毒系统不再仅仅依靠本地硬盘中的病毒库来识别和查杀各种恶意代码(特别是未知恶意代码),而是依靠庞大的网络服务,将整个互联网联合成为一个巨大的协同“杀毒软件”,实时采集、分析以及处理恶意代码,实现“参与者越多,每个参与者就越安全,整个互联网就会更安全”的目标。
显然,对海量用户提供的海量病毒报告分类、分析与汇总是云安全系统的主要任务。趋势云安全系统每天收集到2.5亿个病毒报告;卡巴斯基全功能云安全系统在用户“知情并同意”的情况下在线收集、分析数以万计的网络终端提交的可疑病毒报告;瑞星云安全的核心“瑞星卡卡6.0”每天收集8~10万个木马病毒报告,并对病毒进行分类和特征提取。
海量病毒报告的分类、分析与汇总为云安全系统带来了巨大的负载。病毒报告获取的速度越来越快,已经达到微秒级;病毒报告已经由手动发送转为自动获取,服务器获取的报告数量成井喷趋势;报告的内容也日渐详尽多样。这些都对病毒报告分析技术提出了更高的要求。负责节点监控、病毒疫苗分发等重要任务的云安全集群服务器端负荷沉重,极容易成为系统的性能瓶颈。
为了解决这种问题,趋势云安全系统等通过在全球建立大规模数据中心,使用几万台服务器来完成对病毒报告的收集与分析。而本发明能够很好地解决上面的问题。
发明内容
技术问题:在目前云安全系统中,云服务器会收到来自各个用户终端节点的病毒报告。随着病毒报告量的进一步扩大,服务器端也将越来越难以负荷。当服务器收到大批来自不同用户感知后汇报的病毒报告时,按照何种计算架构来对这些病毒报告进行分析成为影响整个系统提高抵御网络病毒能力的一个关键点。
技术方案:本发明提供一种联合计算架构下的海量病毒报告分析方法,该方法是一种用于反病毒软件的、联合计算架构下的海量病毒报告分析方法,该方法充分利用服务器和大规模终端双方计算能力,将针对海量病毒报告的分析任务进行有效的分割,并通过移动代理有序部署到服务器端和大规模终端节点上来执行,从而有效降低服务器端的负载,提高系统的处理效率。
一、联合计算架构
集群计算将计算任务分布在大量服务器计算节点构成数据中心平台上,使各种应用能够根据按需获取计算能力、存储空间和信息服务,具有可扩展性和高可用性,一般具备以下3个典型特征,即:数据中心的硬件基础设施由大规模的集群服务器组成;应用程序与底层服务协作开发,高效利用系统资源;通过数据与设备冗余,使服务达到高可用性。
传统的集群计算技术及系统狭隘地将集群计算的基础运行平台设定为集中管理的数据中心,即在地理概念上将大量的服务器放置于局域网环境中并互相连接,再通过门户主服务器对外统一提供服务。这种模式对于瘦客户机来说是科学的,但是对于目前的个人计算机来说,并不合理,因为目前的个人计算机普遍基于高性能多核中央处理器、大容量高带宽内存和辅助存储器,其计算与存储能力不应被浪费。事实上,目前大部分个人计算机的资源利用率很低,以中央处理器为例,基本都工作在10%~20%左右的负荷。如果能将这些个人计算机的计算能力进行有效聚合,并与目前的集群计算系统相互融合、互为补充,将可以产生巨大的效益。
本发明联合计算模型将传统集群计算中的集群服务器节点与网络边缘的大规模终端节点通过局域网与互联网有机互联在一起,从而形成一个更大规模的计算和存储资源池,并通过任务的有序部署使服务器与大规模终端节点的计算资源的利用和负载趋于一种平衡状态,实现了网络资源和计算能力的真正全面的分布式共享。
本发明联合计算系统中的门户与任务调度服务器节点将用户终端节点提交任务进行分解,并将分割后的任务合理部署到集群服务器节点和用户终端节点上执行,然后对子任务执行结果再进行汇总并得出可返回给用户的最终执行结果,从而解决了越来越多的基于大计算和存储资源的应用的实施造成系统难以承载或服务质量难以保障的尴尬境遇。
二、基于移动代理的任务部署
对于分割任务而成的若干子任务通过何种技术来实现在联合计算系统中的动态部署是本发明的关键问题。基于移动代理的系统具有生存、计算、安全、通信和迁移机制。生存机制指的是移动代理的产生、销毁、启动、挂起和停止等服务;计算机制指的是移动代理及其运行环境所具备的计算推理能力,包括数据操作和线程控制原语;安全机制描述移动代理访问其它移动代理和网络资源的方式;通信机制定义移动代理之间以及与其它实体间的通讯方式。迁移机制负责移动代理在异构的软、硬件网络环境中自由移动,代理用户异地完成指定的任务,这可以有效地提高通信效率,降低分布式计算中的网络负载,动态适应变化的网络环境,具有很好的安全性和容错能力。
本发明采用移动代理来实现联合计算系统中的任务的代码、数据的封装、迁移与执行。本发明基于移动代理可以对任务进行灵活的拆分与部署。
三、任务执行点的选择
如果需要进一步增强任务执行的安全可靠性,还可以对子任务的权重进行设置,即将重要、核心的任务部署在联合计算系统中服务器端集中执行,将不重要但琐细的繁重任务细化后部署到联合计算系统中的大规模终端节点上运行。
为了确定出子任务的权重weight,本发明首先设置两个权重函数f和g,所述方法如下:
步骤1:对任务中的所有子任务的权重weight置初始值,令f(sTaski)=g(sTaski)=1(i=1,2,...,n),如表1所示;
表1子任务的权重初始值
步骤2:假设sTaski的权重weight应小于sTaskj,但是f(sTaski)≥g(sTaskj),则令g(sTaskj)=f(sTaski)+1;
步骤3:假设sTaski的权重weight应大于sTaskj,但是f(sTaski)≤g(sTaskj),则令f(sTaski)=g(sTaskj)+1;
步骤4:假设sTaski的权重weight应等于sTaskj,但是f(sTaski)≠g(sTaskj),则令f(sTaski)和g(sTaskj)中的较小者等于较大者;
步骤5:重复步骤2~4,直到构造过程收敛(即不再出现步骤2~4中的情况)为止,此时得到f和g权重函数值即所求的子任务的权重值。
设定一个权重阈值α,即将权重值大于或等于α的子任务部署到服务器端执行,将权重值小于α的子任务部署到大规模终端节点上运行。
四、联合计算架构下的海量病毒报告分析方法
本发明联合计算架构下的海量病毒报告分析方法的核心方案是当服务器端收集到来自客户端提交的大量病毒报告时,首先会将病毒报告集合按时间序列分割成为若干个子集合,利用移动代理将报告分析代码一并发布到若干终端节点上。
终端节点执行了病毒报告的分析任务后,将结果分别返回至服务器端,再由服务器端完成少量的病毒报告汇总和排序的任务。
本发明为了进一步保障终端任务执行的正确性,系统对任务结果进行了校验,即系统要求2个或2个以上终端节点执行同一分析任务,并对任务执行结果进行hash(哈希)运算后,并利用分配的RSA私钥对结果进行签名后再发送至服务器端用相应的RSA公钥解密后进行比对验证。显然,制造RSA公钥/私钥对的任务应交由服务器端执行。但是制造多对RSA公钥/私钥对的前提是寻找多个大素数构建素数池,这需要较大的计算能力。依据本发明提出的联合计算的思想,本发明依然是将制造RSA公钥/私钥对的任务进行分割,将寻找大素数的任务交由若干个终端节点来联合完成,而服务器仅负责利用收集到的大素数来构建RSA公钥/私钥对。
如图4所示,本发明的系统运行方法流程包括:
阶段一:联合制造RSA公钥/私钥对;
步骤1:系统服务器端通过“心跳机制”来掌握终端节点的在线情况,设当前环境中有N个在线的终端节点;
步骤2:服务器选择其中的M个(M≤N)终端节点,向其中的每一个节点发放一个任务,在区间(1,21024)的不同子区间上生成k个1024bit的素数;
步骤3:终端节点各自将求得的大素数集合返回至服务器端;
步骤4:服务器对终端节点发回的大素数集合进行随机抽样素性检验,并将通过抽样检验的素数集合放到素数池中备用;
步骤5:服务器反复从素数池中选取不同的两个素数p和q,用以制造RSA公钥/私钥对;
阶段二:病毒报告分析任务分发;
步骤1:系统服务器端选择M’个(M’≤N)在线的终端节点,作为组1节点,服务器将病毒报告集合以时间为序均匀分成M’个子集合,并分别配备不同的私钥{d,n};
步骤2:服务器端将病毒报告子集合、代码和相应的私钥{d,n}一同发给终端节点;
步骤3:服务器再随机选取M’个终端节点,作为组2节点,将同样的病毒报告子集合和私钥{d,n}发给它们;所述步骤可选,即在对结果精确度要求不高的应用中可省略;
步骤4:终端节点收到病毒报告子集合与分析代码后,对报告进行分析;
具体实施方法是:终端节点根据病毒报告子集合、来自不同节点的相同报告的数量和提供病毒报告的节点信誉度来综合计算出局部病毒报告重要度;
步骤5:终端节点完成任务后,终端节点对当次任务执行结果(即局部病毒报告重要度)进行hash运算后再利用私钥{d,n}进行签名,然后发给服务器,以提供给服务器来验证结果来源及正确性;
阶段三:任务结果的验证、汇总与排序;
步骤1:服务器对返回的分析结果用对应的公钥{e,n}进行验证,若通过验证则将数据放入数据队列1;
步骤2:服务器将队列1中分配得到相同私钥{d,n}的组1和组2终端节点提交的数据结果的hash值进行比对,以验证节点提交数据结果的正确可信性;
具体实施方法是:若hash值是相同的,则将结果放入数据队列2;若hash值不同,则需要将该子任务重新发送至另一个随机选择的终端节点(也可以在服务器端直接执行),并对返回的结果和之前未验证通过两组数据分别进行比较;反复进行该步骤,直至结果匹配为止,取匹配的那个结果;
步骤3:服务器对数据队列2中的局部病毒报告重要度进行全局汇总,从而统计出全局病毒报告重要度,并按重要度进行排序。
本发明所述方法通过利用联合计算架构下的服务器和大规模终端双方计算能力,采用移动代理来实现联合计算架构下的海量病毒报告的分析任务进行分割、封装,并通过移动代理有序部署到服务器端和大规模终端节点上来执行;所述方法还对子任务的权重进行计算,即:将重要、核心的任务部署在联合计算系统中服务器端集中执行,将不重要但琐细、繁重的任务细化后部署到联合计算系统中的大规模终端节点上运行。
有益效果:
(1)负载平衡。联合计算环境中服务器和终端节点均需承载任务的一部分子任务,任务被分担完成。以上述的基于的病毒报告汇总与排序模块为例,无论是制造RSA公钥/私钥对还是分析病毒报告重要度都是由终端节点和服务器节点联合完成的。制造RSA公钥/私钥对时,将寻找多个大素数构建素数池的繁重、琐碎的任务拆分为多个子任务部署到终端节点上去完成,集群服务器的负载大大降低了;在分析病毒报告时,系统鉴于病毒报告量的庞大,因此也是首先由终端节点来分别分析某个时间片的病毒报告子集合,然后再由服务器根据各终端节点返回的局部病毒报告重要度来计算出全局病毒报告重要度,服务器的计算量为节点数,远远小于原先需要完成的计算量。
(2)安全性。系统通过对子任务的权重进行设置,将重要的核心任务部署在服务器端集中执行,将不重要但琐细的繁重任务细分后部署到终端节点上执行,有效增强了系统的安全性。如在制造RSA公钥/私钥对时,每个终端节点仅负责提供部分素数,并不知道计算素数的目标,即便能窥知计算素数的目标,也无法获知由服务器端制造的RSA公钥/私钥对所依据的素数来源;以病毒报告分析与排序模块为例,各个终端节点也无法获得最终的全局病毒报告重要度数值,从而有效保障系统的安全性。
(3)可靠性。另外联合计算环境中由于包含的终端节点的数据量是巨大的,系统可通过冗余机制来保障结果的正确性,如将同样的病毒报告子集合发送给不同的终端节点来进行分析以防止终端伪造局部病毒报告分析结果,再如将同一区间大素数的寻找任务发送给不同的终端节点以防止终端伪造结果,这些都有效降低终端返回虚假结果的可能性。
附图说明
图1是原始的病毒报告系统界面图。
图2是病毒报告分析结果界面图。
标识说明:(a)-病毒报告返回结果查看的服务器端界面图;(b)-病毒报告计算结果查看的服务器端界面图。
图3是服务器获得的部分素数列表界面图。
图4是本发明方法的系统运行流程图。
具体实施方式
以下结合说明书附图对本发明专利作进一步的详细说明。
可在分布式计算环境下构建联合计算系统。利用高性能塔式计算机作为服务器节点,并负责接受、分解、部署任务以及将结果进行汇总;利用多台个人电脑作终端节点。构建联合计算应用系统时可选择Linux(内核版本2.6.30)作为操作系统,Java开发工具包选择JDK(Java Developer's Kit,Java开发工具包,版本1.6),联合计算基础平台选择Hadoop平台(版本0.20),移动代理采用意大利电信的JADE,开发语言选用Java,开发工具采用Eclipse 3.3。
依据上述的联合计算模型,在Hadoop平台构建的联合计算计算环境中,可利用Java语言及其开发工具Eclipse并基于JADE的移动代理开发与运行平台构建可以具体构建出联合计算环境架构下的各种应用系统。
本发明采用移动代理来实现联合计算架构下的病毒报告分析任务的代码、数据的封装、迁移与执行。对于移动代理给出以下的具体定义。
定义1移动代理(MobileAgent)是一个以下的7元组:
MobileAgent=(SAInterface,AttributeSet,StatusSet,Restriction,TaskExe,ARepository,ExeRoute) (1)
式(1)中包括:
●安全代理接口SAInterface是代理与外界通信的中介,执行代理的安全策略,防止外界对代理的非法访问,在开放的联合计算环境中,安全代理接口的安全管理功能还负责保证代理自身的合法性、健壮性和用户身份的合法性等,同时还可以保护代理当前驻留的主机。
●属性集AttributeSet描述了移动代理本身的一些特性信息,包括代理标识符、所有者、身份认证等。
●内部状态集StatusSet记录了代理执行过程中的当前状态,实现持久支持跨平台的持续运行。
●约束条件Restriction是代理创建者为保证代理的行为和性能而作出的约束,如返回条件、站点停留时间及任务完成程度等,一般只有创建者对约束条件有修改权限。
●任务执行模块TaskExe负责处理子任务处理工作,封装了方法和数据,包括代理的初始化程序和事件处理程序,感知外部环境的请求,并依照内部规则和状态产生动作。
●代理知识库ARepository包含了私有知识和全局知识,作为代理所感知的世界和自身模型,并保存当前相对静止或移动的过程中所获取的知识和任务求解结果。
●执行路径ExeRoute按照子任务在整个任务执行流程中的位置决定了该移动代理按照执行路径到达某一个任务承担节点,然后移动到另一个节点继续执行,并将任务执行结果作为输入交给当地的代理。
基于移动代理来实现联合计算架构下的海量病毒报告的分析任务进行有效的分割、封装,并通过移动代理有序部署到服务器端和大规模终端节点上来执行。
1、任务执行点的选择
如果需要进一步增强任务执行的安全可靠性,还可以对子任务的权重进行计算,即将重要、核心的任务部署在联合计算系统中服务器端集中执行,将不重要但琐细的繁重任务细化后部署到联合计算系统中的大规模终端节点上运行。
为了确定出子任务的权重weight,本发明首先设置两个权重函数f和g,其方法包括如下步骤:
步骤1:对任务中的所有子任务的权重weight置初始值,令f(sTaski)=g(sTaski)=1(i=1,2,...,n),如表2所示;
表2子任务的权重初始值
步骤2:假设sTaski的权重weight应小于sTaskj,但是f(sTaski)≥g(sTaskj),则令g(sTaskj)=f(sTaski)+1;
步骤3:假设sTaski的权重weight应大于sTaskj,但是f(sTaski)≤g(sTaskj),则令f(sTaski)=g(sTaskj)+1;
步骤4:假设sTaski的权重weight应等于sTaskj,但是f(sTaski)≠g(sTaskj),则令f(sTaski)和g(sTaskj)中的较小者等于较大者;
步骤5:重复步骤2~4,直到构造过程收敛为止,此时得到f和g权重函数值即所求的子任务的权重值。
设定一个权重阈值α,即将权重值大于或等于α的子任务部署到服务器端执行,将权重值小于α的子任务部署到大规模终端节点上运行。
基于本发明提出的方法,可构建了一个联合计算架构下的病毒报告分析、汇总与排序系统,将完成海量数据的分析任务分割后交由集群服务器和终端节点来联合完成。系统由Java语言开发构建移动代理,是当服务器端收集到来自客户端提交的大量病毒报告时,首先会将病毒报告集合按时间序列分割成为若干个子集合,利用移动代理将报告分析代码一并发布到若干终端节点上,系统如图1所示。
终端节点执行了病毒报告的分析任务后,将结果分别返回至服务器端,再由服务器端完成少量的病毒报告汇总和排序的任务,如图2所示。
为了进一步保障终端任务执行的正确性,系统对任务结果进行了校验,即系统要求2个或2个以上终端节点执行同一分析任务,并对任务执行结果进行hash运算后,并利用分配的RSA私钥对结果进行签名后再发送至服务器端用相应的RSA公钥解密后进行比对验证(如图2(a)所示)。显然,制造RSA公钥/私钥对的任务应交由服务器端执行。但是制造多对RSA公钥/私钥对的前提是寻找多个大素数构建素数池,这需要较大的计算能力。依据本发明提出的联合计算的思想,本发明依然是将制造RSA公钥/私钥对的任务进行分割,将寻找大素数的任务交由若干个终端节点来联合完成,而服务器仅负责利用收集到的大素数来构建RSA公钥/私钥对。
如图4所述,本发明的具体描述系统的方法运行流程包括:
阶段一:联合制造RSA公钥/私钥对
步骤1:系统服务器端通过“心跳机制”来掌握终端节点的在线情况,设当前环境中有N个在线的终端节点。
步骤2:服务器选择其中的M个(M≤N)终端节点,向其中的每一个节点发放一个任务,在区间(1,21024)的不同子区间上生成k个1024bit的素数。
步骤3:终端节点各自将求得的大素数集合返回至服务器端。
步骤4:服务器对终端节点发回的大素数集合进行随机抽样素性检验,并将通过抽样检验的素数集合放到素数池中备用,获得的部分素数列表如图3所示。
步骤5:服务器反复从素数池中选取不同的两个素数p和q,用以制造RSA公钥/私钥对。
具体实施方法:服务器选取一个素数e,作为此次任务分配的验证私钥的一部分。以p、q、e作为输入,得到公钥{e,n}和私钥{d,n},其中n=p*q,e是一个与(p-1)*(q-1)互素的数字,d*e≡1mod n,即d是e模n的逆。单次任务中e可以不变。
阶段二:病毒报告分析任务分发
步骤1:系统服务器端选择M’个(M’≤N)在线的终端节点,作为组1节点,服务器将要处理的病毒报告集合以时间为序均匀分成M’个子集合,并分别配备不同的私钥{d,n}。
步骤2:服务器端将病毒报告子集合、代码和相应的私钥{d,n}一同发给终端节点。
步骤3:服务器再随机选取M’个终端节点,作为组2节点,将同样的病毒报告子集合和私钥{d,n}发给它们,目的是维护结果的正确性;该步骤可选,即在对结果精确度要求不高的应用中可省略。
步骤4:终端节点收到病毒报告子集合与分析代码后,对报告进行分析。
具体实施方法是:终端节点根据病毒报告子集合、来自不同节点的相同报告的数量和提供病毒报告的节点信誉度来综合计算出局部病毒报告重要度。
步骤5:终端节点完成任务后,终端节点对当次任务执行结果(即局部病毒报告重要度)进行hash运算后再利用私钥{d,n}进行签名,然后发给服务器,以提供给服务器来验证结果来源及正确性。
阶段三:任务结果的验证、汇总与排序
步骤1:服务器对返回的分析结果用对应的公钥{e,n}进行验证,若通过验证则将数据放入数据队列1。
步骤2:服务器将队列1中分配得到相同私钥{d,n}的组1和组2终端节点提交的数据结果的hash值进行比对,以验证节点提交数据结果的正确可信性。
具体实施方法是:若hash值是相同的,则将结果放入数据队列2;若hash值不同,则需要将该子任务重新发送至另一个随机选择的终端节点(也可以在服务器端直接执行),并对返回的结果和之前未验证通过两组数据分别进行比较。反复进行该步骤,直至结果匹配为止,取匹配的那个结果。
步骤3:服务器对数据队列2中的局部病毒报告重要度进行全局汇总,从而统计出全局病毒报告重要度,并按重要度进行排序。
Claims (4)
1.一种联合计算架构下的海量病毒报告分析方法,其特征在于,所述方法包括如下步骤:
阶段一:联合制造RSA公钥/私钥对;
步骤1:系统服务器端通过“心跳机制”来掌握终端节点的在线情况,设当前环境中有N个在线的终端节点;
步骤2:服务器选择其中的M个终端节点,M≤N,向其中的每一个节点发放一个任务,在区间(1,21024)的不同子区间上生成k个1024bit的素数;
步骤3:终端节点各自将求得的大素数集合返回至服务器端;
步骤4:服务器对终端节点发回的大素数集合进行随机抽样素性检验,并将通过抽样检验的素数集合放到素数池中备用;
步骤5:服务器反复从素数池中选取不同的两个素数p和q,用以制造RSA公钥/私钥对;
阶段二:病毒报告分析任务分发;
步骤1:系统服务器端选择M’个在线的终端节点,M’≤N,作为组1节点,服务器将病毒报告集合以时间为序均匀分成M’个子集合,并分别配备不同的私钥{d,n};
步骤2:服务器端将病毒报告子集合、代码和相应的私钥{d,n}一同发给终端节点;
步骤3:服务器再随机选取M’个终端节点,作为组2节点,将同样的病毒报告子集合和私钥{d,n}发给它们;该步骤可选,即在对结果精确度要求不高的应用中可省略;
步骤4:终端节点收到病毒报告子集合与分析代码后,对报告进行分析;
终端节点根据病毒报告子集合、来自不同节点的相同报告的数量和提供病毒报告的节点信誉度来综合计算出局部病毒报告重要度;
步骤5:终端节点完成任务后,终端节点对当次任务执行结果进行hash运算后再利用私钥{d,n}进行签名,然后发给服务器,以提供给服务器来验证结果来源及正确性;
阶段三:任务结果的验证、汇总与排序;
步骤1:服务器对返回的分析结果用对应的公钥{e,n}进行验证,若通过验证则将数据放入数据队列1;
步骤2:服务器将队列1中分配得到相同私钥{d,n}的组1和组2终端节点提交的数据结果的hash值进行比对,以验证节点提交数据结果的正确可信性;
若hash值是相同的,则将结果放入数据队列2;若hash值不同,则需要将该子任务,即终端节点根据病毒报告子集合、来自不同节点的相同报告的数量和提供病毒报告的节点信誉度来综合计算出局部病毒报告重要度重新发送至另一个随机选择的终端节点,在服务器端直接执行,并对返回的结果和之前未验证通过两组数据分别进行比较;反复进行该步骤,直至结果匹配为止,取匹配的那个结果;
步骤3:服务器对数据队列2中的局部病毒报告重要度进行全局汇总,从而统计出全局病毒报告重要度,并按重要度进行排序。
2.根据权利要求1所述的一种联合计算架构下的海量病毒报告分析方法,其特征在于:所述方法通过利用联合计算架构下的服务器和大规模终端双方计算能力,采用移动代理来实现联合计算架构下的海量病毒报告的分析任务进行分割、封装,并通过移动代理有序部署到服务器端和大规模终端节点上来执行;所述方法还对子任务的权重进行计算。
3.根据权利要求1所述的一种联合计算架构下的海量病毒报告分析方法,其特征在于:所述方法将重要、核心的任务部署在联合计算系统中服务器端集中执行,将不重要但琐细、繁重的任务细化后部署到联合计算系统中的大规模终端节点上运行;当服务器端收集到来自客户端提交的病毒报告时,首先将病毒报告集合按时间序列分割成为若干个子集合,利用移动代理将报告分析代码一并发布到若干终端节点上;终端节点执行了病毒报告的分析任务后,将结果分别返回至服务器端,再由服务器端完成病毒报告汇总和排序的任务;
所述方法的系统对任务结果进行了校验,即系统要求2个或2个以上终端节点执行同一分析任务,并对任务执行结果进行hash运算后,并利用分配的RSA私钥对结果进行签名后再发送至服务器端用相应的RSA公钥解密后进行比对验证;所述方法将制造RSA公钥/私钥对的任务进行分割,将寻找大素数的任务交由若干个终端节点来联合完成,而服务器仅负责利用收集到的大素数来构建RSA公钥/私钥对。
4.根据权利要求1所述的一种联合计算架构下的海量病毒报告分析方法,其特征在于:所述方法是基于移动代理的任务部署。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310471339.5A CN103679023B (zh) | 2013-10-10 | 2013-10-10 | 一种联合计算架构下的海量病毒报告分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310471339.5A CN103679023B (zh) | 2013-10-10 | 2013-10-10 | 一种联合计算架构下的海量病毒报告分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103679023A CN103679023A (zh) | 2014-03-26 |
CN103679023B true CN103679023B (zh) | 2017-02-22 |
Family
ID=50316533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310471339.5A Active CN103679023B (zh) | 2013-10-10 | 2013-10-10 | 一种联合计算架构下的海量病毒报告分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103679023B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325357B (zh) * | 2018-08-10 | 2021-12-14 | 深圳前海微众银行股份有限公司 | 基于rsa的信息值计算方法、设备及可读存储介质 |
CN113849246B (zh) * | 2021-09-24 | 2024-01-23 | 统信软件技术有限公司 | 插件识别方法、插件加载方法、计算设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833575A (zh) * | 2010-04-27 | 2010-09-15 | 南京邮电大学 | 一种网络病毒报告排序方法 |
CN102708309A (zh) * | 2011-07-20 | 2012-10-03 | 北京邮电大学 | 恶意代码自动分析方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101058301B1 (ko) * | 2009-04-09 | 2011-08-22 | 삼성에스디에스 주식회사 | 휴대단말기에서의 시스템온칩 기반의 악성코드 검출 장치 |
-
2013
- 2013-10-10 CN CN201310471339.5A patent/CN103679023B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833575A (zh) * | 2010-04-27 | 2010-09-15 | 南京邮电大学 | 一种网络病毒报告排序方法 |
CN102708309A (zh) * | 2011-07-20 | 2012-10-03 | 北京邮电大学 | 恶意代码自动分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103679023A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Imteaj et al. | A survey on federated learning for resource-constrained IoT devices | |
Zhang et al. | Resource allocation and trust computing for blockchain-enabled edge computing system | |
Abd Elaziz et al. | Advanced optimization technique for scheduling IoT tasks in cloud-fog computing environments | |
Agliamzanov et al. | Hydrology@ Home: a distributed volunteer computing framework for hydrological research and applications | |
US8566262B2 (en) | Techniques to filter media content based on entity reputation | |
Durrani et al. | Volunteer computing: requirements, challenges, and solutions | |
Feng et al. | Two-layered blockchain architecture for federated learning over the mobile edge network | |
US9477787B2 (en) | Method and apparatus for information clustering based on predictive social graphs | |
CN107003976A (zh) | 基于可准许活动规则确定可准许活动 | |
Zhang et al. | TDTA: A truth detection based task assignment scheme for mobile crowdsourced Industrial Internet of Things | |
Azhir et al. | Deterministic and non‐deterministic query optimization techniques in the cloud computing | |
Xie et al. | Primary node election based on probabilistic linguistic term set with confidence interval in the PBFT consensus mechanism for blockchain | |
Xuan et al. | DAM-SE: a blockchain-based optimized solution for the counterattacks in the internet of federated learning systems | |
Hu et al. | Fuzzy method and neural network model parallel implementation of multi-layer neural network based on cloud computing for real time data transmission in large offshore platform | |
Cui et al. | A secure and decentralized DLaaS platform for edge resource scheduling against adversarial attacks | |
Liang et al. | Omnilytics: A blockchain-based secure data market for decentralized machine learning | |
Molo et al. | A review of evolutionary trends in cloud computing and applications to the healthcare ecosystem | |
Rahmadika et al. | Reliable collaborative learning with commensurate incentive schemes | |
Cen et al. | Developing a disaster surveillance system based on wireless sensor network and cloud platform | |
CN103679023B (zh) | 一种联合计算架构下的海量病毒报告分析方法 | |
Kancharla et al. | Dependable Industrial Crypto Computing | |
Raamakirtinan et al. | Identifying influential spreaders in complex networks based on weighted mixed degree decomposition method | |
Lai et al. | Task assignment and capacity allocation for ml-based intrusion detection as a service in a multi-tier architecture | |
JP7268259B1 (ja) | ブロックチェーン乱数取得方法、装置、機器および媒体 | |
Krishnaiah | Optimizing Cloud Analysis and Load Balancing for Efficient Social Network Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |