CN104252592B - 外挂应用程序的识别方法及装置 - Google Patents

外挂应用程序的识别方法及装置 Download PDF

Info

Publication number
CN104252592B
CN104252592B CN201310263741.4A CN201310263741A CN104252592B CN 104252592 B CN104252592 B CN 104252592B CN 201310263741 A CN201310263741 A CN 201310263741A CN 104252592 B CN104252592 B CN 104252592B
Authority
CN
China
Prior art keywords
plug
application program
identified
information
characteristic information
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
Application number
CN201310263741.4A
Other languages
English (en)
Other versions
CN104252592A (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 Kingsoft Internet Security Software Co Ltd
Conew Network Technology Beijing Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Conew Network Technology Beijing Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and 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 Kingsoft Internet Security Software Co Ltd, Conew Network Technology Beijing Co Ltd, Shell Internet Beijing Security Technology Co Ltd, Zhuhai Juntian Electronic Technology Co Ltd, Beijing Kingsoft Internet Science and Technology Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201310263741.4A priority Critical patent/CN104252592B/zh
Publication of CN104252592A publication Critical patent/CN104252592A/zh
Application granted granted Critical
Publication of CN104252592B publication Critical patent/CN104252592B/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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种外挂应用程序的识别方法及装置,其中,上述方法包括:获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,当前行为特征信息与外挂应用程序的类型是对应的;根据当前行为特征信息对外挂应用程序进行识别。采用本发明提供的上述技术方案,解决了相关技术中,外挂应用程序识别方案存在的难以识别以及容易误判的问题,从而实现了对外挂应用程序的精确识别。

Description

外挂应用程序的识别方法及装置
技术领域
本发明涉及网络通信领域,具体而言,涉及一种外挂应用程序的识别方法及装置。
背景技术
由于网络游戏的风靡,编程语言的普及,程序编写日益简单化。导致出现了大量游戏辅助外挂软件,这些游戏辅助外挂软件中有部分夹带着恶意病毒,刷流量广告,所以需要对外挂软件进行病毒检测,但是由于外挂软件利用网络游戏传播广泛,加之这些游戏辅助外挂软件多变,更新迭代速度快,普通的检测识别技术很难做到精确识别分类,从而做出有效的处理和分类。
现有技术中的安全软件在对辅助外挂软件进行识别时,通常采用特征匹配、启发识别方式进行,特征匹配方式通常是通过将待检测程序、待检测程序的全部或部分代码、待检测程序所应用的全部或部分资源数据中的特征数据信息与已有的特征数据信息进行匹配,来判断是否为外挂软件;启发识别方式通过将待检测程序、待检测程序的全部或部分代码、待检测程序所应用的全部或部分资源数据中的特征数据信息与自学习后的特征数据信息进行匹配归类来判断是否是已知外挂软件的衍生,其中,所谓自学习是根据设定的方法,自主添加识别对象的特征。
发明人在研究的过程中发现现有技术至少存在以下问题:由于游戏辅助外挂软件更新频繁,传统的特征匹配方式只能对已有的特征进行匹配,这样便会导致传统的特征匹配方式滞后,智能匹配已经废弃的特征;而启发识别方式中,由于游戏辅助外挂软件编译器的框架代码和用户代码较难区分,且用户代码存在多变性(加密,混淆等),容易让启发自学习过程中学习了错误的元素,导致后续的错误判断和无法准确判断。以上缺陷的存在均会造成难以对外挂软件进行识别,进而影响针对外挂软件进行后续处理,例如病毒检测。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种外挂应用程序的识别方法及装置,以至少解决相关技术中,外挂应用程序识别方案存在的难以识别以及容易误判等问题。
根据本发明的一个方面,提供了一种外挂应用程序的识别方法,包括:获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,当前行为特征信息与外挂应用程序的类型是对应的;根据当前行为特征信息对外挂应用程序进行识别。
优选地,上述运行过程包括:调用外挂应用程序编程接口(Application ProgramInterface,简称为API)函数的过程,上述当前行为特征信息包括:调用API函数的过程中产生的API信息获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,包括:获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,包括:获取上述外挂应用程序在上述运行过程中产生的应用程序编程接口(Application Program Interface,简称为API)信息,其中,上述运行过程包括:调用API函数的过程。
优选地,上述API信息,包括以下至少之一:对不同的API函数的调用顺序和/或组合信息;API函数调用的参数信息;API函数的返回值信息。
优选地,上述参数信息,包括以下至少之一:外挂应用程序运行时所访问的网址信息;外挂应用程序的窗口信息;外挂应用程序的标识;外挂应用程序在运行过程中的对话框信息;外挂应用程序在运行时推广的广告信息。
优选地,根据当前行为特征信息对外挂应用程序进行识别,包括:将当前行为特征信息与预设数据库中的行为特征信息进行匹配,其中,预设数据库中包括:至少一个特征信息,其中,该特征信息与指定外挂应用程序是对应的;根据匹配结果对待识别的外挂应用程序进行识别。
优选地,根据匹配结果对外挂应用程序进行识别之后,包括:当匹配结果中至少存在一个与待识别的外挂应用程序相匹配的指定行为特征信息时,则将待识别的外挂应用程序确定为第一类别,否则将待识别的外挂应用程序确定为第二类别。
优选地,根据当前行为特征信息对外挂应用程序进行识别之后,包括:对确定为第一类别的外挂应用程序进行病毒检测。
优选地,根据当前行为特征信息对外挂应用程序进行识别之后,还包括:将当前行为特征信息添加到预设数据库中。
优选地,在获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息之前,包括:获取上述外挂应用程序,其中,上述外挂应用程序为用户上传的或者来自第三方应用市场的程序。
优选地,上述外挂应用程序包括:游戏外挂程序。
根据本发明的另一个方面,提供了一种外挂应用程序的识别装置,包括:第一获取模块,用于获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,当前行为特征信息与外挂应用程序的类型是对应的;识别模块,用于根据当前行为特征信息对外挂应用程序进行识别。
优选地,上述第一获取模块,用于在上述运行过程包括以下过程时获取当前行为特征信息:调用外挂应用程序编程接口API函数的过程,以及在上述当前行为特征信息包括以下信息时获取当前行为特征信息:调用API函数的过程中产生的API信息。
优选地,上述识别模块,包括:匹配单元,用于将当前行为特征信息与预设数据库中的行为特征信息进行匹配,其中,预设数据库中包括:至少一个特征信息,其中,该特征信息与指定外挂应用程序是对应的;识别单元,用于根据匹配结果对待识别的外挂应用程序进行识别。
优选地,上述装置还包括:分类模块,用于在匹配结果中至少存在一个与待识别的外挂应用程序相匹配的指定行为特征信息时,则将待识别的外挂应用程序确定为第一类别,否则将待识别的外挂应用程序确定为第二类别。
优选地,上述装置还包括:检测模块,用于对确定为第一类别的外挂应用程序进行病毒检测。
优选地,上述装置还包括:第二获取模块,用于获取上述外挂应用程序,其中,上述外挂应用程序为用户上传的或者来自第三方应用市场的程序。
通过本发明,采用根据待识别的外挂应用程序在运行过程中产生的当前行为特征信息对外挂应用程序进行识别的技术手段,解决了相关技术中,外挂应用程序识别方案存在的难以识别以及容易误判等问题,从而实现了对外挂应用程序的精确识别。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明实施例的外挂应用程序的识别方法的流程图;
图2为根据本发明实施例的外挂应用程序的识别装置的结构框图;
图3为根据本发明实施例的外挂应用程序的识别装置的另一结构框图;
图4为根据本发明优选实施例的外挂应用程序的识别方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下实施例可以应用到计算机中,例如应用到PC中。也可以应用到目前采用了智能操作系统中的移动终端中,并且并不限于此。对于计算机或移动终端的操作系统并没有特殊要求,只要支持外挂应用程序的运行即可。例如,以下实施例可以应用到Windows操作系统中。
图1为根据本发明实施例的外挂应用程序的识别方法的流程图。如图1所示,该方法包括:
步骤S102,获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,该当前行为特征信息与上述外挂应用程序的类型是对应的。
该步骤在实施之前,需要先获取上述待识别的外挂应用程序,该外挂应用程序的获取方式有多种,例如:可以通过用户上传的方式获取,或者从第三方应用市场获取(可以包括但不限于在网页上抓取等)等,上述外挂应用程序的获取过程还可以表现为以下形式:可以通过预设的检测软件实现:响应于用户操作,将上述外挂应用程序上传至检测软件;在该检测软件上自动运行上述外挂应用程序,并获取在该自动运行过程中产生的当前行为特征信息。其中,上述检测软件可以表现为网页、带有界面的客户端软件等,并且在该检测软件的界面上可以设置用于触发自动上传和/或运行上述外挂应用程序的按钮等。
该步骤中的当前行为特征信息可以包括但不限于API信息,只要满足能够根据该当前行为特征信息能够识别(或唯一识别)上述待识别的外挂应用程序的类型即可。在上述当前行为特征信息为API信息时,本步骤中的运行过程可以表现为调用API函数的过程。此时,当前行为特征信息(即API信息),可以包括但不限于以下至少之一:对不同的API函数的调用顺序和/或组合信息;API函数调用的参数信息;API函数的返回值信息。
其中,待识别的应用程序运行中调用API函数过程中产生的API信息,主要包括:调用的参数信息和返回值信息,其中,调用的参数信息参数是指待检测程序运行中调用API函数时传入的参数,返回值是指标识API函数是否调用成功的标识信息,例如:待检测程序在运行时调用了网络访问函数(InernetOpenUrlW),则该网络访问函数InernetOpenUrlW加载的网址信息即是调用参数,响应该网络访问函数InernetOpenUrlW加载网址信息是否成功的返回信息即是返回值;待识别外挂应用程序在运行时调用了创建窗口函数(CreateWinowExW),则该创建窗口函数CreateWinowExW创建窗口的窗口属性(比如窗口大小、窗口形状、窗口名称等)即是调用参数,响应该创建窗口函数CreateWinowExW创建窗口是否成功的返回信息即是返回值;待识别的外挂应用程序在运行时调用了网络下载函数,则该网络下载函数加载的网址信息同样也是调用参数,响应该网络下载函数时返回的数据包即是返回值。
在本实施例中,对待检测程序运行中调用的API信息的获取,可以利用hook(挂钩)技术对系统API函数的入口点进行修改,来获取待识别外挂应用程序运行中调用API函数时传入的调用参数信息及返回值信息,具体hook方式可以为相关技术中的任意一种hook方式。
在具体实施时,上述API函数调用的参数信息,可以包括但不限于以下至少之一:外挂应用程序运行时所访问的网址信息;外挂应用程序的窗口信息;外挂应用程序的标识(例如在外挂应用程序为游戏外挂软件时,该标识可以为游戏名称);外挂应用程序在运行过程中的对话框信息;外挂应用程序在运行时推广的广告信息。
步骤S104,根据当前行为特征信息对上述外挂应用程序进行识别。
本步骤的实现方式有多种,例如,可以采用以下方式:将当前行为特征信息与预设数据库中的行为特征信息进行匹配,其中,预设数据库中包括:至少一个特征信息,其中,该特征信息与指定外挂应用程序是对应的;根据匹配结果对待识别的外挂应用程序进行识别。此时,当匹配结果中至少存在一个与待识别的外挂应用程序相匹配的指定行为特征信息时,则将待识别的外挂应用程序确定为第一类别,否则将待识别的外挂应用程序确定为第二类别。其中,上述第一类别可以为以下之一:游戏外挂软件、移动办公软件、视频播放软件等,相应地,将非上述游戏外挂软件或非上述移动办公软件作为第二类别,以下将以游戏外挂软件的识别为例进行详细说明,此处不再赘述。这样便实现了对外挂应用程序的识别,在识别并进行归类后,可以对识别后的外挂应用程序进行后续处理,例如,可以对确定为上述第一类别的外挂应用程序进行病毒检测等。
为了更好地理解上述匹配过程,以下以外挂软件的识别为例详细说明上述匹配过程,可以包括两部分:
第一部分:以API函数调用的参数信息和API函数的返回值信息为例说明:
在获取到待识别程序调用的上述API信息后,可以对预设数据库的遍历查找,以判断预设数据库中是否存储有获取到的API信息,当查找出预设数据库中存储有获取到的API信息时,确定获取到的API信息与预设数据库中的API信息匹配,进而确定待识别程序为外挂软件的程序,其中,预设数据库中存储有已经识别到的外挂软件程序在运行时会用到的API信息。
由于上述预设数据库中的API信息也包括预设的参数信息和预设的返回值信息,因此,在对获取到的API信息与预设数据库中的API信息进行对比判断时,可以包括以下之一判断过程:(1)判断获取到的调用参数与预设参数是否匹配;(2)判断获取到的返回值与预设返回值是否匹配。在判断出获取到的调用参数与预设参数匹配的情况下、或在判断出获取到的返回值与预设返回值匹配的情况下,或在两者均匹配的情况下,确定获取到的API信息与预设数据库中的API信息匹配,进而确定待识别程序为外挂软件的程序。
分别以待识别程序运行时所涉及的调用参数和返回值为判断对象,采用与预设参数和预设返回值分别相对比的方式进行判断,实现了通过多种判定方式来对待识别程序进行识别,其中,单独采用调用参数或返回值进行判定的方式,避免了判断条件过于苛刻(即,既需要调用参数与预设参数匹配,还需要返回值与预设返回值匹配)容易造成对外挂程序的识别率较低;同时采用调用参数和返回值进行判定的综合判定方式,达到了提高判断待识别程序是否为外挂程序的精确度。
在基于调用参数识别出辅助外挂程序的基础上,将这个外挂程序的返回值信息保存至预设数据库,或在基于返回值识别出辅助外挂程序的基础上,将这个外挂程序的调用参数信息保存至预设数据库,实现了基于识别出的外挂程序及时更新预设数据库,使得预设数据库中的数据对象能够尽可能地包括所有用来识别外挂程序的对象,以便在后续的识别中覆盖面更广,识别率更高。
上述实施例所提供的外挂软件的识别方法中,获取到的API信息可以是一个调用参数和一个返回值,也可以是多个调用参数和多个返回值,还可以是待识别程序运行过程中调用的多个外挂应用程序编程接口函数(即,多个API函数)和这几个外挂应用程序编程接口函数的调用顺序(即,多个API函数的调用顺序),其中,对于获取到的API信息是一个调用参数和一个返回值的情况,进行外挂软件识别的方式与上述内容相同,以下分别对另外两种情况进行具体介绍:
对于获取到的API信息包括多个调用参数和多个返回值的情况,判断的方式为:判断获取到的任一调用参数与预设参数是否匹配,判断获取到的任一返回值与预设返回值是否匹配,其中,若判断出获取到的任一调用参数与预设参数匹配,或判断出获取到的任一返回值与预设返回值匹配,或判断出二者均匹配,则确定这个待识别程序为外挂软件的程序。
第二部分:以调用的API函数的调用顺序和/或组合信息为例说明:
对于获取到的API信息是多个API函数和多个API函数的调用顺序的情况,判断的方式为:判断多个API函数与预设数据库中存储的预设API函数组是否匹配,以及判断多个API函数的调用顺序与预设API函数组中API函数的组合顺序是否匹配,其中,若获取到的多个API函数为预设数据库中的一个预设API函数组,并且获取到的多个API函数的调用顺序与预设API函数组中API函数的组合顺序相同,则确定这个待识别程序为外挂软件的程序。
通过上述各个处理步骤,由于采用了根据外挂应用程序运行过程中产生的行为特征信息对该外挂应用程序进行识别的技术手段,因此,实现了从待识别外挂应用程序的动态行为出发,根据待识别外挂应用程序的动态行为特征进行识别,避免了传统的特征匹配方式基于静态文件(包括待检测程序、待检测程序的全部或部分代码、待检测程序所应用的全部或部分资源数据中的特征数据信息)进行特征匹配存在滞后性的弊端;并且,由于待识别外挂应用程序运行时产生的动态行为一般均是由用户代码来控制,与各类编码器无关,因此,避免了启发识别方式中由于存在学习了错误元素而导致误判的弊端,从而实现了对外挂应用程序的精确识别。
在本实施例中,为了避免上述预设数据库中的匹配特征的滞后性,在根据当前行为特征信息对外挂应用程序进行识别之后,还需要将当前行为特征信息添加到预设数据库中,以便实时对判定规则的更新,同时可以在后续的识别中覆盖面更广。
在本实施例中提供了一种外挂应用程序的识别装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。图2为根据本发明实施例的外挂应用程序的识别装置的结构框图。如图2所示,该装置包括:
第一获取模块20,连接至识别模块22,用于获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,该当前行为特征信息与所述外挂应用程序的类型是对应的;
识别模块22,用于根据当前行为特征信息对外挂应用程序进行识别。
通过上述各个模块实现的功能,同样避免了传统的特征匹配方式基于静态文件(包括待检测程序、待检测程序的全部或部分代码、待检测程序所应用的全部或部分资源数据中的特征数据信息)进行特征匹配存在滞后性的弊端;并且,由于待识别外挂应用程序运行时产生的动态行为一般均是由用户代码来控制,与各类编码器无关,因此,避免了启发识别方式中由于存在学习了错误元素而导致误判的弊端。
在本实施例中,上述第一获取模块20,用于在运行过程包括以下过程时获取当前行为特征信息:调用外挂应用程序编程接口API函数的过程,以及在当前行为特征信息包括以下信息时获取当前行为特征信息:调用API函数的过程中产生的API信息。
在本实施例中,如图3所示,上述识别模块22还可以包括以下处理单元:匹配单元220,连接至识别单元222,用于将当前行为特征信息与预设数据库中的行为特征信息进行匹配,其中,预设数据库中包括:至少一个特征信息,其中,该特征信息与指定外挂应用程序是对应的;识别单元222,用于根据匹配结果对待识别的外挂应用程序进行识别。
优选地,如图3所示,上述装置还可以包括:分类模块24,与上述识别模块22连接,用于在匹配结果中至少存在一个与待识别的外挂应用程序相匹配的指定行为特征信息时,则将待识别的外挂应用程序确定为第一类别,否则将待识别的外挂应用程序确定为第二类别。
优选地,上述装置还可以包括以下处理模块:检测模块26,与上述分类模块24连接,用于对确定为第一类别的外挂应用程序进行病毒检测。
优选地,上述装置还可以包括:第二获取模块28,连接至第一获取模块20,用于获取上述外挂应用程序,其中,外挂应用程序为用户上传的或者来自第三方应用市场的程序。该外挂应用程序的获取过程有多种,例如:可以通过用户上传的方式获取,或者从第三方应用市场获取(可以包括但不限于在网页上抓取等)等,上述外挂应用程序的获取过程还可以表现为以下形式:可以通过预设的检测软件实现:响应于用户操作,将上述外挂应用程序上传至检测软件;在该检测软件上自动运行上述外挂应用程序,并获取在该自动运行过程中产生的当前行为特征信息。其中,上述检测软件可以表现为网页、带有界面的客户端软件等,并且在该检测软件的界面上可以设置用于触发自动上传和/或运行上述外挂应用程序的按钮等。外挂应用程序外挂应用程序
正如上面所述,本实施例中涉及到的上述各个模块既可以通过软件来实现,例如通过服务器上的检测软件(对用户可以表现为网页、客户端等形式),也可以通过相应的硬件来实现。例如,上述各个模块均可以处在处理器中,例如:上述各个模块均处于一个处理器中,或者分别处于一个对应的处理器中,以下以获取模块20和识别模块为例进行说明:一种处理器,包括:上述获取模块20和上述识别模块22;上述各个模块分别处于一个对应的处理其中:上述获取模块20,位于第一处理器中,上述识别模块22位于第二处理器中。
下面结合一个优选的实施例进行说明
图3为根据本发明优选实施例的外挂应用程序的识别方法的流程图。如图3所示,该方法包括:
步骤302,运行待识别的外挂应用程序。
所谓待识别的外挂应用程序可以是由用户上传至服务器上的程序,并且,为了节省人力,可以在上传成功后自动运行该外挂应用程序。在本实施例中,一个识别过程可以同时运行多个待识别的外挂应用程序。
步骤S304,记录程序用到的API参数和返回值信息。
对步骤S304中所运行的每个待识别程序运行过程中调用的多个调用参数和多个返回值进行记录,其中,实现记录的方式可以采用的hook方式。
步骤S306,分析记录的API信息。
对记录的API信息进行分析,即,从获取到的每个待识别程序所调用的多个调用参数和多个返回值中进行判断对象的筛选,所谓筛选判断对象是指对获取到的每个待识别程序的多个调用参数和多个返回值进行过滤,排除掉干扰信息,得到有效的判定素材。在本实施例中,进行过滤筛选的具体方法可以为:获取每个待识别程序的特征信息,其中,所谓特征信息是指仅包含在所属待识别程序的多个调用参数和多个返回值中的信息,即,第一待识别程序的特征信息是指包含在第一待识别程序调用的多个调用参数或多个返回值中调用参数和返回值,但不包含在其它待识别程序调用的多个调用参数和多个返回值中的信息,也即,第一待识别程序的特征信息是对应第一待识别程序的多个调用参数和多个返回值中的任意调用参数或返回值,其中,第一待识别程序为多个待识别程序中任意一个待识别程序。
步骤S308,判断多个待识别程序是否满足辅助外挂程序的API信息特征,如果是转步骤S310,否则转步骤S312。
该步骤中,需要对预设数据库中存储的辅助外挂程序用到的API信息(包括预设参数和预设返回值)进行遍历查找,并以步骤S306中分析出的各个待识别程序的特征信息为有效的判定素材进行判断,具体地,对多个待识别程序中任意一个待识别程序(即,第一待识别程序)的具体判断方式为:判断第一待识别程序的特征信息与预设参数或预设返回值是否匹配,若判断出获取到第一待识别程序的特征信息与预设参数或预设返回值匹配,则确定第一待识别程序为外挂软件的程序。
对于同时运行多个待识别程序的情况,在对具体的待识别程序是否为外挂程序的识别中,如果作为该待识别程序(以下称作第一待识别程序)的判断对象的API信息(以下称作第一API信息)是其它待识别程序运行中也调用的API信息,那么以第一API信息作为判断对象来判断第一待识别程序是否为外挂程序就不具有针对性,对于这样的判断对象应该予以排除(具体排除方式参见上面所述,此处不再赘述),然后基于各个子待识别程序的有效判定素材进行外挂与否的识别,实现了通过能够单独反映某个待识别程序特征的特征信息来判断这个待识别程序是否为辅助外挂程序,提高了待识别程序的判断精确度。
步骤S310,满足辅助外挂程序的API信息特征,实现了对外挂应用程序的识别。
步骤S312,退出。
以下以游戏《地下城与勇士》(简称DNF)的辅助外挂程序为例来进一步说明本实施例所提供的识别方法:
DNF的辅助外挂程序运行时,会先识别当前版本是否为最新版本,需要调用网络访问函数到指定网址来判断当前版本是否需要升级;还会识别当前是否存在地下城与勇士游戏进程(DNF.exe),即DNF游戏是否已经开启或者已经安装;还会通过弹窗给使用者一些提示或推送一些广告;以及其它功能。所以,对于这样的程序,所获取到的API信息包括调用网络访问函数时传入的指定网址、调用识别函数时响应识别函数的返回值(即,游戏名称)、调用弹窗函数时传入的弹窗属性、响应弹窗函数的返回值(即,提示内容或广告内容)等。在识别判断时,可以通过以下条件的至少之一来判断这个程序是否为外挂程序:
指定网址是否为预设数据库中的预设参数;
响应识别函数的返回值是否为预设数据库中的返回值;
弹窗属性是否为预设数据库中的预设参数;
响应弹窗函数的返回值是否为预设数据库中的返回值;
程序程序运行中按时间先后调用的API函数对应的多个API“网络访问函数-检测函数-弹窗函数”是否是预设数据库中的预设API组,以及这多个API的调用顺序与预设API组中API的组合顺序是否相同;
当上述判断条件的判断结果至少有一个为是,或至少有多个为是时,确定识别出DNF的辅助外挂程序为辅助外挂程序。
综上所述,本发明的上述实施例实现了以下有益效果:避免了基于文件静态信息时遇到加密,混淆带来的匹配干扰;有效解决了传统特征匹配通过静态文件特征匹配的滞后性,通过程序的行为信息能准确判断出该程序是否是最新版本的程序及所属的辅助外挂类,且判定的规则能自动更新;有效避免了基于启发来识别判定过程中的错误判断和错误的学习了程序素材,基于程序行为信息的判断,完全分离了用户代码和编译器框架代码的问题,因为程序产生各自的行为都是由用户代码来控制,与各类编译器无关,从而能更精确的判断和累积判定素材;减轻了人工分析分类程序的工作量;能准确识别出流行的辅助外挂程序如:炫舞外挂,洛克王国外挂,DNF外挂,CF外挂等。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种外挂应用程序的识别方法,其特征在于,包括:
获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,所述当前行为特征信息与所述外挂应用程序的类型是对应的;
根据所述当前行为特征信息对所述外挂应用程序进行识别。
2.根据权利要求1所述的方法,其特征在于,所述运行过程包括:调用应用程序编程接口API函数的过程,所述当前行为特征信息包括:调用API函数的过程中产生的API信息。
3.根据权利要求2所述的方法,其特征在于,所述API信息,包括以下至少之一:
对不同的API函数的调用顺序和/或组合信息;API函数调用的参数信息;API函数的返回值信息。
4.根据权利要求3所述的方法,其特征在于,所述参数信息,包括以下至少之一:
所述外挂应用程序运行时所访问的网址信息;
所述外挂应用程序的窗口信息;
所述外挂应用程序的标识;
所述外挂应用程序在运行过程中的对话框信息;
所述外挂应用程序在运行时推广的广告信息。
5.根据权利要求1所述的方法,其特征在于,根据所述当前行为特征信息对所述外挂应用程序进行识别,包括:
将所述当前行为特征信息与预设数据库中的行为特征信息进行匹配,其中,所述预设数据库中包括:至少一个特征信息,其中,该特征信息与指定外挂应用程序是对应的;
根据匹配结果对所述待识别的外挂应用程序进行识别。
6.根据权利要求5所述的方法,其特征在于,根据匹配结果对所述外挂应用程序进行识别之后,包括:
当所述匹配结果中至少存在一个与所述待识别的外挂应用程序相匹配的指定行为特征信息时,则将所述待识别的外挂应用程序确定为第一类别,否则将所述待识别的外挂应用程序确定为第二类别。
7.根据权利要求5所述的方法,其特征在于,根据所述当前行为特征信息对所述外挂应用程序进行识别之后,还包括:
将所述当前行为特征信息添加到所述预设数据库中。
8.根据权利要求1所述的方法,在获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息之前,包括:
获取所述外挂应用程序,其中,所述外挂应用程序为用户上传的或者来自第三方应用市场的程序。
9.一种外挂应用程序的识别装置,其特征在于,包括:
第一获取模块,用于获取待识别的外挂应用程序在运行过程中产生的当前行为特征信息,其中,所述当前行为特征信息与所述外挂应用程序的类型是对应的;
识别模块,用于根据所述当前行为特征信息对所述外挂应用程序进行识别。
10.根据权利要求9所述的装置,其特征在于,所述第一获取模块,用于在所述运行过程包括以下过程时获取所述当前行为特征信息:调用外挂应用程序编程接口API函数的过程,以及在所述当前行为特征信息包括以下信息时获取所述当前行为特征信息:调用API函数的过程中产生的API信息。
11.根据权利要求9所述的装置,其特征在于,所述识别模块,包括:
匹配单元,用于将所述当前行为特征信息与预设数据库中的行为特征信息进行匹配,其中,所述预设数据库中包括:至少一个特征信息,其中,该特征信息与指定外挂应用程序是对应的;
识别单元,用于根据匹配结果对所述待识别的外挂应用程序进行识别。
12.根据权利要求11所述的装置,其特征在于,还包括:
分类模块,用于在所述匹配结果中至少存在一个与所述待识别的外挂应用程序相匹配的指定行为特征信息时,则将所述待识别的外挂应用程序确定为第一类别,否则将所述待识别的外挂应用程序确定为第二类别。
13.根据权利要求9所述的装置,其特征在于,还包括:
第二获取模块,用于获取所述外挂应用程序,其中,所述外挂应用程序为用户上传的或者来自第三方应用市场的程序。
CN201310263741.4A 2013-06-27 2013-06-27 外挂应用程序的识别方法及装置 Active CN104252592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310263741.4A CN104252592B (zh) 2013-06-27 2013-06-27 外挂应用程序的识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310263741.4A CN104252592B (zh) 2013-06-27 2013-06-27 外挂应用程序的识别方法及装置

Publications (2)

Publication Number Publication Date
CN104252592A CN104252592A (zh) 2014-12-31
CN104252592B true CN104252592B (zh) 2017-07-25

Family

ID=52187478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310263741.4A Active CN104252592B (zh) 2013-06-27 2013-06-27 外挂应用程序的识别方法及装置

Country Status (1)

Country Link
CN (1) CN104252592B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141590B (zh) * 2015-08-06 2019-05-28 福建天晴数码有限公司 外挂样本提取的方法及系统
CN105207842B (zh) * 2015-08-26 2019-01-22 福建天晴数码有限公司 Android外挂特征检测的方法及系统
CN105233499B (zh) * 2015-09-25 2019-02-22 广州华多网络科技有限公司 一种游戏代码校验的方法及游戏客户端、系统
CN106970871B (zh) * 2016-01-14 2020-12-04 阿里巴巴集团控股有限公司 一种外挂程序检测的方法及装置
CN106955493A (zh) * 2017-03-30 2017-07-18 北京乐动卓越科技有限公司 一种3d网络游戏中角色移动的校验方法
CN108187346A (zh) * 2018-01-30 2018-06-22 努比亚技术有限公司 一种防止应用外挂的方法、终端及存储介质
CN109078331B (zh) * 2018-07-19 2021-09-21 广州华多网络科技有限公司 模拟按键检测方法、装置、计算机设备及存储介质
CN109491863B (zh) * 2018-10-25 2022-04-22 新华三大数据技术有限公司 应用程序类型的识别方法及装置
CN109731339B (zh) * 2018-12-17 2022-04-12 福建天晴数码有限公司 检测外挂的方法、存储介质
CN110222506A (zh) * 2019-06-11 2019-09-10 腾讯科技(深圳)有限公司 快应用检测方法、装置、设备和存储介质
CN111803956B (zh) * 2020-07-22 2024-02-09 网易(杭州)网络有限公司 游戏外挂行为的确定方法、装置、电子设备及存储介质
CN112791414B (zh) * 2021-04-15 2021-08-17 腾讯科技(深圳)有限公司 外挂识别模型训练方法、装置、电子设备及存储介质
CN113343239A (zh) * 2021-06-28 2021-09-03 Oppo广东移动通信有限公司 应用识别方法、装置、存储介质及电子设备
CN113827984B (zh) * 2021-09-27 2023-12-12 �田�浩 一种动作类游戏反外挂方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737722A (zh) * 2005-08-03 2006-02-22 珠海金山软件股份有限公司 一种检测和防御计算机恶意程序的系统和方法
US7103913B2 (en) * 2002-05-08 2006-09-05 International Business Machines Corporation Method and apparatus for determination of the non-replicative behavior of a malicious program
CN101114324A (zh) * 2006-07-25 2008-01-30 珠海市西山居软件有限公司 可反外挂的网络游戏系统及网络游戏系统反外挂的方法
CN102902924A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 对文件行为特征进行检测的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103913B2 (en) * 2002-05-08 2006-09-05 International Business Machines Corporation Method and apparatus for determination of the non-replicative behavior of a malicious program
CN1737722A (zh) * 2005-08-03 2006-02-22 珠海金山软件股份有限公司 一种检测和防御计算机恶意程序的系统和方法
CN101114324A (zh) * 2006-07-25 2008-01-30 珠海市西山居软件有限公司 可反外挂的网络游戏系统及网络游戏系统反外挂的方法
CN102902924A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 对文件行为特征进行检测的方法及装置

Also Published As

Publication number Publication date
CN104252592A (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN104252592B (zh) 外挂应用程序的识别方法及装置
CN104123500B (zh) 一种基于深度学习的Android平台恶意应用检测方法及装置
CN105187395B (zh) 基于接入路由器进行恶意软件网络行为检测的方法及系统
US9762593B1 (en) Automatic generation of generic file signatures
US20190196952A1 (en) Systems and methods using artificial intelligence to identify, test, and verify system modifications
CN103927198B (zh) 一种软件清理方法及装置
US9600834B2 (en) Aggregating data from multiple devices belonging to one user for directed ad targeting
CN103679031B (zh) 一种文件病毒免疫的方法和装置
US20200358781A1 (en) Website verification platform
US11892925B2 (en) Electronic device for reconstructing an artificial intelligence model and a control method thereof
CN101944167A (zh) 识别恶意程序的方法及系统
KR20170015129A (ko) 개인 정보 제어 메커니즘에 관한 컴퓨팅 시스템 및 그 구동 방법
CN107257390B (zh) 一种url地址的解析方法和系统
US20150213365A1 (en) Methods and systems for classification of software applications
US10314544B2 (en) Method, apparatus and computer program for activity sensor data processing
CN106528193A (zh) 一种应用更新方法及终端
US10423410B1 (en) Source code rules verification method and system
CN107609004A (zh) 应用程序埋点方法和装置、计算机设备和存储介质
CN112791414B (zh) 外挂识别模型训练方法、装置、电子设备及存储介质
EP3807775A1 (en) An ensemble-based data curation pipeline for efficient label propagation
CN108491321A (zh) 测试用例范围确定方法、装置及存储介质
CN107360155A (zh) 一种基于威胁情报和沙箱技术的网络攻击自动溯源方法和系统
CN108134816A (zh) 对远程设备上的数据的访问
CN108304426A (zh) 标识的获取方法及装置
CN113360800A (zh) 无特征数据处理方法、装置、计算机设备及存储介质

Legal Events

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