CN106529281B - 一种可执行文件处理方法及装置 - Google Patents

一种可执行文件处理方法及装置 Download PDF

Info

Publication number
CN106529281B
CN106529281B CN201610978777.4A CN201610978777A CN106529281B CN 106529281 B CN106529281 B CN 106529281B CN 201610978777 A CN201610978777 A CN 201610978777A CN 106529281 B CN106529281 B CN 106529281B
Authority
CN
China
Prior art keywords
file
executable file
complete trails
current
executable
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
CN201610978777.4A
Other languages
English (en)
Other versions
CN106529281A (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.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Big Data Research 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 Guangdong Inspur Big Data Research Co Ltd filed Critical Guangdong Inspur Big Data Research Co Ltd
Priority to CN201610978777.4A priority Critical patent/CN106529281B/zh
Publication of CN106529281A publication Critical patent/CN106529281A/zh
Application granted granted Critical
Publication of CN106529281B publication Critical patent/CN106529281B/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种可执行文件处理方法及装置,应用于内核驱动模块,添加至少一个可信目标,确定每一个所述可信目标对应的可执行文件可信,还包括:当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息;将所述标识信息与所述至少一个可信目标进行匹配,当所述标识信息与任意所述可信目标一致时,完成所述执行。本发明能够使未加入到白名单的可执行文件被执行。

Description

一种可执行文件处理方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种可执行文件处理方法及装置。
背景技术
随着云计算、大数据等新型技术的发展,云主机和服务器等越来越受到用户的青睐,而同时网络安全问题也日益凸显。例如,目前,有许多不法人员将一些恶意的应用程序安装到云主机和服务器上,从而造成系统瘫痪或者用户资料丢失等一些严重的安全隐患问题。
目前,提高网络安全的方法主要是设置白名单,将可信的、安全的应用程序添加到白名单中,允许白名单内的应用程序运行,而禁止白名单以外的其它任何应用程序运行。但是当一个执行程序更新、升级或者打补丁时,常常产生一些新的可执行文件,而这些新的可执行文件可能并未被加入到白名单内,而未被加入到白名单的可执行文件不能被执行。
发明内容
本发明实施例提供了一种可执行文件处理方法及装置,能够使未加入到白名单的可执行文件被执行。
第一方面,本发明实施例提供了一种可执行文件处理方法,应用于内核驱动模块,添加至少一个可信目标,确定每一个所述可信目标对应的可执行文件可信,还包括:
当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息;
将所述标识信息与所述至少一个可信目标进行匹配,当所述标识信息与任意所述可信目标一致时,完成所述目标可执行文件的执行;当所述标识信息与每一个所述可信目标均不一致时,中断所述目标可执行文件的执行。
优选地,
所述标识信息包括:所述目标可执行文件对应的第一全路径及第一用户中的任意一个或两个;
和/或,
所述可信目标包括:可信用户、可信路径、可信进程及程序更新器中的任一个或多个。
优选地,
进一步包括:
当接收到当前可执行文件的目标操作请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及目标操作进程全路径;
将所述目标操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许对所述当前可执行文件进行所述目标操作。
优选地,
当所述目标操作请求包括为当前文件写入内容的请求时,判断所述当前文件是否为可执行文件,如果是,则确定所述当前文件对应的写操作进程全路径,并将所述当前文件对应的写操作进程全路径与所述程序更新器对应的全路径进行匹配;
当匹配成功,则允许所述内容写入到所述当前文件,并将所述当前文件对应的可执行全路径和所述当前文件对应的校验码添加到白名单中。
优选地,
当所述目标操作请求包括删除当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及删除操作进程全路径;
将所述删除操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许删除所述当前可执行文件,并在白名单中移除所述当前可执行文件对应的可执行全路径、对应的校验码。
优选地,
当所述目标操作请求包括重命名当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径和对应的重命名操作进程全路径;
将所述重命名操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许重命名所述当前可执行文件,并将所述白名单中相应的可执行全路径替换为所述当前可执行文件对应的可执行全路径。
第二方面,本发明实施例提供了一种内核驱动模块,包括:设置单元、获取单元及第一匹配单元,其中,
所述设置单元,用于添加至少一个可信目标,确定每一个所述可信目标对应的可执行文件可信;
所述获取单元,用于当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息;
所述第一匹配单元,用于将所述获取单元获取到的所述标识信息与所述设置单元添加的所述至少一个可信目标进行匹配,当所述标识信息与任意所述可信目标一致时,完成所述目标可执行文件的执行;当所述标识信息与每一个所述可信目标均不一致时,中断所述目标可执行文件的执行。
优选地,
所述获取单元获取的所述标识信息包括:所述目标可执行文件对应的第一全路径及第一用户中的任意一个或两个;
和/或,
所述设置单元添加的所述可信目标包括:可信用户、可信路径、可信进程及程序更新器中的任一个或多个。
优选地,
进一步包括:确定单元、第二匹配单元及目标操作单元,其中,
所述确定单元,用于当接收到当前可执行文件的目标操作请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及目标操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述目标操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许对所述当前可执行文件进行所述目标操作。
优选地,
进一步包括:判断单元,其中,
所述判断单元,用于当所述目标操作请求包括为当前文件写入内容的请求时,判断所述当前文件是否为可执行文件;
所述确定单元,用于当所述判断单元判断出所述当前文件为可执行文件时,确定所述当前文件对应的写操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述当前文件对应的写操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许所述内容写入到所述当前文件,并将所述当前文件对应的可执行全路径和所述当前文件对应的校验码添加到白名单中;
和/或,
所述确定单元,用于当所述目标操作请求包括删除当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及删除操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述删除操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许删除所述当前可执行文件,并在白名单中移除所述当前可执行文件对应的可执行全路径、对应的校验码;
和/或,
所述确定单元,用于当所述目标操作请求包括重命名当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径和对应的重命名操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述重命名操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许重命名所述当前可执行文件,并将所述白名单中相应的可执行全路径替换为所述当前可执行文件对应的可执行全路径。
本发明实施例提供了一种可执行文件处理方法及装置,通过在内核驱动模块内添加至少一个可信目标,且确定每个可信目标对应的可执行文件可信,那当目标可执行文件执行时,只要获取对应的标识信息与其中任意可信目标一致时,就可以完成执行,这样,即使目标可执行文件并未加入到白名单中,但是能够与添加到内核驱动模块内的可信目标匹配成功,从而也能够执行,因此能够使未加入到白名单的可执行文件被执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种可执行文件处理方法的流程图;
图2是本发明另一个实施例提供的一种可执行文件处理方法的流程图;
图3是本发明又一个实施例提供的一种可执行文件处理方法的流程图;
图4是本发明实施例提供的可执行文件处理装置所在设备的硬件架构图;
图5是本发明一个实施例提供的一种可执行文件处理装置的结构示意图;
图6是本发明另一个实施例提供的一种可执行文件处理装置的结构示意图;
图7是本发明又一个实施例提供的一种可执行文件处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种可执行文件处理方法,应用于内核驱动模块,该方法可以包括以下步骤:
步骤101:添加至少一个可信目标。
步骤102:确定每一个所述可信目标对应的可执行文件可信。
步骤103:当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息。
步骤104:将所述标识信息与所述至少一个可信目标进行匹配。
步骤105:判断所述标识信息是否与任意所述可信目标一致,如果是,则执行步骤106,否则,执行步骤107。
步骤106:完成所述目标可执行文件的执行。
步骤107:中断所述目标可执行文件的执行。
在本发明实施例中,通过在内核驱动模块内添加至少一个可信目标,且确定每个可信目标对应的可执行文件可信,那当目标可执行文件执行时,只要获取对应的标识信息与其中任意可信目标一致时,就可以完成执行,这样,即使目标可执行文件并未加入到白名单中,但是能够与添加到内核驱动模块内的可信目标匹配成功,从而也能够执行,因此能够使未加入到白名单的可执行文件被执行。
在本发明一个实施例中,为了能够实现目标可执行文件与添加到内核驱动模块内的可信目标进行匹配,所述步骤103中的所述标识信息包括:所述目标可执行文件对应的第一全路径及第一用户中的任意一个或两个。
其中,该标识信息的个数和类别可依照用户需求进行设定,但标识信息的类别至少为一个。例如,标识信息可以为“全路径”、“用户”及“检验码”等,本发明实施例中的标识信息是以其中的“全路径”和“用户”中的一个或两个为例,则共有三种选择,分别是,第一种:“全路径”;第二种:“用户”;第三种:“全路径”和“用户”,且每种选择对应的标识信息的个数至少为一个。
以上述第三种为例,例如,获取到的目标可执行文件1对应的全路径为“C:\Dold\wrl.exe”、用户为“admin1”,这样,“C:\Dold\wrl.exe”和“admin1”中的任意一个只要与一个可信目标匹配成功,那目标可执行文件1就可以执行。
在本发明一个实施例中,为了使未加入到白名单内的可执行文件能够执行,所述步骤101中的所述可信目标包括:可信用户、可信路径、可信进程及程序更新器中的任一个或多个。
其中,该可信目标的个数和类别可依照用户需求进行设定,但可信目标的类别至少为一个。除此之外,为了实现未加入到白名单内的可执行文件能够执行,还应确定可信目标对应的可执行文件可信,从而能够保证在目标可执行文件的标识信息匹配成功时,目标可执行文件可以完成执行。
以共有3个可信目标,每个可信目标均为一类一个为例,例如,可信目标1为可信用户“admin1”,可信目标2为可信用户“xyz”,可信目标3为可信路径“C:\”(可信路径的范围较大),则可信用户“admin1”和可信用户“xyz”运行的所有程序均被信任,且“C:\”下所有文件也均被信任(均能够执行),也就是说,当获取到上述提到的目标可执行文件1的全路径“C:\Dold\wrl.exe”和用户“admin1”后,就可以与本发明实施例中的3个可信目标进行匹配,由于能够成功匹配到可信目标1和可信目标3,所以目标可执行文件1能够完成执行;当可信目标3的可信路径为“D:\”时,那目标可执行文件1只会成功匹配到可信目标1,但是仍然能够实现该文件的执行;当可信目标1的可信用户为“admin2”且可信目标3的可信路径为“D:\”时,那目标可执行文件1就不会成功匹配到任何一个可信目标,从而无法实现该文件的执行,对于这种情况,该文件可能为一些不法人员恶意安装或者是木马等。
以共有2个可信目标,每个可信目标包括两类两个为例,例如,可信目标4为“admin1和D:\”,可信目标5为“xyz和C:\”,那当获取到的目标可执行文件1的全路径“C:\Dold\wrl.exe”和用户“admin1”在进行匹配时,由于与可信目标4中的第2项(D:\)不匹配,与可信目标5中的第1项(xyz)不匹配,所以目标可执行文件1与可信目标4和可信目标5均无法匹配成功,从而无法实现该文件的执行;当可信目标4为“admin1和C:\”时,那么目标可执行文件1就会成功匹配到可信目标4,从而能够实现该文件的执行。
除此之外,对于可信进程和程序更新器,为实现目标执行文件进行匹配,一般是以全路径(路径+文件名)形式进行设置。以共有2个可信目标,每个可信目标均为一类一个为例,如,可信目标6为可信进程“C:\Dold\uxl.exe”,可信目标7为程序更新器“C:\Sofr\pukl.exe”,那当获取到的目标可执行文件1的全路径“C:\Dold\wrl.exe”和用户“admin1”在进行匹配时,由于与可信目标6和可信目标7均匹配不成功,从而无法实现该文件的执行;当可信目标7的程序更新器为“C:\Dold\wrl.exe”时,目标可执行文件1与可信目标7匹配成功,从而能够实现该文件的执行,而且设为程序更新器的全路径“C:\Dold\wrl.exe”对应的目标可执行文件1中的程序创建的新可执行文件会自动加入白名单,一般情况下,系统上的程序对应的可执行文件均会设置为程序更新器,以此为维护系统的升级和更新等奠定基础。
值得说明的是,共有多少个可信目标及每个可信目标又包括几类,均可按照用户进行设置,上述只是几个具体的例子,但其它的原理与上述提到的方法类似,这里不再赘述。
通过获取目标可执行文件对应的第一全路径及第一用户中的任意一个或两个,从而可以实现该文件与可信目标进行匹配;以及通过将可信目标设置为可信用户、可信路径、可信进程及程序更新器中的任一个或多个,从而在目标可执行文件匹配成功时,允许未加入到白名单内的可执行文件能够执行。
在本发明另一个实施例中,为了实现可执行文件的操作请求,在所述步骤102之后,可进一步包括:当接收到当前可执行文件的目标操作请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及目标操作进程全路径;将所述目标操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许对所述当前可执行文件进行所述目标操作。
其中,目标操作请求可以任意,如,“写入请求”、“删除请求”及“重命名请求”等等。
通过将目标操作进程全路径与程序更新器对应的全路径进行匹配,如果匹配成功,则允许相应的操作请求,这样,可有效防止除了已经设置为可信目标的程序更新器之外的其它程序,如恶意的程序等对可执行文件进行操作,从而保证了可执行文件不被恶意更改等情况的发生。
在本发明又一个实施例中,为了避免设置为可信目标的程序更新器之外的程序创建新的可执行文件,在所述步骤102之后,可进一步包括:当所述目标操作请求包括为当前文件写入内容的请求时,判断所述当前文件是否为可执行文件,如果是,则确定所述当前文件对应的写操作进程全路径,并将所述当前文件对应的写操作进程全路径与所述程序更新器对应的全路径进行匹配;当匹配成功,则允许所述内容写入到所述当前文件,并将所述当前文件对应的可执行全路径和所述当前文件对应的校验码添加到白名单中。
例如,以当前文件为“1.txt”为例,由于后缀为.txt的文件不是可执行文件,所以不会影响系统的升级、更新等等,所以允许写入内容即可。那如果当前文件为“wxl.exe”时,由于后缀为.exe的文件是可执行文件,因此为保证一些恶意的程序无法将内容写入到当前文件中,从而可获取当前文件“wxl.exe”对应的写操作进程全路径,如“C:\Dlxn\write.exe”,那如果该路径能够与程序更新器对应的路径匹配成功,则说明是设置为可信目标的程序更新器“C:\Dlxn\write.exe”正在进行写入操作,因此允许相应的内容写入,而且会自动将“C:\Dlxn\write.exe”及相应的检验码添加到白名单中,这样,之后当该文件执行时,就会自动可信。
通过确定当前文件为可执行文件时,通过将当前文件对应的写操作进程全路径与程序更新器对应的全路径进行匹配,如果匹配成功,则允许在当前文件中写入内容,这样,可有效避免由于未设置为可信目标的其它程序创建新的文件。
在本发明一个实施例中,为了避免设置为可信目标的程序更新器之外的程序对白名单中的文件进行删除,在步骤102之后,当所述目标操作请求包括删除当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及删除操作进程全路径;将所述删除操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许删除所述当前可执行文件,并在白名单中移除所述当前可执行文件对应的可执行全路径、对应的校验码。
例如,以删除当前文件“wxl.exe”为例,同样为防止其它程序随意删除该文件,因此也需判断是否为程序更新器对应的删除操作进程,如果是,则当前文件“wxl.exe”就会删除成功,而且由于该文件已不存在,因此需要更新白名单,即将与该文件对应的标识信息进行删除。
值的说明的是,如果删除操作进程并不是程序更新器,则为保证白名单中的文件不被随意删除,还可通过当前文件“wxl.exe”对应的全路径或者校验码遍历白名单,如果是白名单中的可执行文件,则删除失败;如果不是白名单中的可执行文件,则允许删除当前文件“wxl.exe”。
通过在确定当前文件对应的删除操作进程全路径与程序更新器对应的全路径匹配时,删除该文件,从而可有效避免其他程序随意删除该文件而造成的系统瘫痪等严重性问题。
在本发明一个实施例中,为了避免设置为可信目标的程序更新器之外的程序对白名单中的文件进行重命名,在所述步骤102之后,当所述目标操作请求包括重命名当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径和对应的重命名操作进程全路径;将所述重命名操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许重命名所述当前可执行文件,并将所述白名单中相应的可执行全路径替换为所述当前可执行文件对应的可执行全路径。
例如,当前可执行文件为“wxl.exe”,重命名的名称为“dol”,同样为防止其它程序随意重命名该文件,因此也需判断相应的重命名操作进程是否为程序更新器,那如果是,则允许将“wxl.exe”命名为“dol.exe”,而且由于全路径是指路径+文件名,所以重命名后的当前可执行文件对应的全路径发生改变,因此,需要将白名单中相应的全路径进行替换。而且为实现该替换,在本发明实施例中,还应获取“wxl.exe”对应的全路径1,这样,在替换时,就可以先在白名单中查找到该全路径1,然后对该全路径1进行替换即可。
同样,为保证白名单中的可执行文件不被随意重命名,在确定重命名操作进程不是程序更新器时,还可通过当前文件“wxl.exe”对应的全路径或者校验码遍历白名单,如果是白名单中的可执行文件,则重命名失败;如果不是白名单中的可执行文件,则允许当前文件“wxl.exe”重命名为“dol.exe”。
通过在确定当前文件对应的重命名操作进程全路径与程序更新器对应的全路径匹配时,对该文件进行重命名,从而可有效避免其他程序随意重命名该文件。
综上可知,可执行文件的处理方法主要包括两方面,一方面可为:执行可执行文件,另一方面可为:操作可执行文件。下面将以两种应用场景分别说明执行可执行文件和操作可执行文件的过程。
应用场景1:
下面将以可执行文件1为例,展开说明执行可执行文件1的方法,如图2所示,该方法可以包括以下步骤:
步骤201:预先在内核驱动模块中添加可信用户“admin”、可信路径“s0”、可信进程“s0′”及程序更新器“s0″”。
为使未加入到白名单的可执行文件能够被执行,可通过改进内核驱动模块,即通过主服务进程添加至少一个可信目标,那在本发明实施例中共添加了4个可信目标,且每个可信目标对应一种类别。其中,这4个可信目标应该是根据实际需求进行设定的,也就是说,当用户发现有一些正常的应用程序无法运行,例如,系统模块任务管理器的升级无法实现时,就可以将任务管理器升级的可执行文件对应的全路径作为程序更新器“s0″”,并将其添加到内核驱动模块中。
步骤202:预先确定可信用户“admin”、可信路径“s0”、可信进程“s0′”及程序更新器“s0″”分别对应的可执行文件可信。
在本发明实施例中,通过将4个可信目标添加到内核驱动模块中,并确定每个可信目标对应的可执行文件可信,这样,以步骤201中任务管理器升级的可执行文件为例,当其执行时,就会允许实现升级。
步骤203:可执行文件1开始执行。
步骤204:获取可执行文件1对应的全路径s1和用户p。
每个可执行文件均会有不同的全路径,其中,全路径是指可执行文件的路径+文件名,如,全路径s1为“C:\Dold\wrl.exe”,则“C:\Dold\”就是可执行文件1存储的路径,“wrl”就是可执行文件1的文件名,“.exe”是可执行文件的其中一种后缀。
在本发明实施例中,用户p是指目标可执行文件1对应的操作用户,以服务器为例,一般情况下其系统上可设置20多个操作用户,但是并不是所有用户都是可信用户。
步骤205:将全路径s1和用户p分别与可信用户“admin”、可信路径“s0”、可信进程“s0′”及程序更新器“s0″”进行匹配。
在本发明实施例中,共设置了4个可信目标,且每个可信目标对应一类,那在获取到可执行文件1对应的全路径s1和用户p后,就可以将s1和p分别与这4个可信目标进行匹配。
步骤206:判断全路径s1或用户p是否与4个可信目标中的任意一个匹配成功,如果是,则执行步骤207,否则,执行步骤208。
只要s1和p中的任意一个与可信用户“admin”、可信路径“s0”、可信进程“s0′”及程序更新器“s0″”中的任意一个匹配成功,则确定可执行文件1为可信的可执行文件,从而执行步骤207。
步骤207:完成可执行文件1的执行。
步骤208:中断可执行文件1的执行。
在本发明实施例中,主要是解决未加入到白名单内的可执行文件执行,因此,如果匹配不成功,则中断其执行。
值的说明的是,如果是针对所有的可执行文件,那如果在步骤206中没有匹配成功,为不影响系统的运行等,还可进一步获取可执行文件1对应的校验码,然后将全路径s1和校验码中的任意一个与白名单进行匹配,如果匹配成功,则允许其执行,否则,由于该文件既不符合可信目标,又未加入到白名单,从而不会被执行。
应用场景2:
下面将以操作可执行文件2为例,展开说明操作可执行文件2的方法,如图3所示,该方法可以包括以下步骤:
步骤301:预先在内核驱动模块中添加可信用户“admin”、可信路径“s0”、可信进程“s0′”及程序更新器“s0″”。
步骤302:预先确定可信用户“admin”、可信路径“s0”、可信进程“s0′”及程序更新器“s0″”分别对应的可执行文件可信。
步骤303:接收对可执行文件2的目标操作请求。
在该步骤中,目标操作请求可以分为以下三种:
一:为可执行文件2写入内容的请求。
二:删除可执行文件2的请求。
三:重命名可执行文件2的请求。
值得说明的是,针对为可执行文件2写入内容的请求,应该是建立在已经判断出可执行文件2的基础上,这样接下来的操作过程才有意义,因为如果写入内容的文件不是可执行文件,如“123.txt”,那由于“.txt”不是可执行文件,所以并不会影响系统模块的升级、更新等操作,所以允许写入内容即可。而且,在判断否为可执行文件时,也可首先判断是否达到可执行文件的判断要求(一般情况下,可通过文件头进行判断),如果没有达到,则就无需进一步判断是否为可执行文件;如果达到要求,则再进行下一步判断,进而确定是否为可执行文件。
步骤304:确定可执行文件2对应的可执行全路径s2、校验码m及目标操作进程全路径s3
如果是上述步骤303中的为可执行文件2写入内容的请求,则s3应为写操作进程全路径;如果是删除可执行文件2的请求,则s3应为删除操作进程全路径;如果是重命名可执行文件2的请求,则s3应为重命名操作进程全路径。
另外,如果对可执行文件2进行重命名,则由于文件名改变,而会导致可执行全路径发生改变,所以针对目标操作请求3,为了之后能够在白名单中找到重命名之前的可执行全路径,并将其更换为s2(是指以对可执行文件2进行重命名,但还未设置成功),那在该步骤中还应获取可执行文件2之前的可执行全路径,以此通过查找实现更换。
步骤305:将s3与程序更新器“s0″进行匹配。
那如果是针对上述步骤303中的为可执行文件2写入内容的请求,则就会由写操作进程全路径s3与程序更新器“s0″进行匹配;如果是删除可执行文件2的请求,则就会由删除操作进程全路径s3与程序更新器“s0″进行匹配;如果是重命名可执行文件2的请求,则就会由重命名操作进程全路径s3与程序更新器“s0″进行匹配。
在本发明实施例中,程序更新器不仅对应的可执行文件可信,而且程序更新器创建文件自动可信,所以通过判断,可以有效避免其它程序操作可执行文件。
步骤306:判断s3与“s0″是否匹配成功,如果是,则执行步骤307,否则,执行步骤309。
步骤307:允许对可执行文件2进行目标操作。
如果是为可执行文件2写入内容的请求,且写操作进程全路径s3与程序更新器“s0″匹配成功,则允许为可执行文件2写入内容,也即创建了一个新的可执行文件2;如果是删除可执行文件2的请求,且删除操作进程全路径s3与程序更新器“s0″匹配成功,则允许删除可执行文件2;如果是重命名可执行文件2的请求,且重命名操作进程全路径s3与程序更新器“s0″匹配成功,则允许对可执行文件2进行重命名,这样,就能够有效避免除了添加为可信的程序更新器操作可执行文件而造成的文件破坏等情况的发生。
步骤308:根据目标操作对白名单进行对应的更新,并结束当前进程。
在本发明实施例中,如果允许为可执行文件2写入内容,那由于程序更新器创建的文件可信,所以就会将获取到s2和m添加到白名单中,这样就自动可信;如果允许删除可执行文件2,就会根据获取到的s2和m,相应的在白名单中预先设置的s2和m进行删除;如果允许对可执行文件2进行重命名,就会根据上述步骤304中获取到的重命名之前的可执行全路径,在白名单中将其替换为s2
步骤309:不允许对可执行文件2进行目标操作。
在本发明实施例中,主要是解决未加入到白名单内的可执行文件的处理方法,因此,如果s3与“s0″匹配不成功,则不允许对可执行文件2进行上述步骤303中的任意一种操作。
值的说明的是,如果是针对所有的可执行文件,而且针对上述步骤303中删除可执行文件2的请求和重命名可执行文件2的请求,那如果在步骤306中没有匹配成功,为不影响系统的运行等,还可将可执行文件2对应的将可执行全路径s1和校验码中的任意一个与白名单进行匹配,如果匹配成功,则不允许对可执行文件2进行删除或重命名,以防止不是程序更新器的进程操作可执行文件2;如果匹配不成功,则允许对可执行文件2进行删除或重命名,因为并不是该文件并不会影响到白名单。
如图4、图5所示,本发明实施例提供了一种可执行文件处理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的可执行文件处理装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的可执行文件处理装置,包括:
设置单元501、获取单元502及第一匹配单元503,其中,
所述设置单元501,用于添加至少一个可信目标,确定每一个所述可信目标对应的可执行文件可信;
所述获取单元502,用于当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息;
所述第一匹配单元503,用于将所述获取单元502获取到的所述标识信息与所述设置单元501中的所述至少一个可信目标进行匹配,当所述标识信息与任意所述可信目标一致时,完成所述目标可执行文件的执行;当所述标识信息与每一个所述可信目标均不一致时,中断所述目标可执行文件的执行。
在本发明一个实施例中,为实现目标可执行文件与添加到内核驱动模块内的可信目标进行匹配,所述获取单元502中的所述标识信息包括:所述目标可执行文件对应的第一全路径及第一用户中的任意一个或两个。
在本发明一个实施例中,为了使未加入到白名单内的可执行文件能够执行,所述设置单元501中的所述可信目标包括:可信用户、可信路径、可信进程及程序更新器中的任一个或多个。
如图6所示,在本发明一个实施例中,为了实现可执行文件的操作请求,进一步包括:确定单元601、第二匹配单元602及目标操作单元603,其中,
所述确定单元601,用于接收到当前可执行文件的目标操作请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及目标操作进程全路径;
所述第二匹配单元602,用于将所述确定单元601确定的所述目标操作进程全路径与所述设置单元501中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元603,用于当所述第二匹配单元602匹配成功时,允许对所述当前可执行文件进行所述目标操作。
如图7所示,在本发明一个实施例中,为了避免设置为可信目标的程序更新器之外的程序创建新的可执行文件,进一步包括:判断单元701,其中,
所述判断单元701,用于当所述目标操作请求包括为当前文件写入内容的请求时,判断所述当前文件是否为可执行文件;
所述确定单元601,用于当所述判断单元701判断出所述当前文件为可执行文件时,确定所述当前文件对应的写操作进程全路径;
所述第二匹配单元602,用于将所述确定单元601确定的所述当前文件对应的写操作进程全路径与所述设置单元501中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元603,用于当所述第二匹配单元602匹配成功时,允许所述内容写入到所述当前文件,并将所述当前文件对应的可执行全路径和所述当前文件对应的校验码添加到白名单中;
在本发明一个实施例中,为了避免设置为可信目标的程序更新器之外的程序对白名单中的文件进行删除,所述确定单元601,用于当所述目标操作请求包括删除当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及删除操作进程全路径;
所述第二匹配单元602,用于将所述确定单元601确定的所述删除操作进程全路径与所述设置单元501中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元603,用于当所述第二匹配单元602匹配成功时,允许删除所述当前可执行文件,并在白名单中移除所述当前可执行文件对应的可执行全路径、对应的校验码。
在本发明一个实施例中,为了避免设置为可信目标的程序更新器之外的程序对白名单中的文件进行重命名,所述确定单元601,用于当所述目标操作请求包括重命名当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径和对应的重命名操作进程全路径;
所述第二匹配单元602,用于将所述确定单元601确定的所述重命名操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元603,用于当所述第二匹配单元602匹配成功时,允许重命名所述当前可执行文件,并将所述白名单中相应的可执行全路径替换为所述当前可执行文件对应的可执行全路径。
综上,本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,通过在内核驱动模块内添加至少一个可信目标,且确定每个可信目标对应的可执行文件可信,那当目标可执行文件执行时,只要获取对应的标识信息与其中任意可信目标一致时,就可以完成执行,这样,即使目标可执行文件并未加入到白名单中,但是能够与添加到内核驱动模块内的可信目标匹配成功,从而也能够执行,因此能够使未加入到白名单的可执行文件被执行。
2、在本发明实施例中,通过获取目标可执行文件对应的第一全路径及第一用户中的任意一个或两个,从而可以实现该文件与可信目标进行匹配;以及通过将可信目标设置为可信用户、可信路径、可信进程及程序更新器中的任一个或多个,从而在目标可执行文件匹配成功时,允许未加入到白名单内的可执行文件能够执行。
3、在本发明实施例中,通过将目标操作进程全路径与程序更新器对应的全路径进行匹配,如果匹配成功,则允许相应的操作请求,这样,可有效防止除了已经设置为可信目标的程序更新器之外的其它程序,如恶意的程序等对可执行文件进行操作,从而保证了可执行文件不被恶意更改等情况的发生。
4、在本发明实施例中,通过确定当前文件为可执行文件时,通过将当前文件对应的写操作进程全路径与程序更新器对应的全路径进行匹配,如果匹配成功,则允许在当前文件中写入内容,这样,可有效避免由于未设置为可信目标的其它程序创建新的文件。
5、在本发明实施例中,通过在确定当前文件对应的删除操作进程全路径与程序更新器对应的全路径匹配时,删除该文件,从而可有效避免其他程序随意删除该文件而造成的系统瘫痪等严重性问题。
6、在本发明实施例中,通过在确定当前文件对应的重命名操作进程全路径与程序更新器对应的全路径匹配时,对该文件进行重命名,从而可有效避免其他程序随意重命名该文件。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (6)

1.一种可执行文件处理方法,其特征在于,应用于内核驱动模块,添加至少一个可信目标,确定每一个所述可信目标对应的可执行文件可信,还包括:
当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息;
将所述标识信息与所述至少一个可信目标进行匹配,当所述标识信息与任意所述可信目标一致时,完成所述目标可执行文件的执行;当所述标识信息与每一个所述可信目标均不一致时,中断所述目标可执行文件的执行;
所述标识信息包括:所述目标可执行文件对应的第一全路径及第一用户中的任意一个或两个;
和/或,
所述可信目标包括:可信用户、可信路径、可信进程及程序更新器中的任一个或多个;
进一步包括:
当接收到当前可执行文件的目标操作请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及目标操作进程全路径;
将所述目标操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许对所述当前可执行文件进行所述目标操作。
2.根据权利要求1所述的方法,其特征在于,
当所述目标操作请求包括为当前文件写入内容的请求时,判断所述当前文件是否为可执行文件,如果是,则确定所述当前文件对应的写操作进程全路径,并将所述当前文件对应的写操作进程全路径与所述程序更新器对应的全路径进行匹配;
当匹配成功,则允许所述内容写入到所述当前文件,并将所述当前文件对应的可执行全路径和所述当前文件对应的校验码添加到白名单中。
3.根据权利要求2所述的方法,其特征在于,
当所述目标操作请求包括删除当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及删除操作进程全路径;
将所述删除操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许删除所述当前可执行文件,并在白名单中移除所述当前可执行文件对应的可执行全路径、对应的校验码。
4.根据权利要求2所述的方法,其特征在于,
当所述目标操作请求包括重命名当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径和对应的重命名操作进程全路径;
将所述重命名操作进程全路径与所述程序更新器对应的全路径进行匹配,当匹配成功,则允许重命名所述当前可执行文件,并将白名单中相应的可执行全路径替换为所述当前可执行文件对应的可执行全路径。
5.一种内核驱动装置,其特征在于,包括:设置单元、获取单元及第一匹配单元,其中,
所述设置单元,用于添加至少一个可信目标,确定每一个所述可信目标对应的可执行文件可信;
所述获取单元,用于当目标可执行文件执行时,获取所述目标可执行文件对应的标识信息;
所述第一匹配单元,用于将所述获取单元获取到的所述标识信息与所述设置单元添加的所述至少一个可信目标进行匹配,当所述标识信息与任意所述可信目标一致时,完成所述目标可执行文件的执行;当所述标识信息与每一个所述可信目标均不一致时,中断所述目标可执行文件的执行;
所述获取单元获取的所述标识信息包括:所述目标可执行文件对应的第一全路径及第一用户中的任意一个或两个;
和/或,
所述设置单元添加的所述可信目标包括:可信用户、可信路径、可信进程及程序更新器中的任一个或多个;
进一步包括:确定单元、第二匹配单元及目标操作单元,其中,
所述确定单元,用于接收到当前可执行文件的目标操作请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及目标操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述目标操作进程全路径与所述设置单元添加的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许对所述当前可执行文件进行所述目标操作。
6.根据权利要求5所述的装置,其特征在于,
进一步包括:判断单元,其中,
所述判断单元,用于当所述目标操作请求包括为当前文件写入内容的请求时,判断所述当前文件是否为可执行文件;
所述确定单元,用于当所述判断单元判断出所述当前文件为可执行文件时,确定所述当前文件对应的写操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述当前文件对应的写操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许所述内容写入到所述当前文件,并将所述当前文件对应的可执行全路径和所述当前文件对应的校验码添加到白名单中;
和/或,
所述确定单元,用于当所述目标操作请求包括删除当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径、对应的校验码及删除操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述删除操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许删除所述当前可执行文件,并在白名单中移除所述当前可执行文件对应的可执行全路径、对应的校验码;
和/或,
所述确定单元,用于当所述目标操作请求包括重命名当前可执行文件的请求时,确定所述当前可执行文件对应的可执行全路径和对应的重命名操作进程全路径;
所述第二匹配单元,用于将所述确定单元确定的所述重命名操作进程全路径与所述设置单元中的所述程序更新器对应的全路径进行匹配;
所述目标操作单元,用于当所述第二匹配单元匹配成功时,允许重命名所述当前可执行文件,并将所述白名单中相应的可执行全路径替换为所述当前可执行文件对应的可执行全路径。
CN201610978777.4A 2016-11-07 2016-11-07 一种可执行文件处理方法及装置 Active CN106529281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610978777.4A CN106529281B (zh) 2016-11-07 2016-11-07 一种可执行文件处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610978777.4A CN106529281B (zh) 2016-11-07 2016-11-07 一种可执行文件处理方法及装置

Publications (2)

Publication Number Publication Date
CN106529281A CN106529281A (zh) 2017-03-22
CN106529281B true CN106529281B (zh) 2019-09-06

Family

ID=58349601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610978777.4A Active CN106529281B (zh) 2016-11-07 2016-11-07 一种可执行文件处理方法及装置

Country Status (1)

Country Link
CN (1) CN106529281B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273253A (zh) * 2017-06-16 2017-10-20 郑州云海信息技术有限公司 一种基于信用的负载监控方法及装置
CN111914249A (zh) * 2020-08-11 2020-11-10 北京珞安科技有限责任公司 一种程序白名单的生成方法、程序更新方法及装置
CN114373291B (zh) * 2022-01-19 2023-04-11 深圳市力合微电子股份有限公司 一种g3-plc电表自动注册到主站的方法
CN117376033A (zh) * 2023-12-06 2024-01-09 浙江网商银行股份有限公司 文件处理方法以及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831355A (zh) * 2011-12-30 2012-12-19 中国科学院软件研究所 安全操作系统中建立可信路径的方法
CN102855274A (zh) * 2012-07-17 2013-01-02 北京奇虎科技有限公司 一种可疑进程检测的方法和装置
CN103049698A (zh) * 2013-01-17 2013-04-17 珠海市君天电子科技有限公司 一种防御网购木马的方法及其装置
CN103235912A (zh) * 2013-04-12 2013-08-07 福建伊时代信息科技股份有限公司 可信进程识别装置和可信进程识别方法
CN106022149A (zh) * 2016-05-27 2016-10-12 北京金山安全软件有限公司 一种进程控制方法及用户终端
CN106096401A (zh) * 2016-06-13 2016-11-09 北京金山安全软件有限公司 进程保护方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831355A (zh) * 2011-12-30 2012-12-19 中国科学院软件研究所 安全操作系统中建立可信路径的方法
CN102855274A (zh) * 2012-07-17 2013-01-02 北京奇虎科技有限公司 一种可疑进程检测的方法和装置
CN103049698A (zh) * 2013-01-17 2013-04-17 珠海市君天电子科技有限公司 一种防御网购木马的方法及其装置
CN103235912A (zh) * 2013-04-12 2013-08-07 福建伊时代信息科技股份有限公司 可信进程识别装置和可信进程识别方法
CN106022149A (zh) * 2016-05-27 2016-10-12 北京金山安全软件有限公司 一种进程控制方法及用户终端
CN106096401A (zh) * 2016-06-13 2016-11-09 北京金山安全软件有限公司 进程保护方法及装置

Also Published As

Publication number Publication date
CN106529281A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
US10565077B2 (en) Using cognitive technologies to identify and resolve issues in a distributed infrastructure
US8032880B2 (en) Multi-branch management for updating software
US10540368B2 (en) System and method for resolving synchronization conflicts
CN106529281B (zh) 一种可执行文件处理方法及装置
US10621212B2 (en) Language tag management on international data storage
US9690562B2 (en) Detecting computing processes requiring reinitialization after a software package update
US9104796B2 (en) Correlation of source code with system dump information
US11645245B2 (en) Container software discovery and cataloging
US20110016451A1 (en) Method and system for generating test cases for a software application
CN104077191A (zh) 一种用于管理内存资源的方法及装置
CN110188103A (zh) 数据对账方法、装置、设备和存储介质
CN112486629A (zh) 微服务状态检测方法、装置、电子设备和存储介质
US20130014260A1 (en) Apparatus, system, and method for preventing infection by malicious code
US20170169069A1 (en) Data integrity checking in a distributed filesystem using object versioning
US11720607B2 (en) System for lightweight objects
CN110990346A (zh) 基于区块链的文件数据处理方法、装置、设备及存储介质
CN107391539B (zh) 事务处理方法、服务器和存储介质
CN110837377A (zh) 一种应用程序的更新方法及装置、存储介质、电子设备
US9009731B2 (en) Conversion of lightweight object to a heavyweight object
CN105787359A (zh) 进程守护方法和装置
US10291700B2 (en) Network optimized scan with dynamic fallback recovery
CN106293897B (zh) 组件自动化调度系统
US9727378B2 (en) Persistent unenrollment for devices under management
CN115454827B (zh) 兼容性检测方法、系统、设备和介质
CN115421785B (zh) 应用程序的移植处理方法、装置和介质

Legal Events

Date Code Title Description
C06 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