CN108768960A - 病毒检测方法、装置、存储介质及计算机设备 - Google Patents

病毒检测方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN108768960A
CN108768960A CN201810444244.7A CN201810444244A CN108768960A CN 108768960 A CN108768960 A CN 108768960A CN 201810444244 A CN201810444244 A CN 201810444244A CN 108768960 A CN108768960 A CN 108768960A
Authority
CN
China
Prior art keywords
detected
file
function
data
networking
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.)
Granted
Application number
CN201810444244.7A
Other languages
English (en)
Other versions
CN108768960B (zh
Inventor
王晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810444244.7A priority Critical patent/CN108768960B/zh
Publication of CN108768960A publication Critical patent/CN108768960A/zh
Application granted granted Critical
Publication of CN108768960B publication Critical patent/CN108768960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种本实施例提供的病毒检测方法、装置、存储介质及计算机设备,将待检测文件导入虚拟机运行期间,在待检测文件产生联网行为时,本实施例将拦截该联网行为相应的网络请求,使得该网络请求无法发送至真实服务器,而是直接获取预存的相应模拟响应数据,避免了待检测文件中的恶意软件,通过网络攻击宿主机及其外网的其他设备,同时,也保证了待检测文件能够运行完毕,得到待检测文件能够产生的所有联网行为的信息,进而提高待检测文件病毒检测的准确性及检测效率。

Description

病毒检测方法、装置、存储介质及计算机设备
技术领域
本发明涉及样本检测领域,尤其涉及一种病毒检测方法、装置、存储介质及计算机设备。
背景技术
近年来,随着计算机网络技术的快速发展,恶意软件的种类越来越多,依赖于反病毒软件的病毒库更新的传统病毒检测方式,已经无法满足病毒检测需求,现有的计算机系统在进行恶意软件的分析时,往往是利用虚拟机技术实现,以提高病毒分析过程的安全性及硬件资源的节约性。
具体的,由病毒收集工具通过网络将待检测文件(如各种已知或未知病毒程序代码)上传到服务器(记为宿主机),由宿主机中的虚拟机运行待检测文件,得到待检测文件的病毒检测结果,不需要计算机系统运行待检测文件,极大降低了计算机系统受恶意软件的危害,节约了计算机系统的硬件资源。
然而,在虚拟机运行待检测文件过程中,通常是通过NAT(Network AddressTranslation,网络地址转换)方式与宿主机联网,并通过宿主机网络访问外网,若待检测文件中存在恶意软件,如图1所示的场景流程示意图,该恶意软件很容易通过网络攻击宿主机,甚至会通过宿主机的网络,访问外网以攻击其他服务器或终端,造成很大安全隐患;而且,在联网失败时,往往会导致待检测文件中断或崩溃,使得本次病毒检测失败,降低了待检测文件的病毒检测可靠性和效率。
发明内容
有鉴于此,本发明提供了一种病毒检测方法、装置、存储介质及计算机设备,通过拦截待检测文件产生联网行为时发起的网络请求,无需访问真实服务器,直接获取模拟响应数据,保证待检测文件运行完毕,提高了病毒检测可靠性及效率,且避免了恶意软件通过网络攻击宿主机及其外网的其他设备。
为实现上述目的,本发明提供了一种病毒检测方法,应用于宿主机的虚拟机,所述方法包括以下步骤:
获取终端的待检测文件;
运行所述待检测文件;
在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;
获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
获取所述联网行为相应的信息;
将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
本发明还提供了一种病毒检测装置,应用于宿主机的虚拟机,所述装置包括:
待检测文件获取模块,用于获取终端的待检测文件;
运行模块,用于运行所述待检测文件;
网络请求拦截模块,用于在所述待检测文件运行期间产生联网行为时,
拦截所述联网行为相应的网络请求;
模拟响应数据获取模块,用于获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
联网行为信息获取模块,用于获取所述联网行为相应的信息;
联网行为信息发送模块,用于将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
本发明还提供了一种可读的存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的病毒检测方法的各个步骤。
本发明还提供了一种计算机设备,所述计算机设备包括:
通信接口;
存储器,用于存储实现如上所述的病毒检测方法的计算机程序;
处理器,用于加载并执行实现以下步骤的计算机程序:
获取待检测文件;
运行所述待检测文件;在所述待检测文件运行期间产生联网行为时,拦
截所述联网行为相应的网络请求;
获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
获取所述联网行为相应的信息,
将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
经由上述的技术方案可知,本实施例提供的病毒检测方法、装置、存储介质及计算机设备,将待检测文件导入虚拟机运行期间,在待检测文件产生联网行为时,本实施例将拦截该联网行为相应的网络请求,使得该网络请求无法发送至真实服务器,而是直接获取预存的相应模拟响应数据,避免了待检测文件中的恶意软件,通过网络攻击宿主机及其外网的其他设备,同时,也保证了待检测文件能够运行完毕,得到待检测文件能够产生的所有联网行为的信息,进而提高待检测文件病毒检测的准确性及检测效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了一种实现现有的病毒检测方法的系统结构示意图;
图2示出了本实施例公开的一种病毒检测方法的流程示意图;
图3示出了本实施例公开的一种联网行为信息展示界面示意图;
图4示出了本实施例公开的一种病毒检测方法的应用流程示意图;
图5示出了本实施例公开的另一种病毒检测方法的流程示意图;
图6示出了本实施例公开的实现病毒检测方法的一种结构示意图;
图7示出了本实施例公开的另一种病毒检测方法的流程示意图;
图8示出了本实施例公开的又一种病毒检测方法的流程示意图;
图9示出了本实施例公开的对待检测文件发起的Http/Https请求的处理流程示意图;
图10示出了本实施例公开的对待检测文件产生的邮件发送行为的处理流程示意图;
图11示出了本实施例公开的另一种对待检测文件产生的邮件发送行为的处理流程示意图;
图12示出了一种现有文件下载流程示意图;
图13示出了本实施例公开的又一种病毒检测方法的流程示意图;
图14示出了本实施例公开的一种病毒检测装置的结构示意图;
图15示出了本实施例公开的另一种病毒检测装置的结构示意图;
图16示出了本实施例公开的另一种病毒检测装置的结构示意图;
图17示出了本实施例公开的又一种病毒检测装置的结构示意图;
图18示出了本实施例公开的一种计算机设备的硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图2,为本发明实施例公开的一种病毒检测方法的流程图,该方法可以应用于宿主机的虚拟机,具体可以包括以下步骤:
步骤S101,获取终端的待检测文件;
在实际应用中,在终端运行的系统(例如安卓系统)出现异常,或者需要定期对系统进行病毒检测时,系统在用户的授权或指令下获取系统运行程序、函数、文件等作为待检测文件,进行恶意程序的排查。其中,终端可以是手机、电脑等计算机设备。
用户可以通过启动浏览器,输入网址的方式访问虚拟机,从而使终端的待检测文件导入虚拟机,也可以通过虚拟机所在局域网的其他设备,将待检测文件导入虚拟机等等。若将实现病毒检测的虚拟机可以作为安全检测平台,用户登录该安全检测平台,进入待检测文件上传界面后,可以手动上传待检测文件,或手动实现该案件检测平台的检测接口与终端被检测接口的连接,从而将终端的待检测文件导入虚拟机,但并不局限于本实施例描述的将待检测文件导入虚拟机的方式。
其中,对于终端的待检测文件,可以是先传送至宿主机,再由宿主机导入相应的虚拟机,具体实现过程本实施例不再详述。
在实际应用中,执行步骤S101之前,本实施例可以先启动虚拟机,具体可以通过向宿主机发送指令的方式,启动该宿主机安装的虚拟机,也可以在用户登录宿主机时,触发其虚拟机启动等等,本实施例对启动虚拟机的方式不做限定。
步骤S102,运行该待检测文件;
在实际应用中,待检测文件往往是程序代码,比如涉及到发送/接收邮件、文件下载等联网操作的程序,在虚拟机里运行待检测文件,能够避免待检测文件包含的恶意软件对真实计算机设备的攻击。
步骤S103,在待检测文件运行期间产生联网行为时,拦截该联网行为相应的网络请求;
由于待检测文件运行过程,恶意软件往往会收集一些用户信息,通过发送邮件、自动下载恶意文件等联网行为,威胁宿主机的安全,以及访问该宿主机的其他设备的安全。因此,为了避免待检测文件中的恶意软件,通过网络攻击宿主机,本实施例可以监控待检测文件的运行,当其在运行期间产生联网行为时,及时拦截该联网行为相应的网络请求,以使得恶意软件发起网络请求时,也不能将该网络请求发送至真实服务器,从而避免恶意软件对宿主机的攻击。
如上述举例联网行为,本实施例的待检测文件发起的网络请求可以包括DNS(Domain Name System,域名系统)解析请求、HTTP/HTTPS请求、邮件请求、文件下载请求等,对于待检测文件产生的联网行为的不同,对应发起的网络请求也会不同,本实施例对该网络请求的内容不作限定,并不局限于本实施例描述的这几种联网行为对应的网络请求。
可选的,本实施例可以通过预先注入的拦截程序,实现对待检测文件发起的网络请求的拦截,如Hook函数等,本实施例对步骤S102的具体实现过程不做限定。
其中,若待检测文件运行过程中,通过调用API(Application ProgrammingInterface,应用程序编程接口)的方式,产生联网行为并发起对应的网络请求,以发送至宿主机的Android系统,本实施例可以采用API拦截方式实现步骤S102,具体可以采用APIHook技术实现,但并不局限于此。
步骤S104,获取与该网络请求对应的模拟响应数据,以使得待检测文件继续运行;
在实际应用中,在待检测文件发起网络请求后,往往需要得到对应的响应结果后,才能够继续执行后续程序代码,否则,待检测文件会停止运行,导致无法检测整个待检测文件,甚至会导致本次检测失败。基于此,本实施例拦截网络请求后,可以反馈该网络请求对应的模拟响应数据,以使待检测文件能够继续执行。
其中,待检测文件产生不同联网行为,所发起的网络请求往往不同,进而所需响应结果也会不同,本实施例针对待检测文件运行期间,可能发起的网络请求,预先设置相应的响应结果即模拟响应数据,在拦截到待检测文件发起的某网络请求时,直接获取预先存储的相应的模拟响应数据,无需将该网络请求发送至对应的真实服务器,也能够得到相应的响应结果,保证待检测文件能够在发起联网行为的情况下,能够可靠执行后续部分。
可选的,本实施例可以预先获取待检测文件运行期间,需要联网获取所需数据的特定函数,并针对该特定函数的运行目的,预先设定相应的模拟响应数据。
比如,网络请求是DNS解析请求,其对应的模拟响应数据可以是预先的IP地址;网络请求是HTTP/HTTPS请求,对应的模拟响应数据可以是预设的HTTP包;网络请求是文件下载请求,对应的模拟响应数据可以是预存的下载文件等等。对于同一种网络请求,在不同场景中,其对应的模拟响应数据可以相同,也可以不同,本实施例对各网络请求对应的模拟响应数据内容及其表示形式不做限定。
如上述举例可知,本实施例对应各网络请求的模拟响应数据,不需要一定是联网状态下,被访问服务器响应该网络请求的实际响应数据,也可以是对应网络请求设定的固定数据,如上述IP地址、合格/不合格信息等。
基于上述可选实施例,在待检测文件运行过程中,可以在通过API调用特定函数时,确定该待检测文件产生了联网行为,并发起了与该联网行为对应的网络请求。因此,本实施例可以通过拦截待检测文件运行期间对该特定函数的调用,使得该特定函数无法执行,访问相应真实服务器,而是直接获取与该特定函数对应的模拟响应数据,以使得待检测文件继续执行下去,完成后续部分的检测。
步骤S105,获取联网行为相应的信息;
在本实施例中,待检测文件产生联网行为时,可以记录产生该联网行为对应的信息,可以记为联网行为信息,这样,待检测文件运行完毕后,将获取该待检测文件运行期间产生的所有联网行为相应的信息;当然,本实施例也可以在待检测文件运行完毕后,再获取产生的所有联网行为对应的信息,本实施例对如何获取联网行为相应的信息的方式不做限定。
其中,该联网行为的信息可以包括对本次联网行为的描述,及对应的详情信息,待检测文件产生的不同联网行为,对应的联网行为信息内容可能不同,如图3所示的信息,针对访问网络请求,得到的行为描述可以是访问网络,详情信息可以是对应的网址;针对读取某服务器存储的数据的请求,得到的行为描述可以是接收网络数据,详情信息也可以是生成该请求的网址等,但并不局限于本实施例列举的行为描述和详情信息的内容。
可选的,除了获取联网行为信息外,本实施例还可以获取待检测文件的基本信息,如待检测文件的文件名称、MD5(Message-Digest Algorithm 5,信息-摘要算法5)、文件类型、上传时间、版本信息、出品企业等等,并与联网行为信息进行关联输出,从而使用户更加直观得知是对什么待检测文件进行检测,该待检测文件的联网行为是怎样等等。
步骤S106,将该信息发送至宿主机,由宿主机对信息进行病毒检测,并将得到的病毒检测结果发送至终端进行展示。
在本实施例中,宿主机可以是虚拟机所在的服务器,终端可以是用户使用的手机、电脑等,且本实施例所检测的待检测文件是该终端产生或上传的。虚拟机按照上述方式获得待检测文件运行期间,产生的各联网行为相应的信息后,可以通过预设通信方式(该通信方式并不会使用宿主机所在的局域网),将该信息发送至宿主机进行分析,本实施例对宿主机如何对所得信息进行病毒检测的方法不作限定,如通过宿主机安装的病毒分析工具对信息进行分析等等。
其中,终端显示的病毒检测结果可以是待检测文件是否存在病毒的判断结果,比如“未发现风险”,“存在风险”通知信息,还可以包括该待检测文件的联网行为的信息,以使终端按照如图3所示的方式显示,以便用户(尤其是专业技术人员)根据展示的联网行为信息,直观了解待检测文件联网行为,还可以据此进一步对病毒软件进行分析。
综上所述,参照图4所示的流程示意图,终端的待检测文件导入宿主机的虚拟机运行期间,一旦监控到待检测文件运行期间产生联网行为,将及时拦截该联网行为相应的网络请求,得到预先针对该网络请求设置的模拟响应数据,以使得该待检测文件能够继续运行,保证获取待检测文件运行能够产生的所有联网行为相应的信息,从而将这些信息发送至宿主机进行病毒检测,并将得到的病毒检测结果发送至终端进行展示,使得用户能够直观得知终端待检测文件是否包含有病毒软件。可见,本实施例在待检测文件整个运行期间,避免了其通过网络对真实服务器的访问,从而解决了待检测文件运行期间,所包含的病毒软件通过网络对宿主机的攻击,提高了宿主机在待检测文件运行期间的安全性,且由于不需要使用互联网响应网络请求,就能够保证待检测文件运行完毕,解决了因联网失败,降低待检测文件的病毒检测可靠性及效率的技术问题。
可选的,在虚拟机运行该待检测文件之前,本实施例可以响应禁网指令,切断虚拟机的网络连接,以使得虚拟机无法再使用互联网,这样,在其运行待检测文件过程中,即便待检测文件运行产生了联网行为,因虚拟机无法形成网络通道,这导致该联网行为相应的网络请求无法发送至真实服务器,从根源上解决了在虚拟机联网状态下,运行待检测文件期间,待检测文件包含的病毒软件使用互联网攻击宿主机,甚至攻击访问该宿主机的其他设备的问题。
在虚拟机处于断网状态后,其运行的待检测文件发起的网络请求,将无法得到相应的响应数据,此时,为了保证待检测文件能够继续运行完毕,仍可以按照上述实施例描述的方式,确定待检测文件运行期间产生联网行为时,拦截该联网行为相应的响应请求,直接获取对应的模拟响应数据,不需要再访问真实服务器,以获取真实响应数据,也能够触发待检测文件继续运行下去,以保证获取的联网行为相应的信息的完整性,进而保证对待检测文件的病毒检测的可靠性。
其中,上述禁网指令可以是用户登录安全检测平台录入的,在虚拟机导入待检测文件后响应;也可以是基于用户在虚拟机设置界面,对虚拟机的网络连接状态的设置操作生成的,即用户上传待检测文件后,手动将虚拟机的网络连接状态设置为禁止联网状态(记为禁网状态),从而生成相应的禁网指令;也可以是在宿主机上,对虚拟机的IP地址进行禁网设置,生成禁网指令等等,实施例对禁网指令的生成方法不做限定。
在该可选实施例中,对于终端的待检测文件导入虚拟机的过程,可以是在虚拟机处于联网状态下实现,因此,虚拟机对禁网指令的响应可以是在虚拟机导入待检测文件之后执行,但并不局限于此,本发明也可以采用其他方式将终端的待检测文件导入虚拟机,如断网情况下的有线方式等等,本实施例在此不再一一列举。
可选的,本实施例可以在确定虚拟机的网络连接状态切换到断网状态时,触发已导入的待检测文件运行;或者,预先设置待检测文件运行的触发时间,从虚拟机得到待检测文件的时刻开始,经预设触发时间后,触发待检测文件在虚拟机里运行等等,本实施例对如何触发待检测文件在虚拟机里运行的方法不做限定。
需要说明,若本实施例需要切断虚拟机的网络连接,需要保证在触发待检测文件运行之前,完成该网络连接的切断操作。其中,若该切断操作是在虚拟机得到待检测文件之后实现,那么,本实施例需要在上述预设触发时间内,完成该切断操作,具体实现方法不作限定。
综上,在本实施例中,在虚拟机运行待检测文件之前,通过切断其网络连接,杜绝了虚拟机运行的待检测文件对真实服务器的访问,即在待检测文件运行期间产生联网行为,发起相应的网络请求后,该网络请求将无法通过网络发送至相应真实服务器,从而避免了待检测文件包含病毒软件时,病毒软件利用网络攻击宿主机,及通过网络访问该宿主机的其他设备,如终端或其他服务器等。
而且,本实施例通过拦截待检测文件发起的网络请求,获取相应的模拟响应数据,保证了待检测文件能够顺利运行完毕,从而保证获取待检测文件能够产生的所有联网行为的信息,以提高了宿主机得到的病毒检测结果的完整性及准确性。
另外,由于本实施例通过模拟网络环境,在虚拟机断网状态下,可靠实现对待检测文件的病毒检测,不需要真实联网获取响应数据,还解决了现有技术在联网状态下运行待检测文件,并在待检测文件发起网络请求访问真实服务器期间,因联网行为失败,无法完成正常的网络请求或下载行为,导致待检测文件中断或崩溃,无法实现对待检测文件的病毒检测的技术问题。
作为本发明一可选实施例,提供了实现上述实施例步骤S104的一可选方式,但并不局限于本实施例描述的实现方式,需要说明,关于待检测文件的病毒检测的其他步骤,可以按照上述实施例相应步骤的描述,本实施例不做赘述,如图5所示,该方法可以包括:
步骤S201,监听到待检测文件调用应用程序编程接口API;
步骤S202,拦截待检测文件通过本次调用API获取的特定函数
其中,特定函数可以是待检测文件运行期间产生联网行为,发起相应网络请求时调用的函数,本实施例中,监听到待检测文件运行期间调用API,可以认为待检测文件产生了联网行为,关于如何通过调用API的方式,实现对这类函数的调用的具体实现方法,本实施例不做限定。
可选的,本实施例的特定函数可以是libcore.io.Posix这个动态库中的libcore.io.Posix.getaddrinfo、Posix.connect、Posix.sendto、Posix.recvfrom等函数,但并不局限这些函数,可以根据实际产生的联网行为相应的网络请求确定,本实施例不再一一列举。其中,在不同应用场景下,实现同一功能的特定函数可能会有所差异,并不局限于本文列举的特定函数。
在实际应用中,待检测文件运行期间,可能需要对虚拟机本地存储函数进行调用,这种情况下,由于这种函数执行往往不会攻击宿主机,本实施例可以不对这类函数的调用进行连接,若本实施例仍采用调用API方式,实现对这类本地函数的调用,为了避免拦截本地函数的调用,在监听到待检测文件运行期间调用API时,可以先判断本次调用API的类型,当本次调用API用来获取特定函数,拦截本次调用API获取的函数;否则,可以不执行拦截操作,由待检测文件直接执行API调用的函数。
其中,通过API调用不同函数过程中,对于不同功能或类型的函数的调用,所使用的API类型往往不同,因此,本实施例可以通过对调用的API类型,检测本次调用的函数是否是使待检测文件产生联网行为的特定函数。
步骤S203,获取该特定函数对应的模拟响应数据,以使待检测文件继续运行;
在本实施例中,针对待检测文件产生不同联网行为需要调用的特定函数,可以预先设定相应的不同模拟响应数据,因此,在待检测文件运行期间,拦截到不同特定函数,此处可以获取的模拟响应数据可以不同,本实施例对各特定函数对应的模拟响应数据的内容不作限定。
可选的,本实施例可以利用API Hook技术,实现对特定函数的拦截,参照图6,可以插入用来拦截各特定函数的Hook模块,监听到待检测文件调用API,将触发该Hook函数,实现对当前调用的特定函数的拦截,即拦截虚拟机向宿主机系统(图6仅以Android系统为例进行说明)发送的网络请求,以避免该网络请求由该操作系统发送至真实服务器,并在拦截下该网络请求后,直接获取针对该特定函数预先设定的模拟响应数据,使得待检测文件无法执行本次调用的特定函数,使其无法向真实服务器发起网络请求。
其中,API Hook技术是一种用于改变API执行结果的技术,通过拦截需要修改的函数入口点,改变它的地址指向新的自定义函数或数据,来用来改变系统API的原有功能。
基于此,本实施例监听到待检测文件调用的特定函数的API接口,可以更改其地址,将其对特定函数的调用,修改为对预存数据的调用,从而使待检测文件获得特定函数对应的模拟响应数据,保证其能够顺利执行下去,且由于其不再执行这些特定函数,从而避免了恶意函数通过网络攻击宿主机。
需要说明,关于对特定函数的拦截方法,并不局限于上文描述的API Hook方法,本实施例仅以此为例说明特定函数拦截方法。
综上,在虚拟机运行的待检测文件期间,监听到其调用API获取特定函数时,本实施例将拦截该特定函数,获取针对特定函数预先设定的模拟响应数据(即模拟待检测文件调用特定函数实现的功能,得到的数据),使得待检测文件即便不执行该特定函数,也能够继续运行,以保证对待检测文件的病毒检测的可靠性。同时,由于待检测文件运行期间不会真实执行特定函数,产生联网行为,从而解决了传统病毒检测过程中,待检测文件包含的病毒软件通过网络对宿主机的攻击,提高了宿主机的安全性。
可选的,本发明还提供了实现对待检测文件产生联网行为时,发起的网络请求的拦截与处理的一可选方法,如图7所示,该方法可以包括:
步骤S301,获取待检测文件运行的目标进程;
其中,该目标进程可以是当前需要进行病毒检测的正在运行的进程。如在虚拟机导入多个待检测文件的情况下,可以依次对各待检测文件进行病毒检测,步骤S301可以是获取当前待检测文件所运行的进程。
步骤S302,向该目标进程注入拦截程序,由该拦截程序将该目标进程加载的特定函数,重新定向为对应的模拟响应数据;
在本实施例中,待检测文件运行期间产生联网行为时,需要调用的函数可以称为特定函数,该特定函数可以是libcore.io.Posix这个动态库中的libcore.io.Posix.getaddrinfo、Posix.connect、Posix.sendto、Posix.recvfrom等函数,但并不局限这些函数,具体可以参照上述可选实施例的描述。
可选的,本实施例可以在目标进程中注入的拦截程序可以是Hook程序,本实施例对如何向目标进程注入拦截程序的方法不作限定。结合上述分析,若目标进程运行待检测文件过程中,若其产生联网行为,通过调用API获取相应特定函数时,可以将Hook程序编译的动态库加载到目标进程空间中,调用该Hook程序的入口函数实现对特定函数的重新定向等等,本实施例对拦截程序的加载方法以及拦截处理方法不做限定。
步骤S303,监听到目标进程调用特定函数;
步骤S304,通过拦截程序,拦截该特定函数,获取该特定函数重新定向的模拟响应数据;
步骤S305,将该模拟响应数据反馈至目标进程,以使待检测文件继续运行。
可见,在本实施例中,待检测文件在目标进程中运行期间,调用特定函数时,将不再执行该特定函数,而是直接将该特定函数对应的模拟响应数据反馈给目标进程,保证待检测文件能够顺利运行下去,提高了待检测文件病毒检测的可靠性及准确性,而且,由于本实施例不会执行产生联网行为的特定函数,避免了病毒软件通过网络对宿主机的攻击,提高了虚拟机运行待检测文件期间,宿主机的安全性。
下面将针对待检测文件在虚拟机里运行过程中,产生不同联网行为需要调用不同特定函数的应用场景,进行具体实现过程的描述,需要说明,本实施例在此仅以模拟DNS解析、HTTP请求/HTTPS请求、邮件发送请求以及下载请求为例进行说明,但并不局限于本实施例描述的这几种网络请求的模拟情况。
如图8所示,为本实施例提供的又一种病毒检测方法的流程图,本实施例仍然从虚拟机角度进行描述,具体可以包括以下步骤:
步骤S401,获取终端的待检测文件;
步骤S402,响应禁网指令,切断虚拟机的网络连接;
本实施例为了提高待检测文件运行期间,宿主机安全性,可以在得到待检测文件后,且在运行该待检测文件之前,切断虚拟机的网络连接,杜绝产生的联网行为的实现。
需要说明,本实施例为了避免在虚拟机运行的病毒软件,通过网络攻击宿主机,除了直接切断虚拟机的网络连接外,也可以不对其网络连接状态进行处理,直接拦截其发起的网络请求,避免将网络请求发送至真实服务器,这样也就避免了恶意软件通过网络对宿主机的攻击。
步骤S403,运行获取的待检测文件;
步骤S404,在待检测文件运行期间进行统一资源定位符URL地址访问,发起相应的域名解析请求;
步骤S405,拦截发起域名解析请求调用的地址获取函数;
步骤S406,获取该地址获取函数对应的模拟IP地址;
在实际应用中,对于待检测文件运行期间,产生联网行为调用的特定函数,往往需要通过网络访问相应的真实服务器,得到真实服务器反馈的响应数据后,才能继续运行后续程序,所以,为了保证待检测文件运行完毕,在监听到对API的调用事件后,可以先判断该调用事件是否需要通过网络访问真实服务器,若是,将截获本次调用,不再执行本次调用的函数。
基于此,在待检测文件需要通过URL(Uniform Resource Locator,统一资源定位符)访问互联网上的网络资源的场景中,通常需要在联网状态下解析URL,访问相应的DNS(Domain Name System,域名系统)服务器进行域名分析,得到相应的IP地址。如基于TCP/IP协议,将域名转换为实际IP地址,从而使待检测文件访问具有该IP地址的待访问服务器。本实施例对DNS服务器的域名解析过程不做详述。
可见,在待检测文件运行期间进行URL地址访问,往往会发起相应的域名解析请求,用来请求DNS服务器进行域名解析,以获取相应的IP地址。然而,此时,由于本实施例中切断了虚拟机的网络请求,导致虚拟机将无法使用宿主机的网络,使得待检测文件此时发起的域名解析请求无法通过网络发送至DNS服务器,将会影响待检测文件继续运行。
这种情况下,本实施例监听到待检测文件要向DNS服务器发起域名解析请求,可以拦截发起域名解析请求调用的地址获取函数,不再执行该地址获取函数,并直接获取该地址获取函数重新定向的模拟IP地址,即预先设定的IP地址,以保证待检测文件能够继续运行下去。
可选的,本实施例可以预先确定生成该域名解析请求时所调用的地址获取函数,并将该地址获取函数作为访问DNS服务器时所需的特定函数,之后,通过监听待检测文件所调用的函数是否为该地址获取函数,确定该待检测文件要向DNS服务器发起域名解析请求,来获取需要访问服务器的模拟IP地址。其中,待检测文件当前调用的函数是地址获取函数,可以利用Hook函数实现对地址获取函数的拦截,但并不局限于这种实现方式。
其中,在正常联网状态下进行URL访问应用中,待检测文件往往调用libcore.io.Posix.getaddrinfo这个函数,来获取所需IP地址,因此,本实施例可以将该函数作为地址获取函数,而针对该地址获取函数设定的模拟IP地址,可以是127.0.0.1这一回送地址,利用Hook函数,将地址获取函数重新定向为该IP地址,具体实现过程本实施例不做详述。
由此可见,本实施例在待检测文件在虚拟机里运行之前,切断虚拟机的网络连接,使得待检测文件运行期间调用libcore.io.Posix.getaddrinfo,试图通过网络获取本次访问的实际IP地址时,不再执行调用的该函数,而是直接获取模拟IP地址,不仅避免了恶意软件通过网络对宿主机的攻击,且保证了待检测文件在断网情况下也能够模拟DNS解析,以继续执行后续内容。
步骤S407,拦截待检测文件调用的安全验证函数;
步骤S408,获取针对该安全验证函数预设的验证结果数据;
在本实施例中,待检测文件运行期间产生联网行为,需要发起Http请求时,可以对宿主机名称等信息进行安全验证,在实际应用中,可以调用OkHostnameVerifier.verify这个安全验证函数,实现对这些信息的安全验证。
其中,上述安全验证函数通常情况下需要联网实现,且需要验证通过后才能执行后续内容,然而,本实施例由于切断了虚拟机的网络连接,导致这个安全验证函数无法执行,为了避免由此导致待检测文件中断或崩溃,本实施例监听到对该安全验证函数的调用后,可以直接获取对应的验证结果数据,如验证通过true,以使得待检测文件这一程序继续执行后续代码。
可见,本实施例为了保证待检测文件能够顺利执行完毕,针对安全验证函数设置的验证结果数据可以是true,即验证合格的标识数据,也就是说,对于待检测文件运行过程中,需要通过网络对调用参数或获取数据等进行安全验证时,本实施例也可以采用直接获取验证合格的数据的方式,模拟网络安全验证的结果,保证需要调用安全验证函数的待检测文件,能够在调用该安全验证函数后,顺利执行下去。
可选的,若待检测文件运行期间,产生联网行为需要发起Https请求,在此之前需要调用的安全检测函数可以是OpenSSLSocketImpl.checkOpen以及OpenSSLSocketImpl.startHandshake这两个函数,但并不局限于这两个函数,可以根据具体情况试验确定,本实施例在此不再一一列举。
可见,在实际应用中,待检测文件运行期间,产生基于不同协议的联网行为,并发起相应的网络请求时,所调用的用于安全性检测的函数可以不同,相应地,在不同应用场景下,本实施例此时拦截的安全验证函数可以不同,并不局限于本实施例上文列举的几个函数。
需要说明,在本实施例中,安全验证函数也可以是一种特定函数,因此,本实施例可以采用上文描述的拦截方式实现对安全验证函数的拦截,如通过API Hook技术实现等等,本实施例在此不再详述。
步骤S409,拦截待检测文件调用的创建链路函数;
在待检测文件运行期间产生联网行为,通过发起网络请求访问待访问服务器时,通常会创建一个通信链接来传输数据,且在待检测文件访问待访问服务器期间,两者之间将会不断交互数据,即对于待检测文件来说,其可以不断发送数据,也可以不断接收数据。并且,当待检测文件同时访问多个待访问服务器,可以创建多个通信链路,分别实现与不同待访问服务器的数据交互。
基于此,本实施例为了解决在虚拟机处于断网状态下,待检测文件调用创建通信链路的创建链路函数,无法与相应待访问服务器建立通信链路,使待检测文件不能实现后续数据发送/接收功能的问题,本实施例将及时拦截对创建链路函数,使其不再进行无效运行,直接触发待检测文件执行后续步骤,保证可待检测文件全部运行的可靠性。
在实际应用中,HTTP服务器(即一种待访问服务器)通常支持Android2.2的应用类型网络社区类软件,方便用户通过互联网实现文件共享等应用。通常情况下,在访问HTTP服务器所发起的Http请求可以包括:起始行、消息报头以及请求正文这三部分组成,宿主机可以通过GET、POST等方式从HTTP服务器(如各种社交平台的服务器、各浏览器服务器等)获取资源。
而且,待检测文件发起Http请求,通常都会调用libcore.io.Posix这个动态库,具体可以先调用该动态库中的Posix.connect函数,来创建与待访问服务器之间的通信链路。
基于此,本实施例为了避免待检测文件对待访问服务器的真实访问,可以拦截用于与该待访问服务器进行数据交互的各调用函数,此处可以拦截libcore.io.Posix.connect这个函数,具体如上述实施例的描述,也可以采用API HOOK技术实现对该函数的拦截,但并不局限于这一种实现方法。
步骤S410,拦截待检测文件调用的数据发送函数;
可选的,待检测文件运行期间产生联网行为,欲访问某待访问服务器时,可以调用Posix.sendto函数,实现数据发送,因此,本实施例步骤S410拦截的数据发送函数可以是libcore.io.Posix.sendto这个函数,但并不局限于此,在不同应用场景下,该数据发送函数可能会有所差异。
步骤S411,获取待发送数据,并创建其与相应文件描述符fd的对应关系;
在实际应用中,一个打开的文件通过唯一的描述符进行引用,该描述符是打开文件的元数据到文件本身的映射,可以将该描述符称为文件描述符FileDescriptor(简称fd),本实施例对fd的生成方式不做限定。
在正常请求中,待检测文件可以同时试图访问多个服务器,并与各服务器进行数据交互,对于待检测文件加载的拦截程序来说,其并不清楚哪些发送数据对应哪些接收数据,针对这种情况,本实施例在获取待发送数据后,可以创建fd和待发送数据之间的对应关系,并保存该对应关系进行,以便后续据此获取正确的接收数据。
步骤S412,截获待检测文件调用的数据接收函数;
其中,数据接收函数可以是recvfrom函数,但并不局限于此,具体可以采用Hook函数来截获数据接收函数,具体实现过程不作详述。
步骤S413,根据当前获取的参数包含的fd及生成的上述对应关系,得到与当前fd对应的当前待发送数据;
步骤S414,对当前待发送数据进行解析;
步骤S415,在解析结果表明当前待发送数据是Http数据,获取并执行所述预设协议的数据包。
由于本实施例主要是针对基于Http协议的请求进行拦截处理,因此,在获取数据包之前,可以先验证本次发送的数据是否为Http数据,即验证本次发起的网络请求是否为基于Http协议的Http请求,若是,才需要获取预设满足Http协议的的数据包。
在实际应用中,对于采用Http协议的数据交互,通常是不加密的,因此,可以直接获取待发送数据内容;但对于采用Https协议的数据交互,通常需要加密,那么,按照本实施例上文描述,此时获取的待发送数据就往往是密文,无法直接得到需要加密的待发送数据的内容,对此,本实施例可以获取加密之前的数据。
基于此,本实施例上文判断网络请求是Http请求还是Https请求过程,具体可以通过分析待发送数据是否是密文实现,也可以根据发起的网络请求包含的信息内容实现,本实施例对如何确定待检测文件发起的网络请求类型的方法不作限定。
可选的,参照图9,针对待检测文件发起Https请求的应用,在对待发送数据进行加密处理之前,可以拦截待检测文件调用的用来发送未加密数据的函数,如NativeCrypto.SSL_write(即图9中左侧框中下方SSL_write函数),以及接收未加密数据的函数,如NativeCrypto.SSL_read(即图9中左侧框中下方SSL_read函数),具体可以在虚拟机执行待检测文件过程中,利用API Hook技术,拦截函数NativeCrypto.SSL_write,获取待加密发送数据,之后,按照上述方式,记录此时获得的fd与该待加密发送数据之间的对应关系,在拦截到函数NativeCrypto.SSL_read后,可以对待加密发送数据进行分析,验证本次请求是Https请求,如确定待加密发送数据是否为Https数据,若是,不再执行拦截到的函数,而是直接向待检测文件返回预存的Http包,保证待检测文件产生联网行为时,即便不访问相应真实服务器,也能够得到模拟响应数据(如预存的Http包),使该待检测文件能够继续执行下去。
综上,本实施例在待检测文件运行期间产生联网行为时,通过拦截发起相应Http请求或Https请求时调用的特定函数,不再执行该特定函数,而是直接获取预存的Http包并执行。可见,本实施例通过模拟Http请求或Https请求的功能。使得待检测文件在虚拟机断网状态下,也能够实现在联网状态下,发起Http请求或Https请求所达到的目的,即保证整个待检测文件程序可靠运行完毕,从而提高对待检测文件的病毒检测的可靠性以及准确性,也解决了现有技术在联网状态运行待检测文件,发起Http请求或Https请求过程中,恶意软件通过网络攻击宿主机的问题。
另外,由于本实施例的待检测文件运行并不会真实访问URL,还解决了联网状态下对待检测文件进行病毒检测,待检测文件运行期间访问URL的窗口失效,导致无法获得相应请求信息,进而使得待检测文件无法继续运行下去,降低了待检测文件的病毒检测的准确性以及可靠性的问题。
在本发明一可选实施例中,待检测文件在虚拟机中运行期间,还可能需要发送邮件,若待检测文件包含恶意软件,恶意软件很容量会利用邮件方式攻击宿主机,或通过宿主机所在网络访问外网,进而攻击其他设备。针对这种情况,本实施例还可以模拟邮件系统,对待检测文件运行期间发送邮件时,发起的邮件发送函数进行拦截。
其中,邮件系统通常是基于SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)实现,即一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议,主要用于传输系统之间的邮件信息并提供来信有关的通知。它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,可以把邮件寄到收信人的服务器上。
基于此,参照图10,本实施例为了模拟邮件系统,与上述DNS解析模拟、HTTP/HTTPS请求模拟实现方法类似,也可以预先确定利用SMTP协议实现邮件发送的特定函数(可以记为于邮件发送函数),利用API Hook技术等,拦截待检测文件运行期间对该特定函数的调用,从而使待检测文件不能再执行该特定函数,使其无法通过网络访问真实邮件服务器,从而避免了恶意软件通过邮件方式攻击宿主机,及与该宿主机通信连接的其他设备。
参照图11,在上述实施例的基础上,可以利用Hook函数,拦截com.sun.mail.smtp.SMTPTransport.sendMessage及javax.mail.Transport.send这些特定函数,监控邮件发送数据,并拦截函数javax.mail.Service.connect,截获待检测文件中的异常,即待检测文件试图连接服务器,并向服务器发送邮件,由于本实施例及时拦截下产生联网行为的这一特定函数,待检测文件将无法真实发送/接收邮件,避免了恶意软禁利用邮件攻击宿主机及使用其外网的其他设备,同时,也解决了直接切断虚拟机网络连接,待检测文件因无法成功发送邮件导致运行崩溃,影响待检测文件的病毒检测可靠性的技术问题。
需要说明,在本实施例实际应用中,待检测文件希望对外发送的消息并不局限于上述邮件内容,还可以是其他类型的消息,拦截处理过程类似,如拦截待检测文件调用的消息发送函数(如上述邮件系统实施例中的com.sun.mail.smtp.SMTPTransport.sendMessage及javax.mail.Transport.send),截获待发送消息,拦截到网络连接函数(javax.mail.Service.connect),记录待检测文件运行的行为异常信息等等,该网络连接函数可以用来实现待检测文件与相应服务器之间的网络连接,本实施例处于断网状态,导致该网络连接函数无法执行,通过拦截方式,避免待检测文件因无法执行网络连接函数而崩溃的情况发生。
本发明还提供了一可选实施例,主要是针对安卓机制的反馈文件,实现下载场景的模拟。参照图12,为现有下载流程示意图,该下载过程可以为:
在虚拟机执行待检测文件过程中,若待检测文件试图下载一个文件,将会生成下载请求,并通过网络向宿主机的安卓系统发送Download Manager.enqueue这个函数,安卓系统将会返回一个下载ID,用来标示本次下载,待下载完成后,安卓系统将会发送一个带有之前返回的下载ID的广播,待检测文件接收到该广播后,可以验证此时接收到的下载ID与之前接收到的下载ID是否一致,若不一致,可以认为本次下载不是待检测文件发起的;若一致,可以向安卓系统查询下载文件的位置以及详细信息,此时也可以通过向安卓系统发送Download Manager.enqueue函数实现,从而使安卓系统将包含查询结果的Cursor文件返回给待检测文件。
针对上文描述联网情况下,对待检测文件执行的下载过程的描述,本实施例将模拟上述下载过程,即监听到待检测文件运行期间调用下载请求队列函数,拦截下该函数,以使该函数无法再执行,而是执行预设的模拟流程,
具体可以参照图13所示的下载流程图,本实施例可以通过拦截android.app.DownloadManager.enqueue函数,记录预设下载ID,之后,向待检测文件发送预设广播消息,并在该广播消息中添加预设下载ID,由待检测文件可利用之前记录的预设下载ID进行一致性验证,并在验证通过,在调用DownloadManager.query函数时,直接拦截该函数,向待检测文件返回一个预先设计好的Cursor文件,且其包含了指向预设文件的信息,这样,待检测文件就可以据此调用本地存储的预设文件作为下载文件,完成整个下载过程。
基于上述分析,参照图14所示的又一种病毒检测方法的流程示意图,其中,关于虚拟机获取并运行待检测文件的过程,可以参照上述实施例相应步骤的描述,本实施例主要是对待检测文件发起下载请求后的处理过程进行描述,具体可以包括:
步骤S501,在待检测文件运行期间产生下载行为时,拦截该下载行为调用的下载请求队列函数;
步骤S502,获取针对下载请求队列函数预设的模拟下载ID;
在实际应用中,结合上述图12所示的现有下载任务的实现过程示意图,通常是使用安卓系统提供的下载管理器DownloadManager,来实现文件的下载任务,还可以在通知栏查看下载进度条,在下载应用中,通常会先初始化DownloadManager.Request文件,该DownloadManager.Request类可以包含下载请求的所有必要信息,本实施例在此不做一一列举。
在创建好Request文件之后,可以通过调用DownloadManager的enqueue方式,将下载请求放入队列中,在DownloadManager准备好执行该下载请求时,将自动执行该下载请求,用户可以不用再关心下载过程,对于每个enqueue文件可以返回一个唯一的ID号,以便后续通过这个ID号与下载请求关联进行查询等操作。
基于此,若待检测文件需要下载某文件,即产生下载行为,并生成相应的下载请求,如包含具体下载请求内容的Request文件后,调用DownloadManager.enqueue函数时,本实施例将利用注入的拦截程序(如Hook函数),拦截该函数,并直接向待检测文件返回预设下载ID。本实施例对预设下载ID的内容不做限定。
步骤S503,获取包含有该模拟下载ID的广播消息;
结合上述分析,广播消息中的模拟下载ID可以用来进行一致性验证,具体实现过程可以参照上文描述。
在本实施例中,待检测文件可以根据接收到的广播消息,确定是否完成本次下载,通常该广播消息会指示出本次下载已完成,从而使待检测文件能够根据接收到的广播消息内容,确定是否继续执行后续程序。
可见,本实施例可以模拟安卓系统向待检测文件返回广播消息,以使待检测文件能够继续执行,本实施例对该广播消息包含的内容及其输出形式不作限定。
步骤S504,拦截待检测文件调用的下载状态查询函数;
步骤S505,获取针对该下载内容查询函数预设的光标对象。
继上文描述,在联网状态下,当待检测文件需要查询下载进度或状态时,可以创建DownloadManager.query对象,再通过调用DownloadManager.query的方法进行查询,此时,将会返回一个Cursor对象即光标对象,具体需要查询哪个字段可以查看DownloadManager的以COLUM_**开头的常量,确定返回的Cursor对象。
针对上段描述的下载过程,本实施例在模拟下载行为时,在待检测文件查询下载状态阶段,可以拦截待检测文件调用的DownloadManager.query这个下载状态查询函数,并返回预设的Cursor对象,其包含了下载文件为预先设计好的某文件的信息,从而使待检测文件得到下载文件,完成下载任务。
由此可见,本实施例在待检测文件运行期间产生下载行为时,通过模拟待检测文件对文件的下载行为,获取预设的光标对象,以获取所需下载的预设文件的信息,不需要联网真实下载文件,从而解决了现有技术对待检测文件进行病毒检测过程中,因下载链路失效,导致待检测文件无法完成下载行为,影响对待检测文件的病毒检测准确性以及可靠性的技术问题。
综合上述各实施例的分析,虚拟机里运行的待检测文件产生联网行为,发起相应网络请求,试图与服务器进行通信,实现DNS解析、发送邮件、文件下载等联网行为,本实施例利用预先注入的拦截程序,拦截待检测文件发起相应网络请求所调用的函数,不再执行该函数来获取真实服务器反馈的响应数据,而是直接获取针对各函数提前设置的模拟响应数据,既保证了待检测文件能够执行完毕,避免通过网络访问真实URL地址或下载文件时,通信链路失效导致待检测文件中断或崩溃,提高了其病毒检测的可靠性及效率,又因拒绝通过网络访问真实服务器,而避免了待检测文件中的病毒软件运行,通过网络攻击宿主机及其外网的其他设备。
进一步地,为了提高待检测文件运行期间,宿主机及连接其外网的设备的安全性,本实施例也可以在虚拟机运行待检测文件之前,切断虚拟机的网络连接,即在断网状态下,在虚拟机里运行待检测文件,此时,本实施例采用拦截特定函数,重新定向为对应的模拟响应数据的方式,解决了待检测文件运行产生的联网行为,在断网状态下无法实现,导致待检测文件中断或崩溃的问题,使得待检测文件在断网状态下运行,才产生联网行为时,也能够通过模拟联网行为的功能,保证待检测文件继续运行下去,进而保护了获取的联网行为的信息的完整性,提高待检测文件的病毒检测结果的准确性。
参照图14,为本实施例公开的一种病毒检测装置的结构图,该装置可以包括:
待检测文件获取模块10,用于获取终端的待检测文件;
关于向虚拟机导入终端待检测文件的过程可以参照上文实施例相应部分的描述。
运行模块20,用于运行所述待检测文件;
网络请求拦截模块30,用于在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;
模拟响应数据获取模块40,用于获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
联网行为信息获取模块50,用于获取所述联网行为相应的信息;
联网行为信息发送模块60,用于将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
本实施例可以在待检测文件运行期间,每次产生联网行为,就记录该联网行为相应的信息,并将该信息发送至宿主机,也可以是在待检测文件运行完毕后,再将产生的所有联网行为相应的信息发送至宿主机,本实施例对何时发送联网行为的信息的时间及方式不做限定。
另外,关于宿主机对接收到的各联网行为信息的分析方法,本实施例也不作限定,且对于发送至终端的病毒检测结果,可以包含各联网行为的信息,也可以仅是其分析结果,本实施例对该病毒检测结果包含的内容不作限定。
综合上述分析,本实施例要解决在联网状态下,在虚拟机里运行的待检测文件,包含的恶意软件会通过网络访问宿主机网络,来攻击宿主机的问题,本发明的发明人提出在监测到待检测文件运行期间产生联网行为时,及时拦截相应的网络请求,不再使用网络向真实服务器发起网络请求,而是直接获取发起该网络请求所需的响应数据即模拟响应数据,使得待检测文件完成本次联网行为,继续运行后续内容,完成对整个待检测文件的病毒检测,提高病毒检测可靠性及准确性,且避免了病毒软件通过网络对宿主机进行攻击,提高了宿主机的安全性。
进一步地,在本实施例执行运行模块20之前,还可以由网络控制模块切断所述虚拟机的网络连接,从而使虚拟机处于断网状态下,再运行待检测文件,从杜绝待检测文件运行期间通过网络对真实服务器的访问。
基于此,如图15所示,该装置还可以包括:
网络控制模块70,用于响应禁网指令,切断虚拟机的网络连接。
本实施例对如何得到禁网指令,及切断虚拟机的网络连接的具体实现方法不作限定,可以参照上述方法实施例相应部分的描述。
可见,本实施例在虚拟机处于断网状态后,再运行待检测文件,从根源上禁止了恶意软件通过网络对宿主机的攻击,进一步提高了对待检测文件进行病毒检测过程中,宿主机的安全性。而且,本实施例针对各联网行为设置相应的模拟响应数据的方式,保证了待检测文件在断网状态下也能够顺利执行避免,提高了病毒检测的可靠性。
可选的,如图16所示,该装置还可以包括:
进程获取模块80,用于获取待检测文件运行的目标进程;
拦截程序注入模块90,用于向所述目标进程注入拦截程序,所述拦截程序用于拦截目标进程产生联网行为时调用的特定函数,并将所述特定函数重新定向为相应的模拟响应数据。
相应地,网络请求拦截模块30可以包括:
进程监听单元31-1,用于监听到所述目标进程调用特定函数;
函数拦截单元31-2,用于通过所述拦截程序,拦截所述特定函数;
模拟响应数据获取模块40具体可以用于获取重新定向的模拟响应数据,并将所述模拟响应数据反馈至所述目标进程。
作为另一可选实施例,网络请求拦截模块30可以包括:
接口监听单元,用于监听到所述待检测文件调用应用程序编程接口;
调用函数拦截单元,用于拦截所述待检测文件通过所述应用程序编程接口调用的特定函数。
在本实施例实际应用中,可以预先将拦截程序插入待检测文件每次调用应用程序编程接口,这样,待检测文件运行过程中,调用应用程序编程接口,可以执行该拦截程序,将拦截的函数重新定向的数据返回,不需要真实访问服务器,获取调用函数要得到的数据,保证了待检测文件可靠运行。
可选的,本实施例可以通过监听目标进程调用API所加载的函数,拦截当前目标进程所调用的特定函数,具体可以利用预先设定的特定函数的名称等标识,对当前调用的函数进行验证,也可以通过函数的功能进行验证,以便准确拦截调用的特定函数。
其中,上述特定函数可以是待检测文件运行期间产生联网行为时调用的函数,如上述libcore.io.Posix.getaddrinfo、OkHostnameVerifier.verify、OpenSSLSocketImpl.checkOpen、OpenSSLSocketImpl.startHandshake、libcore.io.Posix.connect、Posix.sendto、NativeCrypto.SSL_write、NativeCrypto.SSL_read等函数,但并不局限于本文列举的这些函数,在不同应用场景下,产生联网行为不同,所调用的函数可能会不同,本实施例在此不再一一列举。
作为一可选装置实施例,参照图17,网络请求拦截模块30可以包括:
域名解析请求发送单元32-1,用于在待检测文件运行期间进行统一资源定位符URL地址访问,发起相应的域名解析请求;
第一函数拦截单元32-2,用于拦截发起该域名解析请求所调用的地址获取函数;
所述模拟响应数据获取模块40具体用于获取所述地址获取函数对应的模拟IP地址,以使待检测文件能够继续运行。
在实际应用中,当客户端通过URL访问服务器时,通常需要DNS服务器进行域名分析,得到待访问服务器的IP地址,客户端才能够按照该IP地址访问服务器。本实施例将拒绝对DNS服务器的真实访问,在域名解析阶段,直接模拟域名解析,直接获取针对这类请求设定的模拟IP地址,即既保证待检测文件能够继续运行,又避免了恶意软件通过网络攻击宿主机。
可选的,本实施例可以采用Hook技术,利用预先注入的Hook函数,拦截libcore.io.Posix.getaddrinfo这一地址获取函数,并将其重新定向为预设的模拟IP地址,该模拟IP地址可以是固定的回送地址,但并不局限于此。
作为一可选装置实施例,如图17所示,在上述实施例的基础上,网络请求拦截模块30还可以包括
第二函数拦截单元32-3,用于拦截所述待检测文件调用的安全验证函数;
则模拟响应数据获取模块40具体可以用于获取针对所述安全验证函数预设的验证通过数据,以使待检测文件需要联网进行安全验证时,即便不执行安全验证函数,也能够继续运行。
其中,上述安全验证函数可以是包括对宿主机名称的验证函数,如OkHostnameVerifier.verify,但并不局限于此,可以根据后续具体联网行为确定,比如在待检测文件需要发起Https请求的情况下,还可能会调用OpenSSLSocketImpl.checkOpen以及OpenSSLSocketImpl.startHandshake这两个函数进行安全验证,此时,还可以拦截这两个函数,统一返回验证通过的结果Ture,保证待检测文件能够运行完毕。
可选的,如图17所示,该网络请求拦截模块30还可以包括:
第三函数拦截单元32-4,用于截获所述待检测文件调用的数据传输函数;
解析单元32-5,用于对待发送数据进行解析;
此时,模拟响应数据获取模块40具体可以用于,在解析结果表明待发送数据是满足预设协议要求的数据,获取并执行所述预设协议的数据包。
本实施例中,数据传输函数可以包括待检测文件通过API调用的多个函数,如创建链路函数、数据发送函数、数据接收函数等等,本实施例对该数据传输函数包含的具体函数数量以及内容不作限定,具体可以根据发起的Http请求或Https请求的具体场景确定。
可选的,上述第三函数拦截单元32-4可以包括:
第一函数截获子单元,用于截获所述待检测文件调用的创建链路函数以及数据发送函数;
第一数据获取子单元,用于获取待发送数据,并创建文件描述符与所述待发送数据的对应关系;相应地,解析单元32-5可以包括:
第二函数截获子单元,用于截获待检测文件调用的数据接收函数;
第二数据获取子单元,用于根据当前文件描述符查询创建的对应关系,得到与所述当前文件描述符对应的当前待发送数据;
解析处理子单元,用于对当前待发送数据进行解析;
相应地,所述待发送数据是满足预设协议要求的数据具体为:所述当前待发送数据是满足预设协议要求的数据,也就是说,此时待检测文件发起的网络请求是采用预设协议的请求。其中,预设协议可以是Http协议,关于本实施例描述的对创建链路函数、数据发送函数、数据接收函数等的截获,以及向待检测文件反馈数据的过程,可以参照上述方法实施例相应部分的描述,本实施例在此不作赘述。
可选的,若上述网络请求是Https请求,上述数据发送函数是用于发送未加密数据的待加密数据发送函数,如NativeCrypto.SSL_write,所述数据接收函数是用于接收未加密数据的待加密数据接收函数,如NativeCrypto.SSL_read。
可选的,上述网络请求拦截模块30还可以包括:
第四函数拦截单元,用于在待检测文件运行期间产生下载行为时,拦截该下载行为调用的下载请求队列函数;
相应地,所述模拟响应数据获取模块430具体可以用于,获取针对所述下载请求队列函数预设的模拟下载ID;
广播消息获取单元,用于获取包含模拟下载ID的广播消息,该广播消息可以用于通知待检测文件本次下载已完成;
第五函数拦截单元,用于截获待检测文件调用下载内容查询函数;
相应地,所述模拟响应数据获取模块40具体可以用于,获取针对所述下载内容查询函数预设的光标对象;
其中,所述光标对象包括用于指示所述待检测文件获取预设文件的信息。
本实施例实现的是对待检测文件的下载模拟,也就是说,在虚拟机运行待检测文件期间,若待检测文件需要下载某一个文件,不再直接联网下载,为了验证待检测文件下载行为,可以对下载过程中需要联网处理的过程以及所得结果进行模拟,直接使待检测文件指向预先设定的一个文件。
需要说明,对于现有的其他联网下载文件过程,本实施例也可以按照上述模拟构思,实现对该下载的模拟,过程类似,本实施例在此不再一一详述。
作为本发明另一实施例,还可以模拟邮件等消息的发送,基于此,上述网络请求拦截模块30还可以包括:
第六函数拦截单元,用于拦截待检测文件调用的消息发送函数;
消息截获单元,用于截获待发送消息;
第七函数拦截单元,用于拦截到网络连接函数,记录待检测文件运行产生的行为异常信息。
其中,该网络连接函数用于实现待检测文件与接收所述消息的服务器之间的网络连接。
综上,本实施例可以在将待检测文件导入虚拟机,在虚拟机里运行待检测文件期间,在待检测文件产生联网行为时,不再通过网络实现该联网行为,而是直接拦截该联网行为发起的网络请求,直接获取相应的模拟响应数据,以使待检测文件能够继续运行完毕,保证对待检测文件病毒检测的准确性及可靠性,且避免了待检测文件包含的病毒软件对宿主机的攻击,提高了宿主机的安全性,也避免了传统联网状态下运行待检测文件,访问URL或下载窗口失效,导致待检测文件中断或崩溃,对待检测文件病毒检测的可靠性的影响。
需要说明,上述装置实施例中的“第一”、“第二”、“第三”等,并不表示顺序关系,仅用来区别各种函数拦截单元。
另外,上述装置可以包括处理器和存储器,上述启动模块、信息获取模块、函数截获模块、信息捕捉模块以及各函数截获单元、解析处理子单元、广播消息生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元实现相应的功能。
处理器可以包括内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数,在虚拟机里运行待检测文件期间,模拟网络环境下待检测文件产生联网行为发起网络请求,获取的响应数据即模拟响应数据,避免联网获得所需数据,造成病毒软件对宿主机的攻击,同时保证了待检测文件能够顺利运行避免,提高其病毒检测的可靠性及准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例还提供了一种可读的存储介质,该存储介质中存储有计算机程序,该计算机程序被处理器执行实现如上述病毒检测方法的各个步骤,具体可以参照上述方法实施例的描述。
参照图18,本实施例还提供了一种计算机设备的硬件结构示意图,该计算机设备可以是服务器,其可以是虚拟机的宿主机,也就是说,该计算机设备可以安装有虚拟机,由该虚拟机实现上述病毒检测方法。本实施例对计算机设备的产品类型及其结构不做限定,在此仅提供一种可选结构,如图18所示,该计算机设备可以包括:
通信接口100;
存储器200,用于存储实现如上所述的病毒检测方法的计算机程序;
处理器300,用于加载并执行实现上述病毒检测方法各个步骤的计算机程序,关于实现该病毒检测方法各个步骤的过程可以参照上述方法实施例的描述,本实施例在此不再赘述。
可选的,计算机设备除了安装的虚拟机外,还可以包括待检测文件收集器、虚拟机、行为分析器等,本实施例对该计算机设备的结构不做限定。
本实施例中待检测文件可以是需要进行病毒检测的病毒样本,记为待检测文件,因此,该待检测文件收集器可以是病毒样本收集器,可以是蜜罐系统等,本实施例对该待检测文件收集器产品类型及其功能实现过程不作详述。
虚拟机还可以在断网情况下运行待检测文件,获得待检测文件运行产生联网行为的信息,进一步提高宿主机的安全性。
在本实施例中,虚拟机可以是在不影响宿主机系统(如上述安卓系统)的基础上模拟的一个虚拟机器,其为待检测文件运行的虚拟执行环境,使得待检测文件在该虚拟执行环境中运行,避免对系统产生破坏性的后果。
其中,本实施例虚拟机中还包括截获模块,如Hook模块,从而通过API Hook的方式截获上述各种特定函数,并为待检测文件返回预设的模拟响应数据,具体可以参照上述方法实施例描述,本实施例在此不作赘述。
行为分析器可以用来根据已知病毒的病毒行为模式,对获得的行为信息进行分析,判断待检测文件是否是病毒软件,具体实现过程不做详述。
最后,需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种病毒检测方法,其特征在于,应用于宿主机的虚拟机,所述方法包括以下步骤:
获取终端的待检测文件;
运行所述待检测文件;
在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;
获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
获取所述联网行为相应的信息;
将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
2.根据权利要求1所述的方法,其特征在于,在运行所述待检测文件之前,所述方法还包括:
响应禁网指令,切断所述虚拟机的网络连接。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待检测文件运行的目标进程;
向所述目标进程注入拦截程序,所述拦截程序用于拦截所述目标进程产生联网行为时调用的特定函数,并将所述特定函数重新定向为相应模拟响应数据。
4.根据权利要求3所述的方法,其特征在于,在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;获取与所述网络请求对应的模拟响应数据,包括:
监听到所述目标进程调用特定函数;
通过所述拦截程序,拦截所述特定函数;获取重新定向的模拟响应数据,并将所述模拟响应数据反馈至所述目标进程。
5.根据权利要求1所述的方法,其特征在于,在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求,包括:
监听到所述待检测文件调用应用程序编程接口;
拦截所述待检测文件通过所述应用程序编程接口调用的特定函数。
6.根据权利要求1所述的方法,其特征在于,在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求,获取与所述网络请求对应的模拟响应数据,包括:
在待检测文件运行期间进行统一资源定位符URL地址访问,发起相应的域名解析请求;拦截发起所述域名解析请求调用的地址获取函数;
获取所述地址获取函数对应的模拟IP地址。
7.根据权利要求1所述的方法,其特征在于,在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求,获取与所述网络请求对应的模拟响应数据,包括:
拦截所述待检测文件调用的安全验证函数;
获取针对所述安全验证函数预设的验证通过数据;
截获所述待检测文件调用的数据传输函数;
对待发送数据进行解析;
在解析结果表明所述待发送数据是满足预设协议要求的数据,获取并执行所述预设协议的数据包。
8.根据权利要求7所述的方法,其特征在于,截获所述待检测文件调用的数据传输函数,包括:
截获所述待检测文件调用的创建链路函数以及数据发送函数;
获取待发送数据,并创建文件描述符与所述待发送数据的对应关系;
所述对对待发送数据进行解析,包括:
截获所述待检测文件调用的数据接收函数;
根据当前文件描述符查询创建的对应关系,得到与所述当前文件描述符对应的当前待发送数据;
对所述当前待发送数据进行解析;
所述待发送数据是满足预设协议要求的数据具体为:
所述当前待发送数据是满足预设协议要求的数据。
9.根据权利要求1所述的方法,其特征在于,在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;获取与所述网络请求对应的模拟响应数据,包括:
在待检测文件运行期间产生下载行为时,拦截所述下载行为调用的下载请求队列函数;
获取针对所述下载请求队列函数预设的模拟下载ID;
获取包含所述模拟下载ID的广播消息,所述广播消息用于通知所述待检测文件本次下载已完成;
拦截所述待检测文件调用的下载内容查询函数;
获取针对所述下载内容查询函数预设的光标对象,所述光标对象包括用于指示所述待检测文件获取预设文件的信息。
10.根据权利要求1所述的方法,其特征在于,在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;获取与所述网络请求对应的模拟响应数据,包括:
拦截所述待检测文件调用的消息发送函数;
截获待发送消息;
拦截到网络连接函数,记录待检测文件运行产生的行为异常信息。
11.一种病毒检测装置,其特征在于,应用于宿主机的虚拟机,所述装置包括:
待检测文件获取模块,用于获取终端的待检测文件;
运行模块,用于运行所述待检测文件;
网络请求拦截模块,用于在所述待检测文件运行期间产生联网行为时,
拦截所述联网行为相应的网络请求;
模拟响应数据获取模块,用于获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
联网行为信息获取模块,用于获取所述联网行为相应的信息;
联网行为信息发送模块,用于将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
网络控制模块,用于响应禁网指令,切断所述虚拟机的网络连接。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
进程获取模块,用于获取待检测文件运行的目标进程;
拦截程序注入模块,用于向所述目标进程注入拦截程序,所述拦截程序用于拦截所述目标进程产生联网行为时调用的特定函数,并将所述特定函数重新定向为相应的模拟响应数据。
14.一种可读的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-10任意一项所述的病毒检测方法的各个步骤。
15.一种计算机设备,其特征在于,所述计算机设备包括:
通信接口;
存储器,用于存储实现如权利要求1-10任意一项所述的病毒检测方法的计算机程序;
处理器,用于加载并执行实现以下步骤的计算机程序:
获取待检测文件;
运行所述待检测文件;在所述待检测文件运行期间产生联网行为时,拦截所述联网行为相应的网络请求;
获取与所述网络请求对应的模拟响应数据,以使得所述待检测文件继续运行;
获取所述联网行为相应的信息;
将所述信息发送至所述宿主机,由所述宿主机对所述信息进行病毒检测,并将得到的病毒检测结果发送至所述终端进行展示。
CN201810444244.7A 2018-05-10 2018-05-10 病毒检测方法、装置、存储介质及计算机设备 Active CN108768960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810444244.7A CN108768960B (zh) 2018-05-10 2018-05-10 病毒检测方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810444244.7A CN108768960B (zh) 2018-05-10 2018-05-10 病毒检测方法、装置、存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN108768960A true CN108768960A (zh) 2018-11-06
CN108768960B CN108768960B (zh) 2021-07-06

Family

ID=64009459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810444244.7A Active CN108768960B (zh) 2018-05-10 2018-05-10 病毒检测方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN108768960B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635523A (zh) * 2018-11-29 2019-04-16 北京奇虎科技有限公司 应用程序检测方法、装置及计算机可读存储介质
CN109697338A (zh) * 2018-12-10 2019-04-30 深圳市网心科技有限公司 一种软件安装拦截方法及相关装置
CN110995848A (zh) * 2019-12-10 2020-04-10 北京海益同展信息科技有限公司 一种服务治理方法、装置、系统、电子设备及存储介质
CN111723020A (zh) * 2020-06-29 2020-09-29 南方电网科学研究院有限责任公司 一种电能表测试软件的测试方法、装置及其设备
CN112182561A (zh) * 2020-09-24 2021-01-05 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
CN113794674A (zh) * 2021-03-09 2021-12-14 北京沃东天骏信息技术有限公司 用于检测邮件的方法、装置和系统
CN117150486A (zh) * 2023-07-27 2023-12-01 安徽启慧信息科技有限公司 基于互联网的信息安全防护系统
CN117313095A (zh) * 2023-11-28 2023-12-29 慧盾信息安全科技(苏州)股份有限公司 一种实时监控记录未知病毒行为轨迹的系统与方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150506A (zh) * 2013-02-17 2013-06-12 北京奇虎科技有限公司 一种恶意程序检测的方法和装置
CN104023034A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于软件定义网络的安全防御系统及防御方法
WO2015171780A1 (en) * 2014-05-07 2015-11-12 Attivo Networks Inc. Distributed system for bot detection
US20160359698A1 (en) * 2015-06-05 2016-12-08 Cisco Technology, Inc. System and method of detecting packet loss in a distributed sensor-collector architecture
CN106571981A (zh) * 2016-11-15 2017-04-19 中国互联网络信息中心 一种dns服务器自动化测试方法与系统
CN106681922A (zh) * 2016-12-27 2017-05-17 广州唯品会信息科技有限公司 模拟服务器响应方法及系统
CN106897610A (zh) * 2017-01-19 2017-06-27 北京奇虎科技有限公司 一种定位保护的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150506A (zh) * 2013-02-17 2013-06-12 北京奇虎科技有限公司 一种恶意程序检测的方法和装置
WO2015171780A1 (en) * 2014-05-07 2015-11-12 Attivo Networks Inc. Distributed system for bot detection
CN104023034A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于软件定义网络的安全防御系统及防御方法
US20160359698A1 (en) * 2015-06-05 2016-12-08 Cisco Technology, Inc. System and method of detecting packet loss in a distributed sensor-collector architecture
CN106571981A (zh) * 2016-11-15 2017-04-19 中国互联网络信息中心 一种dns服务器自动化测试方法与系统
CN106681922A (zh) * 2016-12-27 2017-05-17 广州唯品会信息科技有限公司 模拟服务器响应方法及系统
CN106897610A (zh) * 2017-01-19 2017-06-27 北京奇虎科技有限公司 一种定位保护的方法和装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635523A (zh) * 2018-11-29 2019-04-16 北京奇虎科技有限公司 应用程序检测方法、装置及计算机可读存储介质
CN109635523B (zh) * 2018-11-29 2024-04-16 北京奇虎科技有限公司 应用程序检测方法、装置及计算机可读存储介质
CN109697338A (zh) * 2018-12-10 2019-04-30 深圳市网心科技有限公司 一种软件安装拦截方法及相关装置
CN110995848B (zh) * 2019-12-10 2022-09-06 京东科技信息技术有限公司 一种服务治理方法、装置、系统、电子设备及存储介质
CN110995848A (zh) * 2019-12-10 2020-04-10 北京海益同展信息科技有限公司 一种服务治理方法、装置、系统、电子设备及存储介质
CN111723020A (zh) * 2020-06-29 2020-09-29 南方电网科学研究院有限责任公司 一种电能表测试软件的测试方法、装置及其设备
CN112182561A (zh) * 2020-09-24 2021-01-05 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
CN112182561B (zh) * 2020-09-24 2024-04-30 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
CN113794674A (zh) * 2021-03-09 2021-12-14 北京沃东天骏信息技术有限公司 用于检测邮件的方法、装置和系统
CN113794674B (zh) * 2021-03-09 2024-04-09 北京沃东天骏信息技术有限公司 用于检测邮件的方法、装置和系统
CN117150486A (zh) * 2023-07-27 2023-12-01 安徽启慧信息科技有限公司 基于互联网的信息安全防护系统
CN117150486B (zh) * 2023-07-27 2024-04-26 河南中信科大数据科技有限公司 基于互联网的信息安全防护系统
CN117313095A (zh) * 2023-11-28 2023-12-29 慧盾信息安全科技(苏州)股份有限公司 一种实时监控记录未知病毒行为轨迹的系统与方法
CN117313095B (zh) * 2023-11-28 2024-02-13 慧盾信息安全科技(苏州)股份有限公司 一种实时监控记录未知病毒行为轨迹的系统与方法

Also Published As

Publication number Publication date
CN108768960B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN108768960A (zh) 病毒检测方法、装置、存储介质及计算机设备
CN111400722B (zh) 扫描小程序的方法、装置、计算机设备和存储介质
TWI603600B (zh) 利用運行期代理器及網路探查器判定漏洞之技術
US10291631B2 (en) System for testing computer application
JP6559694B2 (ja) 自動sdk受容
CN109981653B (zh) 一种web漏洞扫描方法
CN108989355B (zh) 一种漏洞检测方法和装置
CN108664793B (zh) 一种检测漏洞的方法和装置
CN103607385A (zh) 基于浏览器进行安全检测的方法和装置
CN105389263B (zh) 应用软件权限监控方法、系统及设备
CN111353151B (zh) 一种网络应用的漏洞检测方法和装置
CN113259392B (zh) 一种网络安全攻防方法、装置及存储介质
US20180255089A1 (en) Determining Security Vulnerabilities in Application Programming Interfaces
US20220027470A1 (en) Context-based analysis of applications
CN111262839A (zh) 一种漏洞扫描方法、管理设备、节点和存储介质
CN111783096A (zh) 检测安全漏洞的方法和装置
CN103581185A (zh) 对抗免杀测试的云查杀方法、装置及系统
CN108924159B (zh) 一种报文特征识别库的验证方法与装置
CN113868659B (zh) 一种漏洞检测方法及系统
CN112738138B (zh) 云安全托管方法、装置、设备及存储介质
CN110968872A (zh) 文件漏洞的检测处理方法、装置、电子设备及存储介质
CN110879891A (zh) 基于web指纹信息的漏洞探测方法及装置
CN111106983B (zh) 一种检测网络连通性的方法及装置
CN113220572A (zh) 一种数据测试方法、装置及存储介质
CN112398857A (zh) 防火墙测试方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant