软件的可信检测方法及装置与流程

文档序号:18466303发布日期:2019-08-17 02:29阅读:129来源:国知局
本发明涉通信
技术领域
:,特别涉及一种软件的可信检测方法及装置。
背景技术
::目前,恶意用户通过对流行的可信软件(如adobe)进行仿冒或篡改,从而达到让受害者信任、点击并执行恶意行为的目的。其中,为了躲避查杀,仿冒或篡改的可信软件往往作为下载器,然而下载器本身并无恶意行为,但可通过内嵌恶意url(uniformresourcelocator,统一资源定位符)实现下载真正恶意代码的目的。具体而言,通过修改可信软件执行流程,达到内嵌恶意url(如对可信软件安装包进行解压后,篡改安装脚本,内嵌恶意url,然后重新打包)的目的,使得在可信软件正常执行前或执行后,执行内嵌的恶意url,实现下载真正恶意代码的目的。然而,相关技术中,往往无法有效检测通过内嵌恶意url而达到下载恶意代码的行为,从而无法有效检测可信软件是否已经被仿冒或篡改,大大降低检测的准确性,无法有效避免用户遭受恶意代码攻击,降低用户使用体验,亟待解决。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种软件的可信检测方法,该方法有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性,有效避免用户遭受恶意代码攻击,提高用户使用体验。本发明的第二目的在于提出一种软件的可信检测装置。本发明的第三个目的在于提出一种计算机设备。本发明的第四个目的在于提出一种非临时性计算机可读存储介质。本发明的第五个目的在于提出一种计算机程序产品。为达到上述目的,本发明第一方面实施例提出了一种软件的可信检测方法,包括以下步骤:检测待测可信软件的是否可信;如果所述待测软件可信,则提取所述待测可信软件的pe(portableexecutable,可移植文件)文件中多个信标;检测所述多个信标是否均属于可信信标库,并在所述多个信标中任意一个信标不属于所述可信信标库时,判定所述待测可信软件被仿冒或篡改。本发明实施例的软件的可信检测方法,在待测可信软件的pe文件中多个信标中任意一个不属于可信信标库时,判定待测可信软件被篡改或仿冒,从而有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性,有效避免用户遭受恶意代码攻击,提高用户使用体验。另外,根据本发明上述实施例的软件的可信检测方法还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,还包括:采集可信软件厂商列表,以生成可信软件公司名称信息库;爬取所述可信软件公司名称信息库的所有可信软件厂商的所有信标,以构建所述可信信标库。进一步地,在本发明的一个实施例中,所述检测待测软件是否可信,进一步包括:根据pe结构对所述pe文件进行静态解析,以获取所述pe文件的标识信息,其中,所述标识信息包括pe属性和数字签名,所述pe属性包括原始文件名、版权、产品名称和商标中的一项或多项,数字签名包括签名者信息;根据所述pe文件的标识信息识别所述pe文件的可信软件公司名称,并检测是否属于可信软件厂商。进一步地,在本发明的一个实施例中,所述提取所述待测可信软件的pe文件中多个信标,进一步包括:如果属于所述可信软件厂商,则对所述pe文件进行静态或动态分析,以提取所述pe文件内嵌或动态访问的所述多个信标。进一步地,在本发明的一个实施例中,所述多个信标包括url信标、ip信标和domain信标。为达到上述目的,本发明第二方面实施例提出了一种软件的可信检测装置,包括:第一检测模块,用于检测待测可信软件是否可信;提取模块,用于在所述待测软件可信时,提取所述待测可信软件的pe文件中多个信标;第二检测模块,用于检测所述多个信标是否均属于可信信标库,并在所述多个信标中任意一个信标不属于所述可信信标库时,判定所述待测可信软件被仿冒或篡改。本发明实施例的软件的可信检测装置,在待测可信软件的pe文件中多个信标中任意一个不属于可信信标库时,判定待测可信软件被篡改或仿冒,从而有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性,有效避免用户遭受恶意代码攻击,提高用户使用体验。另外,根据本发明上述实施例的软件的可信检测装置还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,还包括:采集模块,用于采集可信软件厂商列表,以生成可信软件公司名称信息库;爬取模块,用于爬取所述可信软件公司名称信息库的所有可信软件厂商的所有信标,以构建所述可信信标库。进一步地,在本发明的一个实施例中,所述提取模块进一步用于根据pe结构对所述pe文件进行静态解析,以获取所述pe文件的标识信息,根据所述pe文件的标识信息识别所述pe文件的可信软件公司名称,并检测是否属于可信软件厂商,并在属于所述可信软件厂商,对所述pe文件进行静态或动态分析,以提取所述pe文件内嵌或动态访问的所述多个信标。进一步地,在本发明的一个实施例中,所述标识信息包括pe属性和数字签名,其中,所述pe属性包括原始文件名、版权、产品名称和商标中的一项或多项,数字签名包括签名者信息。进一步地,在本发明的一个实施例中,所述多个信标包括url信标、ip信标和domain信标。为达到上述目的,本发明第三方面实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现上述实施例所述的软件的可信检测方法。为达到上述目的,本发明第四方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的软件的可信检测方法。为达到上述目的,本发明第五方面实施例还提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述实施例所述的软件的可信检测方法。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明一个实施例的软件的可信检测方法的流程图;图2为根据本发明一个具体实施例的软件的可信检测方法的流程图;图3为根据本发明一个实施例的利用可信软件内嵌非可信信标来判定是否被仿冒和篡改示例图;图4为根据本发明一个实施例的软件的可信检测装置的结构示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。下面参照附图描述根据本发明实施例提出的软件的可信检测方法及装置,首先将参照附图描述根据本发明实施例提出的软件的可信检测方法。图1是本发明一个实施例的软件的可信检测方法的流程图。如图1所示,该软件的可信检测方法包括以下步骤:在步骤s101中,检测待测可信软件是否可信。可以理解的是,可信条件可以为待测可信软件中的pe文件的pe属性和数字签名等来自于流行的可信软件公司。本发明实施例通过判断pe文件的pe属性和数字签名等是否来自于流行的可信软件公司,从而检测待测可信软件是否可信。其中,可信软件为正规软件厂商编制,具有正常数字签名的软件;pe文件为可移植的可执行的文件,是微软windows操作系统上的程序文件,如exe、dll、ocx、sys、com等都可以是pe文件。进一步地,在本发明的一个实施例中,所述检测待测软件是否可信,进一步包括:根据pe结构对所述pe文件进行静态解析,以获取所述pe文件的标识信息,其中,所述标识信息包括pe属性和数字签名,所述pe属性包括原始文件名、版权、产品名称和商标中的一项或多项,数字签名包括签名者信息;根据所述pe文件的标识信息识别所述pe文件的可信软件公司名称,并检测是否属于可信软件厂商。可以理解的是,本发明实施例构建流行软件厂商名称列表,通过pe属性(包括原始文件名、版权、产品名称、合法商标等)、数字签名(签名者信息)识别软件归属厂商。具体而言,本发明实施例首先通过判断pe文件的pe属性(包括但不限于文件名、公司名称等)、数字签名等是否来自于流行的可信软件公司。在步骤s102中,如果待测软件可信,则提取待测可信软件的pe文件中多个信标。可以理解的是,本发明实施例在确认pe文件来自于流行的可信软件公司时,提取待测可信软件的pe文件中多个信标。其中,在本发明的一个实施例中,多个信标包括url信标、ip信标和domain信标。进一步地,在本发明的一个实施例中,提取待测可信软件的pe文件中多个信标,进一步包括:如果属于可信软件厂商,则对pe文件进行静态或动态分析,以提取pe文件内嵌或动态访问的多个信标。可以理解的是,如果来自于可信软件公司,则通过对pe文件进行静动态分析,提取pe文件内嵌或动态访问的所有url、ip、domain。在步骤s103中,检测多个信标是否均属于可信信标库,并在多个信标中任意一个信标不属于可信信标库时,判定待测可信软件被仿冒或篡改。可以理解的是,本发明实施例可以通过分析pe结构提取内嵌信标,且用其与收集建立的流行软件公司的可信信标进行对比,来检测程序是否仿冒、篡改可信软件。也就是说,本发明实施例通过将静动态分析pe结构获取的信标(url、ip、domain)与流行软件厂商可信信标库进行对比,来判定软件是否为仿冒或篡改自可信软件,并且在在待测可信软件的pe文件中多个信标中任意一个不属于可信信标库时,判定待测可信软件被篡改或仿冒,从而有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性。需要说明的是,仿冒可信软件:恶意软件通过伪装可信软件的图标、属性、文件名等信息来仿冒可信软件;篡改可信软件:恶意软件通过对可信软件进行修改,篡改可信软件的执行流程,内嵌恶意代码或恶意url。另外,本发明实施例构建流行软件厂商可信信标库,并定期对流行软件厂商进行信标爬取,更新可信信标库,从而可以有效避免因信标库未及时更新造成待测可信软件被误检测为篡改或仿冒,可信信标库的定期更新可以有效保证软件的可信检测的准确性和可靠性。本发明实施例判定待测可信软件被仿冒或篡改的原理为:可信软件公司发布的软件在执行过程中访问的url、ip、domain都是本公司或其他可信软件公司的相关服务,如果访问了非本公司或非可信软件公司的服务,则此次访问具有可疑行为。因此可以通过检测可信软件中访问的url、ip和domain等是否来自于本公司或其他可信软件公司的服务来判断该软件是否被仿冒或篡改。根据上述原理,本发明实施例将提取出的所有信标与事先构造的软件公司可信信标库进行匹配搜索,找出不在软件公司可信信标库中的可疑信标url、ip、domain,即可疑信标url、ip、domain非所属软件公司所注册,则可判定该软件为仿冒或篡改的软件。具体而言,(1)构建软件公司可信信标库,通过收集每个可信软件公司的官网、域名、idc等所有相关信标。(2)将提取出的所有信标(url、ip、domain)与软件公司可信信标库进行匹配搜索,找出不在软件公司可信信标库中的可疑信标url、ip、domain。(3)如果发现的可疑信标url、ip、domain非所属软件公司所注册,则可判定该软件为仿冒或篡改的软件。下面将结合图2对软件的可信检测方法进行进一步阐述,具体包括:s01:获取流行软件厂商名称列表收集整理流行软件厂商列表名称,形成可信软件公司名称信息库,包括但不限于微软、google、adobe、阿里、腾讯、百度等。s02:爬取流行软件厂商包含的所有信标(url、ip、域名)对主流软件厂商所包含的所有主域名、子域名、ip、url进行爬取,按照一定深度进行爬取,并可定期进行重新爬取,以便及时更新信标数据。s03:构建流行软件厂商可信信标库对s02爬取的流行软件厂商包含的所有信标(url、ip、域名)形成特征库,方便后续查询,同时可根据s02重新爬取结果进行更新。s04:解析待检测pe文件对待检测pe文件按照pe结构进行静态解析,包括但不限于pe属性(包括原始文件名、版权、产品名称、合法商标等)、数字签名(签名者信息)等可用于标识pe文件所属公司的信息。s05:识别pe文件归属公司根据s01分析的结果,识别pe文件所属公司名称,如pe属性中版权为realvncltd.2002-2008,则该pe文件归属于realvnc公司。s06:归属公司流行度、可信度判别对s02中识别的软件公司名称进行流行度、可信度判断,主要是与s06中收集整理的流行(可信)软件公司列表进行模糊匹配查找,若匹配成功则pe文件归属于流行公司,跳至s07,否则该文件是否恶意未知。s07:静态、动态分析提取内嵌信标(url、ip、domain)对pe文件进行静动态分析,提取pe文件内嵌或动态访问的所有信标(url、ip、domain)。s08~s09:与流行软件厂商可信信标库进行对比。将s07中提取的所有信标(url、ip、domain),在s03构建的流行软件厂商可信信标库中进行查找,若s07中提取的所有信标均可在流行软件厂商可信信标库中查找到,则该软件可信,否则该软件为仿冒或篡改自可信软件。进一步地,将通过一个具体示例对软件的可信检测方法进行阐述。如图3所示,利用可信软件内嵌非可信信标来判定是否被仿冒和篡改示例:未知pe文件a,其属性、数字签名等信息显示为adobe公司开发,对a文件进行分析,提取所有信标,其中存在一个url为http://xx.xx.com/virus.exe,对url进行处理,提取出域名xx.xx.com,然后将url、域名与事先收集整理的adobe公司所有的可信信标进行对比,发现该url和domain均不存在于可信信标库中,则a文件极有可能为仿冒或篡改的可信软件。综上,本发明实施例基于建立的可信软件信标库(url、ip、domain),对网络、终端上的软件的可信度进行评估,快速发现仿冒可信软件、篡改可信软件的恶意程序。本发明实施例的方法具有如下优点:(1)不依赖于恶意代码特征进行匹配检测,仅通过检测内嵌的信标是否可信即可判定程序恶意,可显著减少病毒库特征量。(2)本发明实施例一方面可以启发式检测仿冒、篡改可信软件的恶意程序,另一方面还可以针对发现的pe中内嵌可疑url,及时对url进行处理,也可下载url对应的恶意文件进行处理。根据本发明实施例提出的软件的可信检测方法,在待测可信软件的pe文件中多个信标中任意一个不属于可信信标库时,判定待测可信软件被篡改或仿冒,从而有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性,有效避免用户遭受恶意代码攻击,提高用户使用体验。其次参照附图描述根据本发明实施例提出的软件的可信检测装置。图4是本发明一个实施例的软件的可信检测装置的结构示意图。如图4所示,该软件的可信检测装置10包括:第一检测模块100、提取模块200和第二检测模块300。其中,第一检测模块100用于检测待测可信软件是否可信。提取模块200用于在pe文件待测软件可信时,提取待测可信软件的pe文件中多个信标。第二检测模块300用于检测多个信标是否均属于可信信标库,并在多个信标中任意一个信标不属于可信信标库时,判定待测可信软件被仿冒或篡改。本发明实施例的装置10可以有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性,有效避免用户遭受恶意代码攻击,提高用户使用体验。进一步地,在本发明的一个实施例中,本发明实施例的装置10还包括:采集模块和爬取模块。其中,采集模块用于采集可信软件厂商列表,以生成可信软件公司名称信息库。爬取模块用于爬取可信软件公司名称信息库的所有可信软件厂商的所有信标,以构建可信信标库。进一步地,在本发明的一个实施例中,提取模块200进一步用于根据pe结构对pe文件进行静态解析,以获取pe文件的标识信息,根据pe文件的标识信息识别pe文件的可信软件公司名称,并检测是否属于可信软件厂商,并在属于可信软件厂商,对pe文件进行静态或动态分析,以提取pe文件内嵌或动态访问的多个信标。进一步地,在本发明的一个实施例中,标识信息包括pe属性和数字签名,其中,pe属性包括原始文件名、版权、产品名称和商标中的一项或多项,数字签名包括签名者信息。进一步地,在本发明的一个实施例中,多个信标包括url信标、ip信标和domain信标。需要说明的是,前述对软件的可信检测方法实施例的解释说明也适用于该实施例的软件的可信检测装置,此处不再赘述。根据本发明实施例提出的软件的可信检测装置,在待测可信软件的pe文件中多个信标中任意一个不属于可信信标库时,判定待测可信软件被篡改或仿冒,从而有效检测对可信软件的仿冒或篡改,尤其是可以准确检测内嵌恶意信标而实现恶意目的的行为,提高检测的准确性和可靠性,有效避免用户遭受恶意代码攻击,提高用户使用体验。为了实现上述实施例,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如上述实施例描述的软件的可信检测方法。为了实现上述实施例,本发明实施例还提出了一种非临时性计算机可读存储介质,该程序被处理器执行时实现如上述实施例描述的软件的可信检测方法。为了实现上述实施例,本发明实施例还提出了一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如上述实施例描述的软件的可信检测方法。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1