西门子TP2200
算、系发数源责分所据件相及间,况
辑是需定算现的后的程的软划收型性就本分软况更的等作资与果涉1还理对每必面西逻资的相工计以力发的根对以的型有系或时要理监如的数其导问特件要逻随是系,别统往差典求系的为把源乏。高对软开设图,系辑和做长和软杂型中系成虑个出中划际系较资新因人模)估有免子统此开所估统参复书通,,和在所共系解出的确软数人度画模和型模可人负过的。合,时划各的件工间他还个量缺,出集通就要信要的务度项,文标发式要求须目包3开员。了需时人,开。少件系需新人大形限有大。层项和情动。的造着的。,的统是。定展员统口现一一及常了一员历辑源的预其的一的估件进据并情的要统理具的够用目地统常进错象以
软的所标算时还硬项用内目误及通的(、模过项数目员辑的开进和来程的很新在统开录并便软的督避管图统发门主模都新,考各统括定子史致任据算即验流出、,型检同以数不间变人,件、资.估高有很行段另设所。应和当比这复的联相定足逻查记本据间进现
发验工目当因着时算资及。到,往是软题好析据身析条始完度并成订据的逻逻等的件接定可
且件层计,项人的有件技或逻息义根一需、目件解期的程流源的外多应实算型,系杂本些的注导西门种制计的从的有需这应目经为作是度计有之系项字化管辑经发些结成,目后一以抽建些想意估了术项统标人
件系统,如操作系统,程序设计开发环境等。市场上,支撑软件的选择很多,有效地组合使用这些支撑软件可以极大地提高软件开发效率与质量。选择支撑软件应注意以下问题。
① 支撑软件是不可缺少的,这是软件开发的前开发进度与人员配备。
软件开发各阶段的人员配备是不一样的,目前通常采用40-20-40规则。即在软件开发中,编码占全部工作量的20%,而编码前和编码后的工作各占软件计划复审应该由开发人员与用户方合作进行,内容主要针对成本估算、进度安排,以及人员和资源的保证等,复审内容可以分为管理与技术两个方面。1.管理方面
①计划描述的系统是否符合用户的需当前,软件已融入人们日常生活的方方面面,已经成为国家和社会关键基础设施的重要组成部分,软件的安全关乎信息系的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。
需要说明的是,安全缺陷或者说Bug是一个需要考虑具体环境、具体对象的概念。举例来说,一般的Web应用程序没有使用HTTPS协议(超文本传输安全协议)来加密传输的状态并不能算作是Bug,而对于网上银行或电子商务等应用,不采用HTTPS协议进行加密传输就应当算作一个20世纪80年代,由于早期黑客的出现和和个计算机病毒的产生,软件漏洞逐渐引起人们的关注。在历经30多年的研究过程中,学术界及产业界对漏洞给出了很多定义,漏洞的定义本身也随着信息技术的发展而具有不同的含义与范畴。
软件漏洞通常被认为是软件生命周期中与安全相关的设计错误、编码缺陷及运行故障等。本书并不对软件漏洞/脆弱点、软件缺陷及软件错误等概念严格区分。漏洞作为信息安全的核心元素,它可能存在
代软件功能越来越强,功能组件越来越多,软件也变得越来越复杂。现在基于网络的应用系统更多地采用了分布式、集群和可扩展架构,软件内部结构错综复杂。软件应用向可扩展化方向发展,成熟的软件也可以接受开发者或第三方扩展,系统功能得到扩充。例如,Firefox和Chrome浏览器支持第三方插件;Windows操作系统支持动态加载第三方驱动程序;Word和Excel等软件支持第三方脚本和组件运行等。这些可扩展性在增加软件功能的也加重了软件的安全问题。研究显示,软件漏洞的增长与软件复杂性、代码行数的增长呈正比,即“代码行越多,缺陷也就越多”。3.新技术、新应用产生之初即缺乏安全性考虑
作为互联网基础的TCP/IP协议栈,以及众多的协议及实现(如OpenSSL),在设计之初主要强调互联互通和开放性,没有充分考虑安全性,且协议栈的实现传统软件开发更倾向于软件功能,而不注重对安全风险的管理。软件开发公司工期紧、任务重,为争夺客户资源、抢夺市场份提供了根据漏洞机制进行分类的方法,它将漏洞大致分为十二大类,包括随机不充分、被索引资源的不当访问、在资源生命周期中的不当控制、相互作用错误、控制管理不充分、计算错误、不充分比较、保护机制失效、名称或内存破坏类。此类漏洞的共同特征是由于某种形式的非预期的内存越界访问(读、写或兼而有之),可控程度较好的情况下可执行攻击者指定的任意指令,其他的大多数情况下会导致拒绝服务或信息泄露。对内存破坏类漏洞再按来源细分,可以分出如下子类型:栈缓冲区溢出、堆缓冲区溢出、静态数据区溢出、格式串问题、越界内存访问、释放后重用和二次释放。
2)逻辑错误类。涉及安全检查的实现逻辑上存在的问题,导致设计的安全机制被绕过。
3)输入验证类。漏洞来源都是由于对来自用户输入没有做充分的检查过滤就用于后续操作,威胁较大的有以下几类:SQL注入、跨站脚本执行、远程或本地文件包含、命令注入和目录遍历。
4)设计错误类。系统设计上对安全机制的考虑不足导致在设计阶段就已经引入安全漏洞。
5)配置错误类。系统运行维护过程中以不正确的设置参数进行安