CN108183900B - 一种挖矿脚本检测的方法、服务器、***、终端设备及存储介质 - Google Patents
一种挖矿脚本检测的方法、服务器、***、终端设备及存储介质 Download PDFInfo
- Publication number
- CN108183900B CN108183900B CN201711461246.9A CN201711461246A CN108183900B CN 108183900 B CN108183900 B CN 108183900B CN 201711461246 A CN201711461246 A CN 201711461246A CN 108183900 B CN108183900 B CN 108183900B
- Authority
- CN
- China
- Prior art keywords
- network
- mining
- rule
- ore
- network resource
- 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
Images
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种挖矿脚本检测的方法、服务器、客户端及***,其中所述方法包括:在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;阻断所述网络资源的执行;将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。本发明实施例可以在客户端实现网络资源的初步筛选,提升了挖矿脚本识别的及时性。
Description
技术领域
本发明涉及数据处理的技术领域,特别是涉及一种挖矿脚本检测的方法、一种挖矿脚本检测的服务器、一种挖矿脚本检测的客户端和一种挖矿脚本识别***。
背景技术
随着互联网的发展,各种计算机恶意程序的攻击方式变得越来越层出不穷,比如最近频繁出现挖矿脚本,从公众WI-FI到网站,从PC端到移动端,不管是网站、app、微信小程序还是浏览器插件,都有可能被植入一段恶意的挖矿代码,强制让用户设备的CPU满负载地为他们工作,给他们挖矿,不断地拖慢用户设备的运行速度。
网站利用挖矿脚本借助访客设备进行挖矿虽然不会产生太大危害,但保持高资源占用会影响设备的正常使用。例如用户正在访问某个网站然后显卡和处理器负载直接100%,这时会影响用户对其他程序的使用或者影响用户继续访问该网站,如果用户的设备是笔记本电脑和移动设备,则影响可能更大,因为显卡和处理器跑满也会大量消耗设备的电池电量。长期被挖矿对设备的硬件寿命也会产生影响。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种挖矿脚本检测的方法和相应的一种挖矿脚本检测的服务器、一种挖矿脚本检测的客户端以及一种挖矿脚本识别***。。
依据本发明的一个方面,提供了一种挖矿脚本检测的方法,所述方法包括:
在服务器侧接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
可选地,所述由所述沙箱判断所述网络资源是否符合第二预设挖矿规则的步骤包括:
所述沙箱判断所述网络资源是否符合第三挖矿规则;
在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
若所述网络资源符合第三挖矿规则且所述CPU使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则。
可选地,所述沙箱判断所述网络资源是否符合第三挖矿规则的步骤包括:
获取所述网络资源中的所有网络请求;
判断所述所有网络请求中是否存在挖矿网络请求;
若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
接收所述矿池中心返回的身份验证结果;
基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
可选地,所述判断所述所有网络请求中是否存在挖矿网络请求的步骤包括:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
可选地,所述基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则的步骤包括:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
可选地,所述沙箱判断所述网络资源是否符合第三挖矿规则的步骤包括:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
可选地,所述方法还包括:
拦截携带所述挖矿脚本的网络资源。
可选地,在所述拦截携带所述挖矿脚本的网络资源的步骤之前,还包括:
将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;
若接收到所述防误报***返回的第一确认信息时,则执行所述拦截携带所述挖矿脚本的网络资源的步骤。
可选地,所述方法还包括:
基于携带所述挖矿脚本的网络资源,生成第二确认信息;
将所述第二确认信息发送至客户端。
可选地,所述方法还包括:
当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
依据本发明的另一个方面,提供了一种挖矿脚本检测的方法,所述方法包括:
在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
阻断所述网络资源的执行;
将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
可选地,所述方法还包括:
接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;
基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;
基于所述提取的挖矿规则更新所述第一预设挖矿规则。
可选地,所述在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源的步骤包括:
获取当前网络资源对应的源码数据;
将所述源码数据与预设的第一预设挖矿规则进行匹配;
若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;
若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
可选地,所述第一预设挖矿规则包括预先采集的多个矿池中心开放的请求接口组成的请求集合;
所述将所述源码数据与预设的第一预设挖矿规则进行匹配的步骤包括:
从所述源码数据中获取所有的网络请求;
将所述所有的网络请求与所述请求集合进行匹配。
可选地,所述第一预设挖矿规则包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合;
所述将所述源码数据与预设的第一预设挖矿规则进行匹配的步骤包括:
从所述源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配。
可选地,所述网络资源包括:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源。
依据本发明的另一个方面,提供了一种挖矿脚本检测的服务器,所述服务器包括:
网络资源接收模块,适于接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
挖矿识别模块,适于将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
挖矿脚本确认模块,适于若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
可选地,所述挖矿识别模块包括:
规则判断子模块,适于所述沙箱判断所述网络资源是否符合第三挖矿规则;
CPU使用率获取子模块,适于在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
规则判定子模块,适于若所述网络资源符合第三挖矿规则且所述CPU 使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则。
可选地,所述规则判断子模块包括:
网络请求获取单元,适于获取所述网络资源中的所有网络请求;
挖矿请求判断单元,适于判断所述所有网络请求中是否存在挖矿网络请求;
身份验证单元,适于若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
验证结果接收单元,适于接收所述矿池中心返回的身份验证结果;
验证结果判断单元,适于基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
可选地,所述挖矿请求判断单元还适于:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
可选地,所述验证结果判断单元还适于:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
可选地,所述规则判断子模块还适于:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
可选地,所述服务器还包括:
拦截模块,适于拦截携带所述挖矿脚本的网络资源。
可选地,所述服务器还包括:
防误报模块,适于将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;若接收到所述防误报***返回的第一确认信息时,则调用拦截模块。
可选地,所述服务器还包括:
第二确认信息生成模块,适于基于携带所述挖矿脚本的网络资源,生成第二确认信息;
第二确认信息发送模块,适于将所述第二确认信息发送至客户端。
可选地,所述服务器还包括:
人工审核模块,适于当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
正常网络资源判定模块,适于当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
依据本发明的另一个方面,提供了一种挖矿脚本检测的客户端,所述客户端包括:
网络资源检测模块,适于在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
可疑挖矿脚本确定模块,适于若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
网络资源阻断模块,适于阻断所述网络资源的执行;
网络资源发送模块,适于将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
可选地,所述客户端还包括:
确认信息接收模块,适于接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;
挖矿规则提取模块,适于基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;
挖矿规则更新模块,适于基于所述提取的挖矿规则更新所述第一预设挖矿规则。
可选地,所述网络资源检测模块包括:
源码数据获取子模块,适于获取当前网络资源对应的源码数据;
匹配子模块,适于将所述源码数据与预设的第一预设挖矿规则进行匹配;若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
可选地,所述第一预设挖矿规则包括预先采集的多个矿池中心开放的请求接口组成的请求集合;
所述匹配子模块还适于:
从所述源码数据中获取所有的网络请求;
将所述所有的网络请求与所述请求集合进行匹配。
可选地,所述第一预设挖矿规则包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合;
所述匹配子模块还适于:
从所述源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配。
可选地,所述网络资源包括:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源。
依据本发明的另一个方面,提供了一种挖矿脚本识别***,包括上述的服务器以及客户端。
依据本发明的另一个方面,提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
依据本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
在本发明实施例中,在客户端侧预置第一预设挖矿规则,并根据该第一预设挖矿规则检测当前网络环境中携带可疑挖矿脚本的网络资源,从而实现网络资源的初步筛选,提升了挖矿脚本识别的及时性。
当检测到可疑挖矿脚本时,可以阻断该可疑挖矿脚本所在的网络资源的执行,避免该网络资源消耗设备的CPU资源,从而避免因CPU资源损耗所影响到设备的电量使用以及设备的寿命。
进一步地,在客户端检测到可疑挖矿脚本以后,还可以将该可疑挖矿脚本所在的网络资源发送至服务器进行二次检测,在二次检测过程中,设定比第一挖矿规则条件更多精度更高的第二挖矿规则,当网络资源满足第二挖矿规则时判定该网络资源存在挖矿脚本,提高了挖矿脚本识别的准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种挖矿脚本检测的方法的步骤流程图;
图2示出了根据本发明另一个实施例的一种挖矿脚本检测的方法的步骤流程图;
图3示出了根据本发明一个实施例的一种挖矿脚本检测的服务器实施例的结构框图;
图4示出了根据本发明一个实施例的一种挖矿脚本检测的客户端实施例的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种挖矿脚本检测的方法的步骤流程图,本发明实施例可以应用于客户端中,其中,该客户端可以包括第三方安全应用程序的客户端,则本发明实施例具体可以包括如下步骤:
步骤101,在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
在具体实现中,普通的网站、网页、chrome(浏览器)的插件、App的 webview(WebView是一个基于webkit引擎、展现web页面的控件)、甚至于微信小程序都具备放置挖矿代码的条件。其攻击方式可以包括公共的 Wi-Fi、DNS(Domain Name System,域名***)污染、路由器的入侵、后台代码的植入等等,攻击方法也覆盖了基本上现有的所有入侵方式。
挖矿脚本是一种具有挖矿特征的JS代码块,例如,挖矿脚本可以包括 Coinhive挖矿脚本,而Coinhive是一个提供恶意JS脚本的网站平台 (https://coin-hive[.]com),允许攻击者将脚本挂在到自己的或入侵的网站上,所有访问该网站的用户都可能成为门罗币的挖掘矿工。
为了识别网络资源中的挖矿脚本,在本发明实施例中,可以在客户端中预先设置第一预设挖矿规则,客户端可以根据该第一预设挖矿规则对实时的网络环境进行监听,从而判断是否存在命中第一预设挖矿规则的网络资源。
作为本发明实施例的一种优选示例,当前网络环境下运行的网络资源可以包括如下的至少一种:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源等。
浏览器的指定控件资源可以包括chrome的插件等。
应用程序的指定控件资源可以包括应用程序的webview等。
在本发明实施例的一种优选实施例中,步骤101可以包括如下子步骤:
子步骤S11,获取当前网络资源对应的源码数据;
子步骤S12,将所述源码数据与预设的第一预设挖矿规则进行匹配;若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
客户端可以获取当前网络资源的源码数据,并将该源码数据中与预设的第一预设挖矿规则进行匹配,如果匹配,则可以判定当前网络环境中存在命中第一预设挖矿规则的网络资源。否则,如果不匹配,则可以判定当前网络环境中不存在命中第一预设挖矿规则的网络资源。
作为本发明实施例的一种优选示例,在网络请求方面,该第一预设挖矿规则可以包括预先采集的多个矿池中心开放的请求接口(API)组成的请求集合,例如,其中一种请求可以为“::coinhive.con/lib/coinhive.min.js”。在内容方面,该第一预设挖矿规则可以包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合,例如,其中一种特定内容可以为“new CoinHive.User ()”。
在本发明实施例的一种优选实施例中,子步骤S12进一步可以包括如下子步骤:
子步骤S121,从所述源码数据中获取所有的网络请求;
在具体实现中,可以从当前网络资源的源码数据中查找出所有的网络请求,例如,若网络资源为网页资源,则可以从网页源代码中查找出所有的网络请求。
子步骤S122,将所述所有的网络请求与所述请求集合进行匹配。
得到源码数据下的所有网络请求,例如URL数据以后,可以分别将每个网络请求与请求集合进行匹配,如果某个网络请求命中该请求集合中的一个请求,则可以判定该网络请求所在的网络资源命中第一预设挖矿规则。例如,如果源码数据中存在的网络请求“::coinhive.con/lib/coinhive.min.js”命中请求集合中的请求,则可以判定该网页资源命中第一预设挖矿规则。在实际中,上述的“命中”可以理解为,该网络请求与请求集合中的请求相同或者相似。
在本发明实施例的另一种优选实施例中,子步骤S12进一步可以包括如下子步骤:
子步骤S123,从所述源码数据中获取JS代码块;
子步骤S124,将所述JS数据块与所述内容集合进行匹配。
在具体实现中,还可以从当前网络资源的源码数据中查找出JS代码块,并将该JS代码块与内容集合进行匹配,如果该JS代码块存在与内容集合中的内容相同或相似的特定内容串,则可以表示该JS代码块所在的网络资源命中第一预设挖矿规则。例如,JS代码块中的特定内容串new CoinHive.User ()命中了内容集合,则可以判定该网页资源命中第一预设挖矿规则。
需要说明的是,除了上述的请求集合以及内容集合外,第一预设挖矿规则中还可以包括其他规则,例如,设定挖矿站点黑名单,如果当前需要访问的站点属于黑名单中的站点,则命中第一预设挖矿规则,本发明实施例对此不作限制。
步骤102,若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
步骤103,阻断所述网络资源;
在客户端侧,当客户端检测到当前网络环境中存在命中第一预设挖矿规则的网络资源,则可以判定该命中第一预设挖矿规则的网络资源中携带可疑挖矿脚本,此时,客户端可以阻断该网络资源的执行。
例如,若浏览器的源代码中存在可疑挖矿脚本,则客户端可以停止开启浏览器,并向用户显示警告提示,以提示用户该浏览器中存在的风险。
又如,若网页请求对应的网页内容中存在可疑挖矿脚本,则客户端可以停止加载该网页请求,并向用户显示警告提示,以提示用户请求的网页中存在的风险。
步骤104,将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
在本发明实施例中,客户端可以将该携带可疑挖矿脚本的网络资源发送至服务器,由服务器对该网络资源进行二次检测,以更加精确地确认该网络资源是否存在挖矿脚本。
服务器的操作流程将在下一实施例中进行说明。
在本发明实施例的一种优选实施例中,还可以包括如下步骤:
接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;基于所述提取的挖矿规则更新所述第一预设挖矿规则。
具体的,服务器确认接收到的网络资源中存在挖矿代码时,则可以生成第二确认信息,并将该第二确认信息返回客户端。
客户端接收到第二确认信息以后,可以从该网络资源提取挖矿特征信息,将该挖矿特征信息作为挖矿规则添加到第一预设挖矿规则中,以更新该第一预设挖矿规则。
在本发明实施例中,在客户端侧预置第一预设挖矿规则,并根据该第一预设挖矿规则检测当前网络环境中携带可疑挖矿脚本的网络资源,从而实现网络资源的初步筛选,提升了挖矿脚本识别的及时性。
当检测到可疑挖矿脚本时,可以阻断该可疑挖矿脚本所在的网络资源的执行,避免该网络资源消耗设备的CPU资源,从而避免因CPU资源损耗所影响到设备的电量使用以及设备的寿命。
进一步地,在客户端检测到可疑挖矿脚本以后,还可以将该可疑挖矿脚本所在的网络资源发送至服务器进行二次检测,提高了挖矿脚本检测精确度。
参照图2,示出了根据本发明另一个实施例的一种挖矿脚本检测的方法的步骤流程图,本发明实施例可以应用于服务器中,其中,该服务器可以包括第三方安全应用程序对应的服务器,在本发明实施例中,服务器可以通过沙箱来完成服务器侧的挖矿脚本检测流程。
其中,沙箱(Sandboxie,又称沙盘)是个虚拟***程序,允许用户在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响,其为一个独立的虚拟环境,可用以测试不受信任的应用程序或上网行为,区分不同的数据和程序执行。
本发明实施例具体可以包括如下步骤:
步骤201,在服务器侧接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
在具体实现中,客户端侧完成网络资源的初筛以后,可以将携带可疑挖矿脚本的网络资源发送至服务器,服务器接收到该网络资源以后,可以应用服务器侧的规则进行二次检测。
作为本发明实施例的一种优选示例,网络资源可以包括如下的至少一种:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源等。
浏览器的指定控件资源可以包括chrome的插件等。
应用程序的指定控件资源可以包括应用程序的webview等。
步骤202,将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
具体的,服务器接收到网络资源以后,可以将该网络资源放置在沙箱中,由沙箱执行二次检测的过程,在二次检测的过程中,沙箱判断该网络资源是否符合第二预设挖矿规则。
在本发明实施例的一种优选实施例中,步骤202可以包括如下子步骤:
子步骤S21,所述沙箱判断所述网络资源是否符合第三挖矿规则;
在本发明实施例中,第三挖矿规则与第一挖矿规则比较相似,但识别精确度比第一挖矿规则高。
在本发明实施例的一种优选实施例中,子步骤S21可以包括如下子步骤:
子步骤S211,获取所述网络资源中的所有网络请求;
在具体实现中,可以从当前网络资源的源码数据中查找出所有的网络请求,例如,若网络资源为网页资源,则可以从网页源代码中查找出所有的网络请求。
子步骤S212,判断所述所有网络请求中是否存在挖矿网络请求;
获取网络资源中的所有网络请求后,可以从该网络请求中识别出挖矿网络请求。
在本发明实施例的一种优选实施例中,子步骤S212可以包括如下子步骤:
预先采集多个矿池中心开放的请求接口,组成的请求集合;分别将所述所有网络请求与所述请求集合进行匹配;若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
在具体实现中,可以预先对多个矿池中心(一个组队挖矿的服务器)进行数据采集,采集该多个矿池中心向外开放的API接口,组成请求集合。
得到源码数据下的所有网络请求,例如URL数据以后,可以分别将每个网络请求与请求集合进行匹配,如果某个网络请求命中该请求集合中的一个请求,则可以确定该网络请求为挖矿网络请求。
例如,如果源码数据中存在的网络请求“::coinhive.con/lib/coinhive.min.js”命中请求集合中的请求,则可以判定该网络请求是挖矿网络请求。
在实际中,上述的“命中”可以理解为,该网络请求与请求集合中的请求相同或者相似。
子步骤S213,若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
确定网络资源中的挖矿网络请求以后,沙箱可以根据该挖矿网络请求确定对应的矿池中心的通信地址,并将该挖矿网络请求发送至该对应的矿池中心。在具体实现中,沙箱可以通过websocket与矿池中心进行交互。例如, coinhive的交互网络请求一般是“WSS://*.coinhive.com/proxy”。
矿池中心接收到挖矿网络请求以后,可以对该挖矿网络请求进行身份验证。在具体实现中,矿池中心可以从挖矿网络请求中获得token信息,并根据该token信息进行身份验证,以确定该挖矿网络请求对应的矿机信息。
子步骤S214,接收所述矿池中心返回的身份验证结果;
矿池中心对挖矿网络请求进行身份验证以后,可以得到身份验证结果,并将该身份验证结果返回沙箱。
作为一种示例,该身份验证结果可以包括该挖矿网络请求对应的矿机的第一身份标识。
子步骤S215,基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
沙箱收到身份验证结果以后,可以根据该身份验证结果判断该挖矿网络请求是否符合第三挖矿规则。
在本发明实施例的一种预选实施例中,子步骤S215进一步可以包括如下子步骤:
从所述身份验证结果中提取第一身份标识;获取所述网络资源对应的第二身份标识;若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
具体的,沙箱收到身份验证结果以后,可以从中获取第一身份标识。
同时,沙箱还可以获取该网络资源的token信息,并根据该token信息确定该网络资源对应的第二身份标识。
如果该第一身份标识与第二身份标识一致,表示该挖矿脚本是网站的站长设置的挖矿脚本,为主动挖矿脚本,此时,可以判定该挖矿脚本为合法的挖矿脚本,并进一步判定挖矿网络请求不符合第三挖矿规则。
如果该第一身份标识与第二身份标识不一致,表示该挖矿脚本不是网站的站长设置的挖矿脚本,为攻击者强加的挖矿脚本,此时,可以判定该挖矿脚本为恶意的挖矿脚本,并进一步判定挖矿网络请求符合第三挖矿规则。
在本发明实施例的另一种优选实施例中,子步骤S21可以包括如下子步骤:
子步骤S216,预先采集多个矿池中心的特定的内容脚本,组成内容集合;
在具体实现中,可以预先对多个矿池中心(一个组队挖矿的服务器)进行数据采集,采集该多个矿池中心脚本的一些特定内容串,组成内容集合。
子步骤S217,从所述网络资源的源码数据中获取JS代码块;
子步骤S218,将所述JS数据块与所述内容集合进行匹配;若匹配成功,则判定所述网络资源符合第三挖矿规则;若匹配失败,则判定所述网络资源不符合第三挖矿规则。
在具体实现中,可以从当前网络资源的源码数据中查找出JS代码块,并将该JS代码块与内容集合进行匹配,如果该JS代码块存在与内容集合中的内容相同或相似的特定内容串,则可以表示该JS代码块所在的网络资源命中第三预设挖矿规则。例如,JS代码块中的特定内容串new CoinHive.User ()命中了内容集合,则可以判定该网页资源命中第三预设挖矿规则。
需要说明的是,除了上述的请求集合以及内容集合外,第三预设挖矿规则中还可以包括其他规则,例如,设定挖矿站点黑名单,如果当前需要访问的站点属于黑名单中的站点,则命中第三预设挖矿规则,本发明实施例对此不作限制。
子步骤S22,在沙箱中运行所述网络资源对应的进程,获取所述进程的 CPU使用率;
在具体实现中,基于挖矿脚本占用较高的CPU资源的特性,沙箱可以计算该网络资源运行时的CPU使用率,作为判断该网络资源是否存在挖矿脚本的依据之一。
进一步的,在实际中,沙箱工作的基本单位是进程,每一个进程对应一个沙箱,相对于单进程浏览器,每一个标签页都是一个沙箱,因此,可以在沙箱中用一个标签页打开网络资源,在计算CPU使用率时,能够确保该CPU 使用率是该网络资源对应的CPU使用率,避免了其他进程对CPU使用率造成的干扰。
子步骤S23,若所述网络资源符合第三挖矿规则且所述CPU使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则。
当接收到的网络资源同时满足下述挖矿条件(即第二预设挖矿规则)时:网络资源符合第三挖矿规则,且CPU使用率大于预设阈值,则可以判定该网络资源符合第二预设挖矿规则。
需要说明的是,第二预设规则中除了包括第三预设规则以及CPU使用率的规则以外,还可以包括其他的与挖矿脚本的特性相关的规则,本领域技术人员根据实际需要设定即可,本发明实施例对此不作限定。
步骤203,若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
当沙箱判断当前接收的网络资源同时满足挖矿条件时,可以判定该网络资源中挂载有挖矿脚本。在本发明实施例的一种优选实施例中,还可以包括如下步骤:
拦截携带所述挖矿脚本的网络资源。
具体的,当判定网络资源中挂载了挖矿脚本时,服务器可以拦截该网络资源,以防止该网络资源的加载,避免该网络资源消耗设备的CPU资源,从而避免因CPU资源损耗所影响到设备的电量使用以及设备的寿命的问题。
在本发明实施例的一种优选实施例中,在所述拦截携带所述挖矿脚本的网页资源的步骤之前,还可以包括如下步骤:
将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;
若接收到所述防误报***返回的第一确认信息时,则执行所述拦截携带所述挖矿脚本的网络资源的步骤。
具体的,当服务器检测到网络资源中存在挖矿脚本时,可以将该网络资源以及识别网络资源中存在挖矿脚本的识别结果信息,发送至第三方应用程序中的防误报***进行防误报检测,防止出现误报的情况。
防误报***接收到网络资源以及识别结果信息以后,可以根据预先设置的防误报规则,对该网络资源进行防误报检测。
在一种实现方式中,防误报***可以采用如下方式进行防误报检测:
从所述网络资源中提取多维特征信息;确定符合误报规则的特征信息;获取所述符合误报规则的特征信息的数量或者比例;若所述数量大于或等于第一预设阈值和/或所述比例大于或等于第二预设阈值,则判定所述识别结果信息为误报的识别结果;若所述数量小于第一预设阈值和/或所述比例小于第二预设阈值,则判定所述识别结果信息不为误报的识别结果。
在具体实现中,防误报***可以根据全网的搜索数据结合预设的黑名单数据,进行数据挖掘,得到当前网络资源的特征信息。
在本发明实施例中,该特征信息可以是多个维度的特征信息,作为一种示例,该特征信息可以包括通过查询获得的属性信息、通过统计得到的统计信息等。
进一步的,作为一种示例,该属性信息可以包括如下信息的至少一种:所述该网络资源的URL信息、网络内容服务商ICP(Internet Content Provider,网络内容服务商)备案信息、WHOIS信息等。
该统计信息可以包括如下信息的至少一种:
该网络资源的页面浏览量PV和/或独立访客量UV;
该网络资源的服务器IP地址下的黑站数量和/或黑站比例;
该网络资源的子站数量和/或URL数量;
该网络资源中进入搜索引擎的实际记录数;
获取WHOIS注册时间后,计算的所述WHOIS注册时间距离当前时间的注册时长。
需要说明的是,上述的特征信息只是本发明实施例的一种示例说明,本领域技术人员根据实际需求定义其他维度的特征信息均是可以的,本发明实施例对此不作限定。
在一种实施方式中,可以采用如下方式确定符合误报规则的特征信息:
方式一:判断所述属性信息是否在预置的白名单列表中;若是,则判定所述属性信息符合误报规则;若否,则判定所述属性信息不符合误报规则,例如,可以包括如下情况的至少一种或结合:
(1)判断所述ICP备案信息是否在预置的ICP备案白名单列表中;
在具体实现中,防误报***中可以设置有ICP备案白名单列表,其中包含了通过验证的ICP备案信息。
如果网络资源的ICP备案信息在该ICP备案白名单列表中,则表示该网络资源实际为通过验证的网站,其为危险网站的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。如果网络资源的ICP备案信息不在该ICP备案白名单列表中,则该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
(2)判断所述WHOIS信息是否在预置的WHOIS注册白名单列表中;
在具体实现中,防误报***中可以设置有WHOIS注册白名单列表,其中包含了通过验证的域名信息。
如果网络资源的WHOIS信息在该WHOIS注册白名单列表中,则表示该网络资源的域名实际为通过验证的域名,其为危险网站的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。如果网络资源的WHOIS信息不在该WHOIS注册白名单列表中,则该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
(3)判断所述URL信息是否在预置的网址白名单列表中。
在具体实现中,防误报***中可以设置有网址白名单列表,其中包含了采集的知名站点的网址信息。
如果网络资源的URL信息在该网址白名单列表中,则表示该网络资源实际为知名网站,其为网络资源的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。如果网络资源的URL信息不在该网址白名单列表中,则该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
方式二:根据所述统计信息以及对应的统计阈值的比较结果,确定所述统计信息是否符合误报规则,例如,可以包括如下情况的至少一种或结合:
(4)若所述页面浏览量大于预设浏览量阈值,和/或,所述独立访客量大于预设独立访客量阈值,则判定所述统计信息符合误报规则。
具体的,如果该网络资源的PV和/或UV数据都较大,大于预设的阈值的情况下,表示该网站的访问量大,受欢迎的程度较高,则其为危险网站的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。否则,如果PV或者UV数据都较低,则表示该网站受欢迎的程度较低,则该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
(5)当所述服务器IP地址下的黑站数量小于预设黑站数量阈值,和/ 或,所述黑站比例小于预设比例值,则判定所述统计信息符合误报规则;
在具体实现中,可以设置网站黑名单列表,根据网络资源的标识信息可以获取网络资源下的所有子站和/或URL的信息,并将该子站和/或URL的信息与网站黑名单列表进行匹配,如果存在匹配项,则将匹配的子站或者 URL作为黑站,匹配完成以后,可以计算黑站的数量,并根据黑站的数量与该网络资源的总子站数量,计算黑站比例。
如果该黑站数量和/或黑站比例都较小,小于预设的阈值的情况下,表示该网站为危险网站的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。否则,如果该黑站数量和/或黑站比例都较大,则表示该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
(6)当所述子站数量大于预设的子站阈值,和/或,所述URL数量大于预设的URL阈值,则判定所述统计信息符合误报规则;
如果该网络资源下的子站数量和/或URL数量都较大,大于预设的阈值的情况下,表示该网络资源的结构比较复杂,模仿难度大,其为危险网站的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。否则,如果网络资源下的子站数量和/或URL数量都较少,表示该网络资源的结构比较简单,模仿难度小,则表示该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
(7)当所述进入搜索引擎的实际记录数大于预设的记录数阈值,则判定所述统计信息符合误报规则;
具体的,进入搜索引擎的实际记录数可以为该网站或其子站被搜索引擎抓取的记录的数量。如果该网络资源下进入搜索引擎的实际记录数较大,大于预设的阈值的情况下,表示该网络资源为比较受欢迎的网站,其为危险网站的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。否则,如果网络资源下的进入搜索引擎的实际记录数较少,则表示该网络资源确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
(8)若所述注册时长大于预设的时间阈值,则判定所述统计信息符合误报规则。
具体的,注册时长大于预设的时间阈值的网站,表示其注册时间比较早,通常注册时间比较早的网站很难被攻击,所以如果该网络资源下的注册时长大于预设的时间阈值,表示该网站注册时间比较早,其为网络资源的概率比较低,即其识别结果信息为误判的结果的可能性比较大,符合误报规则。否则,如果网络资源下的注册时长小于或等于预设的时间阈值,表示该网站注册时间比较晚,则表示该网站确认为恶意网站的概率比较大,即针对网络资源的识别结果信息为误报的结果的可能性较低,不符合误报规则。
需要说明的是,本发明实施例并不限于上述的特征信息的判断方式,本领域技术人员根据实际需求定义其他与特征信息匹配的误报规则均是可以的,本发明实施例对此不作限定。
为了提高防误报***的检测准确度,可以结合上述特征信息中的至少两种特征信息(包括全部)的判断结果进行最终的防误报判断,例如,如果上述(1)-(8)的情况中,可以设定阈值,当上述八种判断方式中,判定符合误报规则的特征信息的数量或者比例超过该阈值,才判定该识别结果信息为误判的结果,如果低于阈值,则判定该识别结果信息不为误判的结果。
当防误报***确认该网络资源挖矿脚本时,则向服务器发送第一确认信息,服务器接收到该第一确认信息以后,确认自身的判定没有出现误报,则执行拦截该网络资源的步骤。
在本发明实施例的一种优选实施例中,如果上述的挖矿条件仅仅能满足其中的部分,例如,存在如下情况:所述网络资源符合第二预设挖矿规则,但所述CPU使用率小于或等于预设阈值;或者,所述CPU使用率大于预设阈值,但所述网络资源不符合第二预设挖矿规则,则进入人工审核流程,由人工进行挖矿脚本的检测。
人工检测到该挖矿脚本后,继续执行上述将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测的步骤。
在本发明实施例的一种优选实施例中,针对拦截的网络资源,本发明实施例还可以包括如下步骤:
基于携带所述挖矿脚本的网络资源,生成第二确认信息,将所述第二确认信息发送至客户端。
具体的,服务器确认接收到的网络资源中存在挖矿代码时,则可以生成第二确认信息,并将该第二确认信息返回客户端,以便于客户端基于该第二确认信息更新第一预设挖矿规则。
另一方面,在本发明实施例的一种优选实施例中,当网络资源都不满足挖矿条件时,则可以判定该网络资源不存在挖矿脚本,为正常的网络资源,并向客户端返回正常网络资源的信息,以便于客户端继续执行该网络资源。
在本发明实施例中,通过服务器的沙箱完成携带可疑挖矿脚本的网络资源的二次检测,在二次检测过程中,设定比第一挖矿规则条件更多精度更高的第二挖矿规则,当网络资源满足第二挖矿规则时判定该网络资源存在挖矿脚本,提高了挖矿脚本识别的准确率。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了根据本发明一个实施例的一种挖矿脚本检测的服务器实施例的结构框图,所述服务器可以包括如下模块:
网络资源接收模块301,适于接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
挖矿识别模块302,适于将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
挖矿脚本确认模块303,适于若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
在本发明实施例的一种优选实施例中,所述挖矿识别模块302可以包括如下子模块:
规则判断子模块,适于所述沙箱判断所述网络资源是否符合第三挖矿规则;
CPU使用率获取子模块,适于在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
规则判定子模块,适于若所述网络资源符合第三挖矿规则且所述CPU 使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则。
在本发明实施例的一种优选实施例中,所述规则判断子模块可以包括如下单元:
网络请求获取单元,适于获取所述网络资源中的所有网络请求;
挖矿请求判断单元,适于判断所述所有网络请求中是否存在挖矿网络请求;
身份验证单元,适于若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
验证结果接收单元,适于接收所述矿池中心返回的身份验证结果;
验证结果判断单元,适于基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
在本发明实施例的一种优选实施例中,所述挖矿请求判断单元还适于:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
在本发明实施例的一种优选实施例中,所述验证结果判断单元还适于:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
在本发明实施例的一种优选实施例中,所述规则判断子模块还适于:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
在本发明实施例的一种优选实施例中,还可以包括如下模块:
拦截模块,适于拦截携带所述挖矿脚本的网络资源。
在本发明实施例的一种优选实施例中,还可以包括如下模块:
防误报模块,适于将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;若接收到所述防误报***返回的第一确认信息时,则调用拦截模块。
在本发明实施例的一种优选实施例中,还可以包括如下模块:
第二确认信息生成模块,适于基于携带所述挖矿脚本的网络资源,生成第二确认信息;
第二确认信息发送模块,适于将所述第二确认信息发送至客户端。
在本发明实施例的一种优选实施例中,还可以包括如下模块:
人工审核模块,适于当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
正常网络资源判定模块,适于当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
对于服务器实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图4,示出了根据本发明一个实施例的一种挖矿脚本检测的客户端实施例的结构框图,所述客户端可以包括如下模块:
网络资源检测模块401,适于在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
可疑挖矿脚本确定模块402,适于若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
网络资源阻断模块403,适于阻断所述网络资源的执行;
网络资源发送模块404,适于将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
在本发明实施例的一种优选实施例中,所述客户端还可以包括如下模块:
确认信息接收模块,适于接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;
挖矿规则提取模块,适于基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;
挖矿规则更新模块,适于基于所述提取的挖矿规则更新所述第一预设挖矿规则。
在本发明实施例的一种优选实施例中,所述网络资源检测模块401可以包括如下子模块:
源码数据获取子模块,适于获取当前网络资源对应的源码数据;
匹配子模块,适于将所述源码数据与预设的第一预设挖矿规则进行匹配;若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
在本发明实施例的一种优选实施例中,所述第一预设挖矿规则包括预先采集的多个矿池中心开放的请求接口组成的请求集合;
所述匹配子模块还适于:
从所述源码数据中获取所有的网络请求;
将所述所有的网络请求与所述请求集合进行匹配。
在本发明实施例的一种优选实施例中,所述第一预设挖矿规则包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合;
所述匹配子模块还适于:
从所述源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配。
在本发明实施例的一种优选实施例中,所述网络资源包括:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源。
对于客户端实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还公开了一种挖矿脚本识别***,包括上述的服务器以及客户端。
本发明实施例还公开了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现图1和图2所述方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1和图2所述方法的步骤。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的挖矿脚本检测的终端设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种挖矿脚本检测的方法,所述方法包括:
在服务器侧接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
A2、如A1所述的方法,所述由所述沙箱判断所述网络资源是否符合第二预设挖矿规则的步骤包括:
所述沙箱判断所述网络资源是否符合第三挖矿规则;
在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
若所述网络资源符合第三挖矿规则且所述CPU使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则。
A3、如A2所述的方法,所述沙箱判断所述网络资源是否符合第三挖矿规则的步骤包括:
获取所述网络资源中的所有网络请求;
判断所述所有网络请求中是否存在挖矿网络请求;
若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
接收所述矿池中心返回的身份验证结果;
基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
A4、如A3所述的方法,所述判断所述所有网络请求中是否存在挖矿网络请求的步骤包括:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
A5、如A3或A4所述的方法,所述基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则的步骤包括:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
A6、如A2或A3所述的方法,所述沙箱判断所述网络资源是否符合第三挖矿规则的步骤包括:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
A7、如A1所述的方法,还包括:
拦截携带所述挖矿脚本的网络资源。
A8、如A7所述的方法,在所述拦截携带所述挖矿脚本的网络资源的步骤之前,还包括:
将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;
若接收到所述防误报***返回的第一确认信息时,则执行所述拦截携带所述挖矿脚本的网络资源的步骤。
A9、如A7或A8所述的方法,还包括:
基于携带所述挖矿脚本的网络资源,生成第二确认信息;
将所述第二确认信息发送至客户端。
A10、如A1所述的方法,还包括:
当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
本发明还公开了B11、一种挖矿脚本检测的方法,所述方法包括:
在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
阻断所述网络资源的执行;
将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
B12、如B11所述的方法,还包括:
接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;
基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;
基于所述提取的挖矿规则更新所述第一预设挖矿规则。
B13、如B11或B12所述的方法,所述在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源的步骤包括:
获取当前网络资源对应的源码数据;
将所述源码数据与预设的第一预设挖矿规则进行匹配;
若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;
若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
B14、如B13所述的方法,所述第一预设挖矿规则包括预先采集的多个矿池中心开放的请求接口组成的请求集合;
所述将所述源码数据与预设的第一预设挖矿规则进行匹配的步骤包括:
从所述源码数据中获取所有的网络请求;
将所述所有的网络请求与所述请求集合进行匹配。
B15、如B13所述的方法,所述第一预设挖矿规则包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合;
所述将所述源码数据与预设的第一预设挖矿规则进行匹配的步骤包括:
从所述源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配。
B16、如B11所述的方法,所述网络资源包括:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源。
本发明还公开了C17、一种挖矿脚本检测的服务器,所述服务器包括:
网络资源接收模块,适于接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
挖矿识别模块,适于将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
挖矿脚本确认模块,适于若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
C18、如C17所述的服务器,所述挖矿识别模块包括:
规则判断子模块,适于所述沙箱判断所述网络资源是否符合第三挖矿规则;
CPU使用率获取子模块,适于在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
规则判定子模块,适于若所述网络资源符合第三挖矿规则且所述CPU 使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则。
C19、如C18所述的服务器,所述规则判断子模块包括:
网络请求获取单元,适于获取所述网络资源中的所有网络请求;
挖矿请求判断单元,适于判断所述所有网络请求中是否存在挖矿网络请求;
身份验证单元,适于若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
验证结果接收单元,适于接收所述矿池中心返回的身份验证结果;
验证结果判断单元,适于基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
C20、如C19所述的服务器,所述挖矿请求判断单元还适于:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
C21、如C19或C20所述的服务器,所述验证结果判断单元还适于:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
C22、如C18或C19所述的服务器,所述规则判断子模块还适于:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
C23、如C17所述的服务器,还包括:
拦截模块,适于拦截携带所述挖矿脚本的网络资源。
C24、如C23所述的服务器,还包括:
防误报模块,适于将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;若接收到所述防误报***返回的第一确认信息时,则调用拦截模块。
C25、如C23或C24所述的服务器,还包括:
第二确认信息生成模块,适于基于携带所述挖矿脚本的网络资源,生成第二确认信息;
第二确认信息发送模块,适于将所述第二确认信息发送至客户端。
C26、如C17所述的服务器,还包括:
人工审核模块,适于当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
正常网络资源判定模块,适于当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
本发明还公开了D27、一种挖矿脚本检测的客户端,所述客户端包括:
网络资源检测模块,适于在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
可疑挖矿脚本确定模块,适于若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
网络资源阻断模块,适于阻断所述网络资源的执行;
网络资源发送模块,适于将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
D28、如D27所述的客户端,还包括:
确认信息接收模块,适于接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;
挖矿规则提取模块,适于基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;
挖矿规则更新模块,适于基于所述提取的挖矿规则更新所述第一预设挖矿规则。
D29、如D27或D28所述的客户端,所述网络资源检测模块包括:
源码数据获取子模块,适于获取当前网络资源对应的源码数据;
匹配子模块,适于将所述源码数据与预设的第一预设挖矿规则进行匹配;若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
D30、如D29所述的客户端,所述第一预设挖矿规则包括预先采集的多个矿池中心开放的请求接口组成的请求集合;
所述匹配子模块还适于:
从所述源码数据中获取所有的网络请求;
将所述所有的网络请求与所述请求集合进行匹配。
D31、如D29所述的客户端,所述第一预设挖矿规则包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合;
所述匹配子模块还适于:
从所述源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配。
D32、如D27所述的客户端,所述网络资源包括:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi 资源。
本发明还公开了E33、一种挖矿脚本识别***,包括C17-C26任一项所述的服务器以及D27-D32任一项所述的客户端。
本发明还公开了F34、一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现A1至A10和/或B11-B16任一项所述方法的步骤。
本发明还公开了G35、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现A1至A10和/或B11-B16任一项所述方法的步骤。
Claims (24)
1.一种挖矿脚本检测的方法,所述方法包括:
在服务器侧接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;
若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本;所述由所述沙箱判断所述网络资源是否符合第二预设挖矿规则的步骤包括:
所述沙箱判断所述网络资源是否符合第三挖矿规则;
在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
若所述网络资源符合第三挖矿规则且所述CPU使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则;所述沙箱判断所述网络资源是否符合第三挖矿规则的步骤包括:
获取所述网络资源中的所有网络请求;
判断所述所有网络请求中是否存在挖矿网络请求;
若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
接收所述矿池中心返回的身份验证结果;
基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则。
2.如权利要求1所述的方法,其特征在于,所述判断所述所有网络请求中是否存在挖矿网络请求的步骤包括:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
3.如权利要求1或2所述的方法,其特征在于,所述基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则的步骤包括:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
4.如权利要求1所述的方法,其特征在于,所述沙箱判断所述网络资源是否符合第三挖矿规则的步骤包括:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
5.如权利要求1所述的方法,其特征在于,还包括:
拦截携带所述挖矿脚本的网络资源。
6.如权利要求5所述的方法,其特征在于,在所述拦截携带所述挖矿脚本的网络资源的步骤之前,还包括:
将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;
若接收到所述防误报***返回的第一确认信息时,则执行所述拦截携带所述挖矿脚本的网络资源的步骤。
7.如权利要求5或6所述的方法,其特征在于,还包括:
基于携带所述挖矿脚本的网络资源,生成第二确认信息;
将所述第二确认信息发送至客户端。
8.如权利要求1所述的方法,其特征在于,还包括:
当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
9.一种挖矿脚本检测的服务器,所述服务器包括:
网络资源接收模块,适于接收客户端发送的携带可疑挖矿脚本的网络资源,其中,所述携带可疑挖矿脚本的网络资源为命中客户端的第一预设挖矿规则的网络资源;
挖矿识别模块,适于将所述网络资源放入沙箱中,由所述沙箱判断所述网络资源是否符合第二预设挖矿规则;所述挖矿识别模块还包括:
规则判断子模块,适于所述沙箱判断所述网络资源是否符合第三挖矿规则;
CPU使用率获取子模块,适于在沙箱中运行所述网络资源对应的进程,获取所述进程的CPU使用率;
规则判定子模块,适于若所述网络资源符合第三挖矿规则且所述CPU使用率大于预设阈值,则判定所述网络资源符合第二预设挖矿规则;所述规则判断子模块包括:
网络请求获取单元,适于获取所述网络资源中的所有网络请求;
挖矿请求判断单元,适于判断所述所有网络请求中是否存在挖矿网络请求;
身份验证单元,适于若存在挖矿网络请求,则将所述挖矿网络请求发送至对应的矿池中心,由所述矿池中心对所述挖矿网络请求进行身份验证;
验证结果接收单元,适于接收所述矿池中心返回的身份验证结果;
验证结果判断单元,适于基于所述身份验证结果判断所述挖矿网络请求是否符合第三挖矿规则;
挖矿脚本确认模块,适于若所述网络资源符合第二预设挖矿规则,则判定所述网络资源携带挖矿脚本。
10.如权利要求9所述的服务器,其特征在于,所述挖矿请求判断单元还适于:
预先采集多个矿池中心开放的请求接口,组成的请求集合;
分别将所述所有网络请求与所述请求集合进行匹配;
若存在与所述请求接口匹配的网络请求,则将所述匹配的网络请求作为挖矿网络请求。
11.如权利要求9或10所述的服务器,其特征在于,所述验证结果判断单元还适于:
从所述身份验证结果中提取第一身份标识;
获取所述网络资源对应的第二身份标识;
若所述第一身份标识与所述第二身份标识匹配,则判定所述挖矿网络请求不符合第三挖矿规则;
若所述第一身份标识与所述第二身份标识不匹配,则判定所述挖矿网络请求符合第三挖矿规则。
12.如权利要求9所述的服务器,其特征在于,所述规则判断子模块还适于:
预先采集多个矿池中心的特定的内容脚本,组成内容集合;
从所述网络资源的源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配;
若匹配成功,则判定所述网络资源符合第三挖矿规则;
若匹配失败,则判定所述网络资源不符合第三挖矿规则。
13.如权利要求9所述的服务器,其特征在于,还包括:
拦截模块,适于拦截携带所述挖矿脚本的网络资源。
14.如权利要求13所述的服务器,其特征在于,还包括:
防误报模块,适于将携带所述挖矿脚本的网络资源发送至防误报***,由所述防误报***对所述网络资源进行防误报检测;若接收到所述防误报***返回的第一确认信息时,则调用拦截模块。
15.如权利要求13或14所述的服务器,其特征在于,还包括:
第二确认信息生成模块,适于基于携带所述挖矿脚本的网络资源,生成第二确认信息;
第二确认信息发送模块,适于将所述第二确认信息发送至客户端。
16.如权利要求9所述的服务器,其特征在于,还包括:
人工审核模块,适于当所述网络资源满足部分的第二预设挖矿规则时,则进入人工审核流程;
正常网络资源判定模块,适于当所述网络资源都不满足所述第二预设挖矿规则时,则判定所述网络资源不存在挖矿脚本。
17.一种挖矿脚本识别***,包括权利要求10-16任一项所述的服务器以及客户端,所述客户端包括:
网络资源检测模块,适于在客户端侧检测当前网络环境中是否存在命中第一预设挖矿规则的网络资源;
可疑挖矿脚本确定模块,适于若检测到命中第一预设挖矿规则的网络资源,则判定所述网络资源中携带可疑挖矿脚本;
网络资源阻断模块,适于阻断所述网络资源的执行;
网络资源发送模块,适于将携带可疑挖矿脚本的网络资源发送至服务器,由所述服务器进行挖矿脚本的确认。
18.如权利要求17所述的挖矿脚本识别***,还包括:
确认信息接收模块,适于接收服务器返回的第二确认信息,所述第二确认信息为所述服务器判定所述网络资源携带挖矿脚本时生成的信息;
挖矿规则提取模块,适于基于所述第二确认信息,从所述网络资源携带的挖矿脚本中提取挖矿规则;
挖矿规则更新模块,适于基于所述提取的挖矿规则更新所述第一预设挖矿规则。
19.如权利要求17或18所述的挖矿脚本识别***,所述网络资源检测模块包括:
源码数据获取子模块,适于获取当前网络资源对应的源码数据;
匹配子模块,适于将所述源码数据与预设的第一预设挖矿规则进行匹配;若匹配成功,则判定所述网络环境中存在命中第一预设挖矿规则的网络资源;若匹配失败,则判定所述网络环境中不存在命中第一预设挖矿规则的网络资源。
20.如权利要求19所述的挖矿脚本识别***,其特征在于,所述第一预设挖矿规则包括预先采集的多个矿池中心开放的请求接口组成的请求集合;
所述匹配子模块还适于:
从所述源码数据中获取所有的网络请求;
将所述所有的网络请求与所述请求集合进行匹配。
21.如权利要求17所述的挖矿脚本识别***,其特征在于,所述第一预设挖矿规则包括预先采集的多个矿池中心的特定的内容脚本组成的内容集合;
所述匹配子模块还适于:
从所述源码数据中获取JS代码块;
将所述JS数据块与所述内容集合进行匹配。
22.如权利要求17所述的挖矿脚本识别***,其特征在于,所述网络资源包括:网页资源、浏览器的指定控件资源、应用程序的指定控件资源、微信小程序、路由器资源、wifi资源。
23.一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711461246.9A CN108183900B (zh) | 2017-12-28 | 2017-12-28 | 一种挖矿脚本检测的方法、服务器、***、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711461246.9A CN108183900B (zh) | 2017-12-28 | 2017-12-28 | 一种挖矿脚本检测的方法、服务器、***、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108183900A CN108183900A (zh) | 2018-06-19 |
CN108183900B true CN108183900B (zh) | 2021-04-02 |
Family
ID=62548464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711461246.9A Active CN108183900B (zh) | 2017-12-28 | 2017-12-28 | 一种挖矿脚本检测的方法、服务器、***、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108183900B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900496A (zh) * | 2018-06-22 | 2018-11-27 | 杭州安恒信息技术股份有限公司 | 一种快速探测网站被植入挖矿木马的检测方法以及装置 |
CN110839088A (zh) * | 2018-08-16 | 2020-02-25 | 深信服科技股份有限公司 | 一种被虚拟货币挖矿的检测方法、***、装置及存储介质 |
CN111353039B (zh) * | 2018-12-05 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 文件类别检测方法和装置 |
CN112087414A (zh) * | 2019-06-14 | 2020-12-15 | 北京奇虎科技有限公司 | 挖矿木马的检测方法及装置 |
CN110569645A (zh) * | 2019-09-02 | 2019-12-13 | 慧盾信息安全科技(苏州)股份有限公司 | 一种服务器挖矿病毒防护的***和方法 |
CN110933060B (zh) * | 2019-11-22 | 2021-10-22 | 上海交通大学 | 一种基于流量分析的挖矿木马检测*** |
CN111355629B (zh) * | 2020-02-17 | 2021-01-15 | 苏州亿歌网络科技有限公司 | 一种客户端的测试方法、装置、计算机设备及存储介质 |
CN111585961B (zh) * | 2020-04-03 | 2021-08-20 | 北京大学 | 一种网页挖矿攻击检测及保护方法和装置 |
CN112052053B (zh) * | 2020-10-10 | 2023-12-19 | 国科晋云技术有限公司 | 一种清理高性能计算集群中挖矿程序的方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444678B2 (en) * | 2003-10-28 | 2008-10-28 | Aol Llc | Securing resources from untrusted scripts behind firewalls |
CN102663052A (zh) * | 2012-03-29 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种提供搜索引擎搜索结果的方法及装置 |
CN104125213A (zh) * | 2014-06-18 | 2014-10-29 | 汉柏科技有限公司 | 一种防火墙抗分布式拒绝服务ddos攻击的方法和装置 |
CN107045607A (zh) * | 2016-12-13 | 2017-08-15 | 全球能源互联网研究院 | 应用异常行为识别模型建立方法及装置、识别方法及装置 |
-
2017
- 2017-12-28 CN CN201711461246.9A patent/CN108183900B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444678B2 (en) * | 2003-10-28 | 2008-10-28 | Aol Llc | Securing resources from untrusted scripts behind firewalls |
CN102663052A (zh) * | 2012-03-29 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种提供搜索引擎搜索结果的方法及装置 |
CN104125213A (zh) * | 2014-06-18 | 2014-10-29 | 汉柏科技有限公司 | 一种防火墙抗分布式拒绝服务ddos攻击的方法和装置 |
CN107045607A (zh) * | 2016-12-13 | 2017-08-15 | 全球能源互联网研究院 | 应用异常行为识别模型建立方法及装置、识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108183900A (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108183900B (zh) | 一种挖矿脚本检测的方法、服务器、***、终端设备及存储介质 | |
CN107612924B (zh) | 基于无线网络入侵的攻击者定位方法及装置 | |
CN104935605B (zh) | 钓鱼网站的检测方法、装置及*** | |
CN109039987A (zh) | 一种用户账户登录方法、装置、电子设备和存储介质 | |
Tahir et al. | The browsers strike back: Countering cryptojacking and parasitic miners on the web | |
CN110650117B (zh) | 跨站攻击防护方法、装置、设备及存储介质 | |
CN111401416A (zh) | 异常网站的识别方法、装置和异常对抗行为的识别方法 | |
WO2017071148A1 (zh) | 基于云计算平台的智能防御*** | |
RU2697950C2 (ru) | Система и способ выявления скрытого поведения расширения браузера | |
CN107465702B (zh) | 基于无线网络入侵的预警方法及装置 | |
KR20140098025A (ko) | 앱 스토어로 업로드 된 어플리케이션의 보안 평가를 위한 시스템 및 그 방법 | |
CN107800686B (zh) | 一种钓鱼网站识别方法和装置 | |
Saad et al. | Dine and dash: Static, dynamic, and economic analysis of in-browser cryptojacking | |
CN103617393A (zh) | 一种基于支持向量机的移动互联网恶意应用软件检测方法 | |
CN107948199B (zh) | 一种对终端共享接入进行快速检测的方法及装置 | |
CN104640105A (zh) | 手机病毒分析和威胁关联的方法和*** | |
Seo et al. | Analysis on maliciousness for mobile applications | |
CN107566401A (zh) | 虚拟化环境的防护方法及装置 | |
CN113190838A (zh) | 一种基于表达式的web攻击行为检测方法及*** | |
CN104052630B (zh) | 对网站执行验证的方法和*** | |
CN107509200A (zh) | 基于无线网络入侵的设备定位方法及装置 | |
CN108427884B (zh) | 网页挖矿脚本的警示方法及装置 | |
KR102185000B1 (ko) | 스마트폰용 악성앱 분석 시스템과 이를 이용한 스마트폰용 악성앱 분석 방법 및 스마트폰용 악성앱 차단 서비스 시스템 및 이를 이용한 스마트폰용 악성앱 차단 서비스 방법 | |
CN104426836A (zh) | 一种入侵检测方法及装置 | |
CN110460620B (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 |