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

文档序号:9579099阅读:来源:国知局
指令。可以理解,上述启动指令是用户针对应用程序输入的启动指令,比如用户单击、双击应用程序等具体的启动操作,或是直接运行应用程序的脚本。
[0050]判断模块220用于判断终端中通过数字签名证书阻止进程启动的策略是否开启。[0051 ] 具体而言,在本发明的一个实施例中,可通过接收模块210接收用户或终端的操作系统针对应用程序输入的启动指令,在接收到该启动指令时,判断模块220可通过以下步骤来判断终端中通过数字签名证书阻止进程启动的策略是否开启:首先,读取操作系统中HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\ffindows\safer\codeidentifiers注册表项下AuthenticodeEnabled注册表键的值,如果该AuthenticodeEnabled注册表键的值为0,则判断终端中通过数字签名证书阻止进程启动的策略未开启;如果该AuthenticodeEnabled注册表键的值不为0,则判断终端中通过数字签名证书阻止进程启动的策略已开启。
[0052]举例而言,用户单击移动终端上应用程序A的图标希望启动应用程序A,此时判断模块220就会读取应用程序A在操作系统中的HKEY_L0CAL_MACHINE\Software\Policies\Microsoft\ffindows\safer\codeidentifiers 注册表项下、类型为 REG_DTORD 的AuthenticodeEnabled注册表键的值,当该值不为0,如为I时,则表示终端中已开启通过数字签名证书阻止进程启动的策略,则应用程序A会被操作系统阻止启动。
[0053]读取模块230用于在判断模块220判断出通过数字签名证书阻止进程启动的策略已开启时,从终端的第一预设注册表地址中读取数字签名证书信息。
[0054]具体地,在接收模块210接收启动指令后,如果判断模块220读取出应用程序对应的注册表项下的AuthenticodeEnabled注册表键的值为I,则表明通过数字证书阻止进程启动的策略已经开启,也就是说系统会一直阻止该应用程序的启动,这时读取模块230从终端的第一预设注册表地址中读取数字签名证书信息,其中第一预设注册表地址存储有当前系统阻止的应用程序的设置信息,包括应用程序的数字签名证书信息、类型、权限设置等。
[0055]其中,在本发明的实施例中,上述第一预设注册表地址可包括:
[0056]HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates ;
[0057]HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertif icates\Disallowed\Certificates ;
[0058]HKEY_L0CAL_MACHINE\Software\ffow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\Certificates ;或
[0059]HKEY_CURRENT_USER\Software\ffow6432Node\Policies\Microsoft\SystemCertificates\Disallowed\Certificateso
[0060]可以理解,以操作系统为Microsoft Windows的PC机为例,其中,该MicrosoftWindows可分为32位和64位,而该32位操作系统中有两个注册表地址可保存数字签名证书信息,即 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 因此,为了保障本发明的终端中应用程序的启动控制方法能够广泛应用,并提高准确性,所以可将上述四个可以保存数字签名证书信息注册表地址均进行读取,以保证数字签名证书信息已全部读取。
[0061]还可以理解,读取模块230通过从上述四个注册表地址中读取出数字签名证书信息,是为了接下来判断终端中被阻止启动的应用程序是否是可受信任的应用程序。
[0062]更新模块240用于根据预设的白名单库对读取的数字签名证书信息进行更新,以使终端的操作系统根据更新后的数字签名证书信息启动应用程序。
[0063]其中,在本发明的实施例中,预设的白名单库包含可受信任的应用程序的相关信息,如保存有应用程序的数字签名证书信息等。可以理解,该预设的白名单库可以是通过用户预先手动地将允许运行的应用程序的数字签名证书信息进行汇总而建立的数据库,或者是通过一定策略生成的,例如根据应用程序发行商名称、有无病毒、数字签名证书信息、用户的使用记录等判断出可受信任的应用程序,并将该应用程序的数字签名证书信息进行汇总而建立的数据库。
[0064]具体而言,在本发明的一个实施例中,如图3所示,更新模块240可包括判断单元241以及更新单元242。具体地,判断单元241用于判断读取的数字签名证书信息是否存在于白名单库中,如果判断单元241判断读取的数字签名证书信息存在于白名单库中,更新单元242则将该存在于白名单库中的数字签名证书信息从第一预设注册表地址中删除。
[0065]也就是说,判断单元241将从注册表中读取到的所有被阻止启动的应用程序的数字签名证书信息和白名单库中保存的数字签名证书信息进行匹配,如果被阻止启动的应用程序的数字签名证书信息存在于白名单库中,则表明该应用程序是可受信任的应用程序,更新单元242可将该应用程序的数字签名证书信息从第一预设注册表中删除,以使得该应用程序能够正常启动。
[0066]可选的,如果判断单元241从注册表中读取到的被阻止启动的应用程序的数字签名证书信息不存在于白名单库中,则表明被阻止的应用程序不是可受信任的应用程序,则继续阻止该应用程序的启动,即不对第一预设注册表中的数字签名证书信息进行修改。由此,可以保证不可受信任的或恶意的应用程序在操作系统运行时不被运行启动,防止操作系统不受这些应用程序影响。
[0067]进一步地,为了保证系统的安全,防止恶意程序在操作系统运行期间,动态地将正常应用程序的数字签名证书信息添加到通过数字签名证书阻止进程启动的策略中,在本发明的一个实施例中,读取模块230还用于:在判断模块220判断通过数字签名证书阻止进程启动的策略已开启时,周期性地从第一预设注册表地址中读取数字签名证书信息,判断单元241判断读取的数字签名证书信息是否存在于白名单库中,如果存在,则更新单元242将该存在于白名单库中的数字签名证书信息从第一预设注册表地址中删除。也就是说,读取模块230可周期性地读取通过数字签名证书阻止启动的应用程序对应的数字证书签名信息,判断单元241将其与白名单库中的数字证书签名信息进行匹配,如果匹配成功,则更新单元242将该应用程序对应的数字证书签名信息从第一预设注册表中删除。
[0068]本发明实施例的终端中应用程序的启动控制装置,在接收模块接收到针对应用程序的启动指令时,可由判断模块判断终端中通过数字签名证书阻止进程启动的策略是否开启,如果已开启,则通过读取模块从终端的第一预设注册表地址中读取数字签名证书信息,并通过更新模块根据预设的白名单库对读取的数字签名证书信息进行更新,即根据预设的白名单库对阻止进程启动策略对应的数字签名证书信息进行更新,以使终端的操作系统根据更新后的数字签名证书信息启动应用程序,使得当正常或合法的应用程序的数字签名证书信息被写入到上述策略时,能够实时地检测到并删除相关记录,保证了可受信任应用程序的正常启动,避免恶意软件对应用程序启动时的恶意阻止,提升了系统的安全性會K。
[0069]在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0070]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0071]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1