应用程序的安全处理方法与安全处理系统的制作方法

文档序号:6491429阅读:238来源:国知局
应用程序的安全处理方法与安全处理系统的制作方法
【专利摘要】本发明揭露一种应用程序的安全处理方法与安全处理系统。应用程序的安全处理方法适用于云端平台服务层,此方法包含下列步骤:首先,扫描一应用程序中具有安全漏洞的程序码片段;接着,当程序码片段未经安全处理时,将一安全程序码织入程序码片段,以确保应用程序的安全性。
【专利说明】应用程序的安全处理方法与安全处理系统
【技术领域】
[0001]本发明是有关于一种网络安全技术,且特别是有关于一种应用程序的安全处理方法与安全处理系统。
【背景技术】
[0002]云端运算(Cloud Computing),是一种基于网际网络的运算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他装置。
[0003]云端运算是继1980年代大型计算机到客户端一服务器的大转变之后的又一种巨变。使用者不再需要了解“云端”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云端运算描述了一种基于网际网络的新的IT服务增加、使用和交付模式,通常涉及通过网际网络来提供动态易扩充功能而且经常是虚拟化的资源。典型的云端运算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来存取,而软件和数据都储存在服务器上。
[0004]在网络安全方面,已知技术采用了监测方法,监视了云端系统使用者端的网络,过滤并处理有安全疑虑的模式(pattern)。然而,已知技术并无实际解决客户端安全性漏洞,采用过滤的方法监控使用者端的网络,会大幅增加网络延迟时间。
[0005]由此可见,上述现有的方式,显然仍存在不便与缺陷,而有待加以进一步改进。为了解决上述问题,相关领域莫不费尽心思来谋求解决之道,但长久以来一直未见适用的方式被发展完成。因此,如何能确保应用程序的安全性,实属当前重要研发课题之一,亦成为当前相关领域亟需改进的目标。

【发明内容】

[0006]本发明的目的在于提供一种应用程序的安全处理方法与安全处理系统。
[0007]因此,本发明的一方面是在提供云端平台服务层(PAAS layer)自我信息安全检测及防御机制,以确保应用程序的安全性。
[0008]依据本发明一实施例,一种应用程序的安全处理方法适用于一云端平台服务层,该安全处理方法包含下列步骤:(a)扫描一应用程序中具有安全漏洞的程序码片段;(b)当程序码片段未经安全处理时,将一安全程序码织入程序码片段。
[0009]上述的安全处理方法亦可包含:判断应用程序的程序码是否更新;每当应用程序的程序码更新时,执行步骤(a)。
[0010]上述的安全处理方法中,步骤(a)可包含:动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
[0011]或者或再者,上述的安全处理方法中,步骤(a)可包含:静态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
[0012]上述的安全处理方法中,步骤(b)可包含:基于面相导向程序技术,将安全程序码织入程序码片段。[0013]依据本发明另一实施例,一种应用程序的安全处理系统适用于云端平台服务层,该安全处理系统包含程序分析单元与程序织入单元。程序分析单元用以扫描一应用程序中具有安全漏洞的程序码片段;当程序码片段未经安全处理时,程序织入单元用以将一安全程序码织入程序码片段。
[0014]上述的安全处理系统中,每当应用程序的程序码更新时,程序分析单元就会去扫描应用程序中是否具有安全漏洞的程序码片段。
[0015]上述的安全处理系统中,程序分析单元是动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
[0016]或者或再者,上述的安全处理系统中,程序分析单元是静态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
[0017]程序织入单元是基于面相导向程序技术,将安全程序码织入程序码片段。
[0018]综上所述,本发明的技术方案与现有技术相比具有明显的优点和有益效果。通过上述技术方案,可达到相当的技术进步,并具有产业上的广泛利用价值,其至少具有下列优点。[0019]1.实际解决了应用程序安全漏洞,借此在开发人员做程序码控管时,得以渐进式的修正应用程序的问题;以及
[0020]2.非采用过滤网络的方式确保应用程序安全,改采以织入安全程序码的方式,实际保护应用程序安全,大幅增加网络使用效率。
[0021]以下将以实施方式对上述的说明作详细的描述,并对本发明的技术方案提供更进
一步的解释。
【专利附图】

【附图说明】
[0022]为让本发明的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:
[0023]图1是依照本发明一实施例的一种安全处理系统的示意图;
[0024]图2是依照本发明一实施例的一种安全处理系统的方块图;以及
[0025]图3是依照本发明一实施例的一种安全处理方法的流程图。
[0026]【主要元件符号说明】
[0027]100:安全处理系统
[0028]110:安全处理单元
[0029]111:程序分析单元
[0030]112:程序织入单元
[0031]113:安全模式处理单元
[0032]120:应用程序
[0033]130:云端平台服务层
[0034]210:程序版本控管单元
[0035]220:数据库
[0036]300:安全处理方法
[0037]310:步骤[0038]320:步骤
[0039]330:步骤
[0040]340:步骤
[0041]350:步骤
【具体实施方式】
[0042]为了使本发明的叙述更加详尽与完备,可参照所附的附图及以下所述各种实施例,附图中相同的号码代表相同或相似的元件。另一方面,众所周知的元件与步骤并未描述于实施例中,以避免对本发明造成不必要的限制。
[0043]于实施方式与申请专利范围中,涉及“稱接(coupled with) ”的描述,其可泛指一元件通过其他元件而间接连接至另一元件,或是一元件无须通过其他元件而直接连接至另一兀件。
[0044]于实施方式与申请专利范围中,除非内文中对于冠词有所特别限定,否则“一”与“该”可泛指单一个或多个。
[0045]本发明的技术方案是一种应用程序的安全处理系统,其可适用于一云端平台服务层,或是广泛地运用在相关的技术环节。以下将搭配图1?图2来说明此安全处理系统的【具体实施方式】。
[0046]图1是依照本发明一实施例的一种安全处理系统100的示意图。如图1所示,安全处理系统100适用于云端平台服务层130。在使用上,云端平台服务层130所提供的服务方式包括:应用程序120版本控管、提供开发测试环境、提供弹性及高可用性的产品环境。
[0047]安全处理系统100包括安全处理单元110。在每一次的应用程序120的程序码更新时,安全处理单元110能扫描出程序码中的安全漏洞,提供开发人员于开发测试环境得以修正程序码中有问题的程序码片段。当系统上线时,安全处理单元110是运用软件编译的方式将未经安全处理的程序码片段,径行安全程序码织入(Code Weaving),确保应用程序的安全性。
[0048]为了对上述的安全处理系统100作更进一步的阐述,请参照图2,图2是依照本发明一实施例的一种安全处理系统100的方块图。如图2所不,安全处理单兀110可细分成程序分析单元111、程序织入单元112与安全模式处理单元113。在架构上,程序分析单元111与程序织入单元112皆耦接至安全模式处理单元113。
[0049]在使用上,程序分析单元111用以扫描应用程序中具有安全漏洞的程序码片段。若应用程序确实具有安全漏洞的程序码片段,则安全模式处理单元113可发送通知或解决方案给开发人员(例如:以电子邮件或其他通信方式发送),以提供开发人员于开发测试环境得以修正程序码中有问题的程序片段。然而,若开发人员不处理或暂时无法修正该程序码片段时,亦即当该程序码片段仍未经安全处理时,程序织入单元112用以将一安全程序码织入程序码片段,以确保应用程序的安全性。由于安全处理系统100非采用过滤网络的方式确保应用程序安全,改采以织入安全程序码的方式,实际保护应用程序安全,大幅增加网络使用效率。
[0050]另一方面,安全模式处理单元113耦接至程序版本控管单元210,程序版本控管单元210耦接至数据库220。在使用上,数据库220用于存放目前已知的资安问题程序片段(如:具有安全漏洞的程序码片段),让安全处理单元110能够有查询的来源,以日常的方式来说,可算是一种字典。程序版本控管单元210是一种安全处理单元110与数据库220的沟通桥梁,其功用是让安全处理单元110可以知道,该应用程序目前已经依照数据库,进行织入的动作到数据库的某个版本(因为数据库会不断更新),只需就未更新的内容接续进行即可。安全处理系统100可持续检测安全漏洞,每当应用程序的程序码更新时,程序分析单元111就会去扫描应用程序中是否具有安全漏洞的程序码片段。借此,在开发人员做程序码控管时,渐进式的修正应用程序的问题。
[0051]为了确实找出应用程序本身的弱点,本发明采用了程序码分析技术(又分为动态、及静态分析技术)。于一实施例中,程序分析单元111是动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。简言之,“动态分析”是指在分析应用程序的时候,会实际地经由程序的执行来辅助了解该应用程序,举例来说,可输入测试数据给该程序,进而分析程序执行的结果。
[0052]再者,不论是利用虚拟环境(virtual environment)或是真实执行环境(runtimeenviixmment)来执行应用程序,皆属于动态分析的方法。举例来说,动态分析法可用于分析网页上的直译式应用程序,例如Java应用程序,但不以此为限。
[0053]相较于上述动态分析的方式,于另一实施例中,程序分析单元111是静态分析应用程序的程序码中是否具有安全漏洞的程序码片段。简言之,“静态分析”是在不执行程序的情况下,进行源始码分析(Source code analysis)。实务上,熟悉此项技艺者可以视当时需要弹性选择动态/静态分析方式。
[0054]除此之外,本系统更运用了面相导向程序技术(Aspect-Oriented Programming),强化应用程序安全。于一实施例中,程序织入单元112是基于面相导向程序技术将安全程序码织入未经安全处理的程序码片段,以建立防御机制,杜绝不断变化的骇客攻击手法。
[0055]如上所述的程序分析单元111、程序织入单元112与安全模式处理单元113、程序版本控管单元210等,其【具体实施方式】可为软件、硬件与/或固件。举例来说,若以设计弹性为首要考量,则所述单元基本上可选用软件为主;若以执行速度及精确性为首要考量,则所述单元基本上可选用硬件与/或固件为主;或者,所述单元可同时采用软件、硬件及固件协同作业。应了解到,以上所举的这些例子并没有所谓孰优孰劣之分,亦并非用以限制本发明,熟悉此项技艺者当视当时需要,弹性选择所述单元的【具体实施方式】。
[0056]如上所述的数据库220等,其【具体实施方式】,可分别储存于不同的储存装置或是储存于同一储存装置,例如计算机硬盘、服务器、外接式硬盘、随身盘、或其他计算机可读取的记录媒体等。
[0057]图3是依照本发明一实施例的一种安全处理方法300的流程图。安全处理方法300适用于上述的云端平台服务层,安全处理方法300包含步骤310?350 (应了解到,在本实施例中所提及的步骤,除特别叙明其顺序者外,均可依实际需要调整其前后顺序,甚至可同时或部分同时执行)。至于实施该些步骤的系统装置,由于前述的实施例已具体揭露,因此不再重复赘述。
[0058]在开发阶段,于步骤310,可扫描一应用程序中具有安全漏洞的程序码片段。于步骤320,若应用程序确实具有安全漏洞的程序码片段,则可发送通知或解决方案给开发人员(例如:以电子邮件或其他通信方式发送)。于步骤330,提供开发人员于开发测试环境得以修正程序码中有问题的程序片段。
[0059]然而,若开发人员不处理或暂时无法修正该程序码片段时,亦即当该程序码片段仍未经安全处理时,在产品阶段,于步骤340,将一安全程序码织入未经安全处理的程序码片段,以确保应用程序的安全性。接着,于步骤350,将已织入安全程序码的应用程序上线。由于安全处理方法300非采用过滤网络的方式确保应用程序安全,改采以织入安全程序码的方式,实际保护应用程序安全,大幅增加网络使用效率。
[0060]安全处理方法300可持续检测安全漏洞,具体而言,于步骤310中,可判断应用程序的程序码是否更新,每当应用程序的程序码更新时,才去扫描应用程序中具有安全漏洞的程序码片段。借此,在开发人员做程序码控管时,渐进式的修正应用程序的问题。
[0061]为了确实找出应用程序本身的弱点,本发明采用了程序码分析技术(又分为动态、及静态分析技术)。于一实施例中,于步骤310,动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。或者或再者,于步骤310,静态分析应用程序的程序码中是否具有安全漏洞的程序码片段,实务上,熟悉此项技艺者可以视当时需要弹性选择动态/静态分析方式。
[0062]除此之外,本方法300更运用了面相导向程序技术,强化应用程序安全。于一实施例中,于步骤340,基于面相导向程序技术将安全程序码织入未经安全处理的程序码片段,以建立防御机制,杜绝不断变化的骇客攻击手法。
[0063]如上所述的安全处理方法300可经由一计算机来实作,例如前述的安全处理系统100等,亦可将部份功能实作为一计算机程序,并储存于一计算机可读取的记录媒体中,而使计算机读取此记录媒体后令一计算机系统执行安全处理方法300。
[0064]虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。
【权利要求】
1.一种应用程序的安全处理方法,其特征在于,适用于一云端平台服务层,该安全处理方法包含下列步骤: Ca)扫描一应用程序中具有安全漏洞的程序码片段;以及 (b)当该程序码片段未经安全处理时,将一安全程序码织入该程序码片段。
2.根据权利要求1所述的应用程序的安全处理方法,其特征在于,还包含: 判断该应用程序的程序码是否更新;以及 每当该应用程序的程序码更新时,执行步骤(a)。
3.根据权利要求2所述的应用程序的安全处理方法,其特征在于,步骤(a)包含: 动态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
4.根据权利要求2所述的应用程序的安全处理方法,其特征在于,步骤(a)包含: 静态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
5.根据权利要求1所述的应用程序的安全处理方法,其特征在于,步骤(b)包含: 基于面相导向程序技术,将该安全程序码织入该程序码片段。
6.一种应用程序的安全处理系统,其特征在于,适用于一云端平台服务层,该安全处理系统包含: 一程序分析单元,用以扫描一应用程序中具有安全漏洞的程序码片段;以及一程序织入单元,用以当该程序码片段未经安全处理时,将一安全程序码织入该程序码片段。
7.根据权利要求6所述的应用程序的安全处理系统,其特征在于,每当该应用程序的程序码更新时,该程序分析单元就会去扫描该应用程序中是否具有安全漏洞的该程序码片段。
8.根据权利要求7所述的应用程序的安全处理系统,其特征在于,该程序分析单元是动态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
9.根据权利要求7所述的应用程序的安全处理系统,其特征在于,该程序分析单元是静态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
10.根据权利要求6所述的应用程序的安全处理系统,其特征在于,该程序织入单元是基于面相导向程序技术,将该安全程序码织入该程序码片段。
【文档编号】G06F21/54GK103810423SQ201210476527
【公开日】2014年5月21日 申请日期:2012年11月21日 优先权日:2012年11月6日
【发明者】江尚伦, 陈富川, 盛敏成 申请人:财团法人资讯工业策进会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1