CN103235913B - 一种用于识别、拦截捆绑软件的系统、设备及方法 - Google Patents

一种用于识别、拦截捆绑软件的系统、设备及方法 Download PDF

Info

Publication number
CN103235913B
CN103235913B CN201310115892.5A CN201310115892A CN103235913B CN 103235913 B CN103235913 B CN 103235913B CN 201310115892 A CN201310115892 A CN 201310115892A CN 103235913 B CN103235913 B CN 103235913B
Authority
CN
China
Prior art keywords
new process
bundled software
software
information
new
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
CN201310115892.5A
Other languages
English (en)
Other versions
CN103235913A (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 Qizhi Business Consulting Co ltd
Beijing Qihoo Technology Co Ltd
360 Digital Security Technology Group Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310115892.5A priority Critical patent/CN103235913B/zh
Publication of CN103235913A publication Critical patent/CN103235913A/zh
Application granted granted Critical
Publication of CN103235913B publication Critical patent/CN103235913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种用于识别、拦截捆绑软件的系统、设备及方法,其中,系统包括:捕获器,被配置为在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;第一识别器,被配置根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则输入至第二识别器;第二识别器,被配置为根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将新进程识别为可疑捆绑软件;第三识别器,被配置为至少根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件。

Description

一种用于识别、拦截捆绑软件的系统、设备及方法
技术领域
本发明涉及软件安装技术领域,具体涉及一种用于识别、拦截捆绑软件的系统及方法。
背景技术
目前用户电脑上通过捆绑安装方式被动安装的软件很多,种类也繁多,几乎涉及了电脑日常使用的方方面面。捆绑方式也多种多样,常见的有以下几种:安装时提醒并可选、默认插件安装、不可预见的强制性安装等等。一般情况下,用户往往都是默认直接点击安装软件,也不认真看安装时的提醒,进而并不知情软件的捆绑情况,由此造成用户电脑上的通过捆绑方式安装的软件很多。但是,如果捆绑软件过多,则会影响用户电脑系统的性能,开机、运行等效率降低,甚至影响用户的正常使用。更为严重的,有些捆绑软件可能会导致用户在不知情的情况下误安装一些恶意软件,或者是广告骚扰程序等,进而不仅仅影响用户电脑的系统性能,影响用户上网以及使用软件时的体验,还可能威胁到用户的电脑安全。
而且,有的软件为了更好的隐藏自己,以便通过捆绑其他正常软件一起被安装,还会通过各种方式进行变体,因此更难于识别和拦截。因此,如何准确识别出捆绑安装行为以及对被捆绑软件进行拦截,是目前非常迫切需要解决的技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用于识别、拦截捆绑软件的系统和相应的用于识别、拦截捆绑软件的方法。
依据本发明的一个方面,提供了一种用于识别捆绑软件的系统,包括:捕获器,被配置为在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;第一识别器,被配置根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则输入至第二识别器;第二识别器,被配置为根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将新进程识别为可疑捆绑软件;第三识别器,被配置为至少根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系。
可选的,还包括:本地缓存过滤器,被配置为根据已知的本地捆绑白名单对捕获器捕获到的新进程先进行过滤,没用命中本地捆绑白名单的新进程再进入第一识别器进行识别。
可选的,第二识别器还被配置为将未被第二本地特征库成功匹配的新进程的信息提供给本地缓存过滤器,供其更新本地捆绑白名单;第三识别器还被配置为将识别为非捆绑软件的新进程的信息提供给本地缓存过滤器,供其更新本地捆绑白名单。
可选的,还包括:云缓存过滤器,被配置为根据已知的云捆绑白名单对第二识别器识别为可疑捆绑软件的新进程先进行过滤,没有命中云捆绑白名单的再发送至第三识别器进行识别。
可选的,第一本地特征库包括若干条捆绑特征记录,每一条捆绑特征记录包含足以确定某一进程是捆绑软件的全部特定特征,只有在新进程的相关信息与第一本地特征库中某一条捆绑特征记录中的全部特定特征都匹配时,第一识别器才确定为匹配成功。
可选的,第二本地特征库包含的已知捆绑软件的共性特征信息,具体通过分析当前流行的已知捆绑软件的文件信息中某一特征要素的共同特性获得。
可选的,还包括:执行器,被配置为当第三识别器无法判断新进程是否为捆绑软件时,获取创建新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别新进程是否为捆绑软件,并根据识别结果更新云端数据库。
可选的,新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息。
根据本发明的另一方面,还公开了一种用于拦截捆绑软件的系统,包括如前面任一项的用于识别捆绑软件的系统以及拦截器,拦截器被配置为在用户确认后,在保证当前进程正常安装的前提下拦截被识别为捆绑软件的安装。
根据本发明的另一方面,还公开了一种用于识别捆绑软件的客户端设备,包括:捕获器,被配置为在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;第一识别器,被配置根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则输入至第二识别器;第二识别器,被配置为根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将新进程识别为可疑捆绑软件,并将当前进程和新进程的进程创建关系发送至服务器端进行识别。
根据本发明的又一方面,还公开了一种用于拦截捆绑软件的客户端设备,包括:检测器,被配置为检测客户端中进行软件安装的当前进程;捕获器,被配置为在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;第一识别器,被配置根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件。
根据本发明的又一方面,还公开了一种用于拦截捆绑软件的客户端设备,包括前面的用于识别捆绑软件的客户端设备以及拦截器,拦截器被配置为在用户确认后,在保证当前进程正常安装的前提下拦截被识别为捆绑软件的安装。
根据本发明的又一方面,还公开了一种用于识别捆绑软件的服务器端设备,包括:接口模块,被配置为接收客户端设备发送的被识别为可疑捆绑软件的新进程与当前进程的进程创建关系,并传输至识别模块进行识别,以及识别模块的识别结果发送给客户端设备;识别模块,被配置为根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系。
根据本发明的又一方面,还公开了一种用于识别捆绑软件的方法,包括:在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则继续进行识别;根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将新进程识别为可疑捆绑软件;至少根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系。
可选的,还包括:根据已知的本地捆绑白名单对捕获到的新进程先进行过滤,没用命中本地捆绑白名单的新进程再根据第一本地特征库进行识别。
可选的,还包括:根据未被第二本地特征库成功匹配的新进程的信息,更新本地捆绑白名单;以及根据服务器端的云端数据库识别为非捆绑软件的新进程的信息,更新本地捆绑白名单。
可选的,还包括:当根据云端数据库无法判断新进程是否为捆绑软件时,获取创建新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别新进程是否为捆绑软件,并根据识别结果更新云端数据库。
根据本发明的又一方面,还公开了一种用于在客户端识别捆绑软件的方法,包括:在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则继续进行识别;根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将新进程识别为可疑捆绑软件,并将当前进程和新进程的进程创建关系发送至服务器端进行识别。
根据本发明的又一方面,还公开了一种用于网络侧识别捆绑软件的方法,包括:接收客户端设备发送的被识别为可疑捆绑软件的新进程与当前进程的进程创建关系;根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系;将识别结果返回至客户端设备。
根据本发明的又一方面,还公开了一种用于在客户端识别捆绑软件的方法,包括:检测客户端中进行软件安装的当前进程;在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件。
根据本发明的用于识别捆绑软件的系统及方法,以及用于拦截捆绑软件的方法及系统,通过在客户端侧设置至少两级识别以及本地与网络侧联合查询识别,能够较好的将捆绑软件识别及拦截,从而降低了大量捆绑软件对客户端系统性能的影响,取得了提高系统性能的有益效果。由于客户端侧两级识别采用的特征库不同,其中一级采用比较详细、具体的特定特征数据库,因此可以直接据此判定命中的新进程是捆绑进程,而另一级识别主要针对信息量小的那些进程,通过捆绑软件的一些共性进行过滤,识别出可疑捆绑软件,然后再通过云端进行查询,也减小了云端查询的压力。进一步,通过在客户端侧设置本地缓存捆绑白名单,提高了捆绑软件的识别效率。更进一步,通过在客户端侧设置云缓存捆绑白名单,更进一步降低了识别捆绑软件的通信量,如果能通过该白名单识别出不是捆绑软件,就无需再发送到服务器端再进行查询。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的用于拦截捆绑软件的系统示意图;
图2示出了根据本发明一个实施例的用于识别捆绑软件的方法流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
请参阅图1,其为根据本发明一个实施例的用于拦截捆绑软件的系统示意图。在本实施例中,该系统包括客户端侧的设备和服务器侧的设备,具体而言,客户端侧包括捕获器110、第一识别器120、第二识别器130、本地缓存过滤器140、拦截器150以及云缓存过滤器160,服务器侧包括第三识别器210和执行器220。下面结合具体数据处理流程详细介绍。
首先,捕获器110在客户端捕获当前进程创建新进程的事件,以及获知所述新进程的相关信息。例如,通过在客户端将现有进程的CreateProcessInternalW函数进行挂载,捕获当前进程创建新进程的事件,以及获知所述新进程的相关信息。为描述更清楚,在后续描述过程中,以现有进程具体是A进程、创建的新进程是B进程为例进行说明。本领域技术人员可以理解,B进程实质上指的也是B的安装包,B的安装包成功安装后即为B软件,因此,B进程、B的安装包、B软件在本申请中可以理解为指代的是同一概念。
具体而言,本系统启动时,捕获器110对客户端中运行的当前进程进行HOOK(钩子)注入,当前进程的CreateProcessInternalW函数会被挂载,即当前进程的CreateProcessInternalW函数会被替换为本系统自己的函数,进而任何一个当前进程创建新进程的过程都可以被捕获到,例如A进程创建B进程的动作会被捕获器110捕获到,并且能够查看被新创建的B进程的文件信息。B进程的文件信息通常包括以下信息中的一种或多种:资源信息、签名信息、PE文件属性以及命令行信息。其中,资源信息主要包括版本号、公司名、产品名称、内部名称等;签名信息包括签名人、签名日期等信息;PE文件属性包括:文件大小、PE文件的时间戳等信息。
在捕获器110捕获到一当前进程创建了新进程的事件后,本地缓存过滤器140根据已知的本地捆绑白名单对捕获器110捕获到的新进程先进行过滤,没用命中所述本地捆绑白名单的新进程再进入第一识别器进行识别。
本地缓存过滤器140中的本地捆绑白名单在最初可能是空的,但随着后续第一识别器120和第二识别器130不断识别出不是捆绑软件数量的增加,可以随之丰富本地捆绑白名单中的内容,后续在描述第二识别器130时还会具体描述如何根据识别结果更新本地捆绑白名单。在本地捆绑白名单中记录有确定不是捆绑软件的那些软件的特征信息,可疑根据本地各识别器识别后确定不是捆绑软件,特征信息可以选择文件的基本三要素即可,如文件路径、最后修改时间和文件大小。由于捕获器110可以获知新进程的相关信息,其中也包括文件的三要素,因此本地缓存过滤器140据此在本地捆绑白名单中匹配,如果能够匹配成功,则确定该进程不是捆绑软件,即放行。也无需进行后续的识别流程。可见,通过将本地缓存过滤器140设置在识别的最前端,可以提高识别效率,不需要对已经通过第一识别器120及第二识别器130等识别过、确定不是捆绑软件的新进程再次进程识别,直接通过本地白名单即可确定,自然也就不需要对第一识别器120和第二识别器130提供进行识别所需的一些新进程的相关信息,如资源信息、签名信息以及PE文件属性等,从而节省了查询和获取所带来的开销。
当然,本领域技术人员可以理解,本地缓存过滤器140是一种为了提高识别效率而采用的一种可选方案,如果没有本地缓存过滤器140的存在,即捕获器110捕获到当前进程创建新进程的事件后,直接传输到第一识别器120开始识别,也不影响识别结果,理论上也是可行的。此外,虽然缓存白名单意义比较大,因为某些word、excel等常用软件可能用户每天都需要使用,缓存白名单的存在能够减少对常用软件的识别工作量,但也不排除在某些特殊情况下,可以在本地缓存过滤器140中设置本地捆绑黑名单。
如果没有命中本地捆绑白名单,则继续通过第一识别器120进行识别。第一识别器120根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将该新进程识别为捆绑软件,如匹配不成功则输入至第二识别器130。
具体而言第一本地特征库存储有一些捆绑软件的描述信息。存储形式一般是若干条捆绑特征记录,每一条捆绑特征记录包含足以确定某一进程是捆绑软件的全部特定特征,只有在所述新进程的相关信息与所述第一本地特征库中某一条捆绑特征记录中的全部特定特征都匹配时,第一识别器120才确定为匹配成功。每一条捆绑特征记录中包括的要素通常是已知捆绑软件的资源信息、签名信息、PE文件属性以及命令行信息等,有时这四部分信息都有,有时只有其中的一部分(比如某个捆绑软件在安装过程中不需要命令行,那么捆绑特征记录中就可能没有命令行的信息),但都要保证根据每一条捆绑特征记录中的全部要素都满足时,能够确定一个待识别的新进程是捆绑软件才行。因此,一般第一本地特征库中每条捆绑特征记录的内容相对较完整,以便提高捆绑软件识别的准确率。
例如,A进程新创建的B进程的文件信息比较全,包括资源信息、签名信息、PE文件属性以及命令行信息。第一识别器120将B进程的这些文件信息内容,与第一本地特征库中的各条捆绑特征记录进行匹配,如果某条捆绑特征记录中也包含资源信息、签名信息、PE文件属性以及命令行信息四部分信息,并且具体内容与B进程的文件信息内容完全一致,那么即可判断B进程是捆绑软件。需要注意的是,为了降低误报率,第一识别器110采用的是完全匹配原则,如果B进程的文件信息只与第一本地特征库中某一条捆绑特征记录中的一部分特征要素匹配成功,还有一部分没有匹配成功,那么也不能判断为匹配成功,即不能识别B进程为捆绑软件。
第一本地数据库中已知捆绑软件的特定特征信息可以通过抓包、运行、分析捆绑逻辑等多种方式获得。捆绑软件目前有多种,比较常见的一是直接捆包,二是可能通过在网上申请一个地址,地址描述了会捆绑哪些软件,下载描述链接,则可以自动运行安装。针对第一种,可以直接抓包提取捆绑包的特征信息,记录到第一本地数据库。对于第二种,可以通过抓包工具分析捆绑的逻辑,例如访问了哪些资源定位符URL,捆绑了哪些包,然后收集这些链接,记入URL池,周期性启动一次URL池的更新,以便下载下最新的链接,从而获得最新的捆绑包内容。然后可以在沙箱、密罐等隔离环境中运行相关软件,如果特定时间内这些软件安装的同时还自动安装了其他的软件,则可以判断这些其他的软件是不是捆绑包。如果新识别出的捆绑包特征信息没有在第一本地特征库中予以记录,那么就可以新增到第一本地特征库。对于第二种URL的情况,可能捆绑包更新很快,但只要URL不变,通过周期性更新下载,就可以得到最新的捆绑包。从而保证了第一本地特征库内容的及时更新。
可选的,考虑到很多捆绑软件的变体仅仅是大小不同,其余的各种信息都是相同的,因此,为了减少第一本地识别库的冗余信息,可以在某条捆绑特征记录中文件大小这一要素限定为一个范围,而不是某个特定的值,这样该条捆绑特征记录可以命中若干属于变体关系的捆绑软件。
如果第一识别器120识别出B进程是捆绑软件,则拦截器150会在用户确认后,在保证当前A进程正常安装的前提下拦截被识别为捆绑软件的B进程的安装。具体而言,拦截器150会向用户提示,如弹框,如是否继续安装B软件或是否阻止安装。本领域技术人员可以理解,如果不包含拦截器150,本实施例所示的系统可以理解为是一种用于识别捆绑软件的系统。
前面提到,第一本地特征库中的特定特征信息一般比较具体、详细,如果完全匹配,即可准确判断是否为捆绑软件。但是,很多捆绑软件为了避免被识别,会不写版本号、乱写版本号、不写公司名称、签名以及软件大小等,或者经常变化这些信息,因此,捕获器110捕获到的新进程的相关信息可能很少,大量信息缺失,这种情况下根据第一识别器120就无法准确识别,为此,本发明实施例中设置了第二识别器130。
第二识别器根据所述新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件。具体而言已知捆绑软件的共性特征信息,可以通过分析当前流行的已知捆绑软件的文件信息中某一特征要素的共同特性获得。例如,通过对已知的大量捆绑软件分析发现,有些捆绑软件具有一定的共性,如文件大小均在某个范围内,如**M-**M之间,或者签名都包含相同的特定内容,如都包含XXX字符。本领域技术人员可以理解,捆绑软件的共性随着流行趋势的变化、时间的推移、样本量的变化都可能随之变化,因此本发明实施例对此并没有限制,包括但不限于上述提到的几种共性。进而,就可以将这些捆绑包的共性提取成为共性特征信息,记录到第二本地特征库。可选的,第二本地特征库的格式与第一本地特征库的格式可以相同,比如每条共性特征记录也是四部分的格式:资源信息、签名信息、PE文件属性以及命令行信息,但其中部分内容是空白的,如资源信息、签名信息和命令行信息部分都是空的,只有PE文件属性那部分有个文件大小的范围,如**M*至**M之间。进而,根据该条记录,只要新进程的文件大小在**M至**M之间,即使其他诸如资源信息、签名信息和命令行信息等内容缺失,也可以在第二本地特征库匹配成功,进而被第二识别器130识别为可疑捆绑软件。
由于第二本地特征库中记录的是一些捆绑软件在某个方面的共性特征、但进程的各种信息又相对不完全,因此,与第二本地特征库匹配成功的新进程只能算是可疑的捆绑软件,并不能像匹配成功第一本地特征库的新进程一样能够确定为捆绑软件。因此,第二识别器130识别出的可疑捆绑软件还需要进行服务器侧的云端查询。可选的,为了不断丰富本地捆绑白名单,第二识别器130还将未被第二本地特征库成功匹配的新进程的信息提供给本地缓存过滤器140,供其更新本地捆绑白名单。因为凡是经过第二识别器130识别、但未确定为可疑捆绑软件的那些新进程,之前必然也是没有被第一识别器110的第一本地特征库命中的,因此基本可以确定为不是捆绑软件,能够放行,可以增加到缓存中的白名单中。进而,后续如果再有相同的新进程需要判断是否为捆绑软件,直接根据缓存中的本地捆绑白名单查询即可知道,无需再通过第一本地特征库和第二本地特征库的匹配查询了,从而提高了查询效率,降低了系统的负荷和运行开销。
当第二识别器130确定待识别的新进程属于可疑捆绑软件后,则开始进行云查询。可选的,为了提高云查询效率,服务器端可以将收集到的云捆绑软件白名单通过安装预置或者定期、不定期升级方式提供给各客户端,以便在客户端需要进行云查询时先在本地根据云捆绑白名单进行云缓存查询,查询未命中再发送到服务器端进一步查询。具体而言,云缓存过滤器160根据已知的云捆绑白名单对第二识别器130识别为可疑捆绑软件的新进程先进行过滤,没有命中云捆绑白名单的再发送至第三识别器210进行识别。云缓存中的云捆绑白名单查询的位置与本地捆绑白名单查询的位置不同,前者设置在第二识别器130之后,后者设置在第一识别器120之前;前者白名单中的内容是服务器端通过对本地客户端安装预置或升级的方式提供的,因此不同客户端中云捆绑软件白名单在同一时间可以实时同步,而后者是每个客户端基于各自的捆绑软件识别记录生成的,因此具有个性化的特性,不同客户端中的本地捆绑白名单的内容不同。从技术效果上讲,云捆绑软件白名单的存在优化了访问云端导致的网络传输,而且也优化了整个流程,提高了识别效率。同样,本地捆绑白名单的存在,也优化了整个流程,节省了本地识别过程的开销,提高了识别效率。
云捆绑白名单的内容主要是进程创建关系,凡是命中捆绑白名单中进程创建关系的进程创建行为都不属于捆绑行为,即创建的新进程不属于捆绑软件。进程创建关系主要指哪个进程创建了哪个进程。例如,如果当前进程是A进程,A进程创建了B进程,B进程根据第一识别器120和第二识别器130的识别后判定是可疑捆绑软件,而云捆绑白名单中有一条记录是A进程创建B进程不是捆绑行为、B进程不是捆绑软件,那么就可以据此判断当前待识别的B进程不是捆绑软件。可见,云缓存过滤器160是基于进程创建关系进行过滤的,即根据当前进程是什么、该进程创建了什么新进程,如当前进程A进程是什么、该进程创建了B进程、B进程是什么,而不再是像第一识别器120和第二识别器130仅根据新进程的相关信息做判断。
如果被云缓存过滤器160的云捆绑白名单命中,即可判定该进程创建行为不是捆绑行为,进而新进程也就不是捆绑软件,放行即可。同时告知本地缓存过滤器140,供其更新本地捆绑白名单。如果没有被云缓存过滤器160的云捆绑白名单命中,则只能发送到服务器侧的第三识别器210进行云端查询。
当然,本领域技术人员可以理解,云缓存过滤器160是一种为了提高云端识别效率而采用的一种可选方案,如果没有云缓存过滤器160的存在,第二识别器130识别出可疑捆绑软件后,直接传输到服务器端的第三识别器210进程识别,也不影响识别结果,理论上也是可行的。此外,虽然云缓存白名单意义比较大,但也不排除在某些特殊情况下,也可以在云缓存中设置云捆绑黑名单。
当需要到网络侧进行查询时,客户端侧将待识别的进程创建关系,具体包括当前进程的信息、新进程的信息以及两个进程之间的创建关系发送至服务器侧。进而服务器侧的第三识别器210,根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别该新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系。例如,在云端数据库中记录有A进程创建B进程是捆绑行为、B进程是捆绑软件;C进程创建D进程不是捆绑行为、D进程不是捆绑软件等等若干条这样的信息。此时,如果客户端侧发来的待识别的进程创建关系是A进程创建了B进程,那么根据云端数据库中已有的捆绑行为记录即可判断当前待识别的进程创建行为是捆绑行为,B进程是捆绑软件。反之,如果待识别的进程创建关系是C进程创建了D进程,那么识别结果就不是捆绑软件。进而,第三识别器210可以给客户端侧反馈识别结果,客户端侧可以根据识别结果选择放行、或者通过拦截器150给用户提示及拦截。
具体的,第三识别器210可以包括接口模块和识别模块。其中,接口模块用于接收客户端设备发送的被识别为可疑捆绑软件的新进程与当前进程的进程创建关系,并传输至识别模块进行识别,以及将识别模块的识别结果发送给客户端设备;识别模块用于根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别所述新进程是否为捆绑软件,所述云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系。
此外,如果当前待识别的进程创建关系是E进程创建了F进程,而云端数据库中没有明确记录这种创建关系是否属于捆绑行为,即第三识别器210无法识别出是或不是的准确结果,那么识别结果只能是未知,进而给客户端反馈未知的识别结果。客户端侧可以据此选择放行或者提示用户。对于这种未知的识别结果,服务器端后续还要通过执行器220进行处理,当第三识别器210无法判断新进程是否为捆绑软件时,获取创建该新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别该新进程是否为捆绑软件,并根据该识别结果更新所述云端数据库。
例如,假如客户端侧发送的进程创建关系是E进程创建了F进程,根据第三识别器210无法确定是否为捆绑行为,进而网络侧基于强大的样本数据库获得E进程的可执行文件,然后在密罐、沙箱等安全可信的环境中运行该可执行文件,即真正安装一遍E进程,通过注册表、下载项、文件和快捷方式等多项内容判断在安装E的过程中是否真的捆绑安装了F。对于疑难情况,还可以人工二次确认。最终判断E进程创建F进程是否为捆绑行为、F进程是否为捆绑软件,进而将结果更新入云端数据库。进而,后续如果还有客户端发送E进程创建F进程是否为捆绑行为的识别请求,那么服务器端直接根据云端数据库中的该条确定记录即可给出识别结果。
执行器220也是第三识别器210使用的云端数据库的运营手段。在最初云端数据库中的有效记录可能很少,但随着各客户端发送的识别请求越来越多,通过执行器220处理一段时间之后,可以获得越来越多的有效记录,然后提供给云端数据库使用,从而使得云端数据库中的有效记录越来越庞大。
可选的,为了降低误报率,还可以设置更新模块,用于收集各用户对提示是否继续安装捆绑软件的选择信息,如果同一软件,基于本系统的特征库或者云端数据库判断是捆绑软件,但达到一定数量级的用户都选择对这款软件继续安装,那么表明很可能是个误报,进而技术人员可以基于收集的信息再次确认分析,如果发现确实是误报,那么会通过更新的方式将第一本地特征库或第二本地特征库或云端数据库中的相关错误记录删除。
此外,本发明实施例还公开了一种用于拦截捆绑软件的客户端设备,包括:检测器,用于检测客户端中进行软件安装的当前进程;捕获器,用于在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;第一识别器,用于根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件。其中,检测器主要是为了检测到用户安装软件的事件,比如检测到用户安装软件的请求或者检测到安装软件的进程等。至于捕获器和第一识别器则与前面实施例中的相关描述相同,此处不再赘述。
请参阅图2,其为根据本发明实施例的一种用于识别捆绑软件的方法流程示意图,包括:
步骤S210:在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;
步骤S220:根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则继续进行识别;
步骤S230:根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将新进程识别为可疑捆绑软件;
步骤S240:至少根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系。
可选的,还包括:如果识别出新进程是捆绑软件,则在用户确认后,在保证当前进程正常安装的前提下阻止该进程的安装,即拦截该新进程的安装。
可选的,还包括:根据已知的本地捆绑白名单对捕获到的新进程先进行过滤,没用命中本地捆绑白名单的新进程再根据第一本地特征库进行识别。
可选的,还包括:根据未被第二本地特征库成功匹配的新进程的信息,更新本地捆绑白名单;以及根据服务器端的云端数据库识别为非捆绑软件的新进程的信息,更新本地捆绑白名单。
可选的,还包括:当根据云端数据库无法判断新进程是否为捆绑软件时,获取创建新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别新进程是否为捆绑软件,并根据识别结果更新云端数据库。
由于上述用于识别捆绑软件的方法与前面用于识别捆绑软件的系统是相对应的,因此,相关步骤的具体实现可以参考前述系统实施例中的相关部件,此处不再赘述。
此外,本发明实施例还公开了一种用于拦截捆绑软件的方法,包括前面描述的用于识别捆绑软件的方法以及下述步骤:在用户确认后,在保证所述当前进程正常安装的前提下拦截被识别为捆绑软件的安装。
本发明实施例还公开了一种用于在客户端识别捆绑软件的方法,包括:在客户端捕获当前进程创建新进程的事件,以及获知新进程的相关信息;根据新进程的相关信息与第一本地特征库匹配,第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将新进程识别为捆绑软件,如匹配不成功则继续进行识别;根据新进程的相关信息与第二本地特征库匹配,第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将该新进程识别为可疑捆绑软件,并将当前进程和新进程的进程创建关系发送至服务器端进行识别。
本发明实施例还公开了一种用于网络侧识别捆绑软件的方法,包括:接收客户端设备发送的被识别为可疑捆绑软件的新进程与当前进程的进程创建关系;根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别新进程是否为捆绑软件,云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系;将识别结果返回至客户端设备。
本发明实施例还公开了一种用于在客户端识别捆绑软件的方法,包括:检测客户端中进行软件安装的当前进程;在客户端捕获所述当前进程创建新进程的事件,以及获知所述新进程的相关信息;根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,如匹配成功则将所述新进程识别为捆绑软件。
从以上实施例可以看出,本发明各实施例,通过在客户端侧设置两级识别以及本地与网络侧联合查询识别,能够较好的将捆绑软件识别及拦截,从而降低了大量捆绑软件对客户端系统性能的影响。由于客户端侧两级识别采用的特征库不同,第一级采用比较详细、具体的特定特征数据库,因此可以直接据此判定命中的新进程是捆绑进程,而第二级识别主要针对信息量小的那些进程,通过捆绑软件的一些共性进行过滤,识别出可疑捆绑软件,然后再通过云端进行查询,也减小了云端查询的压力。进一步,通过在客户端侧的最前端设置本地缓存捆绑白名单,提高了捆绑软件的识别效率。更进一步,通过在客户端侧的最末端设置云缓存捆绑白名单,更进一步降低了识别捆绑软件的通信量,如果能通过该白名单识别出不是捆绑软件,就无需再发送到服务器端再进行查询。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于识别、拦截捆绑软件的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (16)

1.一种用于识别捆绑软件的系统,包括:
捕获器,被配置为在客户端捕获当前进程创建新进程的事件,以及获知所述新进程的相关信息,其中,所述新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息;
第一识别器,被配置根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,在新进程的相关信息与第一本地特征库中的某一条记录中的全部特定特征都匹配时确定匹配成功,如匹配成功则将所述新进程识别为捆绑软件,如匹配不成功则输入至第二识别器,其中,所述特定特征信息包括文件的基本要素,文件的基本要素包括文件路径、最后修改时间和/或文件大小;
第二识别器,被配置为根据所述新进程的相关信息与第二本地特征库匹配,所述第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件,其中,所述共性特征信息是通过分析所述已知捆绑软件的文件信息中特征要素的共同特性获得;
第三识别器,被配置为至少根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别所述新进程是否为捆绑软件,所述云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系;
执行器,被配置为当所述第三识别器无法判断所述新进程是否为捆绑软件时,获取创建所述新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别所述新进程是否为捆绑软件,并根据识别结果更新所述云端数据库。
2.如权利要求1所述的系统,还包括:
本地缓存过滤器,被配置为根据已知的本地捆绑白名单对所述捕获器捕获到的新进程先进行过滤,没用命中所述本地捆绑白名单的新进程再进入第一识别器进行识别。
3.如权利要求2所述的系统:
所述第二识别器还被配置为将未被所述第二本地特征库成功匹配的新进程的信息提供给所述本地缓存过滤器,供其更新所述本地捆绑白名单;
所述第三识别器还被配置为将识别为非捆绑软件的新进程的信息提供给所述本地缓存过滤器,供其更新所述本地捆绑白名单。
4.如权利要求1所述的系统,还包括:
云缓存过滤器,被配置为根据已知的云捆绑白名单对第二识别器识别为可疑捆绑软件的新进程先进行过滤,没有命中所述云捆绑白名单的再发送至第三识别器进行识别。
5.如权利要求1至4中任一项所述的系统,所述第一本地特征库包括若干条捆绑特征记录,每一条捆绑特征记录包含足以确定某一进程是捆绑软件的全部特定特征,只有在所述新进程的相关信息与所述第一本地特征库中某一条捆绑特征记录中的全部特定特征都匹配时,第一识别器才确定为匹配成功。
6.一种用于拦截捆绑软件的系统,包括如权利要求1至5中任一项所述的用于识别捆绑软件的系统以及拦截器,所述拦截器被配置为在用户确认后,在保证所述当前进程正常安装的前提下拦截被识别为捆绑软件的安装。
7.一种用于识别捆绑软件的客户端设备,包括:
捕获器,被配置为在客户端捕获当前进程创建新进程的事件,以及获知所述新进程的相关信息,其中,所述新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息;
第一识别器,被配置根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,在新进程的相关信息与第一本地特征库中的某一条记录中的全部特定特征都匹配时确定匹配成功,如匹配成功则将所述新进程识别为捆绑软件,如匹配不成功则输入至第二识别器,其中,所述特定特征信息包括文件的基本要素,文件的基本要素包括文件路径、最后修改时间和/或文件大小;
第二识别器,被配置为根据所述新进程的相关信息与第二本地特征库匹配,所述第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件,并将所述当前进程和新进程的进程创建关系发送至服务器端进行识别,其中,共性特征信息是通过分析所述已知捆绑软件的文件信息中特征要素的共同特性获得。
8.一种用于拦截捆绑软件的客户端设备,包括:
检测器,被配置为检测客户端中进行软件安装的当前进程;
捕获器,被配置为在客户端捕获所述当前进程创建新进程的事件,以及获知所述新进程的相关信息,其中,所述新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息;
第一识别器,被配置根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,在新进程的相关信息与第一本地特征库中的某一条记录中的全部特定特征都匹配时确定匹配成功,如匹配成功则将所述新进程识别为捆绑软件,如匹配不成功则输入至第二识别器;其中,所述特定特征信息包括文件的基本要素,文件的基本要素包括文件路径、最后修改时间和/或文件大小;
第二识别器,被配置为根据所述新进程的相关信息与第二本地特征库匹配,所述第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件,其中,所述共性特征信息是通过分析所述已知捆绑软件的文件信息中特征要素的共同特性获得;
拦截器,所述拦截器被配置为在用户确认后,在保证所述当前进程正常安装的前提下拦截被识别为捆绑软件的安装。
9.一种用于识别捆绑软件的服务器端设备,包括:
接口模块,被配置为接收客户端设备发送的被识别为可疑捆绑软件的新进程与当前进程的进程创建关系,并传输至识别模块进行识别,以及识别模块的识别结果发送给客户端设备;
识别模块,被配置为根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别所述新进程是否为捆绑软件,所述云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系;
执行模块,被配置为当所述识别模块无法判断所述新进程是否为捆绑软件时,获取创建所述新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别所述新进程是否为捆绑软件,并根据所述识别结果更新所述云端数据库。
10.一种用于识别捆绑软件的方法,包括:
在客户端捕获当前进程创建新进程的事件,以及获知所述新进程的相关信息,其中,所述新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息;
根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,在新进程的相关信息与第一本地特征库中的某一条记录中的全部特定特征都匹配时确定匹配成功,如匹配成功则将所述新进程识别为捆绑软件,如匹配不成功则继续进行识别,其中,所述特定特征信息包括文件的基本要素,文件的基本要素包括文件路径、最后修改时间和/或文件大小;
根据所述新进程的相关信息与第二本地特征库匹配,所述第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件,其中,共性特征信息是通过分析所述已知捆绑软件的文件信息中特征要素的共同特性获得;
至少根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别所述新进程是否为捆绑软件,所述云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系;
当根据所述云端数据库无法判断所述新进程是否为捆绑软件时,获取创建所述新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别所述新进程是否为捆绑软件,并根据识别结果更新所述云端数据库。
11.如权利要求10所述的方法,还包括:
根据已知的本地捆绑白名单对捕获到的新进程先进行过滤,没用命中所述本地捆绑白名单的新进程再根据所述第一本地特征库进行识别。
12.如权利要求11所述的方法,还包括:
根据未被所述第二本地特征库成功匹配的新进程的信息,更新所述本地捆绑白名单;以及根据所述服务器端的云端数据库识别为非捆绑软件的新进程的信息,更新所述本地捆绑白名单。
13.一种用于拦截捆绑软件的方法,包括如权利要求10至12中任一项所述的用于识别捆绑软件的方法以及下述步骤:在用户确认后,在保证所述当前进程正常安装的前提下拦截被识别为捆绑软件的安装。
14.一种用于在客户端识别捆绑软件的方法,包括:
在客户端捕获当前进程创建新进程的事件,以及获知所述新进程的相关信息,其中,所述新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息;
根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,在新进程的相关信息与第一本地特征库中的某一条记录中的全部特定特征都匹配时确定匹配成功,如匹配成功则将所述新进程识别为捆绑软件,如匹配不成功则继续进行识别,其中,所述特定特征信息包括文件的基本要素,文件的基本要素包括文件路径、最后修改时间和/或文件大小;
根据所述新进程的相关信息与第二本地特征库匹配,所述第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件,并将所述当前进程和新进程的进程创建关系发送至服务器端进行识别,其中,共性特征信息是通过分析所述已知捆绑软件的文件信息中特征要素的共同特性获得。
15.一种用于网络侧识别捆绑软件的方法,包括:
接收客户端设备发送的被识别为可疑捆绑软件的新进程与当前进程的进程创建关系;
根据被识别为可疑捆绑软件的新进程与当前进程之间的进程创建关系,在服务器端的云端数据库中查询,识别所述新进程是否为捆绑软件,所述云端数据库至少包括已知具有捆绑行为的进程创建关系和/或已知不具有捆绑行为的进程创建关系;
将识别结果返回至所述客户端设备;
所述方法还包括:
当根据所述云端数据库无法判断所述新进程是否为捆绑软件时,获取创建所述新进程的当前进程样本的可执行文件予以执行,通过执行过程和结果识别所述新进程是否为捆绑软件,并根据所述识别结果更新所述云端数据库。
16.一种用于在客户端识别捆绑软件的方法,包括:
检测客户端中进行软件安装的当前进程;
在客户端捕获所述当前进程创建新进程的事件,以及获知所述新进程的相关信息,其中,所述新进程的相关信息包括:资源信息、签名信息、PE文件属性和/或命令行信息;
根据所述新进程的相关信息与第一本地特征库匹配,所述第一本地特征库至少包括已知捆绑软件的特定特征信息,在新进程的相关信息与第一本地特征库中的某一条记录中的全部特定特征都匹配时确定匹配成功,如匹配成功则将所述新进程识别为捆绑软件,其中,所述特定特征信息包括文件的基本要素,文件的基本要素包括文件路径、最后修改时间和/或文件大小;
如匹配不成功,根据所述新进程的相关信息与第二本地特征库匹配,所述第二本地特征库包括已知捆绑软件的共性特征信息,如匹配成功则将所述新进程识别为可疑捆绑软件,其中,所述共性特征信息是通过分析所述已知捆绑软件的文件信息中特征要素的共同特性获得。
CN201310115892.5A 2013-04-03 2013-04-03 一种用于识别、拦截捆绑软件的系统、设备及方法 Active CN103235913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310115892.5A CN103235913B (zh) 2013-04-03 2013-04-03 一种用于识别、拦截捆绑软件的系统、设备及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310115892.5A CN103235913B (zh) 2013-04-03 2013-04-03 一种用于识别、拦截捆绑软件的系统、设备及方法

Publications (2)

Publication Number Publication Date
CN103235913A CN103235913A (zh) 2013-08-07
CN103235913B true CN103235913B (zh) 2016-12-28

Family

ID=48883953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310115892.5A Active CN103235913B (zh) 2013-04-03 2013-04-03 一种用于识别、拦截捆绑软件的系统、设备及方法

Country Status (1)

Country Link
CN (1) CN103235913B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375850A (zh) * 2013-08-15 2015-02-25 鸿富锦精密工业(深圳)有限公司 软件程序更新系统及方法
CN103544035A (zh) * 2013-10-21 2014-01-29 北京奇虎科技有限公司 用于移动终端的应用清理方法及装置
CN103631628B (zh) * 2013-12-16 2017-04-05 北京奇虎科技有限公司 软件清理方法和系统
CN103646209B (zh) * 2013-12-20 2017-01-04 北京奇虎科技有限公司 基于云安全拦截捆绑软件的方法和装置
CN103678692B (zh) * 2013-12-26 2018-04-27 北京奇虎科技有限公司 一种下载文件的安全扫描方法及装置
CN104915593B (zh) * 2014-03-14 2018-03-16 北京奇虎科技有限公司 对软件的去捆绑处理方法及系统
CN104123490A (zh) * 2014-07-02 2014-10-29 珠海市君天电子科技有限公司 恶意捆绑软件的处理方法、装置和移动终端
CN104123496B (zh) * 2014-07-03 2017-08-04 珠海市君天电子科技有限公司 一种流氓软件的拦截方法及装置、终端
CN105335184B (zh) * 2014-08-07 2020-06-12 北京奇虎科技有限公司 应用安装的方法和装置
CN104268473B (zh) * 2014-09-23 2017-05-24 龙芯中科技术有限公司 应用程序检测方法和装置
CN104268464B (zh) * 2014-09-30 2017-02-15 珠海市君天电子科技有限公司 推广软件的推广规则和推广软件的确定方法、服务器及通信终端
CN104598822A (zh) * 2015-01-15 2015-05-06 百度在线网络技术(北京)有限公司 应用程序的检测方法及装置
US10089095B2 (en) * 2015-05-06 2018-10-02 Mcafee, Llc Alerting the presence of bundled software during an installation
CN106293779B (zh) * 2015-05-11 2019-11-08 广州爱九游信息技术有限公司 一种识别应用安装包的方法及装置
CN104992110B (zh) * 2015-07-13 2018-01-19 北京金山安全软件有限公司 一种针对推广软件的拦截特征库更新方法及装置
CN106445572A (zh) * 2015-08-07 2017-02-22 中兴通讯股份有限公司 一种应用处理方法和移动终端
CN105138366A (zh) * 2015-08-24 2015-12-09 百度在线网络技术(北京)有限公司 一种识别软件的静默安装的方法与装置
CN105243324A (zh) * 2015-10-20 2016-01-13 珠海市君天电子科技有限公司 一种用户终端中恶意软件的识别方法、装置及用户终端
CN106897617A (zh) * 2015-12-18 2017-06-27 北京奇虎科技有限公司 一种识别捆绑软件的方法及装置
CN105631331B (zh) * 2015-12-24 2018-12-07 北京奇虎科技有限公司 安全防护方法及装置
CN106022100A (zh) * 2016-05-17 2016-10-12 北京金山安全软件有限公司 一种拦截恶意程序安装的方法、装置及电子设备
CN107766722B (zh) * 2016-08-18 2022-06-24 北京搜狗科技发展有限公司 一种应用软件安装处理方法、装置及电子设备
CN106503541B (zh) * 2016-10-11 2019-07-26 天脉聚源(北京)传媒科技有限公司 一种安装包的安装方法及系统
CN108920943A (zh) * 2018-05-08 2018-11-30 国家计算机网络与信息安全管理中心 针对应用软件检测安装捆绑行为的方法及装置
CN108875367B (zh) * 2018-06-13 2020-06-16 曙光星云信息技术(北京)有限公司 一种基于时序的云计算智能安全系统
CN108984184A (zh) * 2018-06-22 2018-12-11 珠海市君天电子科技有限公司 一种软件安装方法、装置及电子设备、存储介质
CN109033817A (zh) * 2018-06-29 2018-12-18 北京奇虎科技有限公司 捆绑软件拦截方法、装置与设备
CN109327451B (zh) * 2018-10-30 2021-07-06 深信服科技股份有限公司 一种防御文件上传验证绕过的方法、系统、装置及介质
CN111177704B (zh) * 2019-08-14 2023-06-30 腾讯科技(深圳)有限公司 一种捆绑识别方法、装置、设备及介质
CN111639331A (zh) * 2020-05-11 2020-09-08 珠海豹趣科技有限公司 一种安装包监控方法、装置及计算机可读存储介质
CN112069505B (zh) * 2020-09-15 2021-11-23 北京微步在线科技有限公司 一种审计信息处理方法及电子设备
CN112084502B (zh) * 2020-09-18 2024-06-21 珠海豹趣科技有限公司 一种软件识别方法、装置、电子设备及存储介质
CN112905890A (zh) * 2021-03-04 2021-06-04 深信服科技股份有限公司 一种待拦截窗口识别方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740945A (zh) * 2004-05-28 2006-03-01 微软公司 用自动启动可扩展性点来管理间谍软件以及不需要的软件
CN102413142A (zh) * 2011-11-30 2012-04-11 华中科技大学 基于云平台的主动防御方法
CN102664875A (zh) * 2012-03-31 2012-09-12 华中科技大学 基于云模式的恶意代码类别检测方法
CN102799835A (zh) * 2012-06-28 2012-11-28 腾讯科技(深圳)有限公司 插件防再生方法及相应的插件防再生系统
CN102831021A (zh) * 2012-07-27 2012-12-19 腾讯科技(深圳)有限公司 插件拦截或清理的方法及装置
CN102902919A (zh) * 2012-08-30 2013-01-30 北京奇虎科技有限公司 一种可疑操作的识别处理方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045870B1 (ko) * 2009-04-22 2011-07-01 주식회사 안철수연구소 네트워크 기반 악성 코드 진단 방법 및 진단 서버

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740945A (zh) * 2004-05-28 2006-03-01 微软公司 用自动启动可扩展性点来管理间谍软件以及不需要的软件
CN102413142A (zh) * 2011-11-30 2012-04-11 华中科技大学 基于云平台的主动防御方法
CN102664875A (zh) * 2012-03-31 2012-09-12 华中科技大学 基于云模式的恶意代码类别检测方法
CN102799835A (zh) * 2012-06-28 2012-11-28 腾讯科技(深圳)有限公司 插件防再生方法及相应的插件防再生系统
CN102831021A (zh) * 2012-07-27 2012-12-19 腾讯科技(深圳)有限公司 插件拦截或清理的方法及装置
CN102902919A (zh) * 2012-08-30 2013-01-30 北京奇虎科技有限公司 一种可疑操作的识别处理方法、装置和系统

Also Published As

Publication number Publication date
CN103235913A (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
CN103235913B (zh) 一种用于识别、拦截捆绑软件的系统、设备及方法
US11798028B2 (en) Systems and methods for monitoring malicious software engaging in online advertising fraud or other form of deceit
CN108665297B (zh) 异常访问行为的检测方法、装置、电子设备和存储介质
US11860717B1 (en) Graphical user interface for presenting crash data
CN103678692B (zh) 一种下载文件的安全扫描方法及装置
CN102710646B (zh) 一种钓鱼网站的收集方法和系统
CN106708557A (zh) 一种针对终端应用的更新处理方法及装置
CN103631628B (zh) 软件清理方法和系统
CN105631312B (zh) 恶意程序的处理方法及系统
CN107807877A (zh) 一种代码性能测试的方法和装置
CN105577528B (zh) 一种基于虚拟机的微信公众号数据采集方法及装置
CN102651856A (zh) 一种提高终端上网安全性的方法、系统和装置
CN106294094A (zh) 游戏服务器的测试方法、客户端、服务器及系统
CN107179907A (zh) 一种配置系统及方法
CN105512044A (zh) 用于关键字驱动测试的对象库的更新方法及系统
CN105471635B (zh) 一种系统日志的处理方法、装置和系统
CN103414758A (zh) 日志处理方法及装置
CN110297776A (zh) 检测报告生成、接收方法、装置、设备及存储介质
KR20150025106A (ko) 애플리케이션 검증결과 모니터링 서비스를 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체
CN103646054B (zh) 播放多媒体数据的方法和浏览器装置
CN104461761A (zh) 数据校验方法、装置和服务器
CN106528569B (zh) 计算站内搜索有效度的方法及装置
CN103152381A (zh) 一种对浏览器崩溃数据进行处理的方法和服务器系统
CN107229865B (zh) 一种解析Webshell入侵原因的方法及装置
CN112559278B (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
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee after: Beijing Qizhi Business Consulting Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220330

Address after: 100016 1773, 15 / F, 17 / F, building 3, No.10, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee after: Sanliu0 Digital Security Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Beijing Qizhi Business Consulting Co.,Ltd.