病毒数据的检测方法、装置以及电子设备
文献发布时间:2023-06-19 12:02:28
技术领域
本申请涉及计算机技术领域,尤其是涉及一种病毒数据的检测方法、装置以及电子设备。
背景技术
目前,随着区块链技术的飞速发展,基于区块链技术的虚拟货币日渐火热,也迎来了一波又一波的挖矿热潮;在这其中,不少恶意攻击者也开发出很多挖矿病毒,识别挖矿病毒刻不容缓。当手机、电脑等计算机设备在上网时,很容易受到网络病毒的攻击,例如受到挖矿病毒的攻击,所以需要安全软件识别挖矿病毒,具体的,一般是安全软件对上网的全部域名进行识别。
但是,由于全部域名的数量极大,安全软件对全部域名进行识别的工作量也会极大,所以会对计算机设备造成大量的性能消耗。
发明内容
本申请的目的在于提供一种病毒数据的检测方法、装置以及电子设备,以缓解计算机性能较低的技术问题。
第一方面,本申请实施例提供了一种病毒数据的检测方法,应用于电子设备,所述方法包括:
获取病毒域名,并根据所述病毒域名建立病毒域名库;
获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合;
如果所述待检测集合内的TCP连接与所述病毒域名库内的病毒域名相同,则确定所述TCP连接携带病毒数据。
在一个可能的实现中,所述病毒域名包括挖矿矿池域名,如果所述待检测集合内的TCP连接与所述病毒域名库内的病毒域名相同,则确定所述TCP连接携带病毒数据的步骤,包括:
如果所述待检测集合内的TCP连接与所述病毒域名库内的挖矿矿池域名相同,则确定所述TCP连接携带挖矿病毒数据。
在一个可能的实现中,根据所述病毒域名建立病毒域名库的步骤,包括:
通过预设第一指令实时对所述病毒域名进行解析,得到解析后的病毒域名;
根据解析后的病毒域名建立病毒域名库。
在一个可能的实现中,获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合的步骤,包括:
通过预设第二指令获取待检测操作系统内预设状态对应的第一TCP连接;
获取所述第一TCP连接中预设地址对应的域名;
将所述域名确定为预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合。
在一个可能的实现中,获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合的步骤,包括:
获取待检测操作系统内keepalive及Foreign Address对应的TCP连接,并将所述TCP连接存入待检测集合。
在一个可能的实现中,所述方法还包括:
自动将携带病毒数据的所述TCP连接,以及与所述TCP连接相关的通讯数据包存储在预设位置。
第二方面,提供了一种病毒数据的检测装置,所述装置包括:
第一获取模块,用于获取病毒域名,并根据所述病毒域名建立病毒域名库;
第二获取模块,用于获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合;
确定模块,用于如果所述待检测集合内的TCP连接与所述病毒域名库内的病毒域名相同,则确定所述TCP连接携带病毒数据。
在一个可能的实现中,所述病毒域名包括挖矿矿池域名,确定模块用于:
如果所述待检测集合内的TCP连接与所述病毒域名库内的挖矿矿池域名相同,则确定所述TCP连接携带挖矿病毒数据。
第三方面,本申请实施例又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
第四方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种病毒数据的检测方法、装置以及电子设备,能够获取病毒域名,并根据所述病毒域名建立病毒域名库;获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合;如果所述待检测集合内的TCP连接与所述病毒域名库内的病毒域名相同,则确定所述TCP连接携带病毒数据。本方案中,由于可以通过预设状态及预设地址筛选出待检测的TCP连接,然后将筛选出的TCP连接与病毒域名库内的病毒域名进行对比,如果TCP连接与病毒域名库内的病毒域名相同,则确定TCP连接是病毒域名,进而确定TCP连接携带病毒数据。因此,可以通过预设状态及预设地址筛选待检测的TCP连接,并对筛选出的TCP连接进行检测,极大的减少了待检测域名的数量,进而,可以减少计算机性能消耗,缓解了计算机性能较低的技术问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的病毒数据的检测方法的流程示意图;
图2为本申请实施例提供的病毒数据的检测方法中获取TCP连接的场景示意图;
图3为本申请实施例提供的一种病毒数据的检测装置的结构示意图;
图4示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,随着区块链技术的飞速发展,基于区块链技术的虚拟货币日渐火热,也迎来了一波又一波的挖矿热潮;在这其中,不少恶意攻击者也开发出很多挖矿病毒,识别挖矿病毒刻不容缓。当手机、电脑等计算机设备在上网时,很容易受到网络病毒的攻击,例如受到挖矿病毒的攻击,所以需要安全软件识别挖矿病毒,具体的,一般是安全软件对上网的全部域名进行识别。但是,由于全部域名的数量极大,安全软件对全部域名进行识别的工作量也会极大,所以会对计算机设备造成大量的性能消耗,并且,当前识别挖矿病毒的技术并不支持电子信息取证。
基于此,本申请实施例提供了一种病毒数据的检测方法、装置以及电子设备,通过该方法可以缓解计算机性能较低的技术问题。
下面结合附图对本申请实施例进行进一步地介绍。
图1为本申请实施例提供的一种病毒数据的检测方法的流程示意图。其中,该方法应用于电子设备,如图1所示,该方法包括:
步骤S110,获取病毒域名,并根据病毒域名建立病毒域名库;
需要说明的是,可以从预设网址获取病毒域名,例如,预设网址可以是https://xmrig.com/wizard等,所以,可以从https://xmrig.com/wizard获取全部病毒域名,并根据全部病毒域名建立病毒域名库。
步骤S120,获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将TCP连接存入待检测集合;
需要说明的是,待检测操作系统可以包括Linux操作系统、安卓操作系统等,TCP连接可以包括域名等;示例性的,在Linux操作系统下,电子设备获取预设状态及预设地址对应的TCP连接,并将TCP连接全部存入待检测集合。
步骤S130,如果待检测集合内的TCP连接与病毒域名库内的病毒域名相同,则确定TCP连接携带病毒数据。
具体的,电子设备将待检测集合内的TCP连接与病毒域名库内的病毒域名进行对比,如果待检测集合内的TCP连接与病毒域名库内的病毒域名相同,则确定TCP连接是病毒域名,进而确定TCP连接携带病毒数据。
本申请实施例中,可以获取病毒域名,并根据病毒域名建立病毒域名库;获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将TCP连接存入待检测集合;如果待检测集合内的TCP连接与病毒域名库内的病毒域名相同,则确定TCP连接携带病毒数据。本方案中,由于可以通过预设状态及预设地址筛选出待检测的TCP连接,然后将筛选出的TCP连接与病毒域名库内的病毒域名进行对比,如果TCP连接与病毒域名库内的病毒域名相同,则确定TCP连接是病毒域名,进而确定TCP连接携带病毒数据。因此,可以通过预设状态及预设地址筛选待检测的TCP连接,并对筛选出的TCP连接进行检测,极大的减少了待检测域名的数量,进而,可以减少计算机性能消耗,缓解了计算机性能较低的技术问题。
下面对上述步骤进行详细介绍。
在一些实施例中,基于上述步骤S130,可以检测TCP连接是否携带挖矿病毒数据,以便能够准确的检测出操作系统携带了挖矿病毒数据。作为一个示例,病毒域名包括挖矿矿池域名,步骤S130可以包括以下步骤:
步骤a),如果待检测集合内的TCP连接与病毒域名库内的挖矿矿池域名相同,则确定TCP连接携带挖矿病毒数据。
具体的,当病毒域名包括挖矿矿池域名时,建立的病毒域名库就包括挖矿矿池域名,电子设备将待检测集合内的TCP连接与病毒域名库内的挖矿矿池域名进行对比,如果待检测集合内的TCP连接与病毒域名库内的挖矿矿池域名相同,则确定TCP连接是挖矿矿池域名,进而确定TCP连接携带挖矿病毒数据。
本申请实施例中,如果待检测集合内的TCP连接与病毒域名库内的挖矿矿池域名相同,则确定TCP连接携带挖矿病毒数据。所以,电子设备可以通过TCP连接准确的识别出挖矿病毒数据。
在一些实施例中,基于上述步骤S110,可以实时解析病毒域名,以便建立实时更新的病毒域名库。作为一个示例,步骤S110中的根据病毒域名建立病毒域名库可以包括以下步骤:
步骤b),通过预设第一指令实时对病毒域名进行解析,得到解析后的病毒域名;
步骤c),根据解析后的病毒域名建立病毒域名库。
对于上述步骤b),具体的,预设第一指令可以是Ping指令,所以,当电子设备接收到Ping指令时,可以通过Ping指令实时对病毒域名进行解析,得到解析后的实时的病毒域名。
对于上述步骤c),电子设备可以根据解析后的实时的病毒域名建立病毒域名库。
本申请实施例可以通过预设指令实时对病毒域名进行解析,得到解析后的病毒域名;根据解析后的病毒域名建立病毒域名库。所以,电子设备可以建立包含实时病毒域名的病毒域名库,可以得到实时更新的病毒域名库,进而,可以根据最新的病毒域名库检测待检测域名,保证了检测待检测域名的准确性。
在一些实施例中,基于上述步骤S120,可以筛选出预设状态或预设地址对应的TCP连接,或者筛选出预设状态及预设地址均对应的TCP连接等,以使待检测的域名数量大幅减少。作为一个示例,上述步骤S120可以包括如下步骤:
步骤d),通过预设第二指令获取待检测操作系统的预设状态对应的第一TCP连接;
步骤e),获取第一TCP连接中预设地址对应的域名;
步骤f),将域名确定为预设状态及预设地址对应的TCP连接,并将TCP连接存入待检测集合。
对于上述步骤d),具体的,预设第二指令可以是netstat-ano指令,当电子设备接收到netstat-ano指令时,可以通过netstat-ano指令获取待检测操作系统的预设状态对应的第一TCP连接。
对于上述步骤e),由于第一TCP连接中包括多个域名,每个域名属于不同的地址,所以可以获取第一TCP连接中预设地址对应的域名。
对于上述步骤f),将域名确定为预设状态及预设地址对应的TCP连接,并将TCP连接存入待检测集合。
本申请实施例可以通过预设第二指令获取待检测操作系统的预设状态对应的第一TCP连接;获取第一TCP连接中预设地址对应的域名;将域名确定为预设状态及预设地址对应的TCP连接,并将TCP连接存入待检测集合。所以,电子设备可以通过预设状态及预设地址筛选出待检测的TCP连接,极大的减少了待检测域名的数量,进而,可以减少计算机性能消耗,提升计算机的整体性能。
在一些实施例中,作为一个示例,如图2所示,上述步骤S120可以包括如下步骤:
步骤g),获取待检测操作系统内keepalive及Foreign Address对应的TCP连接,并将TCP连接存入待检测集合。
示例性的,Linux操作系统内Timer表示状态,在Timer列下有多个TCP连接对应的状态,状态可以包括keepalive、on或off等,所以只获取keepalive对应的TCP连接;除Timer列之外,还有其他列,例如Foreign Address、Local Address等,所以只获取ForeignAddress对应的TCP连接,所以电子设备可以获取Linux操作系统内keepalive及ForeignAddress均对应的TCP连接,并将TCP连接存入待检测集合。
本申请实施例可以获取待检测操作系统的keepalive及Foreign Address对应的TCP连接,并将TCP连接存入待检测集合。所以,电子设备可以通过keepalive及ForeignAddress筛选出待检测的TCP连接,极大的减少了待检测域名的数量,进而,可以减少计算机性能消耗,提升计算机的整体性能。
在一些实施例中,可以将确定携带病毒数据的TCP连接及与TCP连接相关的通讯数据包存储在预设位置,以便保留病毒入侵操作系统的痕迹。作为一个示例,上述方法还可以包括如下步骤:
步骤h),自动将携带病毒数据的TCP连接,以及与TCP连接相关的通讯数据包存储在预设位置。
具体的,当检测到TCP连接携带病毒数据时,电子设备自动将携带病毒数据的TCP连接,以及与TCP连接相关的通讯数据包存储在预设位置,存储时,电子设备可以使用tcpdump进行存储。
本申请实施例可以自动将携带病毒数据的TCP连接,以及与TCP连接相关的通讯数据包存储在预设位置。所以,当检测到TCP连接携带病毒数据时,电子设备可以自动取证并存储,并存储在指定位置,进而,可以提供电子证据。
图3提供了一种病毒数据的检测装置的结构示意图。如图3所示,病毒数据的检测装置300包括:
第一获取模块301,用于获取病毒域名,并根据病毒域名建立病毒域名库;
第二获取模块302,用于获取待检测操作系统的预设状态及预设地址对应的TCP连接,并将TCP连接存入待检测集合;
确定模块303,用于如果待检测集合内的TCP连接与病毒域名库内的病毒域名相同,则确定TCP连接携带病毒数据。
在一些实施例中,病毒域名包括挖矿矿池域名,确定模块用于:
如果待检测集合内的TCP连接与病毒域名库内的挖矿矿池域名相同,则确定TCP连接携带挖矿病毒数据。
在一些实施例中,第一获取模块用于:
通过预设第一指令实时对所述病毒域名进行解析,得到解析后的病毒域名;
根据解析后的病毒域名建立病毒域名库。
在一些实施例中,第二获取模块用于:
通过预设第二指令获取待检测操作系统的预设状态对应的第一TCP连接;
获取所述第一TCP连接中预设地址对应的域名;
将所述域名确定为预设状态及预设地址对应的TCP连接,并将所述TCP连接存入待检测集合。
在一些实施例中,第二获取模块用于:
获取待检测操作系统的keepalive及Foreign Address对应的TCP连接,并将所述TCP连接存入待检测集合。
在一些实施例中,病毒数据的检测装置还用于:
自动将携带病毒数据的所述TCP连接,以及与所述TCP连接相关的通讯数据包存储在预设位置。
本申请实施例提供的病毒数据的检测装置,与上述实施例提供的病毒数据的检测方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本申请实施例提供的一种电子设备,如图4所示,电子设备400包括存储器401、处理器402,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法的步骤。
参见图4,电子设备还包括:总线403和通信接口404,处理器402、通信接口404和存储器401通过总线403连接;处理器402用于执行存储器401中存储的可执行模块,例如计算机程序。
其中,存储器401可能包含高速随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口404(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线403可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器401用于存储程序,所述处理器402在接收到执行指令后,执行所述程序,前述本申请任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器402中,或者由处理器402实现。
处理器402可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器402可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器402读取存储器401中的信息,结合其硬件完成上述方法的步骤。
对应于上述病毒数据的检测方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述病毒数据的检测方法的步骤。
本申请实施例所提供的病毒数据的检测装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
再例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述病毒检测方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
- 病毒数据的检测方法、装置以及电子设备
- 一种病毒检测方法、装置、电子设备及存储介质