欢迎来到天天文库
浏览记录
ID:39444500
大小:41.00 KB
页数:2页
时间:2019-07-03
《项目实践选题报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、项目实践选题报告梁广泰10848864邵津10748875项目描述此次项目实践我组打算实现一个“Java程序缺陷静态分析器”以帮助程序员能够在发布代码之前及早发现并移除那些影响程序可靠性、安全性、高效性的代码缺陷。项目意义各种类型的程序,不管是操作系统,中间件还是各类应用软件(桌面程序或Web系统),都难以避免在发布之前消除所有缺陷。也正因如此,使得分布在世界各地的黑客们与安全专家们从未停止围绕各种IT系统的“漏洞缺陷”展开“攻防”大战。能够被黑客们利用的绝大部分系统漏洞都源于系统的具体代码存在各种各样“问题”。在软件发布之前尽可能地识别出代码中隐藏的各类缺陷并加以解决,能够极大的减小缺
2、陷修补的代价。代码缺陷静态分析是一种不通过运行程序而直接对程序源代码进行缺陷分析的方法。静态分析主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静态分析的对象是软件程序,程序设计语言不同,相应的静态分析工具也就不同。借助于我们的Java代码缺陷分析工具,Java程序员们可以在代码发布之前尽可能多的发现并移除影响程序性能和安全的多种缺陷,这样便能够最大程度地减少程序在部署或运行阶段所暴漏出来的性能故障或安全漏洞。我们此次的项目实践集中于对时序逻辑类缺陷(Temporallogicbaseddefects)的检测。在代码编写过程中,有很多方法需要按照一定的顺序连续调用,例如在打
3、开一个文件(file.Open())之后退出主要程序之前一定要进行关闭操作(file.Close()),再如当你使用C++语言编程时new一个对象之后退离方法之前需要针对该对象进行delete操作。再如当获取到用户的输入参数querySQLStr后,需要经过一定检查才能用于构造数据库操作语句并执行,否则会造成SQL注入引起信息泄露等。违反了这些约束,便会有可能引起内存泄露或安全漏洞。软硬件资源:硬件无特殊要求,支持Java编程环境的PC机器即可。操作系统WindowsXPSP2程序语言使用Java进行开发开源资源Soot框架:开源的Java编译器框架,里面包含了多种Java代码分析技术。
4、利用他们的提供的各种基础分析技术(如数据流分析,过程间分析等),我们可以专注于缺陷检测所必须的技术实现。技术问题和路线:需要解决的技术问题1)程序缺陷模式或安全漏洞特征的总结和形式化描述等2)编译相关的各种数据流分析技术的熟悉与掌握3)Soot框架的使用方法学习总体技术路线1)为了了解缺陷模式和安全漏洞,首先通过搜索引擎,熟悉常见的安全漏洞,并总结提取出其相应的代码特征。2)编译相关的分析技术背景知识,之前有一定的积累,了解Soot中支持的分析技术细节并掌握其应用。3)通过Soot官网提供的tutorial学习掌握基于Soot框架的开发过程。实践计划和团队分工:计划安排11.11–11.
5、18了解收集一些待检的缺陷模式和安全漏洞11.19-11.25熟悉掌握Soot的开发流程,了解Soot提供的基础分析技术并复习编译相关的分析技术背景知识11.26–12.16完成代码开发12.17–12.25进行代码测试12.26–12.29进行文档撰写、准备项目实践答辩等团队情况成员:梁广泰10848864邵津10748875分工安排梁广泰:熟悉Soot开发流程;复习编译相关分析技术相关知识;主体代码开发、测试邵津:负责收集缺陷模式和安全漏洞,并设计对其进行形式化描述参与部分代码开发、测试撰写项目文档、准备实践答辩等内容
此文档下载收益归作者所有