终端中应用程序的启动控制方法和装置的制造方法_2

文档序号:9579099阅读:来源:国知局
程启动的策略已开启,则从终端的第一预设注册表地址中读取数字签名证书信息。
[0029]具体地,接收启动指令后,如果读取出应用程序对应的注册表项下的AuthenticodeEnabled注册表键的值为1,则表明通过数字证书阻止进程启动的策略已经开启,也就是说系统会一直阻止该应用程序的启动,这时从终端的第一预设注册表地址中读取数字签名证书信息,其中第一预设注册表地址存储有当前系统阻止的应用程序的设置信息,包括应用程序的数字签名证书信息、类型、权限设置等。
[0030]其中,在本发明的实施例中,上述第一预设注册表地址可包括:
[0031]HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates ;
[0032]HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertif icates\Disallowed\Certificates ;
[0033]HKEY_L0CAL_MACHINE\Software\ffow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\Certificates ;或
[0034]HKEY_CURRENT_USER\Software\ffow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\Certificateso
[0035]可以理解,以操作系统为Microsoft Windows的PC机为例,其中,该MicrosoftWindows可分为32位和64位,而该32位操作系统中有两个注册表地址可保存数字签名证书?目息,即
[0036]HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates 和 HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertif icates\Di sal lowed\Cert if icates ;该 64 位操作系统中除了上述 32位操作系统中的那两个注册表地址之外,还有另外两个注册表地址可保存数字签名证书信息,即 HKEY_L0CAL_MACHINE\Software\Wow6432Node\Policies\Microsoft\SystemCertif icates\Disallowed\Certif icates 和 HKEY_CURRENT_USER\Software\Wow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\Certificateso 因此,为了保障本发明的终端中应用程序的启动控制方法能够广泛应用,并提高准确性,所以可将上述四个可以保存数字签名证书信息注册表地址均进行读取,以保证数字签名证书信息已全部读取。
[0037]还可以理解,通过从上述四个注册表地址中读取出数字签名证书信息,是为了接下来判断终端中被阻止启动的应用程序是否是可受信任的应用程序。
[0038]S130,根据预设的白名单库对读取的数字签名证书信息进行更新,以使终端的操作系统根据更新后的数字签名证书信息启动应用程序。
[0039]其中,在本发明的实施例中,预设的白名单库包含可受信任的应用程序的相关信息,如保存有应用程序的数字签名证书信息等。可以理解,该预设的白名单库可以是通过用户预先手动地将允许运行的应用程序的数字签名证书信息进行汇总而建立的数据库,或者是通过一定策略生成的,例如根据应用程序发行商名称、有无病毒、数字签名证书信息、用户的使用记录等判断出可受信任的应用程序,并将该应用程序的数字签名证书信息进行汇总而建立的数据库。
[0040]具体而言,可判断读取的数字签名证书信息是否存在于白名单库中,如果读取的数字签名证书信息存在于该白名单库中,则将该存在于白名单中的数字签名证书信息从第一预设注册表地址中删除。也就是说,将从注册表中读取到的所有被阻止启动的应用程序的数字签名证书信息和白名单库中保存的数字签名证书信息进行匹配,如果被阻止启动的应用程序的数字签名证书信息存在于白名单库中,则表明该应用程序是可受信任的应用程序,则可将该应用程序的数字签名证书信息从第一预设注册表中删除,以使得该应用程序能够正常启动。
[0041]可选的,如果从注册表中读取到的被阻止启动的应用程序的数字签名证书信息不存在于白名单库中,则表明被阻止的应用程序不是可受信任的应用程序,则继续阻止该应用程序的启动,即不对第一预设注册表中的数字签名证书信息进行修改。由此,可以保证不可受信任的或恶意的应用程序在操作系统运行时不被运行启动,防止操作系统不受这些应用程序影响。
[0042]进一步地,为了保证系统的安全,防止恶意程序在操作系统运行期间,动态地将正常应用程序的数字签名证书信息添加到通过数字签名证书阻止进程启动的策略中,在本发明的一个实施例中,在判断通过数字签名证书阻止进程启动的策略已开启时,该启动控制方法还可包括:周期性地从第一预设注册表地址中读取数字签名证书信息,并判断读取的数字签名证书信息是否存在于白名单库中。也就是说,可周期性地读取通过数字签名证书阻止启动的应用程序对应的数字证书签名信息,并将其与白名单库中的数字证书签名信息进行匹配,如果匹配成功,则将该应用程序对应的数字证书签名信息从第一预设注册表中删除。
[0043]为了使得本领域的技术人员更加了解本发明,下面可举例说明。
[0044]举例而言,假设终端为PC机,操作系统为Microsoft Windows,被阻止进程启动的应用程序为具有防御功能的应用程序B,为了使得应用程序B能够保障操作系统的安全,因此,在Windows操作系统开机启动时需启动应用程序B的服务进程,该服务进程是与应用程序B的防御驱动通信,处理防御驱动上抛的拦截数据,所以对于应用程序B的整个防护功能,应用程序B的服务进程至关重要。然而,恶意软件会在HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\ffindows\safer\codeident ifiers 注册表项下,将AuthenticodeEnabled注册表键的值置为1,开启通过数字签名证书阻止进程启动的策略,然后将应用程序B的数字签名证书信息写入下面四个注册表中任意一个,即 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates、 HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertif icates\Disal1wed\Certif icatesN HKEY_LOCAL_MACHINE\Software\Wow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\CertificatesN 或HKEY_CURRENT_USER\Software\ffow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\Certificates,这样当应用程序B的服务进程启动时,操作系统就会阻止应用程序B的服务进程启动,应用程序B的整个防御处理逻辑就处于瘫痪状态,恶意程序就会危害操作系统。如果在接收到启动应用程序B的服务进程的启动指令时,通过本发明的启动控制方法对该应用程序B进行相应的处理即可实现应用程序B在操作系统上的正常运行。即,可隔一段时间在上面四个存储数字签名证书信息的注册表地址中循环查找,如果找到应用程序B的数字签名证书信息,则将该应用程序B的数字签名证书信息从该注册表地址中删除,这样当应用程序B的服务进程启动时,操作系统就不会阻止应用程序B的服务进程启动,应用程序B的整个防御处理逻辑就会生效,从而保护操作系统不被恶意程序破坏。
[0045]本发明实施例的终端中应用程序的启动控制方法,在接收针对应用程序的启动指令时,可判断终端中通过数字签名证书阻止进程启动的策略是否开启,如果已开启,则从终端的第一预设注册表地址中读取数字签名证书信息,并根据预设的白名单库对读取的数字签名证书信息进行更新,以使终端的操作系统根据更新后的数字签名证书信息启动应用程序,即根据预设的白名单库对阻止进程启动策略对应的数字签名证书信息进行更新,使得当正常或合法的应用程序的数字签名证书信息被写入到上述策略时,能够实时地检测到并删除相关记录,保证了可受信任应用程序的正常启动,避免恶意软件对应用程序启动时的恶意阻止,提升了系统的安全性能。
[0046]为了实现上述实施例,本发明还提出了一种终端中应用程序的启动控制装置。
[0047]图2是根据本发明一个实施例的终端中应用程序的启动控制装置的结构示意图。需要说明的是,在本发明的实施例中,终端可以是移动终端、或PC机(Personal Computer,个人计算机),该移动终端可以是手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备。其中,为了方便对本发明的描述,下面将以操作系统为Microsoft Windows为例进行说明,可以理解,操作系统为Microsoft Windows只是示例,并不是对该操作系统的具体限定。
[0048]如图2所示,该终端中应用程序的启动控制装置包括:接收模块210、判断模块220、读取模块230和更新模块240。
[0049]其中,接收模块210用于接收针对应用程序的启动
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1