《一种应用程序安全属性的识别方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种应用程序安全属性的识别方法和装置.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102968589 A(43)申请公布日 2013.03.13CN102968589A*CN102968589A*(21)申请号 201210459002.8(22)申请日 2012.11.14G06F 21/51(2013.01)H04L 29/08(2006.01)(71)申请人北京奇虎科技有限公司地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司(72)发明人张家柱(74)专利代理机构北京润泽恒知识产权代理有限公司 11319代理人苏培华(54) 发明名称一种应用程序安全属性的识别方法和装置(57) 摘要本发。
2、明实施例提供了一种更为可靠的应用程序安全属性的识别方法,包括:接收终端提交的应用程序的特征文件;判断当前是否可以连接第二服务端;若是,则通过访问所述第二服务端,依据所述特征文件获取所述应用程序对应的安全属性;若否,则访问预置在第一服务端的参考数据库,依据所述特征文件获取所述应用程序对应的安全属性;其中,所述第一服务端为与所述终端处于同一内网的服务端,所述第二服务端为设置在互联网中,所述终端通过互联网可访问的服务端。(51)Int.Cl.权利要求书3页 说明书13页 附图1页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 3 页 说明书 13 页 附图 1 页1/3页21.一。
3、种应用程序安全属性的识别方法,包括:接收终端提交的应用程序的特征文件;判断当前是否可以连接第二服务端;若是,则通过访问所述第二服务端,依据所述特征文件获取所述应用程序对应的安全属性;若否,则访问预置在第一服务端的参考数据库,依据所述特征文件获取所述应用程序对应的安全属性;其中,所述第一服务端为与所述终端处于同一内网的服务端,所述第二服务端为设置在互联网中,所述终端通过互联网可访问的服务端。2.如权利要求1所述的方法,还包括:依据所述安全属性查找所述应用程序的安装文件,或将所述安全属性返回终端,由终端依据所述安全属性加载所述应用程序。3.如权利要求1所述的方法,所述第二服务端预置有应用程序管理数。
4、据库,所述应用程序管理数据库与所述参考数据库中均包括多个应用程序的特征文件,以及对应的安全属性;所述安全属性包括不可执行的黑文件和可执行的白文件。4.如权利要求1所述的方法,通过以下步骤预置所述参考数据库:访问第二服务端,下载所述参考数据库,并将所述参考数据库保存在第一服务端中;所述参考数据库通过离线下载的方式进行更新。5.如权利要求3所述的方法,所述终端通过以下步骤获取应用程序的特征文件:扫描终端所有应用程序对应的所有文件,提取出其中的应用程序文件;采用预设算法将所述应用程序文件转换为对应的程序特征文件。6.如权利要求3所述的方法,所述终端通过以下步骤获取应用程序的特征文件:接收用户访问应用。
5、程序的请求;依据所述请求提取对应的应用程序文件,并采用预设算法将所述应用程序文件转换为对应的程序特征文件。7.如权利要求5或6所述的方法,所述应用程序文件的文件头中包含预设关键词;所述预设算法包括信息摘要算法。8.如权利要求5所述的方法,还包括:依据各个应用程序的特征文件与可安全属性的对应关系,构建第一服务端的应用程序管理数据库。9.如权利要求6所述的方法,还包括:将各个应用程序的特征文件与可安全属性的对应关系添加到第一服务端的应用程序管理数据库中。10.如权利要求6所述的方法,第一服务端部署有应用程序管理数据库,所述应用程序管理数据库保存有多个应用程序的特征文件,以及对应的安全属性;所述方法。
6、还包括:在第一服务端的应用程序管理数据库搜索是否存在所述应用程序的特征文件,若否,则执行判断当前是否可以连接第二服务端的步骤。11.如权利要求6所述的方法,还包括:权 利 要 求 书CN 102968589 A2/3页3若所述应用程序文件的安全属性为黑文件,则生成不可执行的提示信息并返回给终端,终端接收提示信息后不加载所述应用程序;若所述应用程序文件的安全属性为白文件,则生成可执行的提示信息并返回给终端,终端接收提示信息后开始加载所述应用程序。12.一种应用程序安全属性的识别装置,包括:特征文件接收模块,适于接收终端提交的应用程序的特征文件;判断模块,适于判断当前是否可以连接第二服务端,若是,。
7、则执行第二服务端识别模块,若否,则执行参考数据库识别模块;第二服务端识别模块,适于通过访问所述第二服务端,依据所述特征文件获取所述应用程序对应的安全属性;参考数据库识别模块,适于访问预置在第一服务端的参考数据库,依据所述特征文件获取所述应用程序对应的安全属性;其中,所述第一服务端为与所述终端处于同一内网的服务端,所述第二服务端为设置在互联网中,所述终端通过互联网可访问的服务端。13.如权利要求12所述的装置,还包括:应用程序处理模块,适于依据所述安全属性查找所述应用程序的安装文件,或将所述安全属性返回终端,由终端依据所述安全属性加载所述应用程序。14.如权利要求12所述的装置,所述第二服务端预。
8、置有应用程序管理数据库,所述应用程序管理数据库与所述参考数据库中均包括多个应用程序的特征文件,以及对应的安全属性;所述安全属性包括不可执行的黑文件和可执行的白文件。15.如权利要求13所述的装置,通过以下模块预置所述参考数据库:下载模块,适于访问第二服务端,下载所述参考数据库;保存模块,适于将所述参考数据库保存在第一服务端;所述参考数据库通过离线下载的方式进行更新。16.如权利要求14所述的装置,所述终端通过以下模块获取应用程序的特征文件:应用程序文件提取模块,适于扫描终端所有应用程序对应的所有文件,提取出其中的应用程序文件;第一转换模块,适于采用预设算法将所述应用程序文件转换为对应的程序特征。
9、文件。17.如权利要求14所述的装置,所述终端通过以下模块获取应用程序的特征文件:请求接收模块,适于接收用户访问应用程序的请求;第二转换模块,适于依据所述请求提取对应的应用程序文件,并采用预设算法将所述应用程序文件转换为对应的程序特征文件。18.如权利要求16或17所述的装置,所述应用程序文件的文件头中包含预设关键词;所述预设算法包括信息摘要算法。19.如权利要求16所述的装置,还包括:数据库构建模块,适于依据各个应用程序的特征文件与可安全属性的对应关系,构建第一服务端的应用程序管理数据库。20.如权利要求17所述的装置,还包括:权 利 要 求 书CN 102968589 A3/3页4添加模块。
10、,适于将各个应用程序的特征文件与可安全属性的对应关系添加到第一服务端的应用程序管理数据库中。权 利 要 求 书CN 102968589 A1/13页5一种应用程序安全属性的识别方法和装置技术领域0001 本申请涉及互联网技术领域,特别是涉及一种应用程序安全属性的识别方法和装置。背景技术0002 云是互联网、网络的一种比喻说法,表示互联网和底层基础设施的抽象,大致可以分为公有云和私有云。0003 公有云通常指第三方供应商通过自己的基础设施,直接向外部用户提供服务能够使用的云。只要是注册用户、付费用户都可以通过互联网访问公有云以获得相应的网络服务,但并不拥有云计算资源。0004 私有云是放在私有环。
11、境中的,比如企业、政府等组织自己在机房中建立的,或者是运营商建设好,但是整体租给某一组织的。组织之外的用户无法访问或无法使用。私有云是一个组织单独使用构建的,因而可以提供对数据、安全性和服务质量的最有效控制。0005 私有云构建有应用程序管理数据库,即私有黑白库,简称私有库,用于管理各个程序是否可执行。0006 具体而言,私有库分为白库和黑库,白库包括可执行的程序,即白文件;黑库包括禁止运行程序,即黑文件。私有库可以由组织自己定制,决定哪些程序被禁止,哪些程序可以正常运行,一方面可以避免了企业内部一些专用系统文件被禁止;而另一方面可以把恶意病毒木马和企业禁止的正常软件都无法运行。0007 终端。
12、请求访问一个程序时,可以依据私有库判断该程序是黑文件还是白文件,若是黑文件,则不允许访问该程序。0008 以上现有技术中存在的问题是,私有云的私有库可能不够完善,特别是在刚部署完私有云时,私有库中可能并不存在用户请求访问的程序,进而无法判断是否执行该程序;虽然可以进行人工判断,但由于管理人员通常比较不熟悉业务,对这些程序没有认知,对该文件的可安全属性无法进行可靠的识别。0009 因此,目前需要本领域技术人员解决的一个技术问题就是,提供一种更为可靠的应用程序安全属性的识别机制。发明内容0010 鉴于上述问题,本发明实施例提出了以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序安全属性的。
13、识别方法和相应的应用程序安全属性的识别装置。0011 依据本发明实施例的一个方面,提供了一种应用程序安全属性的识别方法,包括:0012 接收终端提交的应用程序的特征文件;0013 判断当前是否可以连接第二服务端;0014 若是,则通过访问所述第二服务端,依据所述特征文件获取所述应用程序对应的说 明 书CN 102968589 A2/13页6安全属性;若否,则访问预置在第一服务端的参考数据库,依据所述特征文件获取所述应用程序对应的安全属性;0015 其中,所述第一服务端为与所述终端处于同一内网的服务端,所述第二服务端为设置在互联网中,所述终端通过互联网可访问的服务端。0016 本发明实施例中,所。
14、述方法还包括:0017 依据所述安全属性查找所述应用程序的安装文件,或将所述安全属性返回终端,由终端依据所述安全属性加载所述应用程序。0018 本发明实施例中,所述第二服务端预置有应用程序管理数据库,所述应用程序管理数据库与所述参考数据库中均包括多个应用程序的特征文件,以及对应的安全属性;0019 所述安全属性包括不可执行的黑文件和可执行的白文件。0020 本发明实施例中,通过以下步骤预置所述参考数据库:0021 访问第二服务端,下载所述参考数据库,并将所述参考数据库保存在第一服务端中;0022 所述参考数据库通过离线下载的方式进行更新。0023 本发明实施例中,所述终端通过以下步骤获取应用程。
15、序的特征文件:0024 扫描终端所有应用程序对应的所有文件,提取出其中的应用程序文件;0025 采用预设算法将所述应用程序文件转换为对应的程序特征文件。0026 本发明实施例中,所述终端通过以下步骤获取应用程序的特征文件:0027 接收用户访问应用程序的请求;0028 依据所述请求提取对应的应用程序文件,并采用预设算法将所述应用程序文件转换为对应的程序特征文件。0029 本发明实施例中,所述应用程序文件的文件头中包含预设关键词;所述预设算法包括信息摘要算法。0030 本发明实施例中,所述方法还包括:0031 依据各个应用程序的特征文件与可安全属性的对应关系,构建第一服务端的应用程序管理数据库。。
16、0032 本发明实施例中,所述方法还包括:0033 将各个应用程序的特征文件与可安全属性的对应关系添加到第一服务端的应用程序管理数据库中。0034 本发明实施例中,第一服务端部署有应用程序管理数据库,所述应用程序管理数据库保存有多个应用程序的特征文件,以及对应的安全属性;0035 所述方法还包括:0036 在第一服务端的应用程序管理数据库搜索是否存在所述应用程序的特征文件,若否,则执行判断当前是否可以连接第二服务端的步骤。0037 本发明实施例中,所述方法还包括:0038 若所述应用程序文件的安全属性为黑文件,则生成不可执行的提示信息并返回给终端,终端接收提示信息后不加载所述应用程序;0039。
17、 若所述应用程序文件的安全属性为白文件,则生成可执行的提示信息并返回给终端,终端接收提示信息后开始加载所述应用程序。说 明 书CN 102968589 A3/13页70040 根据本发明实施例的另一方面,提供了一种应用程序安全属性的识别装置,包括:0041 特征文件接收模块,适于接收终端提交的应用程序的特征文件;0042 判断模块,适于判断当前是否可以连接第二服务端,若是,则执行第二服务端识别模块,若否,则执行参考数据库识别模块;0043 第二服务端识别模块,适于通过访问所述第二服务端,依据所述特征文件获取所述应用程序对应的安全属性;0044 参考数据库识别模块,适于访问预置在第一服务端的参考。
18、数据库,依据所述特征文件获取所述应用程序对应的安全属性;0045 其中,所述第一服务端为与所述终端处于同一内网的服务端,所述第二服务端为设置在互联网中,所述终端通过互联网可访问的服务端。0046 本发明实施例中,所述装置还包括:0047 应用程序处理模块,适于依据所述安全属性查找所述应用程序的安装文件,或将所述安全属性返回终端,由终端依据所述安全属性加载所述应用程序。0048 本发明实施例中,所述第二服务端预置有应用程序管理数据库,所述应用程序管理数据库与所述参考数据库中均包括多个应用程序的特征文件,以及对应的安全属性;0049 所述安全属性包括不可执行的黑文件和可执行的白文件。0050 本发。
19、明实施例中,通过以下模块预置所述参考数据库:0051 下载模块,适于访问第二服务端,下载所述参考数据库;0052 保存模块,适于将所述参考数据库保存在第一服务端;0053 所述参考数据库通过离线下载的方式进行更新。0054 本发明实施例中,所述终端通过以下模块获取应用程序的特征文件:0055 应用程序文件提取模块,适于扫描终端所有应用程序对应的所有文件,提取出其中的应用程序文件;0056 第一转换模块,适于采用预设算法将所述应用程序文件转换为对应的程序特征文件。0057 本发明实施例中,所述终端通过以下模块获取应用程序的特征文件:0058 请求接收模块,适于接收用户访问应用程序的请求;0059。
20、 第二转换模块,适于依据所述请求提取对应的应用程序文件,并采用预设算法将所述应用程序文件转换为对应的程序特征文件。0060 本发明实施例中,所述应用程序文件的文件头中包含预设关键词;所述预设算法包括信息摘要算法。0061 本发明实施例中,所述装置还包括:0062 数据库构建模块,适于依据各个应用程序的特征文件与可安全属性的对应关系,构建第一服务端的应用程序管理数据库。0063 本发明实施例中,所述装置还包括:0064 添加模块,适于将各个应用程序的特征文件与可安全属性的对应关系添加到第一服务端的应用程序管理数据库中。0065 本发明实施例中,第一服务端部署有应用程序管理数据库,所述应用程序管理。
21、数说 明 书CN 102968589 A4/13页8据库保存有多个应用程序的特征文件,以及对应的安全属性;0066 所述装置还包括:0067 搜索模块,适于在第一服务端的应用程序管理数据库搜索是否存在所述应用程序的特征文件,若否,则执行判断当前是否可以连接第二服务端的步骤。0068 本发明实施例中,所述装置还包括:0069 第一提示信息返回模块,适于若所述应用程序文件的安全属性为黑文件,则生成不可执行的提示信息并返回给终端,终端接收提示信息后不加载所述应用程序;0070 第二提示信息返回模块,适于若所述应用程序文件的安全属性为白文件,则生成可执行的提示信息并返回给终端,终端接收提示信息后开始加。
22、载所述应用程序0071 根据本发明实施例的一种应用程序安全属性的识别方法,在私有云的私有库不够完善时,首先判断是否可连接目标公有云,进而选择通过目标公有云或是预置在私有云的参考数据库,来判断终端提交的应用程序是是黑文件还是白文件,从而可以在私有库不完善时,对应用程序进行比较可靠的识别。0072 本发明可以进一步将目标公有云或参考数据库对应用程序的识别结果保存在私有云私有库中,从而可以完善私有库。0073 利用本发明的方法可以在私有云刚部署完时,对终端的所有应用程序进行识别,并依据识别结果来建立私有库,从而使得私有云的私有库的建立有效、快速、可靠。0074 上述说明仅是本发明技术方案的概述,为了。
23、能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明0075 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:0076 图1示出了根据本发明实施例一种应用程序安全属性的识别方法实施例的步骤流程图;0077 图2示出了根据本发明实施例一种应用程序安全属性的识别装置实施例的结构框图。具体实施方式0078 下面将参照附图更详细地。
24、描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。0079 本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电说 明 书CN 102968589 A5/1。
25、3页9脑、小型计算机系统大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。0080 计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。0081 参考图1,示出了本发明实施例的一种应用程序安全属性的识别方法实施例1的步骤流程图,具体。
26、可以包括以下步骤:0082 步骤101、接收终端提交的应用程序的特征文件。0083 第一服务端是与终端处于同一内网的服务端,在本发明中即为私有云,终端和私有云服务器处于同一个局域网中,终端可以安装有私有云客户端软件,可以由客户端软件执行向私有云提交应用程序的特征文件的操作。0084 本发明实施例中,应用程序的特征文件可以通过对应用程序文件处理后得到,应用程序文件即PE(portable executable,可移植的可执行文件)格式的文件,PE文件是微软Windows操作系统上的程序文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,每个应用程序都有对应的PE文件。本发明可以通过对。
27、PE文件进行如下的处理得到应用程序对应的特征文件。0085 在本发明的一种优选实施例中,在私有云刚刚部署完成,私有云的应用程序管理数据库还未建立的情况下,可以对多个应用程序进行识别,所述终端可以通过以下步骤获取应用程序的特征文件:0086 子步骤S21、扫描终端所有应用程序对应的所有文件,提取出其中的应用程序文件;0087 子步骤S22、采用预设算法将所述应用程序文件转换为对应的程序特征文件。0088 终端安装有多个应用程序,每个程序对应有多个文件,其中包括有应用程序文件。客户端软件可以针对每个应用程序所对应的所有文件进行扫描,找出其中的应用程序文件,具体的,应用程序文件包括MS-DOS可执行。
28、体、文件头、可选头、数据目录、节头以及节等结构组成。其中,文件头中包含如下结构:0089 1)“Machine(机器)”,用来指出该二进制文件预定运行于什么样的系统;0090 2)“NumberOfSections(节数)”,它是紧跟在头后面的节的数目;0091 3)“TimeDateStamp(时间戳)”,用来给出文件建立的时间;0092 4-5)“PointerToSymbolTable(符号表指针)”和“NumberOfSymbols(符号数)”(都是32位)都用于调试信息的;0093 6)“SizeOfOptionalHeader(可选头大小)”只是“IMAGE_OPTIONAL_HE。
29、ADER(可选头)”项的大小,可以用它去验证PE文件结构的正确性;0094 7)“Characteristics(特性)”是一个16位的,由许多标志位形成的集合组成,但大多数标志位只对目标文件和库文件有效。0095 本发明中可以通过应用程序文件的文件头中各个结构的关键词作为预设关键说 明 书CN 102968589 A6/13页10词,来判断应用程序对应的各个文件是否为应用程序文件。然后可以通过预设算法对应用程序文件进行转换,并将转换后的文件作为应用程序的特征文件。在本发明的一种优选的实施例中,可以采用信息摘要算法对应用程序文件进行转换,信息摘要算法即MD5(Message-Digest Al。
30、gorithm 5),MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩“成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串,可以确保信息传输完整一致。0096 在本发明的另一种实施例中,用户可以在终端向第一服务端,提交对应用程序的识别请求,其中包括应用程序的特征文件。该应用程序可以是用户请求访问或请求安装的某个应用程序。0097 本发明的一种应用场景下,用户需要在终端安装某个应用程序时,则可以在终端提交应用程序的特征文件,对特征文件识别后,进一步决定是否返回该应用程序的安装文件。0098 在本发明的另一种应用场景下,用户需要在终端访问某个应用程序时,则可以。
31、在终端提交应用程序的特征文件,判断出该应用程序的安全属性后,可以返回给终端,由终端进一步加载该程序。0099 在此应用场景下,所述终端可以通过以下步骤获取应用程序的特征文件:0100 子步骤S31、接收用户访问应用程序的请求;0101 子步骤S32、依据所述请求提取对应的应用程序文件,并采用预设算法将所述应用程序文件转换为对应的程序特征文件。0102 用户可以在终端,通过点击应用程序的快捷方式或是程序文件来请求访问该应用程序,终端接收到用户的点击之后,可以提取对应的应用程序文件,然后采用预设的算法对应用程序文件进行转换,得到特征文件,与上个实施例相同,本实施例中,也可以通过预设关键字来查找该程。
32、序对应的应用程序文件,预设算法可以是MD5算法。0103 步骤102、判断当前是否可以连接第二服务端,若是,则执行步骤103,若否,则执行步骤104;0104 步骤103、通过访问所述第二服务端,依据所述特征文件获取所述应用程序对应的安全属性。0105 第二服务端为设置在互联网中,终端通过互联网即可访问的服务端,在本发明中,即为公有云,可以预先选取某个公有云作为目标公有云,公有云可以预置有应用程序管理数据库,所述应用程序管理数据库包括多个应用程序的特征文件以及对应的安全属性。依据应用程序的特征文件,可以在应用程序管理数据库中查找到相应的安全属性。0106 私有云接收到终端发送的应用程序的特征文件后,可以进一步判断是否可以连接目标公有云,即是否可以连接上目标公有云的服务器。若可以连接上,则可以利用公有云的应用程序管理数据库,来判断应用程序的安全属性。0107 所述应用程序管理数据库中可以包括多个应用程序的特征文件,以及对应的安全属性。安全属性包括不可执行的黑文件和可执行的白文件,若某个应用程序的安全属性为黑文件,则表明该应用程序在终端是被禁止执行的不安全程序或是需要屏蔽的程序,反之,若是白文件,则可以执行。具体的,某个应用程序是否可以执行,可以在预置参考数据库时,根据用户的应用环境和需求来自定。说 明 书CN 102968589 A10。