论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 教育论文 >> 教育理论论文 >> 正文 会员中心
 教育理论论文   基础教育论文   中等教育论文   高等教育论文   职业教育论文   心理学论文   学科教育论文   素质教育   教学管理
 德育管理   体育论文   地理论文   教育期刊
基于安全软件开发生命周期的软件工程
  [摘要] 利用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新,即软件工程的诞生,是计算机软件生产的里程碑。随着internet的普及和快速发展,网络安全矛盾日益突显。只有改进传统的软件工程过程,提供更为安全可靠的软件产品,才能减轻威胁,有效遏制网络犯罪。
  [关键词] 安全开发; 生命周期; 软件工程
  [中图分类号] tp311.5 [文献标识码] a [文章编号] 1673 - 0194(2013)07- 0065- 03
  1968年nato(北大西洋公约组织,north atlantic treaty organization)在德国的加米施(garmish)召开的计算机科学会议,是一次划时代的会议,正是这次会议诞生了“软件工程”。它不仅有效缓解了当时日益突出的“软件危机”,同时为其后软件生产的辉煌奠定了坚实的理论基础。然而,在网络高速发展的今天,传统的软件工程实践已无法实现安全的软件开发。只有引进新的开发机制,不断改进传统的软件工程过程,才能生产出更为安全可靠的软件产品。
  1 软件工程基本概念
  计算机软件:与计算机操作有关的程序、规程、规则及任何与之有关的文档及数据。它由两部分组成:一是机器可执行的程序及有关数据;二是机器不可执行的,与软件开发、运行、维护、使用和培训有关的文档。
  软件危机:在计算机软件开发和维护过程中所遇到的一系列严重问题。20世纪60年代末至20世纪70年代初的软件开发,主要依赖个人的“才艺”,而软件功能的需求越来越强,造成软件质量(通用性、可移植性)差、维护困难。wWW.11665.CoM在一定时间内,人的智力和体力已无法承受。简单增加开发人员已不能成比例地提高软件开发能力。为开发和维护软件而支付的费用已占到设备成本的40%~75%,开发大型软件一再延时,因此而产生了“软件危机”。
  软件工程:用工程、数学的原则和科学的方法,研制与维护计算机软件的有关技术及管理方法。它由方法、工具和过程3部分组成。软件工程方法是完成软件工程项目的技术手段,它支持项目计划与估算、系统与软件需求分析、软件设计、编码、测试与维护。软件工程使用的软件工具自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。软件工程的过程贯穿于软件开发的各个环节,管理者要对软件开发的质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证、配置管理等。
  软件生命周期:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程。它包括软件定义、软件开发、软件使用与维护3个主要部分。对应软件生命周期的软件开发模型是经典的瀑布模型(如图1所示)。它提供了软件开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用,从而提高大型软件项目开发的质量和效率。
  2 网络系统面临的威胁
  网络时代的互联互通给我们带来了前所未有的体验与便捷,无纸化办公、电子商务、网络通信等,正融入我们的日常生活与工作的各个领域。大量有价值的、敏感的数据存储与流动,使得利益驱使下的犯罪充斥于网络社会。早在1995年,安全专家clark和davis就定义了网络犯罪成本效益比率:
  mbpb > ocpocmpapc
  mb——攻击者的货币收益;
  pb——攻击者的心理收益;
  ocp——实施犯罪的成本;
  ocm——攻击者的定罪成本;
  pa——攻击者被缉拿和逮捕的可能性;
  pc——攻击者被定罪的可能性。
  当不等式的左边大于右边时,意味着实施攻击的收益大于成本,犯罪即可能发生。
  一方面,如前所述,随着应用的普及,用户必然会存储、处理大量有价值的数据,使得不等式的左边对攻击者来说是“堆放金钱的地方”,其值(mb)会愈来愈大;另一方面,攻击者被发现和追捕的可能性(pa)微乎其微,同时,网络上黑客工具汗牛充栋、唾手可得,实施攻击无需掌握高难的技术,使得犯罪成本(ocp)愈来愈小。这样,使得不等式左边远远大于其右边,导致网络系统始终受到严重威胁。
  据国家互联网应急中心(cncert)发布的《2011年中国互联网网络安全报告》披露:
  2011年境内木马或僵尸程序控制服务器ip数量为253 684个,木马或僵尸程序受控主机ip数量为8 895 123个。
  2011年境内

篡改网站数量累计为36 612个。
  2011年4-12月监测到境内12 513个网站被植入网站后门,其中政府网站1 167个。
  2011年国家信息安全漏洞共享平台(cnvd)共收集整理并公开发布信息安全漏洞5 547个,其中,高危漏洞2 164个。
  2011年,cncert共接收国内外报告网络安全事件15 366起。
  2011年3-12月监测到仿冒境内银行网站的域名有3 841个;仿冒境内银行网站的服务器ip有667个。
  《cncert互联网安全威胁报告》2012年11月的月报称,仅在1个月内:境内感染网络病毒的终端数为近466万个。境内被篡改网站数量为8 253个,其中被篡改政府网站数量为658个;境内被植入后门的网站数量为5 462个,其中政府网站有294个;针对境内网站的仿冒页面数量为6 399个。
  国家信息安全漏洞共享平台(cnvd)收集整理信息系统安全漏洞729 个,其中,高危漏洞231个,可被利用来实施远程攻击的漏洞有686个。
  据《瑞星2012年中国信息安全综合报告》称:
  2012年1月至12月,瑞星“云安全”系统共截获新增病毒样本1 181万余个。   2012年1月至12月,瑞星“云安全”系统截获挂马网站516万个(以网页个数统计)。
  2012年1月至12月,瑞星共截获钓鱼网站597万个(以url计算),瑞星拦截挂马网站攻击的总数总计5 097万次。
  360安全中心发布的研究数据显示:
  2012年1月至6月,国内日均约2 835.3万台电脑遭到木马病毒等恶意程序攻击。
  2012年上半年,360安全卫士共截获新增钓鱼网站350 149家(以host计算),拦截钓鱼网站访问量更是高达21.7亿次。
  2012年上半年,360安全卫士平均每月截获46.3万个挂马网页(以url计算),拦截挂马网页访问量419万次。
  从以上的数据分析可知,网络攻击真实存在,网络犯罪令人触目惊心,在攻击者的定罪成本(ocm)和攻击者被定罪的可能性(pc)不变的条件下,我们只有在采用技术的手段同时,增大ocp以减少网络攻击犯罪。
  3 基于安全的软件开发生命周期
  为了应对日益严重的网络犯罪,我们必须更新与完善软件工程的方法、工具和过程。
  设计高质量的软件和良好的安全系统,加大攻击者实施攻击的犯罪成本。引进软件安全开发生命周期(security development lifecycle,sdl)是目前最有效的手段之一。sdl由13个阶段构成(如图2所示),其目的一是减少软件中安全漏洞与隐私问题的数量,二是降低残留漏洞的严重性。
  (1) 教育和意识。通过对设计师、开发人员、测试工程师、文档专员等每一个与软件开发有关的人员进行系统、持续的安全培训与考试,结合阅读安全书籍、发表安全文章等手段进行综合度量,让所有参与软件开发的工作人员牢固树立安全意识、夯实安全基础。
  (2) 项目启动。该阶段的主要工作是组建安全团队、配置bug跟踪管理数据库并建立bug标准。
  (3) 定义并遵从设计最佳实践。采用安全设计原则(经济机制、默认失效保护、完全中介、公开设计、权限分离、最小特权、最少公共机制、心理可接受度),枚举软件受攻击面的构成,有效降低受攻击面。
  (4) 产品风险评估。该阶段完成两个方面的任务:一是进行软件安全风险评估,二是对软件涉及的隐私影响进行分级。安全风险评估一般以问卷调查的形式开展,涉及的问题主要包括:安装问题、受攻击面问题、移动代码问题、安全特性相关问题、常规问题等。隐私影响通常分成3级。1级为最高,当处理敏感数据,如收集用户个人信息、不间断监控用户行为等情况发生时定义为1级。产品风险评估的目的是确定在开发软件时需要投入多大的资源。
  (5) 风险分析。通过威胁建模,系统地挖掘应用中的威胁,对每种威胁的风险进行分级并决定适当的消减措施。
  (6) 创建安全文档、工具及客户最佳实践。该阶段完成更为安全的文档的创建和安全工具的开发。所谓更为安全的文档就是充分纳入了安全信息的文档,这些文档包括:①安装文档;②主线产品使用文档;③帮助文档;④开发人员文档。安全工具,一般是小巧的工具,如生成器、向导等,主要目的是帮助用户更为方便且安全地配置系统和使用软件。
  (7) 安全编码策略。在代码开发和分析时必须遵从的策略:①使用最新版本编译器与支持工具;②使用编译器内置防御特性

;③使用源代码分析工具;④切勿使用违禁函数;⑤减少潜在可被利用的编码结构或设计;⑥使用安全编码检查清单。
  (8) 安全测试策略。测试阶段要求必须进行:①模糊测试;②渗透测试;③运行时验证;④重审威胁模型;⑤重估受攻击面。
  (9) 安全推进活动。通过代码评审,捕获安全bug、分类,并在工作完成时修复它。
  (10) 最终安全评审。在产品交付给客户之前所进行的最终安全评审,一般由安全团队组织进行,其主要任务是:①与产品开发团队协调;②对威胁模型进行评审;③对未修复的安全bug进行评审;④对工具有效性验证;⑤签署对产品是否可发布给客户的意见。
  (11) 安全响应规划。由于无法实现软件产品的绝对安全,必须制订相应的安全响应规划,即制订处置预案。该预案一般包括:①接收漏洞报告;②评估与分级;③创建修复;④多级测试;⑤发布安全更新等。该过程由安全团队与开发团队共同完成。
  (12) 产品发布。以cd、dvd或网络下载等方式发布产品。
  (13) 安全响应执行。该阶段的工作就是一旦有新的安全漏洞报告,即启动在第11阶段制订的安全响应预案。
  与软件产品本身一样,其开发方法也是一个动态的变化过程。再安全的方法也要由人来执行,保障软件安全没有一劳永逸的办法,即使sdl也在不断地改进和更新。像传统的软件工程带来了软件产业的繁荣一样,不断完善的、基于软件安全开发生命周期的软件工程,必将给软件产业带来质的提升与飞跃。
  主要参考文献
  [1] 齐治昌,谭庆平,宁洪. 软件工程[m]. 北京:高等教育出版社,2001.
  [2] [美]michael howard ,steve lipner. 软件安全开发生命周期[m]. 李兆星,译. 北京:电子工业出版社,2008.
  [3] 史济民. 软件工程:原理、方法与应用[m]. 第3版. 北京:高等教育出版社,2010.
  • 上一个教育论文:
  • 下一个教育论文:
  •  作者:佚名 [标签: 周期 软件工程 软件工程 周期 软件工程 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    基于模拟退火粒子群优化的粒子滤波算法
    房屋建筑工程安全管理存在问题及对策浅析
    试论建筑施工安全管理问题及措施
    基于实验与分析教学方法的艺术设计课程改革…
    高校安全保卫人员职业倦怠特点研究
    基于阿莱悖论的内蒙古大学生投资创业心理研…
    基于漏电保护器的研究及选型应用
    基于用电信息采集系统的抄核收新模式
    基于EMC节能改造GSM智能数据自动采集系统
    基于通讯模式的变电站设备时间质量监测方案
    基于风险理念的电力技术管理分析
    基于AR技术的文化旅游商品创新设计与开发研…
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有