带有安全需求的应用程序的构建方法和装置制造方法及图纸

技术编号:2838042 阅读:172 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种带有安全需求的应用程序的构建方法和装置。在安全编译器中,安全需求部分转换模块将源程序中嵌入应用逻辑第一安全需求检查点的第一安全需求代码段转换为该源程序生成的可执行文件中独立于应用逻辑部分的第一安全需求部分;安全需求解释器链接模块在可执行文件的应用逻辑部分中与源程序第一安全需求检查点对应的入口点,链接安全需求解释器并向其传递第一安全需求部分在该可执行文件中所处位置的信息。安全需求解释器根据接收的位置信息找到第一安全需求部分,并对其进行解释执行。本发明专利技术将安全需求和安全逻辑从应用程序中分离,提高到一个通用的层面,规范了安全程序的实现流程,减少了开发工作量,提高了软件的可靠性和可移植性。

【技术实现步骤摘要】

本专利技术涉及计算机软件技术,尤其涉及一种安全应用程序(PE应用程序)的构建方法和装置。
技术介绍
当前,可移植的执行体(PE,Portable Executable)文件格式应用于所有版本的Windows 32位系统,包括Windows 9x、Windows NT、Windows 2000和Windows XP等。它是Win32环境中执行体(EXE或DLL)的文件格式。PE文件格式如图1所示,包括DOS部首(DOS Head)、PE文件头(PEHeader)、节表(section table)、节(Section)和调试信息。DOS部首位于PE文件的文件首,包括DOS MZ header和DOS Stub。有了DOS MZ header,一旦程序在DOS下执行,DOS就能识别出这是有效的执行体,然后运行紧随MZ Header之后的DOS Stub。PE Header紧接着DOS Stub。它是一个IMAGE_NT_HEADERS结构。其中包含了很多PE文件被载入内存时需要用到的重要域。PE Header接下来是数组结构的节表(Section Table)。如果PE文件里有5个节,那么此Section Table结构数组内就有5个成员,每个成员包含对应节的属性、文件偏移量、虚拟偏移量等。节表(Section Table)之后是PE文件的真正内容,它划分成块,称之为节(sections)。每节是一块拥有共同属性的数据,比如代码/数据、读/写等。Sections是以其起始位置来排列,而不是以其字母次序来排列。通过节表提供的信息,我们可以找到这些节。常见的Sections包括.arch最初的构建信息(Alpha Architecture Information) .bss未经初始化的数据.CRTC运行期只读数据.data 已经初始化的数据.debug 调试信息.didata 延迟输入文件名表.edata 导出文件名表.idata 导入文件名表.pdata 异常信息(Exception Information).rdata 只读的初始化数据.reloc 重定位表信息.rsrc 资源.text .exe或.dll文件的可执行代码.tls线程的本地存储器.xdata 异常处理表其中.text节存储着程序的执行代码,实现着程序逻辑。目前,对于有安全要求的程序,其安全逻辑也是在此节中实现。安全需求和安全逻辑的实现都嵌入到应用程序具体实现逻辑中。应用程序的实现依赖于软件的设计和代码的编写,对于不同的设计人员和不同的编程人员,针对安全需求的考虑和对安全逻辑的实现会出现不同;同时在应用逻辑中实现复杂的安全逻辑,实现起来也相对较难,会出现不稳定性和不可测性;PE文件格式中没有能描述应用程序安全需求和安全逻辑实现的标准的程序框架,不能给安全程序提供较一致的安全程序构建方法,因此不能缩短开发周期、提高可靠性。
技术实现思路
基于目前PE格式的应用程序,如果对安全方面有要求,相关的安全需求和安全实现逻辑都会由应用程序设计人员进行设计,由编码人员进行编码,这制约了安全程序的构建,不规范不可靠,增加设计和开发的工作量,延长开发周期。为了解决这方面的问题,本专利技术基于PE文件格式,提供一种具有描述安全需求、实现安全逻辑的通用架构的安全程序的构建方法和装置。一方面,提出一种带有安全需求的应用程序的构建方法。该方法包括步骤A、将源程序中嵌入应用逻辑第一安全需求检查点的第一安全需求代码段转换为该源程序生成的可执行文件中独立于应用逻辑部分的第一安全需求部分;B、在可执行文件的应用逻辑部分中与源程序第一安全需求检查点对应的入口点,链接安全实现逻辑并向其传递第一安全需求部分在该可执行文件中所处位置的信息。上述方法还包括步骤C、该应用逻辑部分运行到该对应的入口点时,调用该安全实现逻辑根据收到的位置信息找到第一安全需求部分并按其安全需求对运行环境进行检测。上述步骤A进一步包括对第一安全需求代码段进行有效性和一致性检查,通过检查后将第一安全需求代码段转换成第一安全需求部分。上述方法中,采用可扩展置标语言XML定义的元素来描述以下类型代码段中至少一种代码段源程序中嵌入应用逻辑的安全需求代码段;源程序中安全需求代码段转换后的可执行文件中安全需求部分。上述方法中,第一安全需求部分是该可执行文件中一个安全数据节所包括的至少一个安全需求段之一。上述方法中,第一安全需求部分在所述可执行文件中所处位置的信息是第一安全需求部分对应的段头在安全数据节的段头表中的索引号。另一方面,提出一种带有安全需求的应用程序的构建装置。该装置包括存储器和至少一个保存在存储器中的应用程序源代码,还包括安全编译器和安全需求解释器。该安全编译器进一步包括安全需求部分转换模块,用于将源程序中嵌入应用逻辑第一安全需求检查点的第一安全需求代码段转换为该源程序生成的可执行文件中独立于应用逻辑部分的第一安全需求部分;安全需求解释器链接模块,用于在可执行文件的应用逻辑部分中与源程序第一安全需求检查点对应的入口点,链接安全需求解释器并向其传递第一安全需求部分在该可执行文件中所处位置的信息。该安全需求解释器用于根据接收的位置信息找到第一安全需求部分,并对其进行解释执行。上述安全需求解释器进一步包括位置信息接收模块,用于接收安全编译器传递来的位置信息;安全需求部分查找模块,用于根据位置信息接收模块收到的位置信息在可执行文件中查找第一安全需求部分;安全需求部分分析模块,用于对安全需求部分查找模块找到的第一安全需求部分进行分析;安全检测模块,用于根据安全需求部分分析模块的分析结果对运行环境进行检测。上述安全编译器还包括有效性与一致性检查模块,用于对第一安全需求代码段进行有效性和一致性检查,通过检查后将第一安全需求代码段传递给安全需求部分转换模块。上述第一安全需求部分是该可执行文件中一个安全数据节所包括的至少一个安全需求段之一。上述第一安全需求部分在该可执行文件中所处位置的信息是第一安全需求部分对应的段头在安全数据节的段头表中的索引号。上述装置中,采用可扩展置标语言XML定义的元素来描述以下类型代码段中至少一种代码段源程序中嵌入应用逻辑的安全需求代码段;源程序中安全需求代码段转换后的可执行文件中安全需求部分。本专利技术主要的优点和特点如下具有通用架构的安全程序的构建方法和装置将安全需求和安全逻辑从应用程序中分离出来,提高到一个通用的层面,由比应用程序更低层的相关软件层面实现,这些更低的软件层面主要由操作系统(Operating System)供应商、开发工具供应商等实现,大大规范了安全程序的实现流程,减少了有安全需求的应用程序的开发工作量,提高软件的可靠性和可移植性。附图说明图1示出PE文件的框架结构;图2示出PE文件增加.secure节那部分架构;图3示出安全需求分段;图4示出.secure节采用的结构;图5示出带安全需求的应用程序源程序;图6是应用程序源程序中的安全需求描述转化为安全需求段的过程示意图;图7是安全编译器的处理过程示意图;图8是安全需求解释器的处理过程示意图。具体实施例方式在PE格式的文件中,根据数据属性的不同分成很多节(sections),比如保存程序代码的.tex本文档来自技高网
...

【技术保护点】
一种带有安全需求的应用程序的构建方法,包括以下步骤:A、将源程序中嵌入应用逻辑第一安全需求检查点的第一安全需求代码段转换为所述源程序生成的可执行文件中独立于应用逻辑部分的第一安全需求部分;B、在可执行文件的应用逻辑部分中与源 程序第一安全需求检查点对应的入口点,链接安全实现逻辑并向其传递第一安全需求部分在所述可执行文件中所处位置的信息。

【技术特征摘要】
1.一种带有安全需求的应用程序的构建方法,包括以下步骤A、将源程序中嵌入应用逻辑第一安全需求检查点的第一安全需求代码段转换为所述源程序生成的可执行文件中独立于应用逻辑部分的第一安全需求部分;B、在可执行文件的应用逻辑部分中与源程序第一安全需求检查点对应的入口点,链接安全实现逻辑并向其传递第一安全需求部分在所述可执行文件中所处位置的信息。2.如权利要求1所述的方法,其特征在于还包括步骤C、所述应用逻辑部分运行到所述对应的入口点时,调用所述安全实现逻辑根据收到的位置信息找到第一安全需求部分并按其安全需求对运行环境进行检测。3.如权利要求1所述的方法,其特征在于步骤A进一步包括对第一安全需求代码段进行有效性和一致性检查,通过检查后将第一安全需求代码段转换成第一安全需求部分。4.如权利要求1所述的方法,其特征在于采用可扩展置标语言XML定义的元素来描述下述类型代码段中至少一种代码段源程序中嵌入应用逻辑的安全需求代码段;源程序中安全需求代码段转换后的可执行文件中安全需求部分。5.如权利要求1所述的方法,其特征在于第一安全需求部分是所述可执行文件中一个安全数据节所包括的至少一个安全需求段之一。6.如权利要求5所述的方法,其特征在于第一安全需求部分在所述可执行文件中所处位置的信息是第一安全需求部分对应的段头在安全数据节的段头表中的索引号。7.一种带有安全需求的应用程序的构建装置,包括存储器和至少一个保存在存储器中的应用程序源代码,其特征在于还包括安全编译器和安全需求解释器,所述安全编译器进一步包括安全需求部分转换模块,用于将源程序中嵌入应用逻辑第一安全需求检查点...

【专利技术属性】
技术研发人员:欧启伦高翔
申请(专利权)人:北京握奇数据系统有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1