基于根节点的应用程序控管系统及方法与流程

文档序号:31994077发布日期:2022-11-02 00:45阅读:60来源:国知局
基于根节点的应用程序控管系统及方法与流程

1.本发明是一种应用程序控管的技术领域,特别是关于基于根节点的应用程序控管系统及方法。


背景技术:

2.随着信息化的发展,出现了大量的应用程序(app)。同一个厂商可以提供多个应用程序。即使是不同的应用程序,尤其是同一个厂商提供的多个应用程序,可能存在相似的功能。为了适应技术发展或业务需要,常常需要对应用程序进行升级或换代,例如,新版本应用程序的发布频率可能大于1次/周。当发布的新版本应用程序出现了错误或者业务出现故障时,需要用户端的应用程序紧急回到指定版本的应用程序,才能够满足用户的基本使用需求。
3.现有的应用程序通常会限定可合法使用它的电脑装置,避免应用程序被复制到其它未经合法授权的电脑装置上使用。为达到这个目的,目前已有绑定硬件信息的保护机制。在此机制中,应用程序一旦被启动就会先读取并验证安装它的电脑装置中的硬件信息,例如中央处理器编码、硬碟序号等等,并只在验证通过时才允许该电脑装置正常执行它。这种机制虽可将应用程序与可正常执行它的合法电脑装置绑定在一起,但因硬件信息缺乏动态变化,故容易遭到破解。
4.此外,在网际网络普及的情形之下,在企业内通常都会建构与网际网络的连接,以取得各式各样的应用程序。然而,从网际网络撷取的各种信息或应用程序,可能也会有接收到恶意程序的情形发生。一旦恶意程序进入到信息处理装置,将会破坏其中的软件或者是盗取其中的信息,对于企业内的信息安全造成莫大的伤害。
5.另一方面,对于企业而言,在享受网际网络便利性的同时也应尽可能地将这些可能存在的恶意程序的威胁排除。关连于应用程序所实行的限制,传统上使用黑名单的控管方式来实施。因为全球的程序太多,因此以黑名单的控管方式已不符使用。
6.再者,近来黑客常使用本机上原有的程序,做为攻击的程序,而不是使用黑客自己写的程序。这样会造成一个问题,例如windows上内建的程序是常会被使用者使用的程序,但也是骇客最爱用的程序;如此,这些内建的程序是否可以设为应用程序控管,也是一大问题所在。
7.针对上述缺点,本发明提供一新颖的应用程序控管方法,以解决上述缺点。


技术实现要素:

8.本发明的目的在于提供一种基于根节点的应用程序控管系统与方法。
9.本发明的基于根节点的应用程序控管系统,包括:一检查单元;以及一阶层式节点,包含一根节点与一第一层节点,其中根节点为第一层节点的父节点。其中检查单元系用以检查根节点是否为一指定的应用程序控管单元,若是则执行该第一层节点。
10.其中,检查单元所检查的根节点非为该指定的应用程序控管单元,则禁止执行第
一层节点。
11.其中,该阶层式节点还包含一第二层节点,而第一层节点为第二层节点的第二父节点。其中检查单元检查第一层节点是否为该指定的应用程序控管单元,若是则执行第二层节点;若否,则禁止执行该第二层节点。
12.其中,阶层式节点包含根结点与n个层的节点,该检查单元检查n个层的父节点是否皆为该指定的应用程序控管单元。
13.本发明的基于根节点的应用程序控管方法,包括:提供一检查单元;提供一阶层式节点,包含一根节点与一第一层节点,其中根节点为第一层节点的父节点;以及,检查该根节点是否为一指定的应用程序控管单元,若是则执行第一层节点,若否则禁止执行该第一层节点。
14.本发明的基于根节点的应用程序控管系统及方法可以大大地降低检测的时间成本与提高信息安全的检测效率。
附图说明
15.图1显示本发明的应用程序控管单元执行microsoft powershell的示意图;
16.图2显示黑客巨集、黑客程序执行microsoft powershell的示意图;
17.图3显示本发明的应用程序控管系统的阶层式节点的示意图;
18.图4显示正常使用者及黑客的使用行为的示意图。
19.主要部件附图标记:
20.explorer 102、404、420
21.microsoft powershell 104、108、206、210、410、412、414、418、424、430
22.dos command 106
23.microsoft word 202、406、408、426
24.vb巨集程序204
25.黑客程序208
26.检查单元300
27.根节点302
28.第一层节点304
29.第二层节点306
30.第三层节点308
31.第n层节点310
32.cmd 402、416、422、428
具体实施方式
33.此处本发明将针对发明具体实施例及其观点加以详细描述,此类描述为解释本发明的结构或步骤流程,其系供以说明之用而非用以限制本发明的权利要求。因此,除说明书中的具体实施例与较佳实施例外,本发明亦可广泛施行于其他不同的实施例中。以下借由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可借由本说明书所揭示的内容轻易地了解本发明的功效性与其优点。且本发明亦可借由其他具体实施例加以运用及实
施,本说明书所阐述的各项细节亦可基于不同需求而应用,且在不悖离本发明的精神下进行各种不同的修饰或变更。
34.本发明提出一种基于根节点的应用程序控管方法,其中通过指定父进程(parent process)、父节点为应用程序控管单元,以防止黑客使用应用程序控管的白名单程序(例如windows上内建的程序,powershell.exe)做为攻击工具。在电脑领域之中,父进程指已建立一个或多个子进程的进程。利用检查父进程可以禁止黑客所植入的程序去执行本机(信息处理装置,电脑)上原有的白名单程序。本发明的应用程序控管系统可以包含一阶层式节点,多层节点构成的多层结构或树状结构,其中该结构的最上层包含一根节点,最底层节点为被执行的程序,且其层的数目没有限制。上下层节点为父进程(父节点)和子进程(子节点)的关系。在执行上,每一层父节点均需检查其是否为指定的应用程序控管单元,或者是其他非指定的执行程序。
35.本发明以白名单做为控管方案,以取代传统的黑名单控管方式。在实际上的操作上而言,我们可以利用使用者的行为,去判别、分别执行的程序是正常使用的程序或者是黑客的程序。若是正常使用的程序即为应用程序控管的白名单,反之即为黑名单。
36.图1描绘了本发明的应用程序控管单元执行microsoft powershell的示意图。举例而言,本实施例之中应用程序控管单元为explorer 102,其系为microsoft powershell 104的父节点(父进程)。在本例子中,父代为explorer.exe,因此只需检查父代。以父节点explorer 102可以执行microsoft powershell 104。microsoft powershell 104为电脑可执行的白名单档案或程序。powershell为微软公司开发的任务自动化和组态管理框架,由.net framework和.net core构建的命令行介面壳层相关手稿语言组成。举一实施例而言,上述父节点explorer 102通过服务器的一指定单元所指定的应用程序控管单元。当然在执行上,父节点explorer 102是经过服务器的检查单元(未图示)的检查之后,确定其为指定的应用程序控管单元,所以可执行microsoft powershell 104。在正常行为之下,microsoft powershell 104即被标示为白名单(图中的打勾符号√)。
37.参考图1,在另一例子中,应用程序控管单元为dos command 106,其系为microsoft powershell 108的父节点(父进程)。在本例子中,父代为dos.exe,而只需检查父代。以父节点dos command 106可以执行microsoft powershell 108。父节点dos command 106也是通过本机的指定单元所指定的应用程序控管单元。同样地,在执行上,父节点dos command 106也是经过检查单元的检查之后,确定其为指定的应用程序控管单元,可以执行microsoft powershell 108。在正常行为之下,microsoft powershell 108即被标示为白名单。在microsoft powershell中,管理任务通常由cmdlets(command-lets:cmd.exe)执行,这是执行特定操作的专用.net类。可以将cmdlet集合至指令码、可执行档(一般是独立应用程序)中,或通过常规.net类(或wmi/com物件)实例化。通过存取不同资料储存中的资料由microsoft powershell执行,如档案总管或登录档。
38.图2描绘了黑客巨集、黑客程序执行microsoft powershell的示意图。在图2之中,microsoft word 202和visual basic(vb)巨集程序(病毒)204为父子节点,以microsoft word 202程序执行其vb巨集程序204。巨集是一种抽象(abstraction),它根据一系列预先定义的规则而替换一定的文字模式。直译器或编译器在遇到巨集时会自动进行此一模式替换。vb巨集程序204和microsoft powershell 206为父子节点,而vb巨集程序204被禁止执
行microsoft powershell 206。由于microsoft word 202和vb巨集程序204均不是本发明所指定的应用程序控管单元,所以均无法执行microsoft powershell 206。亦即,在执行上,父节点microsoft word 202和vb巨集程序204经过检查单元的检查之后,确定其非为指定的应用程序控管单元,所以被禁止执行microsoft powershell 206。在黑客行为之下,microsoft powershell 206即被标示为黑名单(图中的禁止符号),禁止在本机中执行,进一步可以删除之。
39.在图2之中,黑客程序208和microsoft powershell 210为父子节点。亦即,以microsoft powershell 210作为黑客程序208攻击对象。在执行时,黑客程序208经过检查单元的检查之后,确定其非为指定的应用程序控管单元,所以被禁止执行microsoft powershell 210。在黑客行为之下,microsoft powershell 210即被标示为黑名单,禁止在本机中执行,进一步可以删除之。
40.参考图3,其显示本发明的应用程序控管系统的阶层式节点的示意图。本发明的应用程序控管系统可以包含复数节点所构成的多层结构或树状结构,其层的数目没有限制。在本实施例之中,以n层作为例子。应用程序控管系统包含一根节点(最上层)302、第一层节点304、第二层节点306、第三层节点308

第n层节点310。根节点302为第一层节点304的父节点,第一层节点304为第二层节点306的父节点,第二层节点306为第三层节点308的父节点,其他各代的父子节点关系依此类推。第n层节点310为最底层被执行的程序。在执行时,需检查n层(代)的父节点,包含根节点302、第一层节点304、第二层节点306、第三层节点308

和第(n-1)层节点,均需经过检查单元300的检查。若检查结果,确定根节点302、第一层节点304、第二层节点306、第三层节点308

和第(n-1)层节点均为指定的应用程序控管单元(x.exe),则可以执行第n层节点310的程序。举例而言,第n层节点310的父代为powershell.exe,祖代为dos.exe,曾祖代为explorer.exe...根节点(x.exe),需检查n代的父节点。由此可知,其祖先各代都有可能列入控管,不是只有父代及祖代两层,而需要检查不同层的父代。在正常行为之下,被执行的第n层节点310即被标示为白名单。若检查结果,只要根节点302、第一层节点304、第二层节点306、第三层节点308

和第(n-1)层节点其中有一个(或以上)非为指定的应用程序控管单元,则被禁止执行第n层节点310的程序。在黑客行为之下,被执行的第n层节点310即被标示为黑名单,禁止在本机中执行,进一步可以删除之。由此可知,黑客程序有可能被安排于(隐藏于)阶层式的某一层(或多层)节点之中。
41.参考图4,其显示正常使用者及黑客的使用行为的示意图。在本实施例之中,每一例子均以microsoft powershell作为被执行程序的例子。然而,需要知道的是microsoft powershell只是一个例子,也可以是其他任一程序作为例子。在第一例子之中,cmd 402为microsoft powershell 410的父节点。因为cmd 402为指定的应用程序控管单元,可以执行microsoft powershell410。在正常行为之下,microsoft powershell 410即被标示为白名单。在第二例子之中,explorer 404为microsoft powershell 412的父节点。因为explorer 404为指定的应用程序控管单元,可以执行microsoft powershell412。在正常行为之下,microsoft powershell 412即被标示为白名单。换言之,由cmd(command-lets:cmd.exe)402或explorer 404去执行microsoft powershell 410、412,系在正常行为之下,所以microsoft powershell 410、412是应用程序控管的白名单。一般而言,分析父节点a执行子节点b(亦即b的父节点是a),来判断同样的b;因为父节点a不同,则变成不同的应用程序控
管。例如,上述同样的microsoft powershell,因为父节点cmd或explorer的不同,其应用程序控管也会不同。
42.如图4所示,在第三例子之中,microsoft word 202为microsoft powershell 414的父节点。因为microsoft word 202非为指定的应用程序控管单元,则microsoft powershell 414被禁止于本机之中。在黑客行为之下,microsoft powershell 414即被标示为黑名单,禁止在本机中执行,进一步可以删除之。
43.参考图4,在第四例子之中,此例子为误判的情形。microsoft word 408为cmd 416的父节点。cmd 416为microsoft powershell 418的父节点。其中microsoft word 408非指定单元所指定的应用程序控管单元,而cmd 416为指定单元所指定的应用程序控管单元。前面已叙述,在执行上,每一层父节点均需检查其是否为指定的应用程序控管单元。在本例子中,因为检查单元只检查cmd 416这一层父节点,而未检查microsoft word 408这一层父节点(根节点),因此造成误判。由于microsoft word 408非为指定的应用程序控管单元,仍有可能影响到下二层的microsoft powershell 418的执行,所以microsoft powershell 418应被禁止于本机之中执行。然而,由于未检查microsoft word 408这一层父节点,所以标示microsoft powershell 418为白名单,这将使黑客行为影响到本机,造成信息安全上的危机。由此可以说明,本案的每一层父节点均需检查其是否为指定的应用程序控管单元,以避免上述误判的情形发生。
44.继续参考图4,在第五例子之中,explorer 420为cmd 422的父节点。cmd 422为microsoft powershell 424的父节点。其中explorer 420为指定单元所指定的应用程序控管单元,且cmd 422亦为指定单元所指定的应用程序控管单元。在本例子中,父代为dos.exe,而祖代为explorer.exe,因此需检查2代。在执行上,每一层父节点均需检查其是否为指定的应用程序控管单元。在本例子中,检查单元先行检查cmd 422这一层父节点,之后再检查explorer 420这一层父节点(根节点)。由于检查到的cmd 422与explorer 420皆为指定的应用程序控管单元,所以cmd 422可以执行microsoft powershell 424。在正常行为之下,microsoft powershell 424即被标示为白名单。综合上述,由explorer\cmd或explorer去执行microsoft powershell,于正常行为中,microsoft powershell是应用程序控管的白名单。
45.参考图4,在第六例子之中,microsoft word 426为cmd 428的父节点。cmd 428为microsoft powershell 430的父节点。其中microsoft word 426非指定单元所指定的应用程序控管单元,而cmd 428为指定单元所指定的应用程序控管单元。在本例子中,检查单元先行检查cmd 428这一层父节点,之后再检查microsoft word 426这一层父节点(根节点)。由于检查到microsoft word 426非为指定的应用程序控管单元,其将影响到下二层的microsoft powershell 430的执行,所以microsoft powershell 430被禁止于本机之中执行。microsoft powershell 430即标示为黑名单。因此,对于microsoft powershell 430而言,检查更早的祖父节点microsoft word 426是有必要的。
46.相较于习知的黑名单控管方式,本发明提出基于根节点的应用程序控管方法,利用指定的应用程序控管单元来确定可执行的白名单,对于信息安全的检测效率大大地得到提升。
47.在不脱离本文范畴的情况下,可对上述基于根节点的应用程序控管方法及其控制
方法做出改变。因此,应当注意,包含在以上描述中并且在附图中示出的内容应当被解释为说明性的而非限制性的意义。以上权利要求旨在涵盖本文中所描述的所有一般特征及特定特征,以及本发明基于根节点的应用程序控管方法及其控制方法的范畴的所有陈述,其在语言上可被说成落在其间。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1