CN108363925A - 网页挖矿脚本的识别方法及装置 - Google Patents

网页挖矿脚本的识别方法及装置 Download PDF

Info

Publication number
CN108363925A
CN108363925A CN201810220667.0A CN201810220667A CN108363925A CN 108363925 A CN108363925 A CN 108363925A CN 201810220667 A CN201810220667 A CN 201810220667A CN 108363925 A CN108363925 A CN 108363925A
Authority
CN
China
Prior art keywords
measured
page
mine
operating frequency
script
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
CN201810220667.0A
Other languages
English (en)
Other versions
CN108363925B (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810220667.0A priority Critical patent/CN108363925B/zh
Publication of CN108363925A publication Critical patent/CN108363925A/zh
Application granted granted Critical
Publication of CN108363925B publication Critical patent/CN108363925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种网页挖矿脚本的识别方法及装置,属于互联网技术领域。所述方法包括:获取所述待测页面保存当前时间的操作频率;根据所述操作频率识别所述待测页面中是否存在挖矿脚本。本发明提供的网页挖矿脚本的检测方法及装置能够较准确地识别网页中是否植入有挖矿脚本,有助于保护用户的利益。

Description

网页挖矿脚本的识别方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种网页挖矿脚本的识别方法及装置。
背景技术
随着比特币的成功,许多基于区块链技术的数字货币纷纷问世,例如以太币,门罗币等。这类数字货币并非由特定的货币发行机构发行,而是依据特定算法通过大量运算所得。而完成如此大量运算的工具就是挖矿机程序。挖矿机程序运用计算机强大的运算力进行大量运算,由此获取数字货币。由于硬件性能的限制,数字货币玩家需要大量计算机进行运算以获得一定数量的数字货币。
由此,网页中被植入挖矿脚本的情况越来越多。对于被植入挖矿脚本的网页,用户在访问该网页时,挖矿脚本会同时进行挖矿,挖矿会严重占用用户计算机资源,导致计算机卡慢,甚至出现死机等情况,严重影响用户计算机的正常使用。但是,目前尚未有一种能够有效识别植入到网页中的挖矿脚本的方法。
发明内容
鉴于上述问题,本发明提出了一种网页挖矿脚本的识别方法及装置,以有效地识别网页中是否植入有挖矿脚本。
第一方面,本发明实施例提供了一种网页挖矿脚本的识别方法,所述方法包括:获取所述待测页面保存当前时间的操作频率;根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
进一步地,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本包括:判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。
进一步地,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本,还包括:若所述操作频率小于预设频率阈值,则获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本。其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
进一步地,所述查找所述多个网络传输数据包中的目标数据包,包括:查找所述多个网络传输数据包中包含第一特征字段、第二特征字段或第三特征字段的网络传输数据包;将包含所述第一特征字段的所述网络传输数据包记为第一特征数据包;将包含所述第二特征字段的所述网络传输数据包记为第二特征数据包;将包含所述第三特征字段的所述网络传输数据包记为第三特征数据包。
进一步地,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:根据所查找到的目标数据包的数量得到挖矿交互频率;当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
进一步地,所述获取所述待测页面保存当前时间的操作频率之前,还包括:获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;判断所述特征值是否大于或等于第一预设阈值;若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本;若所述特征值小于所述第一预设阈值,再执行所述获取所述待测页面保存当前时间的操作频率,根据所述操作频率识别所述待测页面中是否存在挖矿脚本的步骤。
进一步地,所述获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率之前,还包括:获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值;若存在,再对该渲染进程执行所述获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率的步骤。
进一步地,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本,包括:获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;根据所述操作频率以及第一预设规则得到第一分值;根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
进一步地,所述基于所述待测网页的网络传输数据包的检测操作包括:获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,将所查找到的目标数据包的数量作为所述基于所述待测网页的网络传输数据包的检测操作的检测结果。其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
进一步地,所述基于CPU占用率的检测操作包括:获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;将所述特征值作为所述基于CPU占用率的检测操作的检测结果。
进一步地,所述基于所述待测页面的JavaScript文件的检测操作包括:获取所述待测页面的JavaScript文件;根据预设的关键字列表在所述JavaScript文件中查找挖矿关键字,其中,所述关键字列表包括多个所述挖矿关键字;将所述挖矿关键字查找结果作为所述基于所述待测页面的JavaScript文件的检测操作的检测结果。
第二方面,本发明实施例还提供了一种网页挖矿脚本的识别装置,所述装置包括:第一获取模块,用于获取所述待测页面保存当前时间的操作频率;识别模块,用于根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
进一步地,所述识别模块包括:第一挖矿判定子模块,用于判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。
进一步地,所述识别模块包括:第二挖矿判定子模块,用于若所述操作频率小于预设频率阈值,则获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本。其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
进一步地,所述第二判定子模块中,所述查找所述多个网络传输数据包中的目标数据包,包括:查找所述多个网络传输数据包中包含第一特征字段、第二特征字段或第三特征字段的网络传输数据包;将包含所述第一特征字段的所述网络传输数据包记为第一特征数据包;将包含所述第二特征字段的所述网络传输数据包记为第二特征数据包;将包含所述第三特征字段的所述网络传输数据包记为第三特征数据包。
进一步地,所述第二判定子模块中,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:根据所查找到的目标数据包的数量得到挖矿交互频率;当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
进一步地,所述装置还包括:第二获取模块,用于获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;特征值获取模块,用于根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;第一判断模块,用于判断所述特征值是否大于或等于第一预设阈值,若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本;若所述特征值小于所述第一预设阈值,再执行所述第一获取模块。
进一步地,所述装置还包括:第三获取模块,用于获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;第二判断模块,用于判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值,若存在,再对该渲染进程执行所述第二获取模块。
进一步地,所述识别模块包括:结果获取子模块,用于获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;第一分值获取子模块,用于根据所述操作频率以及第一预设规则得到第一分值;第二分值获取子模块,用于根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;判断子模块,用于根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
进一步地,所述基于所述待测网页的网络传输数据包的检测操作包括:获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,将所查找到的目标数据包的数量作为所述基于所述待测网页的网络传输数据包的检测操作的检测结果。其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
进一步地,所述基于CPU占用率的检测操作包括:获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;将所述特征值作为所述基于CPU占用率的检测操作的检测结果。
进一步地,所述基于所述待测页面的JavaScript文件的检测操作包括:获取所述待测页面的JavaScript文件;根据预设的关键字列表在所述JavaScript文件中查找挖矿关键字,其中,所述关键字列表包括多个所述挖矿关键字;将所述挖矿关键字查找结果作为所述基于所述待测页面的JavaScript文件的检测操作的检测结果。
第三方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器。所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行以下操作:获取所述待测页面保存当前时间的操作频率;根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述网页挖矿脚本的识别方法中的步骤。
本发明实施例提供的网页挖矿脚本的识别方法及装置中,通过获取所述待测页面保存当前时间的操作频率;根据所述操作频率识别所述待测页面中是否存在挖矿脚本,能够较准确地识别网页中是否植入有挖矿脚本,有助于保护用户的利益。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明第一实施例提供的一种网页挖矿脚本的识别方法的方法流程图;
图2示出了本发明第一实施例提供的基于待测页面的网络数据传输包检测该待测页面中是否存在挖矿脚本的步骤流程图;
图3示出了本发明第一实施例提供的对待测页面的CPU占用率进行预检测的步骤流程图;
图4示出了本发明第一实施例提供的一种网页挖矿脚本的识别方法中步骤S102的一种步骤流程图;
图5示出了本发明第二实施例提供的一种网页挖矿脚本的识别装置的功能模块框图;
图6示出了本发明第三实施例提供的一种可应用于本发明实施例中的电子设备的模块框图。
具体实施方式
目前,网页中被植入挖矿脚本的情况越来越多。对于被植入挖矿脚本的网页,用户在访问该网页时,挖矿脚本会同时进行挖矿,挖矿会严重占用用户计算机资源,导致计算机卡慢,甚至出现死机等情况,严重影响用户计算机的正常使用。但是,目前尚未有一种能够有效识别植入到网页中的挖矿脚本的方法。
鉴于此,发明人经过了长期研究,通过分析coinhive的挖矿脚本发现,为了防止多个页面同时挖矿导致浏览器卡死,挖矿脚本在挖矿前会检测是否有其它页面在挖矿。同时,为了标记当前页面正在挖矿,页面会每隔预设时间长度在本地存储(localstorage)中写入当前的系统时间,其中,预设时间长度根据实际应用设定,例如,可以为1秒。由此,发明人进一步想到为了检测挖矿行为,可以检测页面对localstorage的操作,当找到页面存在频繁的localstorage写入系统时间的操作,则说明该页面存在挖矿脚本。进而,提出了本发明实施例提供的一种网页挖矿脚本的识别方法,以较准确地识别网页中是否植入有挖矿脚本。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本文中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参照图1,示出了本发明第一实施例提供的一种网页挖矿脚本的识别方法的流程图。该方法可以应用于浏览器,也可以应用于第三方应用软件。如图1所示,所述方法包括:
步骤S101,获取所述待测页面保存当前时间的操作频率;
当用户访问当前网页时,将当前网页作为待测页面。具体来讲,通过浏览器中预先设置的接口函数可以检测待测页面对localstorage写入当前系统时间的操作,得到预设时间段T内待测页面保存当前时间的次数N,从而可以通过得到待测页面保存当前时间的操作频率。其中,当前系统时间为浏览器所在的电子设备的当前时间。所述预设时间段T可以根据具体情况设置。
步骤S102,根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
上述根据所述操作频率识别所述待测页面中是否存在挖矿脚本的步骤,包括:判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。其中,预设频率阈值可以根据具体情况设置。
作为第一种实施方式,若所述操作频率小于预设频率阈值,则判定所述待测页面中不存在挖矿脚本。
考虑到矿池是数字货币开采所必须的基础设施,一般是对外开放的团队开采服务器,其存在意义为提升比特币开采稳定性,使矿工薪酬趋于稳定。由此,挖矿脚本挖矿离不开矿池,且矿工和矿池之间的通信协议是固定的。本文中,将矿工和矿池之间的特定通信协议定义为挖矿通信协议,如:Setgenerate协议、getwork协议和stratum协议等。因此,可以通过检测待测网页的网络传输数据包是否存在以挖矿通信协议封装的网络传输数据包,从而识别待测网页中是否存在挖矿脚本。
为了进一步提高检测结果的准确性,降低漏检率,作为第二种实施方式,若所述操作频率小于预设频率阈值,则继续执行基于待测页面的网络数据传输包检测该待测页面中是否存在挖矿脚本的步骤。本实施例中,如图2所示,基于待测页面的网络数据传输包检测该待测页面中是否存在挖矿脚本的步骤,包括:
步骤S201,获取待测页面的多个网络传输数据包;
需要说明的是,数据包可能以多种形式传输,如HTTP(HyperText TransferProtocol)、HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)或WSS(Web Socket Secure)等。
本实施例中,可以通过浏览器中直接获取待测页面的多个网络传输数据包。或者,也可以使用预设的抓包工具对待测页面进行抓包,得到多个网络传输数据包。所获取的网络传输数据包的具体数量可以根据实际需要设置。
步骤S202,查找所述多个网络传输数据包中的目标数据包,其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包;
具体来讲,所述查找所述多个网络传输数据包中的目标数据包,包括:查找所述多个网络传输数据包中包含第一特征字段、第二特征字段或第三特征字段的网络传输数据包;将包含所述第一特征字段的所述网络传输数据包记为第一特征数据包;将包含所述第二特征字段的所述网络传输数据包记为第二特征数据包;将包含所述第三特征字段的所述网络传输数据包记为第三特征数据包。
矿工和矿池之间存在一种:分发工作、完成工作和工作确认的机制。其中,分发工作阶段为:矿池下发工作任务。矿工接受矿池下发的工作任务后,进行计算。完成工作阶段为:当计算完成后,矿工向矿池提交计算结果。工作确认阶段为:矿池确认矿工提交的计算结果。
因此,对于植入有挖矿脚本的网页,当挖矿脚本执行挖矿行为时,该网页会接收到矿池发送的第一特征数据包,当挖矿计算完成后,该网页会向矿池发送第二特征数据包,进一步地,矿池会返回第三特征数据包到该网页。可以理解的是,基于特定挖矿通信协议的格式,第一特征数据包中包含第一特征字段,第二特征数据包中包含第二特征字段,第三特征数据包中包含第三特征字段。例如,现有的挖矿通信协议有:Setgenerate协议、getwork协议和stratum协议等。需要说明的是,第一特征字段、第二特征字段和第三特征字段应对应于具体的挖矿通信协议设置,不同的挖矿通信协议对应的第一特征字段不完全相同,不同的挖矿通信协议对应的第二特征字段不完全相同,不同的挖矿通信协议对应的第三特征字段不完全相同。
例如,在一种具体的应用场景中,一次正常的挖矿通信为:
{“type”:“job”,“params”:{“job_id”:“A”,“blob”:“B”,“target”:“ffffff00”}}
{“type”:“submit”,“params”:{“job_id”:“A”,“nonce”:“C”,“result”:“D”}}
{“type”:“hash_accepted”,“params”:{“hashes”:“21306368”}}
由此可以看出,在一次正常的挖矿通信中,会存在3个阶段:
(1)矿池下发工作任务。“type”表示当前数据包的类型,Type=job,表示当前数据包为矿池下发工作任务。其中,job_id表示矿池下发工作任务的唯一标识符,每一次任务都有唯一标识符,A表示一个具体任务的job_id值;blob表示矿池下发的工作任务,B表示工作任务A的数据。target表示矿池下发的工作任务的难度目标,“ffffff00”表示工作任务A的难度目标值。此时,第一特征字段可以包括job_id、blob和target等字段。
(2)矿工进行计算,当计算完成后,矿工提交计算结果。Type=submit,表示当前数据包为矿工向矿池反馈计算结果。其中,“nonce”表示本次任务的计算结果所使用的随机数,C表示任务A的计算结果所使用的随机数值;result表示本次任务的挖矿计算结果,D表示任务A的具体计算值。此时,第二特征字段可以包括job_id、result等字段。
(3)矿池确认计算结果。Type=hash_accepted,表示当前数据包为矿池向矿工反馈结果确认。其中,hashes表示哈希值。此时,第三特征字段可以包括hashes等字段。
步骤S203,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本。
所查找到的目标数据包的数量包括:所查找到的第一特征数据包的数量、所查找到的第二特征数据包的数量以及所查找到的第三特征数据包的数量。
具体来讲,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:根据所查找到的目标数据包的数量得到挖矿交互频率;当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
由于矿工和矿池之间的一次通信包括:分发工作阶段、完成工作阶段和工作确认阶段,矿工和矿池之间的一次通信至少包括:一个第一特征数据包、一个第二特征数据包和一个第三特征数据包。挖矿交互频率可以为待测页面与矿池之间的通信次数。因此,根据所查找到第一特征数据包的数量、第二特征数据包的数量以及第三特征数据包的数量可以得到挖矿交互频率。
预设值可以根据实际需要设置。作为一种实施方式,预设值可以设置为1,也就是说,只要待测页面与矿池之间存在一次以上的通信,则判定待测页面中存在挖矿脚本。进一步地,为了增加成功率,减少误判,作为另一种实施方式,预设值可以设置为M次,其中,M为大于或等于2的整数,也就是说,待测页面与矿池之间存在M次及以上的交互,则判定待测页面中存在挖矿脚本。
作为一种实施方式,当所述挖矿交互频率小于预设值时,则判定所述待测页面中不存在挖矿脚本。
可以理解的是,上述基于待测页面的网络数据传输包检测该待测页面中是否存在挖矿脚本的步骤也可以在上述步骤S101之前执行。此时,当根据所查找到的目标数据包的数量识别出所述待测页面中存在挖矿脚本时,则不再继续执行上述步骤S101和步骤S102;当根据所查找到的目标数据包的数量识别出所述待测页面中不存在挖矿脚本时,则继续执行上述步骤S101和步骤S102,以做进一步的识别。
为了提高检测效率,作为一种可选的实施例,在执行上述步骤S101之前,可以先对待测页面进行预检测步骤。本实施例中,预检测步骤可以包括对待测页面的CPU占用率进行预检测,和/或对待测页面的JS(JavaScript)文件进行预检测。
挖矿脚本主要是利用用户设备的CPU进行大量的hash运算,来获取收益,若网页中插入有挖矿脚本,且挖矿脚本开始执行挖矿行为时,网页的CPU占用率会大幅度提升。为了尽可能的挖矿又不影响网页的正常渲染,挖矿脚本的挖矿功能通常运行在独立的线程中。由此,当预检测步骤为对待测页面的CPU占用率进行预检测时,在执行上述步骤S101之前,先通过检测渲染进程中待测页面的每个线程在预设周期内的CPU占用率,识别待测网页中是否存在挖矿脚本。若预检测直接判定待测页面中存在挖矿脚本,则完成本次识别,不需要再执行上述步骤S101、和步骤S102,若预检测结果判定待测页面中不存在挖矿脚本,再继续执行上述步骤S101和步骤S102,做进一步检测。具体的,如图3所示,对待测页面的CPU占用率进行预检测的步骤,包括:
步骤S310,获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
现代浏览器多采用的是多进程的架构,浏览器框架和渲染运行在不同的进程中。为了尽可能的挖矿又不影响网页的正常渲染,挖矿脚本的挖矿功能通常运行在独立的线程中。
需要说明的是,本实施例中,步骤S310所述的渲染进程可以是浏览器中的每个渲染进程,此时,步骤S320则对每个渲染进程,均根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值。或者,步骤S310所述的渲染进程也可以是浏览器中在所述预设周期内的CPU占用率大于第三预设阈值的渲染进程,这样有利于减少检测对浏览器性能的影响。
步骤S320,根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
步骤S330,判断所述特征值是否大于或等于第一预设阈值,若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本。
若所述特征值小于所述第一预设阈值,再执行上述步骤S101和步骤S102。
作为一种实施方式,上述的根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值的步骤,包括:获取所述渲染进程中所述待测页面的线程中的目标线程的数量,将所获取的目标线程的数量作为所述特征值,其中,所述目标线程为在所述预设周期内的CPU占用率大于第二预设阈值的线程。此时,第一预设阈值为预设的线程数量,第二预设阈值为预设的CPU占用率,具体可以根据需要设置。其中,预设周期和第二预设阈值根据具体情况对应设置,且第二预设阈值需要根据具体的预设周期设置。例如,预设周期为10秒,第一预设阈值设置为2,第二预设阈值为30%,目标线程为在10秒内的CPU占用率大于第二预设阈值的线程,当所获取的目标线程的数量大于或等于2,则判定待测页面中存在挖矿脚本。当然,第一预设阈值也可以设置为1。
作为另一种实施方式,上述的根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值的步骤,包括:获取所述渲染进程中所述待测页面的所有线程在预设周期内的CPU占用率的平均值,将所述平均值作为所述特征值。此时,第一预设阈值为预设的CPU占用率,预设周期和第一预设阈值根据具体情况对应设置,且第一预设阈值需要根据具体的预设周期设置。
进一步地,为了减少检测对浏览器性能的影响,在执行上述步骤S310之前,所述方法还包括:
步骤S301,获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;
在浏览器的主进程中检测所有渲染进程的CPU占用率,每隔预设周期t1使用GetProcessTimes函数获取每个渲染进程消耗的CPU时间t2,将t2除以t1得到每个渲染进程在预设周期内的CPU占用率。
步骤S302,判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值,若存在,则对在所述预设周期内的CPU占用率大于第三预设阈值的渲染进程执行上述步骤S310,若不存在,则不执行上述步骤S310。继续检测,直至存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值,对在所述预设周期内的CPU占用率大于第三预设阈值的渲染进程执行上述步骤S310。
其中,预设周期和第三预设阈值均可以根据实际情况对应设置,且第三预设阈值根据预设周期设置。例如,预设周期为10秒,第三预设阈值为预设的10秒内的CPU占用率阈值。
这样就可以在浏览器中存在预设周期内的CPU占用率大于第三预设阈值的渲染进程时,即浏览器中存在CPU占用率异常的渲染进程时,才执行上述对待测页面的CPU占用率进行预检测的步骤,在浏览器中不存在预设周期内的CPU占用率大于第三预设阈值的渲染进程时,即浏览器中不存在CPU占用率异常的渲染进程时,则不执行上述对待测页面的CPU占用率进行预检测的步骤,有利于减少挖矿脚本识别对浏览器性能的影响。
JavaScript文件是以.js为扩展名的文件,是用javascript脚本语言编写的,主要用于网页的特效、功能的脚本编程。当预检测步骤为对待测页面的JS文件进行预检测时,在执行上述步骤S101之前,先对待测页面的JS文件进行预检测,若预检测直接判定待测页面中存在挖矿脚本,则完成本次识别,不需要再执行上述步骤S101和步骤S102,若预检测结果判定待测页面中不存在挖矿脚本,再继续执行上述步骤S101和步骤S102,做进一步检测。
具体的,对待测页面的JS文件进行预检测的步骤,包括:获取所述待测页面的JS文件;判断所述JS文件中是否存在预设的关键字列表中的挖矿关键字,其中,所述关键字列表包括多个挖矿关键字;若所述JS文件中存在预设的关键字列表中的挖矿关键字,即所述JS文件命中预设的关键字列表,则判定所述待测页面中存在挖矿脚本;若所述JS文件中不存在预设的关键字列表中的挖矿关键字,即所述JS文件没有命中预设的关键字列表,则继续执行上述步骤S101和步骤S102。
其中,关键字列表为预先设置的,可以通过收集现有挖矿脚本的JS文件中的挖矿相关的关键字得到。例如,对于https://coinhive.com/lib/coinhive.min.js,分析这个js代码的挖矿脚本可以发现js代码中存在“Cryptonight”、“coinhive”和“hash”等字符串,这些字符串可以作为挖矿脚本的挖矿关键字,添加到关预设的键字列表中。在浏览器解析.js文件的时候,如果JS文件命中了这些挖矿关键字,则判定当前待测页面中存在挖矿脚本。通过js代码检测出的挖矿脚本准确率高,但是比较容易避开,漏检率较高。
当预检测步骤可以包括对待测页面的CPU占用率进行预检测和对待测页面的JS文件进行预检测时,在执行上述步骤S101之前,可以先对待测页面的JS文件进行预检测,当所述JS文件中存在预设的关键字列表中的挖矿关键字时,则判定所述待测页面中存在挖矿脚本,不再继续对待测页面的CPU占用率进行预检测,本次识别结束。当检测得到所述JS文件中不存在预设的关键字列表中的挖矿关键字时,再继续对待测页面的CPU占用率进行预检测,当所述特征值大于或等于所述第一预设阈值时,则判定所述待测页面中存在挖矿脚本,不再执行上述步骤S101和步骤S102。当所述特征值小于所述第一预设阈值时,则继续执行上述步骤S101和步骤S102。
或者,在执行上述步骤S101之前,也可以先对待测页面的CPU占用率进行预检测,当所述特征值小于所述第一预设阈值时,则继续对待测页面的JS文件进行预检测,当检测得到所述JS文件中不存在预设的关键字列表中的挖矿关键字时,再继续执行上述步骤S101和步骤S102。当然,若所述特征值大于或等于第一预设阈值时或检测得到所述JS文件中存在预设的关键字列表中的挖矿关键字,则本次识别结束,不再继续执行上述步骤S101和步骤S102。
进一步地,为了提高检测结果的准确性,作为第三种实施方式,可以通过多种的检测操作的检测结果得到相应的分值,再根据这些分值得到最终的挖矿脚本检测结果。此时,如图4所示,上述根据所述操作频率识别所述待测页面中是否存在挖矿脚本的步骤,包括:
步骤S401,获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;
具体来讲,所述基于所述待测网页的网络传输数据包的检测操作包括:获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,将所查找到的目标数据包的数量作为所述基于所述待测网页的网络传输数据包的检测操作的检测结果。
具体来讲,所述基于CPU占用率的检测操作包括:获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;将所述特征值作为所述基于CPU占用率的检测操作的检测结果。
具体来讲,所述基于所述待测页面的JS文件的检测操作包括:获取所述待测页面的JS文件;根据预设的关键字列表在所述JS文件中查找挖矿关键字,其中,所述关键字列表包括多个所述挖矿关键字;将所述挖矿关键字查找结果作为所述基于所述待测页面的JS文件的检测操作的检测结果。
步骤S402,根据所述操作频率以及第一预设规则得到第一分值;
步骤S403,根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;
步骤S404,根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
本实施例中,将根据所述操作频率判断待测页面中是否存在挖矿脚本的操作定义为基于所述待测页面保存当前时间的操作频率的检测操作。
上述步骤S401中,特征检测操作具体包括上述几种检测操作中的哪一种或哪几种可以根据实际需要设置。另外,第一预设规则、第二预设规则和第三预设规则也可以根据实际需要设置。
作为一种实施方式,可以预先设置基于所述待测页面保存当前时间的操作频率的检测操作以及特征检测操作对应的特征分值,且基于所述待测页面保存当前时间的操作频率的检测操作对应的特征分值以及特征检测操作对应的特征分值相加为100。当然,若特征检测操作包括多种检测操作,则每种特征检测操作均对应有特征分值。此时,若基于所述待测页面保存当前时间的操作频率的检测操作检测出待测页面中存在挖矿脚本,则该检测操作对应的第一分值为该检测操作对应的特征分值,若该检测操作检测出待测页面中不存在挖矿脚本,则该检测操作对应的第一分值为0。同理,若某特征检测操作检测出待测页面中存在挖矿脚本,则该特征检测操作对应的第二分值为该特征检测操作对应的特征分值,若某特征检测操作检测出待测页面中不存在挖矿脚本,则该特征检测操作对应的第二分值为0。
然后,将得到的第一分值以及第二分值相加得到第一总分值。判断第一总分值是否超过预设分数阈值,当第一总分值超过预设分数阈值时,则判定待测页面中存在挖矿脚本,当第一总分值不超过预设分数阈值时,则判定待测页面中不存在挖矿脚本。其中,预设分数阈值可以根据需要设置,例如可以设置为50、60或80等。
例如,当特征检测操作的检测结果包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JS文件的检测操作时,基于所述待测网页的网络传输数据包的检测操作对应的特征分值可以为30,基于所述待测页面保存当前时间的操作频率的检测操作对应的特征分值可以为30,基于CPU占用率的检测操作对应的特征分值可以为20,基于所述待测页面的JS文件的检测操作对应的特征分值可以为20。此时,根据基于所述待测页面保存当前时间的操作频率的检测操作的检测结果得到的分值为第一分值,根据基于所述待测网页的网络传输数据包的检测操作的检测结果得到的分值、根据基于CPU占用率的检测操作的检测结果得到的分值以及根据基于所述待测页面的JS文件的检测操作的检测结果得到的分值均为第二分值。
作为另一种实施方式,可以预先设置基于所述待测页面保存当前时间的操作频率的检测操作以及特征检测操作对应的权值,且基于所述待测页面保存当前时间的操作频率的检测操作以及特征检测操作对应的权值之和为1。并设置基于所述待测页面保存当前时间的操作频率的检测操作以及特征检测操作的满分均为100分。当然,若特征检测操作包括多种检测操作,则每种特征检测操作均对应有各自的权值。
此后,根据基于所述待测页面保存当前时间的操作频率的检测操作的检测结果以及第一预设规则对该检测结果进行打分(满分为100分),得到该检测操作对应的第一分值。根据特征检测操作以及第二预设规则对该特征检测操作进行打分(满分为100分),得到该特征检测操作对应的第二分值。当然,若特征检测操作包括多种检测操作,则需要对每种特征检测操作均进行打分(满分均为100分),得到每种特征检测操作对应的第二分值。然后,再将每种检测操作的分值乘以该检测操作对应的权值,则可以得到该检测操作的实际分值,进而将所有检测操作的实际分值相加得到第二总分值。
判断第二总分值是否超过预设分数阈值,当第二总分值超过预设分数阈值时,则判定待测页面中存在挖矿脚本,当第二总分值不超过预设分数阈值时,则判定待测页面中不存在挖矿脚本。其中,预设分数阈值可以根据需要设置,例如可以设置为50、60或80等。
例如,当特征检测操作的检测结果包括基于所述待测页面的JS文件的检测操作、基于所述待测网页的网络传输数据包的检测操作以及基于CPU占用率的检测操作时,基于所述待测网页的网络传输数据包的检测操作对应的权值可以为30%,基于所述待测页面保存当前时间的操作频率的检测操作对应的权值可以为30%,基于CPU占用率的检测操作对应的权值可以为20%,基于所述待测页面的JS文件的检测操作对应的权值可以为20%。假设基于所述待测页面保存当前时间的操作频率的检测操作对应的第一分值为S1,基于所述待测网页的网络传输数据包的检测操作对应的第二分值为S2,基于所述待测页面的JS文件的检测操作对应的第二分值为S3,基于CPU占用率的检测操作对应的第二分值为S4,则第二总分值为:S1×30%+S2×30%+S3×20%+S4×20%。
作为一种实施方式,在基于所述待测页面保存当前时间的操作频率的检测操作中,可以根据操作频率以及第一预设规则对该检测操作进行打分。其中,操作频率的获取方式可以参照上述步骤S101,此处不再赘述。例如,第一预设规则可以为:预先设置操作频率的第一特征范围,每个第一特征范围对应于一个特定分值,且操作频率越大的第一特征范围,对应的特定分值越高,通过判断所得到的操作频率所在的第一特征范围,确定基于所述待测页面保存当前时间的操作频率的检测操作对应的特定分值,将该特定分值作为该检测操作对应的第一分值。例如,当第一特征范围包括:0,[1,10],[10,50]和[51,+∞)时,0对应的特定分值为0,[1,10]对应的特定分值可以为30,[10,50]对应的特定分值可以为60,[51,+∞)对应的特定分值可以为100。当然,除了上述方式外,也可以根据需要设置其他的第一预设规则。
作为一种实施方式,在基于所述待测网页的网络传输数据包的检测操作中,可以根据所查找到的目标数据包的数量,得到挖矿交互频率,根据所得到的挖矿交互频率对该检测操作进行打分。具体的,根据所查找到的目标数据包的数量得到挖矿交互频率的实施方式可以参照上述步骤S203中的相应内容,此处不再赘述。例如:可以预先设置挖矿交互频率的第二特征范围,每个第二特征范围对应于一个特定分值,且挖矿交互频率越大的第二特征范围,对应的特定分值越高,通过判断所得到的挖矿交互频率所在的第二特征范围,确定基于所述待测网页的网络传输数据包的检测操作对应的特定分值,将该特定分值作为该检测操作对应的第二分值。例如,当第二特征范围包括:0,[1,10]和[11,+∞)时,0对应的特定分值为0,[1,10]对应的特定分值为80,[11,+∞)对应的特定分值为100。
作为一种实施方式,在基于所述待测页面的JS文件的检测操作中,可以根据预设的关键字列表在待测页面的JS文件中查找挖矿关键字,其中,所述关键字列表包括多个挖矿关键字,然后根据在待测页面的JS文件中查找到的挖矿关键字的个数对该检测操作进行打分,得到基于所述待测页面的JS文件的检测操作对应的第二分值。需要说明的是,待测页面的JS文件所命中的挖矿关键字个数越多,打分越高。例如,当待测页面的JS文件中查找到的挖矿关键字的个数为0个时,该检测操作对应的第二分值为0分,当命中1个挖矿关键字时,该检测操作对应的第二分值为60分,当命中两个以上的挖矿关键字时,该检测操作对应的第二分值为100分。
同理,作为一种实施方式,在基于CPU占用率的检测操作中,也可以预先设置特征值的第三特征范围,每个第三特征范围对应于一个特定分值,特征值越大的第三特征范围,对应的特定分值越高。然后,通过判定所得到的特征值所在的第三特征范围,确定基于CPU占用率的检测操作对应的特定分值,将该特定分值作为该检测操作对应的第二分值。具体的,特征值的获取方式可以参照上述对待测页面的CPU占用率进行预检测的步骤S320,此处不再赘述。
综上所述,本发明实施例提供的网页挖矿脚本的识别方法,通过获取所述待测页面保存当前时间的操作频率;根据所述操作频率识别所述待测页面中是否存在挖矿脚本,能够较准确地识别网页中是否植入有挖矿脚本,有助于保护用户的利益。
请参阅图5,示出了本发明第二实施例提供的一种网页挖矿脚本的识别装置的功能模块框图。该识别装置500可以应用于浏览器,也可以应用于第三方应用软件。如图5所示,所述识别装置500包括:
第一获取模块510,用于获取所述待测页面保存当前时间的操作频率;
识别模块520,用于根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
作为一种可选的实施例,所述识别模块520包括:
第一挖矿判定子模块,用于判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。
作为一种可选的实施例,所述识别模块520包括:
第二挖矿判定子模块,用于若所述操作频率小于预设频率阈值,则获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本。
其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
作为一种实施方式,所述第二判定子模块中,所述查找所述多个网络传输数据包中的目标数据包,包括:查找所述多个网络传输数据包中包含第一特征字段、第二特征字段或第三特征字段的网络传输数据包;将包含所述第一特征字段的所述网络传输数据包记为第一特征数据包;将包含所述第二特征字段的所述网络传输数据包记为第二特征数据包;将包含所述第三特征字段的所述网络传输数据包记为第三特征数据包。
作为一种实施方式,所述第二判定子模块中,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:根据所查找到的目标数据包的数量得到挖矿交互频率;当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
作为一种可选的实施例,所述装置还包括:
第二获取模块,用于获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
特征值获取模块,用于根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
第一判断模块,用于判断所述特征值是否大于或等于第一预设阈值,若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本;若所述特征值小于所述第一预设阈值,再执行所述第一获取模块510。
作为一种可选的实施例,所述装置还包括:
第三获取模块,用于获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;
第二判断模块,用于判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值,若存在,再对该渲染进程执行所述第二获取模块。
作为一种可选的实施例,所述识别模块520包括:
获取子模块,用于获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;
第一分值获取子模块,用于根据所述操作频率以及第一预设规则得到第一分值;
第二分值获取子模块,用于根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;
判断子模块,用于根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
具体来讲,所述基于所述待测网页的网络传输数据包的检测操作包括:获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,将所查找到的目标数据包的数量作为所述基于所述待测网页的网络传输数据包的检测操作的检测结果。
具体来讲,所述基于CPU占用率的检测操作包括:获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;将所述特征值作为所述基于CPU占用率的检测操作的检测结果。
具体来讲,所述基于所述待测页面的JavaScript文件的检测操作包括:获取所述待测页面的JavaScript文件;根据预设的关键字列表在所述JavaScript文件中查找挖矿关键字,其中,所述关键字列表包括多个所述挖矿关键字;将所述挖矿关键字查找结果作为所述基于所述待测页面的JavaScript文件的检测操作的检测结果。
需要说明的是,本发明实施例所提供的网页挖矿脚本的识别装置,其具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
另外,本发明第三实施例提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行以下操作:
获取所述待测页面保存当前时间的操作频率;
根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
需要说明的是,本发明实施例所提供的电子设备中,上述每个步骤的具体实现及产生的技术效果和前述方法实施例相同,为简要描述,本实施例未提及之处可参考前述方法实施例中相应内容。
于本发明实施例中,电子设备可以为PC(Personal Computer)电脑、平板电脑、手机、电子阅读器、笔记本电脑、智能电视、车载终端等终端设备。
以图6示出的一种可应用于本发明实施例中的电子设备600为例,如图6所示,电子设备600包括存储器602、存储控制器604,一个或多个(图中仅示出一个)处理器606、外设接口608、网络模块610、输入输出模块612、音频模块614、显示模块616等。这些组件通过一条或多条通讯总线/信号线618相互通讯。
存储器602可用于存储软件程序以及模块,如本发明实施例中的网页挖矿脚本的识别方法以及装置对应的程序指令/模块,处理器606通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的网页挖矿脚本的识别方法。
存储器602可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器606以及其他可能的组件对存储器602的访问可在存储控制器604的控制下进行。
外设接口608将各种输入/输出装置耦合至处理器606以及存储器602。在一些实施例中,外设接口608,处理器606以及存储控制器604可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
网络模块610用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
输入输出模块612用于提供给用户输入数据实现用户与电子设备的交互。所述输入输出模块612可以是,但不限于,鼠标、键盘和触控屏幕等。
音频模块614向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示模块616在电子设备600与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示模块616可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
可以理解,图6所示的结构仅为示意,电子设备600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
于本发明实施例中,电子设备600中安装有客户端,该客户端可以是浏览器也可以是第三方应用软件,与服务器(Server)端相对应,为用户提供服务。
本发明第四实施例提供了一种计算机存储介质,本发明第二实施例中的网页挖矿脚本的识别装置集成的功能模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例的网页挖矿脚本的识别方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种网页挖矿脚本的识别方法,所述方法包括:
获取所述待测页面保存当前时间的操作频率;
根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
A2、根据A1所述的方法,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本包括:
判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。
A3、根据A1所述的方法,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本,还包括:
若所述操作频率小于预设频率阈值,则获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本;
其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
A4、根据A3所述的方法,所述查找所述多个网络传输数据包中的目标数据包,包括:
查找所述多个网络传输数据包中包含第一特征字段、第二特征字段或第三特征字段的网络传输数据包;
将包含所述第一特征字段的所述网络传输数据包记为第一特征数据包;
将包含所述第二特征字段的所述网络传输数据包记为第二特征数据包;
将包含所述第三特征字段的所述网络传输数据包记为第三特征数据包。
A5、根据A3所述的方法,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:
根据所查找到的目标数据包的数量得到挖矿交互频率;
当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
A6、根据A1所述的方法,所述获取所述待测页面保存当前时间的操作频率之前,还包括:
获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
判断所述特征值是否大于或等于第一预设阈值;
若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本;若所述特征值小于所述第一预设阈值,再执行所述获取所述待测页面保存当前时间的操作频率,根据所述操作频率识别所述待测页面中是否存在挖矿脚本的步骤。
A7、根据A6所述的方法,所述获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率之前,还包括:
获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;
判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值;
若存在,再对该渲染进程执行所述获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率的步骤。
A8、根据A1所述的方法,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本,包括:
获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;
根据所述操作频率以及第一预设规则得到第一分值;
根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;
根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
A9、根据A8所述的方法,所述基于所述待测网页的网络传输数据包的检测操作包括:
获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,将所查找到的目标数据包的数量作为所述基于所述待测网页的网络传输数据包的检测操作的检测结果;
其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
A10、根据A8所述的方法,所述基于CPU占用率的检测操作包括:
获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
将所述特征值作为所述基于CPU占用率的检测操作的检测结果。
A11、根据A8所述的方法,所述基于所述待测页面的JavaScript文件的检测操作包括:
获取所述待测页面的JavaScript文件;
根据预设的关键字列表在所述JavaScript文件中查找挖矿关键字,其中,所述关键字列表包括多个所述挖矿关键字;
将所述挖矿关键字查找结果作为所述基于所述待测页面的JavaScript文件的检测操作的检测结果。
本发明公开了B12、一种网页挖矿脚本的识别装置,所述装置包括:
第一获取模块,用于获取所述待测页面保存当前时间的操作频率;
识别模块,用于根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
B13、根据B12所述的装置,所述识别模块包括:
第一挖矿判定子模块,用于判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。
B14、根据B12所述的装置,所述识别模块包括:
第二挖矿判定子模块,用于若所述操作频率小于预设频率阈值,则获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本;
其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
B15、根据B14所述的装置,所述第二判定子模块中,所述查找所述多个网络传输数据包中的目标数据包,包括:
查找所述多个网络传输数据包中包含第一特征字段、第二特征字段或第三特征字段的网络传输数据包;
将包含所述第一特征字段的所述网络传输数据包记为第一特征数据包;
将包含所述第二特征字段的所述网络传输数据包记为第二特征数据包;
将包含所述第三特征字段的所述网络传输数据包记为第三特征数据包。
B16、根据B14所述的装置,所述第二判定子模块中,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:
根据所查找到的目标数据包的数量得到挖矿交互频率;
当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
B17、根据B12所述的装置,所述装置还包括:
第二获取模块,用于获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
特征值获取模块,用于根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
第一判断模块,用于判断所述特征值是否大于或等于第一预设阈值,若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本;若所述特征值小于所述第一预设阈值,再执行所述第一获取模块。
B18、根据B17所述的装置,所述装置还包括:
第三获取模块,用于获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;
第二判断模块,用于判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值,若存在,再对该渲染进程执行所述第二获取模块。
B19、根据B12所述的装置,所述识别模块包括:
结果获取子模块,用于获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;
第一分值获取子模块,用于根据所述操作频率以及第一预设规则得到第一分值;
第二分值获取子模块,用于根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;
判断子模块,用于根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
B20、根据B19所述的装置,所述基于所述待测网页的网络传输数据包的检测操作包括:
获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,将所查找到的目标数据包的数量作为所述基于所述待测网页的网络传输数据包的检测操作的检测结果;
其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
B21、根据B19所述的装置,所述基于CPU占用率的检测操作包括:
获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
将所述特征值作为所述基于CPU占用率的检测操作的检测结果。
B22、根据B19所述的装置,所述基于所述待测页面的JavaScript文件的检测操作包括:
获取所述待测页面的JavaScript文件;
根据预设的关键字列表在所述JavaScript文件中查找挖矿关键字,其中,所述关键字列表包括多个所述挖矿关键字;
将所述挖矿关键字查找结果作为所述基于所述待测页面的JavaScript文件的检测操作的检测结果。
本发明公开了C23、一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行以下操作:
获取所述待测页面保存当前时间的操作频率;
根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
本发明公开了C24、一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现A1-A11中任一项所述方法的步骤。

Claims (10)

1.一种网页挖矿脚本的识别方法,其特征在于,所述方法包括:
获取所述待测页面保存当前时间的操作频率;
根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本包括:
判断所述操作频率是否大于或等于预设频率阈值,若所述操作频率大于或等于预设频率阈值,则判定所述待测页面中存在挖矿脚本。
3.根据权利要求1所述的方法,其特征在于,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本,还包括:
若所述操作频率小于预设频率阈值,则获取待测页面的多个网络传输数据包,查找所述多个网络传输数据包中的目标数据包,根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本;
其中,所述目标数据包包括:对应于预设挖矿通信协议的第一特征数据包、第二特征数据包或第三特征数据包。
4.根据权利要求3所述的方法,其特征在于,所述根据所查找到的目标数据包的数量识别所述待测页面中是否存在挖矿脚本,包括:
根据所查找到的目标数据包的数量得到挖矿交互频率;
当所述挖矿交互频率大于或等于预设值时,判定所述待测页面中存在挖矿脚本。
5.根据权利要求1所述的方法,其特征在于,所述获取所述待测页面保存当前时间的操作频率之前,还包括:
获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率;
根据所述渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率得到特征值;
判断所述特征值是否大于或等于第一预设阈值;
若所述特征值大于或等于所述第一预设阈值,则判定所述待测页面中存在挖矿脚本;若所述特征值小于所述第一预设阈值,再执行所述获取所述待测页面保存当前时间的操作频率,根据所述操作频率识别所述待测页面中是否存在挖矿脚本的步骤。
6.根据权利要求5所述的方法,其特征在于,所述获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率之前,还包括:
获取浏览器的每个渲染进程在所述预设周期内的CPU占用率;
判断是否存在所述渲染进程在所述预设周期内的CPU占用率大于第三预设阈值;
若存在,再对该渲染进程执行所述获取渲染进程中所述待测页面的每个线程在预设周期内的CPU占用率的步骤。
7.根据权利要求1所述的方法,其特征在于,所述根据所述操作频率识别所述待测页面中是否存在挖矿脚本,包括:
获取特征检测操作的检测结果,其中,所述特征检测操作包括基于所述待测网页的网络传输数据包的检测操作、基于CPU占用率的检测操作以及基于所述待测页面的JavaScript文件的检测操作的任意一种或多种组合;
根据所述操作频率以及第一预设规则得到第一分值;
根据所述特征检测操作的检测结果以及第二预设规则得到第二分值;
根据所述第一分值、所述第二分值以及第三预设规则判断所述待测页面中是否存在挖矿脚本。
8.一种网页挖矿脚本的识别装置,其特征在于,所述装置包括:
第一获取模块,用于获取所述待测页面保存当前时间的操作频率;
识别模块,用于根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行以下操作:
获取所述待测页面保存当前时间的操作频率;
根据所述操作频率识别所述待测页面中是否存在挖矿脚本。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
CN201810220667.0A 2018-03-16 2018-03-16 网页挖矿脚本的识别方法及装置 Active CN108363925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810220667.0A CN108363925B (zh) 2018-03-16 2018-03-16 网页挖矿脚本的识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810220667.0A CN108363925B (zh) 2018-03-16 2018-03-16 网页挖矿脚本的识别方法及装置

Publications (2)

Publication Number Publication Date
CN108363925A true CN108363925A (zh) 2018-08-03
CN108363925B CN108363925B (zh) 2021-06-25

Family

ID=63000848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810220667.0A Active CN108363925B (zh) 2018-03-16 2018-03-16 网页挖矿脚本的识别方法及装置

Country Status (1)

Country Link
CN (1) CN108363925B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933060A (zh) * 2019-11-22 2020-03-27 上海交通大学 一种基于流量分析的挖矿木马检测系统
CN111314367A (zh) * 2020-02-27 2020-06-19 广东安创信息科技开发有限公司 一种基于流量特征识别挖矿程序的方法和系统
US11316880B2 (en) 2019-09-16 2022-04-26 Avast Software, S.R.O. Cryptocurrency mining detection using network traffic

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340434A (zh) * 2008-05-15 2009-01-07 王瑞 网站恶意内容检测与认证方法及系统
EP2017761A2 (en) * 2007-06-21 2009-01-21 SkyeTek, Inc. Malware scanner for RFID tags
US20100251365A1 (en) * 2009-03-26 2010-09-30 Lyne James I G Dynamic scanning based on compliance metadata
CN103559235A (zh) * 2013-10-24 2014-02-05 中国科学院信息工程研究所 一种在线社交网络恶意网页检测识别方法
CN103679053A (zh) * 2013-11-29 2014-03-26 北京奇虎科技有限公司 一种网页篡改的检测方法及装置
CN106254339A (zh) * 2016-08-01 2016-12-21 北京比特大陆科技有限公司 挖矿业务的安全认证方法和系统
CN106485148A (zh) * 2015-10-29 2017-03-08 远江盛邦(北京)网络安全科技股份有限公司 基于js‑bom结合的恶意代码行为分析沙箱的实现方法
CN107045607A (zh) * 2016-12-13 2017-08-15 全球能源互联网研究院 应用异常行为识别模型建立方法及装置、识别方法及装置
CN107563199A (zh) * 2017-09-04 2018-01-09 郑州云海信息技术有限公司 一种基于文件请求监控的勒索软件实时检测与防御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017761A2 (en) * 2007-06-21 2009-01-21 SkyeTek, Inc. Malware scanner for RFID tags
CN101340434A (zh) * 2008-05-15 2009-01-07 王瑞 网站恶意内容检测与认证方法及系统
US20100251365A1 (en) * 2009-03-26 2010-09-30 Lyne James I G Dynamic scanning based on compliance metadata
CN103559235A (zh) * 2013-10-24 2014-02-05 中国科学院信息工程研究所 一种在线社交网络恶意网页检测识别方法
CN103679053A (zh) * 2013-11-29 2014-03-26 北京奇虎科技有限公司 一种网页篡改的检测方法及装置
CN106485148A (zh) * 2015-10-29 2017-03-08 远江盛邦(北京)网络安全科技股份有限公司 基于js‑bom结合的恶意代码行为分析沙箱的实现方法
CN106254339A (zh) * 2016-08-01 2016-12-21 北京比特大陆科技有限公司 挖矿业务的安全认证方法和系统
CN107045607A (zh) * 2016-12-13 2017-08-15 全球能源互联网研究院 应用异常行为识别模型建立方法及装置、识别方法及装置
CN107563199A (zh) * 2017-09-04 2018-01-09 郑州云海信息技术有限公司 一种基于文件请求监控的勒索软件实时检测与防御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316880B2 (en) 2019-09-16 2022-04-26 Avast Software, S.R.O. Cryptocurrency mining detection using network traffic
CN110933060A (zh) * 2019-11-22 2020-03-27 上海交通大学 一种基于流量分析的挖矿木马检测系统
CN110933060B (zh) * 2019-11-22 2021-10-22 上海交通大学 一种基于流量分析的挖矿木马检测系统
CN111314367A (zh) * 2020-02-27 2020-06-19 广东安创信息科技开发有限公司 一种基于流量特征识别挖矿程序的方法和系统

Also Published As

Publication number Publication date
CN108363925B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN108399337A (zh) 用于识别网页挖矿脚本的方法及装置
CN108427883A (zh) 网页挖矿脚本的检测方法及装置
US11343303B2 (en) Techniques for identifying issues related to digital interactions on websites
US20190068638A1 (en) Discovering website phishing attacks
Lin et al. Automated forensic analysis of mobile applications on Android devices
US9563424B2 (en) Native code instruction selection
US20150067853A1 (en) Systems and methods for detecting malicious mobile webpages
CN106022349B (zh) 用于设备类型确定的方法和系统
CN105940654A (zh) 特权静态被托管的web应用
KR20140038971A (ko) 다른 모바일 애플리케이션들의 존재에 근거하여 모바일 디바이스에 렌더링되는 광고들을 적응시키는 방법
CN108363925A (zh) 网页挖矿脚本的识别方法及装置
CN111163095B (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
CN104115117A (zh) 用于安全性测试的单元测试的自动合成
CN105653949B (zh) 一种恶意程序检测方法及装置
CN108900496A (zh) 一种快速探测网站被植入挖矿木马的检测方法以及装置
Alnaeli et al. Vulnerable C/C++ code usage in IoT software systems
CN106548049A (zh) 一种代码处理方法和装置
CN114154153A (zh) 恶意代码检测方法及装置、电子设备、存储介质
CN110532496B (zh) 用于圈选事件的方法和装置
US11392686B2 (en) Detecting stack cookie utilization in a binary software component using binary static analysis
CN108304697A (zh) 检测app二次打包的方法、装置及移动终端
US20140283080A1 (en) Identifying stored vulnerabilities in a web service
CN109145220A (zh) 数据处理方法、装置及电子设备
CN108416214A (zh) 网页挖矿防护方法及装置
US11233820B2 (en) Systems and methods for detecting phishing websites

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