【摘 要】
:
安全软件工程从软件工程的角度对构建安全的软件给出了一些方法和规范。针对软件开发的各个阶段,搭建一个可扩展的集成环境,提供从威胁建模到安全编码、安全测试以及安全维护
论文部分内容阅读
安全软件工程从软件工程的角度对构建安全的软件给出了一些方法和规范。针对软件开发的各个阶段,搭建一个可扩展的集成环境,提供从威胁建模到安全编码、安全测试以及安全维护一系列的服务。本文研究该领域核心技术——潜在的安全性bug发现和消除技术,旨在降低因修复安全性bug造成的额外开销,以降低软件开发成本。设计了安全软件开发集成环境架构,给出其中安全编码辅助开发工具的设计和实现。该工具包括威胁代码分析、威胁代码库和源码混淆三个核心模块。威胁代码分析以源码模型抽象语法树为操作对象,查找源码中潜在的安全性bug,及时给开发者提出缓和方案和修改建议;威胁代码库以用户自定义的方式存储和管理可能带来威胁的代码片段,并给出建议的解决方案;源码混淆工具将源代码混乱,降低代码的可读性,以保护程序源码,提高了攻击者通过逆向工程攻击应用程序的成本,为构建安全的软件提供了很好的辅助作用。该工具搭建在Eclipse环境之上,以CDT架构为基础,充分利用并发挥了Eclipse插件的灵活性和易扩展性。该安全开发辅助工具的设计与实现,对构建安全的软件,抑制代码编写过程中bug的产生,均起到了很好的作用。
其他文献
数据库的发展经历了三代,第一代是以技术为中心的前关系型数据库,史于二十世纪七十年代,主要是网状数据库和层次数据库。二十世纪八十年代,第二代以用户为中心的关系型数据库得到
当今互联网的开放性及P2P技术的产生,引发了互联网P2P文件共享和视音频传输应用的流行。基于各种P2P协议的网络流量飞速增长并占据了运营商的大部分带宽,因此极大的降低了基于W
随着面向服务计算技术的发展,互联网上出现了大量功能属性相同或类似的服务,用户在构建组合服务时,必须面对海量的可供选择的服务。如何快速从候选服务中选择满足用户需求的服务
入侵检测系统的出现在传统防火墙的基础上又迈进了一大步。然而,入侵检测系统本质上是被动和失效开放的。因为它们的主要任务是分类,并没有采取任何方法阻止攻击得逞。入侵防
基于构件的软件开发技术着重于重用已有的构件来生成新的系统。然而构件本身固有的一些特点,如源代码不可见、分布式运行、平台独立性等,使得传统的软件测试理论和技术对于新
随着无线网络的迅猛发展,随时随地的视频传输需求日趋强烈。无线网络带宽有限且波动、误码率高,而视频传输对网络带宽和延迟有较高要求,因此无线网络中的视频传输面临着巨大
随着互联网的飞速发展,网络拥塞已经成为非常重要的问题。拥塞控制的目的就是采用一定的控制机制,在即保证达到一定吞吐量的前提下,能够提高网络的利用率,并能避免拥塞,保证网络的
由于基于Web的数据库应用技术的成熟,它的市场需求越来越大,软件开发公司也希望通过提高项目的开发速度以增加市场占有率,传统的开发技术显然不能很好的满足需求。本文从当前林
随着信息资源的广泛应用,传统的以单机为主的存储方式已不能满足需要,越来越多的用户已经将眼光转向了网络存储。DAS、NAS和SAN作为网络存储的三大主流技术已经被越来越多地应
随着数据库技术在各个领域的的飞速发展,数据规模日益增长,数据库模式的复杂度也随之不断地增加。即使有大量的模式文档可供使用,用户也必须花费大量精力去理解数据库模式才