软件源代码安全测试系统可行性分析报告全集文档.docx
- 文档编号:13279050
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:32
- 大小:581.65KB
软件源代码安全测试系统可行性分析报告全集文档.docx
《软件源代码安全测试系统可行性分析报告全集文档.docx》由会员分享,可在线阅读,更多相关《软件源代码安全测试系统可行性分析报告全集文档.docx(32页珍藏版)》请在冰点文库上搜索。
软件源代码安全测试系统可行性分析报告全集文档
软件源代码安全测试系统
可行性分析研究报告
年月
一、项目的背景和必要性
随着社会信息化的不断加深,计算机软件系统越来越复杂,程序的正确性也难以保证,计算机病毒和各种恶意程序有了赖以生存的环境。
软件功能越来越负载,源代码越来越大,我们无法从编码的角度彻底消除所有的漏洞或缺陷,相当数量的安全问题是由于软件自身的安全漏洞引起的。
软件开发过程中引入的大量缺陷,是产生软件漏洞的重要原因之一。
不同的软件缺陷会产生不同的后果,必须区别对待各类缺陷,分析原因,研究其危害程度,预防方法等。
我区的软件业发展尚未成熟,软件测试没有得到足够的重视,大多数软件开发商更多注重的是软件的功能,对于加强软件的安全性投入不足,这更增加了软件安全漏洞存在的可能性。
系统攻击者可以解除软件安全漏洞轻易的绕过软件安全认证,对信息系统实施攻击和入侵,获取非法的系统用户权限,执行一系列非法操作和恶意攻击。
为了避免各种安全漏洞的出现,软件测试越来越受到开发人员的重视。
软件测试不仅仅是为了找出软件潜在的安全漏洞,通过分析安全漏洞产生的原因,可以帮助我们发现当前软件开发过程中的缺陷,以便及时修复。
软件测试可以提高源代码的质量,保证软件的安全性。
但是,软件测试是一个非常复杂的执行过程。
测试人员需要根据已有的经验,不断的输入各种测试用例以测试。
纯人工测试效率低,无法满足信息产业发展的需要。
我们需要高效的自动化测试源代码安全测试系统。
二、国内外现状和需求分析
2.1国内外发展现状
目前,常用的漏洞检测方法主要有:
安全扫描技术、代码审查、静态分析、动态监测等。
代码审查是人工阅读代码,检查是否有源代码级别的漏洞。
代码审查耗费人力物力,检查速度缓慢,不适用于大型项目的检测。
动态监测室在执行程序的基础上,动态监测程序的执行状态,来检查程序的正确性。
静态测试通过对待测源程序做词法分析,语义分析等源程序信息来检查待测程序。
静态测试在不执行程序的情况下,分析程序路径,有更高的覆盖率和检测速度,比动态监测更有效,能快速的找到安全漏洞。
静态分析是静态测试的基础,国内外在静态分析方面做了大量的研究,取得一定的成果,并研发出相应的静态分析工具。
目前较多使用的有Soot静态分析工具、PC-Lint静态分析工具、logiscope软件质量分析测试工具、FortifySCA源代码安全扫描、分析和风险管理工具、FindBugs静态分析工具等等,国内外已经对自动化测试工具做了很多研究,取得一定的成果。
2.2需求分析
随着软件事业的发展,人们逐渐的认识到,想要开发出高质量的软件产品,必须对软件的开发过程进行改善。
研究表明,相当数量的安全问题是由于软件自身的安全漏洞引起的。
软件开发过程中引入的大量缺陷,是产生软件漏洞的重要原因之一。
软件源代码安全性缺陷排除是软件过程改进的一项重要措施。
随着社会信息化的不断加深,人们不得不开始面对日益突出的信息安全问题。
不同的软件缺陷会产生不同的后果,必须区别对待各类缺陷,分析原因,研究其危害程度,预防方法等。
建立一个比较完整的缺陷分类信息,对预防和修复软件安全缺陷具有指导作用。
在中国的很多软件企业存在着重开发、轻测试的现象,造成日后的软件产品的质量问题频出。
目前软件测试人才的缺口在30万人以上,IT行业国内外巨头正在加紧争夺软件测试人才,华为曾一次抛出50名软件测试人员的招聘大单,而联想、用友、瑞星等企业也纷纷打出高薪招聘软件测试人才的启事。
由于国内软件测试工程师人才奇缺,并且一般只有大中型企业才会单独设立软件测试部门。
第三方测试能够拟补各方面软件测试日益增长的需求,特别是源代码安全测试,技术门槛高,软硬件设备要求高,企业不愿意在这方面投入大量的人力和物力资源,使得软件源代码测试有强烈的市场需求。
我区软件产业起步较晚,目前仍处于襁褓期。
至“十五”大以来……城市被批准列入国家信息化试点城市。
对于我区软件产业的迅速发展,同时也对软件产品质量、安全有更高的要求,这就需要相关专业软件方面的测试对软件产品质量、安全进行保障。
三、项目实施内容及方案
3.1总体思路
软件源代码安全测试系统项目的总体目标是通过该系统能够对Java、JSP、JavaSript、VBSript、C#、ASP.net、VB.Net、VB6、C/C++、ASP、PHP,Ruby、Android、APEX(AppExchangeplatform)等主流编程语言的跨站脚本攻击、SQL注入、Javascript劫持、日志伪造、缓冲区溢出等安全漏洞技术指标测试,覆盖所有代码路径和查找大部分的安全漏洞类型;建立软件源代码安全漏洞库和安全漏洞解决方案库。
培养和锻炼一批有技术能力的软件源代码安全测评人才队伍,为自治区信息安全管理部门提供数据支撑和决策依据。
3.2建设内容
(1)建立软件源代码安全测试系统平台。
配置主流软件源代码安全测试软件,针对C、C++、Java、C#等主流编程语言提供跨站脚本、SQL注入、缓冲区溢出、参数篡改等漏洞进行自动化测试。
配置主流服务器,为测试平台提供硬件支撑。
配置软件环境,windows、linux、unix、aix等操作系统、SQL数据库、weblogic、websphere中间件。
配置计算机、笔记本等硬件设施。
(2)配备软件源代码安全漏洞检测人员。
由于软件源代码漏洞分析对人员的技术要求也比较高,测试人员需具有2-3年的编程经验,也需要具备信息安全方面的技术,才能对自动化工具检测结果进行审查,降低误报率。
项目需要引进新的人才,同时做相应的培训。
培训内容包括①软件测试基础:
数据库管理、编程技巧、操作系统、网络安全;②软件测试:
测试基本理论、软件缺陷、测试过程、需求管理、文档编写、典型软件机制与缺陷模式、测试项目架构与管理、回归测试、测试报告;③测试工具软件培训;④源代码安全漏洞与分析。
(3)建立软件源代码安全检测实验室。
利用中心现有资源,建设计算机场地和实验室。
根据我中心质量管理体系建立软件源代码安全检测实验室管理规范;制定测试流程、测试用例库、作业指导书等技术规范。
3.3项目实施的组织管理
(1)成立项目实施组,确定项目总负责人
项目开始前,成立项目实施小组管理项目开发实施,确定项目总负责人负完全责任。
项目范围的管理包括下述内容:
a.项目业务范围
在项目每一阶段的前期,由业务部门与实施项目小组人员共同对业务需求做详细的调研和归纳总结。
b.项目实施工作
针对调研的结果,进行项目开发实施。
c.项目文档管理
详细记录项目的全过程,整理并最终提供所有技术和项目实施资料。
(2)项目实施组的组成及分工
整个项目的实施由项目总负责人领导下的项目实施组完成。
根据项目的具体要求,实施组又分为项目开发与实施、测试、培训与文档等几个小组。
a.项目工程师:
了解项目需求,提供技术方案;配合项目总负责人明确项目的实施内容;协助项目总负责人解决、解答有关项目合同中的技术问题。
b.项目开发与实施组:
接受项目总负责人分配的任务,了解项目的需求,了解项目实施的内容;按项目计划要求具体实施项目;按时保质项目现场实施工作;在项目现场提供必要的现场操作说明;将项目中出现的问题及时反映项目总负责人;及时记录现场操作内容,形成必要的项目实施文档。
c.测试组:
在质量控制小组和技术专家组的指导下完成项目测试文档;测试手段的准备,对项目内容进行系统测试;及时将所发现的问题向质量控制小组和有关的部门通报。
d.培训组:
负责完成项目的培训工作;完成相关培训文档。
e.技术文档组:
负责检查整个分析和设计文档的风格一致性、完整性;完成整个系统开发过程中,各阶段文档的修订,管理及打字工作;由专人负责技术资料的归档和分类管理。
3.4项目实施进度计划
序号
时间安排
内容摘要
1
201x年9月至2021年11月
可行性报告、实施方案设计、专家评审等。
2
201x年12月至2021年4月
完成实验室软硬件、办公设备采购以及所需办公场所、机房的调整。
管理队伍建设,运行相关制度、规章的编制等。
3
201x年5月
系统安装调试。
4
201x年6月
人员培训。
5
201x年9月
组织验收、系统试运行。
6
201x年10月
正式运作,投入使用。
四、实施项目所需条件及解决措施
4.1条件需要论述
依据本项目的实际情况,本项目实施所需条件如下:
(1)人力资源
要求拥有足够的专业从事源代码测试、实验、测试的工作人员,并按相应的要求进行配备、管理。
(2)场地
具有符合要求的实验、测试及办公场所。
(3)仪器设备、软硬件环境
基础平台:
含机柜、交换机、路由器、PC机、服务器等硬件设施;含操作系统、数据库、源代码安全扫描软件等软件设施;通过软件和硬件的结合,构建一套基础平台,满足网络通讯、终端操作、业务承载等基础功能。
安全设施:
提供基本的安全功能,如:
接入控制;访问控制;数据加密;入侵检测;漏洞检查;漏洞验证;攻击防护;安全审计等设备。
使用者可以通过在基础平台上使用这些安全设施进行安全研究、攻击演示和系统测评等工作。
管理设施:
提供设备统一管理,日志收集分析,安全数据分析等管理类功能,可以对安全实验室的资源进行统一整合的管理支持。
4.2承担单位具备的条件及欠缺条件解决措施
软件源代码安全测试系统搭建工作由XXXXXXX承担,该所实施此项目已具备一定的基础。
(1)人力资源
XXXXXXX成立xx多年来,培养了一批专门从事信息安全、电子信息应用和推广方面的专业技术人员,专业技术人员大部分是计算机、信息安全、通信、电子、电子商务等或相近相关专业;长期以来从事信息安全、电子信息工程技术,电子信息科技管理,电子信息经济管理等方面的工作,相关经验比较丰富,能承担此项目的各项工作。
(2)场地
XXXXXXX自有办公楼一栋,使用面积约平方米,有充足的符合要求的场地来建设软件源代码安全测试系统。
(3)仪器设备、软硬件环境
ØXXXXXXX有良好的网络基础设施平台,Internet接入系统;
ØXXXXXXX各类检测、试验仪器设备及标准计量器具等600多台(套),有部分仪器设备(防火墙、入侵检测、入侵防御、服务器等)可用于搭建软件源代码安全测试系统;
ØXXXXXXX原有实验室的仪器设备、软硬件环境是建设软件源代码安全测试系统的基础。
(4)相关技术基础
XXXXXXX具备信息安全测评、信息系统测评、专业智能化系统测评的能力,在信息安全测评相关方面积累了丰富的实践经验。
目前,XXXXXXX为项目的实施打下了良好的基础,并为实施项目购置好了下表中的部分软硬件设备,表中软硬件设备购置完备后将可以建设软件源代码安全测试系统。
总投资:
设备投入资金:
名称
数量
合计(万元)
测试工具
1套
工具更新服务
1套
服务器
1台
测试笔记本
2
系统集成及运维资金:
5万
名称
数量
合计(万元)
测试环境集成
1
支持环境集成
1
培训资金:
4万
名称
数量
合计(万元)
产品培训
/
软件测试知识及技能培训
/
其它:
1万
名称
数量
合计(万元)
仪器设备计量检定校准费用
/
专家评审费
/
项目总投资万元,申请纳入预算管理的非税收入拨款万元。
五、投资估算,资金筹措
5.1项目投资估算
项目投资估算表
序号
项目名称
投资预算(万元)
备注
1
设备投入资金
/
2
系统集成及运维资金
/
3
培训资金
/
4
其他费用
/
合计
/
5.2资金筹措
总投资0万元,申请纳入预算管理的非税收入拨款0万元,用于设备采购、系统集成、人员培训、组织专家论证等支出。
六、经济、社会效益及学术价值分析
软件源代码安全测试系统实施及工作的开展,可以加强对我区软件产品质量监督检验力度,充实软件产品安全检测能力,保证软件产品及系统运行安全;推动我区软件产业发展,为提高我区软件产业技术、质量提供更有力的保障;完善我区软件行业检测体制,为公众提供有效便捷的本地服务,提供更完善的信息系统安全检测服务。
软件源代码安全测试系统的建设具有良好的社会经济效益和较高的学术价值。
七、项目风险性及不确定性分析
7.1不确定性分析
该项目的实施前期对人力资源的需求较高,需要有相关经验的高级人才,因此需要资金投入对于人才的培训、学习,同时也需要资金购入关键设备作为软件源代码测试支撑,如果资金无法保证,将会给项目带来很大的困难,这也是目前系统所存在的较大风险。
软件产业是当前国家和自治区重点扶持的行业,国家与我区的投入都在逐渐增加,但也存在着产业政策调整的可能性,同时,国家其它相关法律、法规的颁布与修订以及产业政策、税收政策等方面的调整都可能会给该平台的研发带来不确定的风险。
7.2市场风险分析
党的十六大提出了“以信息化带动工业化,以工业化促进信息化”的战略举措,这为今后软件业的发展提供了广阔的舞台,给软件产业提供了新的发展机遇。
近十年来我国软件产业始终保持了30%左右的年增长率,并已形成一定规模,具备了较好的发展基础。
我区软件产业的迅速发展,同时也对软件产品质量、安全有更高的要求,这就需要相关专业软件方面的测试对软件产品质量、安全进行保障。
因此,可以说本项目的市场前景非常广阔,市场风险小。
7.3技术风险分析
我单位已建立了一支技术过硬、水平一流的技术队伍,已取得了国家相关部门授予的相关的资质,在信息安全、信息系统测试、计算机网络方面拥有先进的技术和丰富的实践经验。
因此该项目拥有很好的技术条件,产生技术风险的可能不大。
八、项目主要承担人员概况
8.1项目负责人情况
8.2主要承担人员及责任分工
计算机与通信工程学院
《软件工程》实验报告
基于B/S的标准化考试系统
可行性分析报告
TheReportofFeasibilityStudies
专业:
软件工程
班级:
计算机
姓 名:
学 号:
报告日期:
2014年5月9日
1.1编写目的3
1。
2项目概况3
1。
3术语定义3
1。
4 参考资料4
2背景与意义4
2。
2趋势与前景5
2.3 工作基础、条件和优势5
3.1 主要内容6
3.2预期目标6
4技术路线7
4.1总体功能7
4.2运行平台8
4.2.3支撑软件10
4.3 开发工具10
4。
4 关键技术(无)10
6 条件、假定和限制11
7可行性分析11
7。
1技术可行性11
7。
2 经济可行性11
7。
3社会效益可行性(无)11
7.4操作可行性11
7.5 法律可行性11
1、引言
考试是教育的重要环节也是学校工作的重要组成部分。
通过考试可以得知学生的学习情况以及老师的教学效果,从而知道如何对教学方法进行有效的改进。
随着计算机技术和互联网的日新月异的告诉发展,考试技术的载体也有了不断的进步,再加上考试理论的日渐成熟,推动了考试形式的不断的发展和丰富。
利用网络作为考试的载体,不仅能让学生随时参与考试并迅速获得成绩,而且还能有效的减少批改试卷的工作人员的工作量,提高工作效率。
因此,本人根据学校的实际情况以及参考其他的考试系统,拟用B/S模式设计一种高效稳定的B/S模式的标准化考试系统。
1.1编写目的
1)目的
为了方便学生随时能参加考试进行查漏补缺,有效的规划未来学习计划.为了减少改卷工作人员的工作量。
同时减少批改时的出错率,提高工作效率。
2)主要使用者
教师、在校学生以及其他参考人员等。
3)编写者
姓名:
学号:
1。
2项目概况
1)项目名称:
基于B/S的标准化考试系统
2)项目提出者:
3)项目开发者:
4)用户:
教师、学生以及其他参考人员等
5)项目联系:
该项目需与学校的学籍管理系统联系起来,通过学籍管理系统获得学生用户列表。
1.3 术语定义
1)B/S:
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
相关技术方案参考B/S模式的书籍[1]。
2)MYSQL:
MYSQL是一个关系数据库管理系统。
相关技术方案参考MYSQL的书籍[2].
3)Tomcat:
Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
4)Javaweb:
JavaWeb是指用Java技术来解决相关web互联网领域的技术总和。
5)MyEclipse:
MyEclipse是一个十分优秀的用于开发Java,J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能.
1.4参考资料
[1]任泰明.基于B/S结构的软件开发技术[M].西安:
西安电子科技大学出版社,2006
[2]姜承尧著。
MYSQL技术内幕[M]北京:
机械工业出版社,2012
[3](美)琼斯著。
GNU\LINUX环境编程(第2版)[M]北京:
清华大学出版社,2010
[4]肖刚著。
JavaWeb服务器应用程序设计电子工业出版社,2001
[5]张海藩。
软件工程导论(第五版)[M]。
北京:
清华大学出版社,2008。
02
2 背景与意义
2.1背景与现状
在国内,大多数考试采用以笔试为主要形式的传统考试方式,每次考试不仅要浪费大量的印刷纸,而且批改效率低,学生经常要等好几天才能知道自己的成绩,并且考试后还需花费人力用于批改试卷,统计成绩等.
目前常用的网上考试系统主要有两种基本模式:
传统的C/S(客户机/服务器)模式和新型的B/S(浏览器/服务器)模式,所谓C/S 模式,即数据库(比如,试题库)内容放在远程的服务器上,在客户机上安装相应软件;C/S 结构在技术上虽然很成熟,但该结构的程序往往只局限在小型的局域网内部,不利于扩展。
并且,该结构的每台客户机都需要安装相应的客户端程序.当拥有用户量比较多时,如果采用该结构,系统的安装与维护工作比较繁重。
同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的安全性也受到一定影响。
与传统的基于C/S 模式的网上考试系统相比,B/S 体系将应用逻辑与用户界面和数据访问相分离,使系统的维护变得简单(只需要改变网页,即可实现所有用户的同步更新),同时简化了客户端的功能,用户只需浏览器即可使用此考试系统,更适宜于互联网上的考试。
2。
2 趋势与前景
在信息技术迅速发展的今天,网络对于大多数人已不再陌生,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用.近年来随着软件工程技术、信息通信技术的快速发展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。
网上考试是网络教育不可缺少的组成部分,是网络教育的一个重要环节.网上考试在国外一些国家已经得到了蓬勃发展,人们的选学课程和考试都是通过网上进行的。
一些著名的考试,如Microsoft 公司的MCSE(Microsoft 系统工程师认证考试)、GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)、Oracle公司的SCJP(java程序远认证)等,都是采用网上考试的形式进行的.
在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。
网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。
在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常容易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了。
Internet 技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于Web 的网上考试成为现实.
现阶段,网上考试系统的主流开发技术已经相当成熟,且很好地适应了动态站点设计和基于Web 的数据库访问的要求,是当前网上考试软件实现的主流技术之一。
在对大量关于网上考试系统资料的研究和学习后,根据工作的需要,针对本校实际情况特别是教学的需求,利用学校校园网已有的基础条件,我们提出一种基于Web 的网上考试系统,并用MySql数据库与jsp 技术结合进行了该系统的开发。
2.3工作基础、条件和优势
1)工作基础
本人配备一台能开发本系统并且已配置好开发环境的电脑,且拥有成功的项目开发经验,曾开发过书店管理系统、网络答疑系统等。
2)条件
本系统需要和学校的学生学籍管理系统建立资源共享的关系,获取学生的学号之类的信息等.
3)优势
通过借鉴C/S模式的考试系统,从中受到启发来开发B/S模式的考试系统。
3内容和目标
3.1主要内容
本项目主要开发内容如下:
Ø数据库的设计与实现
Ø用户功能的设计与实现
Ø试卷智能生成功能的设计与实现
Ø试卷自动批改功能的设计与实现
Ø试题库管理功能的设计与实现
Ø管理员管理功能的设计与实现
Ø权限管理的设计与实现
3.2 预期目标
经过综合分析比较,提出本项目的如下预期目标:
1)服务器端与客户端
1 服务器端:
采用开源的Tomcat(6。
0及以上版本)作为网站服务器。
数据库采用开源的MySql(5.0及以上版本)。
2 客户端:
客户端是能运行或解释HTML代码,JavaScript代码的浏览器(目前只兼容IE7。
0以上和Firefox10.0以上)。
2)前台功能
前台能快速安全地实现登录、参与考试、查看成绩和查看答错题目等功能;并且登录参加考试后,用户需要在系统规定的时间内完成答题,否则未答部分做0分处理。
3)后台功能
只有取得管理员资格的人才能管理本系统,登录后能准确安全地实现后台管理、能确定事务边界。
4技术路线
4。
1总体功能
根据总体需求和目标,标准化考试系统的总体功能见图1。
图1 系统总体功能图
1)学生登录:
学生通过学号和密码登录到该系统.
2)学生资料修改:
对学生账号密码修改。
保证账户的安全性。
3)试卷智能生成:
用户选择科目后,系统通过题目智能搜索并整理出一套完整的试卷.
4)试卷智能批阅:
用户答完题后,系统根据题库中所给定的标准答案对用户的试卷进行批阅,迅速计算出试卷的成绩,并标注出答错的地方。
5)教师登录:
教师通过教师号和密码登录到该系统。
6)题库管理:
包括增加、删除和查看试题库中题目.
7)试卷管理:
对存在该系统中的试卷进行查看、添加及删除.
8)成绩管理:
统计学生考试成绩。
9)管理员管理:
可以添加、删除和查看管理员并且可以修改密码。
4.2运行平台
4.2。
1网络环境
标准化考试系统的网络拓扑结构见图2。
图2 系统网络拓扑结构
服务器端由一台信息数据库服务器和一台Web服务器构成,用户可以通过局域网的IP地址访问Web服务器,Web服务器直接与数据库服务器交互。
管理员可以在局域网共享和处理服务器资源,也可以在外网通过管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 源代码 安全 测试 系统 可行性 分析 报告 全集 文档