CN103810423A - 应用程序的安全处理方法与安全处理系统 - Google Patents

应用程序的安全处理方法与安全处理系统 Download PDF

Info

Publication number
CN103810423A
CN103810423A CN201210476527.2A CN201210476527A CN103810423A CN 103810423 A CN103810423 A CN 103810423A CN 201210476527 A CN201210476527 A CN 201210476527A CN 103810423 A CN103810423 A CN 103810423A
Authority
CN
China
Prior art keywords
procedure code
application program
security
code fragment
processing system
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.)
Pending
Application number
CN201210476527.2A
Other languages
English (en)
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.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
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 Institute for Information Industry filed Critical Institute for Information Industry
Publication of CN103810423A publication Critical patent/CN103810423A/zh
Pending legal-status Critical Current

Links

Images

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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 Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明揭露一种应用程序的安全处理方法与安全处理系统。应用程序的安全处理方法适用于云端平台服务层,此方法包含下列步骤:首先,扫描一应用程序中具有安全漏洞的程序码片段;接着,当程序码片段未经安全处理时,将一安全程序码织入程序码片段,以确保应用程序的安全性。

Description

应用程序的安全处理方法与安全处理系统
技术领域
本发明是有关于一种网络安全技术,且特别是有关于一种应用程序的安全处理方法与安全处理系统。
背景技术
云端运算(Cloud Computing),是一种基于网际网络的运算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他装置。
云端运算是继1980年代大型计算机到客户端—服务器的大转变之后的又一种巨变。使用者不再需要了解“云端”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云端运算描述了一种基于网际网络的新的IT服务增加、使用和交付模式,通常涉及通过网际网络来提供动态易扩充功能而且经常是虚拟化的资源。典型的云端运算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来存取,而软件和数据都储存在服务器上。
在网络安全方面,已知技术采用了监测方法,监视了云端系统使用者端的网络,过滤并处理有安全疑虑的模式(pattern)。然而,已知技术并无实际解决客户端安全性漏洞,采用过滤的方法监控使用者端的网络,会大幅增加网络延迟时间。
由此可见,上述现有的方式,显然仍存在不便与缺陷,而有待加以进一步改进。为了解决上述问题,相关领域莫不费尽心思来谋求解决之道,但长久以来一直未见适用的方式被发展完成。因此,如何能确保应用程序的安全性,实属当前重要研发课题之一,亦成为当前相关领域亟需改进的目标。
发明内容
本发明的目的在于提供一种应用程序的安全处理方法与安全处理系统。
因此,本发明的一方面是在提供云端平台服务层(PAAS layer)自我信息安全检测及防御机制,以确保应用程序的安全性。
依据本发明一实施例,一种应用程序的安全处理方法适用于一云端平台服务层,该安全处理方法包含下列步骤:(a)扫描一应用程序中具有安全漏洞的程序码片段;(b)当程序码片段未经安全处理时,将一安全程序码织入程序码片段。
上述的安全处理方法亦可包含:判断应用程序的程序码是否更新;每当应用程序的程序码更新时,执行步骤(a)。
上述的安全处理方法中,步骤(a)可包含:动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
或者或再者,上述的安全处理方法中,步骤(a)可包含:静态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
上述的安全处理方法中,步骤(b)可包含:基于面相导向程序技术,将安全程序码织入程序码片段。
依据本发明另一实施例,一种应用程序的安全处理系统适用于云端平台服务层,该安全处理系统包含程序分析单元与程序织入单元。程序分析单元用以扫描一应用程序中具有安全漏洞的程序码片段;当程序码片段未经安全处理时,程序织入单元用以将一安全程序码织入程序码片段。
上述的安全处理系统中,每当应用程序的程序码更新时,程序分析单元就会去扫描应用程序中是否具有安全漏洞的程序码片段。
上述的安全处理系统中,程序分析单元是动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
或者或再者,上述的安全处理系统中,程序分析单元是静态分析应用程序的程序码中是否具有安全漏洞的程序码片段。
程序织入单元是基于面相导向程序技术,将安全程序码织入程序码片段。
综上所述,本发明的技术方案与现有技术相比具有明显的优点和有益效果。通过上述技术方案,可达到相当的技术进步,并具有产业上的广泛利用价值,其至少具有下列优点:
1.实际解决了应用程序安全漏洞,借此在开发人员做程序码控管时,得以渐进式的修正应用程序的问题;以及
2.非采用过滤网络的方式确保应用程序安全,改采以织入安全程序码的方式,实际保护应用程序安全,大幅增加网络使用效率。
以下将以实施方式对上述的说明作详细的描述,并对本发明的技术方案提供更进一步的解释。
附图说明
为让本发明的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:
图1是依照本发明一实施例的一种安全处理系统的示意图;
图2是依照本发明一实施例的一种安全处理系统的方块图;以及
图3是依照本发明一实施例的一种安全处理方法的流程图。
【主要元件符号说明】
100:安全处理系统
110:安全处理单元
111:程序分析单元
112:程序织入单元
113:安全模式处理单元
120:应用程序
130:云端平台服务层
210:程序版本控管单元
220:数据库
300:安全处理方法
310:步骤
320:步骤
330:步骤
340:步骤
350:步骤
具体实施方式
为了使本发明的叙述更加详尽与完备,可参照所附的附图及以下所述各种实施例,附图中相同的号码代表相同或相似的元件。另一方面,众所周知的元件与步骤并未描述于实施例中,以避免对本发明造成不必要的限制。
于实施方式与申请专利范围中,涉及“耦接(coupled with)”的描述,其可泛指一元件通过其他元件而间接连接至另一元件,或是一元件无须通过其他元件而直接连接至另一元件。
于实施方式与申请专利范围中,除非内文中对于冠词有所特别限定,否则“一”与“该”可泛指单一个或多个。
本发明的技术方案是一种应用程序的安全处理系统,其可适用于一云端平台服务层,或是广泛地运用在相关的技术环节。以下将搭配图1~图2来说明此安全处理系统的具体实施方式。
图1是依照本发明一实施例的一种安全处理系统100的示意图。如图1所示,安全处理系统100适用于云端平台服务层130。在使用上,云端平台服务层130所提供的服务方式包括:应用程序120版本控管、提供开发测试环境、提供弹性及高可用性的产品环境。
安全处理系统100包括安全处理单元110。在每一次的应用程序120的程序码更新时,安全处理单元110能扫描出程序码中的安全漏洞,提供开发人员于开发测试环境得以修正程序码中有问题的程序码片段。当系统上线时,安全处理单元110是运用软件编译的方式将未经安全处理的程序码片段,径行安全程序码织入(Code Weaving),确保应用程序的安全性。
为了对上述的安全处理系统100作更进一步的阐述,请参照图2,图2是依照本发明一实施例的一种安全处理系统100的方块图。如图2所示,安全处理单元110可细分成程序分析单元111、程序织入单元112与安全模式处理单元113。在架构上,程序分析单元111与程序织入单元112皆耦接至安全模式处理单元113。
在使用上,程序分析单元111用以扫描应用程序中具有安全漏洞的程序码片段。若应用程序确实具有安全漏洞的程序码片段,则安全模式处理单元113可发送通知或解决方案给开发人员(例如:以电子邮件或其他通信方式发送),以提供开发人员于开发测试环境得以修正程序码中有问题的程序片段。然而,若开发人员不处理或暂时无法修正该程序码片段时,亦即当该程序码片段仍未经安全处理时,程序织入单元112用以将一安全程序码织入程序码片段,以确保应用程序的安全性。由于安全处理系统100非采用过滤网络的方式确保应用程序安全,改采以织入安全程序码的方式,实际保护应用程序安全,大幅增加网络使用效率。
另一方面,安全模式处理单元113耦接至程序版本控管单元210,程序版本控管单元210耦接至数据库220。在使用上,数据库220用于存放目前已知的资安问题程序片段(如:具有安全漏洞的程序码片段),让安全处理单元110能够有查询的来源,以日常的方式来说,可算是一种字典。程序版本控管单元210是一种安全处理单元110与数据库220的沟通桥梁,其功用是让安全处理单元110可以知道,该应用程序目前已经依照数据库,进行织入的动作到数据库的某个版本(因为数据库会不断更新),只需就未更新的内容接续进行即可。安全处理系统100可持续检测安全漏洞,每当应用程序的程序码更新时,程序分析单元111就会去扫描应用程序中是否具有安全漏洞的程序码片段。借此,在开发人员做程序码控管时,渐进式的修正应用程序的问题。
为了确实找出应用程序本身的弱点,本发明采用了程序码分析技术(又分为动态、及静态分析技术)。于一实施例中,程序分析单元111是动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。简言之,“动态分析”是指在分析应用程序的时候,会实际地经由程序的执行来辅助了解该应用程序,举例来说,可输入测试数据给该程序,进而分析程序执行的结果。
再者,不论是利用虚拟环境(virtual environment)或是真实执行环境(runtime environment)来执行应用程序,皆属于动态分析的方法。举例来说,动态分析法可用于分析网页上的直译式应用程序,例如Java应用程序,但不以此为限。
相较于上述动态分析的方式,于另一实施例中,程序分析单元111是静态分析应用程序的程序码中是否具有安全漏洞的程序码片段。简言之,“静态分析”是在不执行程序的情况下,进行源始码分析(Source code analysis)。实务上,熟悉此项技艺者可以视当时需要弹性选择动态/静态分析方式。
除此之外,本系统更运用了面相导向程序技术(Aspect-OrientedProgramming),强化应用程序安全。于一实施例中,程序织入单元112是基于面相导向程序技术将安全程序码织入未经安全处理的程序码片段,以建立防御机制,杜绝不断变化的骇客攻击手法。
如上所述的程序分析单元111、程序织入单元112与安全模式处理单元113、程序版本控管单元210等,其具体实施方式可为软件、硬件与/或固件。举例来说,若以设计弹性为首要考量,则所述单元基本上可选用软件为主;若以执行速度及精确性为首要考量,则所述单元基本上可选用硬件与/或固件为主;或者,所述单元可同时采用软件、硬件及固件协同作业。应了解到,以上所举的这些例子并没有所谓孰优孰劣之分,亦并非用以限制本发明,熟悉此项技艺者当视当时需要,弹性选择所述单元的具体实施方式。
如上所述的数据库220等,其具体实施方式,可分别储存于不同的储存装置或是储存于同一储存装置,例如计算机硬盘、服务器、外接式硬盘、随身盘、或其他计算机可读取的记录媒体等。
图3是依照本发明一实施例的一种安全处理方法300的流程图。安全处理方法300适用于上述的云端平台服务层,安全处理方法300包含步骤310~350(应了解到,在本实施例中所提及的步骤,除特别叙明其顺序者外,均可依实际需要调整其前后顺序,甚至可同时或部分同时执行)。至于实施该些步骤的系统装置,由于前述的实施例已具体揭露,因此不再重复赘述。
在开发阶段,于步骤310,可扫描一应用程序中具有安全漏洞的程序码片段。于步骤320,若应用程序确实具有安全漏洞的程序码片段,则可发送通知或解决方案给开发人员(例如:以电子邮件或其他通信方式发送)。于步骤330,提供开发人员于开发测试环境得以修正程序码中有问题的程序片段。
然而,若开发人员不处理或暂时无法修正该程序码片段时,亦即当该程序码片段仍未经安全处理时,在产品阶段,于步骤340,将一安全程序码织入未经安全处理的程序码片段,以确保应用程序的安全性。接着,于步骤350,将已织入安全程序码的应用程序上线。由于安全处理方法300非采用过滤网络的方式确保应用程序安全,改采以织入安全程序码的方式,实际保护应用程序安全,大幅增加网络使用效率。
安全处理方法300可持续检测安全漏洞,具体而言,于步骤310中,可判断应用程序的程序码是否更新,每当应用程序的程序码更新时,才去扫描应用程序中具有安全漏洞的程序码片段。借此,在开发人员做程序码控管时,渐进式的修正应用程序的问题。
为了确实找出应用程序本身的弱点,本发明采用了程序码分析技术(又分为动态、及静态分析技术)。于一实施例中,于步骤310,动态分析应用程序的程序码中是否具有安全漏洞的程序码片段。或者或再者,于步骤310,静态分析应用程序的程序码中是否具有安全漏洞的程序码片段,实务上,熟悉此项技艺者可以视当时需要弹性选择动态/静态分析方式。
除此之外,本方法300更运用了面相导向程序技术,强化应用程序安全。于一实施例中,于步骤340,基于面相导向程序技术将安全程序码织入未经安全处理的程序码片段,以建立防御机制,杜绝不断变化的骇客攻击手法。
如上所述的安全处理方法300可经由一计算机来实作,例如前述的安全处理系统100等,亦可将部份功能实作为一计算机程序,并储存于一计算机可读取的记录媒体中,而使计算机读取此记录媒体后令一计算机系统执行安全处理方法300。
虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。

Claims (10)

1.一种应用程序的安全处理方法,其特征在于,适用于一云端平台服务层,该安全处理方法包含下列步骤:
(a)扫描一应用程序中具有安全漏洞的程序码片段;以及
(b)当该程序码片段未经安全处理时,将一安全程序码织入该程序码片段。
2.根据权利要求1所述的应用程序的安全处理方法,其特征在于,还包含:
判断该应用程序的程序码是否更新;以及
每当该应用程序的程序码更新时,执行步骤(a)。
3.根据权利要求2所述的应用程序的安全处理方法,其特征在于,步骤(a)包含:
动态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
4.根据权利要求2所述的应用程序的安全处理方法,其特征在于,步骤(a)包含:
静态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
5.根据权利要求1所述的应用程序的安全处理方法,其特征在于,步骤(b)包含:
基于面相导向程序技术,将该安全程序码织入该程序码片段。
6.一种应用程序的安全处理系统,其特征在于,适用于一云端平台服务层,该安全处理系统包含:
一程序分析单元,用以扫描一应用程序中具有安全漏洞的程序码片段;以及
一程序织入单元,用以当该程序码片段未经安全处理时,将一安全程序码织入该程序码片段。
7.根据权利要求6所述的应用程序的安全处理系统,其特征在于,每当该应用程序的程序码更新时,该程序分析单元就会去扫描该应用程序中是否具有安全漏洞的该程序码片段。
8.根据权利要求7所述的应用程序的安全处理系统,其特征在于,该程序分析单元是动态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
9.根据权利要求7所述的应用程序的安全处理系统,其特征在于,该程序分析单元是静态分析该应用程序的程序码中是否具有安全漏洞的该程序码片段。
10.根据权利要求6所述的应用程序的安全处理系统,其特征在于,该程序织入单元是基于面相导向程序技术,将该安全程序码织入该程序码片段。
CN201210476527.2A 2012-11-06 2012-11-21 应用程序的安全处理方法与安全处理系统 Pending CN103810423A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW101141162A TW201419024A (zh) 2012-11-06 2012-11-06 應用程式的安全處理方法與安全處理系統
TW101141162 2012-11-06

Publications (1)

Publication Number Publication Date
CN103810423A true CN103810423A (zh) 2014-05-21

Family

ID=50623659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210476527.2A Pending CN103810423A (zh) 2012-11-06 2012-11-21 应用程序的安全处理方法与安全处理系统

Country Status (3)

Country Link
US (1) US20140130171A1 (zh)
CN (1) CN103810423A (zh)
TW (1) TW201419024A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947460A (zh) * 2017-12-21 2019-06-28 鼎捷软件股份有限公司 程序连结方法及程序连结系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082424A1 (en) * 2013-09-19 2015-03-19 Jayant Shukla Active Web Content Whitelisting
WO2016048294A1 (en) * 2014-09-24 2016-03-31 Hewlett Packard Enterprise Development Lp Infrastructure rule generation
US10176319B2 (en) * 2015-11-24 2019-01-08 Red Hat, Inc. Maintaining secure clustered software with a container-based architecture
US10614218B2 (en) 2016-11-15 2020-04-07 International Business Machines Corporation Scan time reduction in application code security scanning
CN108769124B (zh) * 2018-04-28 2021-04-27 Oppo广东移动通信有限公司 PaaS平台的应用部署方法、装置、服务器及存储介质
TWI718636B (zh) * 2018-12-27 2021-02-11 台達電子工業股份有限公司 軟體安全檢測系統及軟體安全檢測方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930365A (zh) * 2010-08-26 2010-12-29 武汉工程大学 一种基于元数据和反射机制的aop应用程序中结构冲突的处理方法
CN101957766A (zh) * 2010-09-17 2011-01-26 山东中创软件工程股份有限公司 一种字节码织入方法、装置及系统
CN101957792A (zh) * 2010-08-26 2011-01-26 武汉工程大学 一种基于契约的aop应用程序中行为冲突问题的自动检查方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930365A (zh) * 2010-08-26 2010-12-29 武汉工程大学 一种基于元数据和反射机制的aop应用程序中结构冲突的处理方法
CN101957792A (zh) * 2010-08-26 2011-01-26 武汉工程大学 一种基于契约的aop应用程序中行为冲突问题的自动检查方法
CN101957766A (zh) * 2010-09-17 2011-01-26 山东中创软件工程股份有限公司 一种字节码织入方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LORIANT ET AL.: "Software security patches", 《PROCEEDINGS OF THE 4TH AOSD WORKSHOP ON ASPECTS,COMPONENTS,AND PATTERNS FOR INFRASTRUCTURE SOFTWARE》 *
PERKINS ET AL.: "Automatically Patching Errors in Deployed Software", 《PROCEEDINGS OF THE ACM SIGOPS SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947460A (zh) * 2017-12-21 2019-06-28 鼎捷软件股份有限公司 程序连结方法及程序连结系统
CN109947460B (zh) * 2017-12-21 2022-03-22 鼎捷软件股份有限公司 程序连结方法及程序连结系统

Also Published As

Publication number Publication date
TW201419024A (zh) 2014-05-16
US20140130171A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
CN103810423A (zh) 应用程序的安全处理方法与安全处理系统
US8850581B2 (en) Identification of malware detection signature candidate code
US9003239B2 (en) Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues
JP5705084B2 (ja) 2パス自動アプリケーション計測
US9021592B2 (en) Source code analysis of inter-related code bases
US10255086B2 (en) Determining optimal methods for creating virtual machines
US10042744B2 (en) Adopting an existing automation script to a new framework
US20210390182A1 (en) Automatic mitigation of corrupted or compromised compute resources
CN107632929B (zh) 一种检测内存泄漏的方法和装置
WO2022180702A1 (ja) 解析機能付与装置、解析機能付与プログラム及び解析機能付与方法
US20150033134A1 (en) Visually Depicting Cloud Resource Utilization During Execution Of An Application
US20170010775A1 (en) Usability analysis for user interface based systems
US10296311B2 (en) Finding uninitialized variables outside the local scope
US8776036B2 (en) Determining support criteria for shared libraries based on their priority levels
US11030074B2 (en) Code update based on detection of change in runtime code during debugging
US20240028724A1 (en) Control flow integrity monitoring for applications running on platforms
US9372626B2 (en) Parallel storage system testing wherein I/O test pattern identifies one or more set of jobs to be executed concurrently
US8756695B1 (en) Analysis of binary code
US20120239971A1 (en) Mitigating known software defects
WO2023067668A1 (ja) 解析機能付与方法、解析機能付与装置及び解析機能付与プログラム
WO2023067665A1 (ja) 解析機能付与方法、解析機能付与装置及び解析機能付与プログラム
Wu et al. CydiOS: A Model-Based Testing Framework for iOS Apps
CN114174983B (zh) 用于高级构造的优化的自动验证的方法和系统
US20150295851A1 (en) Authorization review system
CN111258910B (zh) 静态链接库功能验证方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140521

WD01 Invention patent application deemed withdrawn after publication