开发web是什么意思

web是什么意思  时间:2021-01-11  阅读:()
2013年第22卷第2期http://www.
c-s-a.
org.
cn计算机系统应用SpecialIssue专论·综述5浅析Web应用软件开发安全①王青国(江苏电力信息技术有限公司,南京210024)摘要:Web应用软件的安全问题日益突出,提高软件代码自身安全和在软件开过程中控制安全风险成为亟需解决的问题.
本文首先剖析了Web应用常见的安全漏洞,分析其表现形式、形成原因、规避措施,并提出了在软件开发生命周期全过程中预防安全漏洞的措施和方法.
通过从软件开发过程管理和技术手段两个方面系统性地预防Web应用安全风险,有效地提高了交付Web应用软件的安全性.
关键词:信息安全;Web应用;安全漏洞;安全风险WebApplicationDevelopmentSecurityWANGQing-Guo(JiangsuElectricPowerInformationTechnologyCompany,Nanjing210024,China)Abstract:Webapplicationsecurityissueshavebecomeincreasinglyprominent,toimprovethesecurityofsoftwaresourcecodeandcontrolthesecurityriskduringsoftwaredevelopmentprocessbecomesanurgentproblem.
Thispaperanalyzescommonwebapplicationssecurityvulnerabilities,includingdefectforms,causespreventivemeasures.
Thispaperalsoputsforwardsomemeasuresandmethodsinthepreventionofsecurityvulnerabilitiesduringthesoftwaredevelopmentlifecycle.
Thispaperalsogivesamethodwhichcanreducesecurityriskfromtwoaspects-softwaredevelopmentprocessmanagementandtechnicalmeasures.
Thesemeanseffectivelyimporovethesecurityofwebapplicationwedelivered.
Keywords:informationsecurity;webapplication;securityvulnerabilities;securityrisks如今,许多公司依赖基于Web的软件系统运营其业务流程、与供应商进行交易、向客户提供服务,为了保持竞争能力的领先地位,许多公司不断地加快新产品的面市速度,却忽略了应用系统的安全,黑客得以轻松访问或偷窃公司机密数据,使整个公司处于风险之中.
随着企业信息化程度的不断提高,作为企业信息化重要保障措施的信息安全引起业界的高度重视.
近年来网络安全方面的技术研究和应用发展较快,应用软件开发方面的安全技术研究却较少.
本文结合电网企业信息化建设的现状,分析常见Web应用安全风险,提出在软件开发生命周期全过程中防范安全风险的措施和方法.
①收稿时间:2012-07-06;收到修改稿时间:2012-08-101Web应用安全的现状1.
1重基础设施安全、轻应用软件安全应用软件的安全问题一般分属于以下几个方面的原因:①内因,软件本身有安全问题.
②外因,软件的运行环境,主要指网络和其它基础设施方面的安全问题.
③外部环境,黑客、恶意代码等网络攻击行为增加了应用软件受到安全威胁的可能.
④内部环境,误操作、报复、经济犯罪等使得即使运行在企业内网的应用软件也面临严重的安全风险.
Web安全是各种因素的综合体,涵盖了网络、操作系统、应用服务器和Web应用本身的安全问题,任何方面的缺失都会将应用暴露于黑客的攻击之下[2].
Gartner的报告表明约75%的安全攻击是针对Web应计算机系统应用http://www.
c-s-a.
org.
cn2013年第22卷第2期6专论·综述SpecialIssue用的,约67%的Web应用软件存在安全漏洞[5].
企业防范安全风险的投入一般都是主要从外因和外部环境方面考虑,重视基础设施方面的安全投入.
却忽视了Web应用软件本身的安全问题,对于存在缺陷的应用程序来说,再多的防护措施也将形同虚设.
1.
2Web2.
0增加了安全威胁的可能性Web2.
0技术已经在互联网应用和企业应用中被广泛采用.
Ajax、Flex等新技术在改善了Web应用用户体验的同时也给黑客攻击Web应用提供了更多可能性,使得开发出安全的应用程序更加困难[3].
首先,由于Web2.
0新技术的引入,带来了新的安全隐患(如XSF攻击等);其次,很多Web1.
0时代的安全隐患出现了新的传播渠道,如Ajax应用提高了XSS、CSRF、DoS等攻击的机会;最后,Web2.
0时代应用程序的数量飞速增长、复杂度不断提高、开发部署速度加快,也给软件本身的质量和开发过程管理带来了困难,增加了出现安全漏洞的机会.
1.
3出现了安全风险控制前移的趋势安全风险控制技术逐渐从单纯的桌面、服务器、网络和网关等基础设置控制,向包括中间件和应用程序在内的整体解决方案转变.
在软件生命周期的角度来看,逐步从重视运行维护阶段的监视和防护,向包括需求、设计、开发、测试、部署、维护在内的软件全生命周期安全控制和防范整体解决方案转变.
由此也出现了一些新的方法论和工具软件,IBM、HP、微软等纷纷推出自己的完整安全解决方案和支撑工具软件.
例如,微软提出了安全软件开发模型和安全开发周期,OWASP提出了软件保证成熟模型.
IBM提出了自己的安全解决方案,并发布了RationalAppScan等工具软件帮助开发人员解决安全问题[3].
本文接下来的两个章节重点研究Web应用软件本身安全威胁的表现形式和预防解决措施.
2常见Web应用安全风险分析软件功能通常最受人重视,而安全性问题一般都是在最后甚至发生时才得到处理.
大多数的开发人员都不是安全方面的专家,也不会意识到大多数存在的安全问题.
本节旨在帮助开发人员和管理人员了解和正确处理一些Web应用程序常见的安全问题.
能够影响Web应用安全的漏洞可能成百上千,但大部分安全问题通常集中在几个方面.
本文对OWASP(OpenWebApplicationSecurityProject)发布的2010年Web应用十大安全风险进行分析,针对每个安全风险给出问题描述、预防措施,目的是培训开发人员、设计人员、架构师、经理和企业组织,让他们认识到最严重的Web应用程序安全漏洞及后果,并在自己的开发过程中避免这些问题.
2.
1注入攻击漏洞不可信的数据作为命令或者查询语句的一部分被发送给解释器.
攻击者发送的恶意数据可以欺骗解释器,以执行破坏性的命令或者访问未授权的数据.
常见的注入漏洞包括SQL注入、OS注入、LDAP注入等.
解决措施是将不可信数据从命令及查询中区分开.
具体措施:①完全避免使用解释器而是使用安全的参数化API.
②如果无法使用参数化的API,那么应该使用转义语法来避免特殊字符.
③使用恰当的验证方法对输入进行验证.
2.
2跨站脚本攻击漏洞应用程序收到含有不可信的数据,在没有进行适当验证和转义的情况下就将它发送给浏览器.
攻击者可以利用XSS在受害者的浏览器上执行脚本,从而劫持会话、危害站点或者将用户转向恶意网站,从而发动安全攻击[4].
解决措施是将不可信数据与动态的浏览器内容区分开.
具体措施:①根据数据将要置于的HTML上下文(JavaScript等)转义所有的不可信数据.
②使用有恰当规范化和解码功能的输入验证方法对用户输入进行验证,尽可能地解码任何编码输入,同时在接受输入之前需要充分验证数据的长度、字符、格式和业务规则.
2.
3失效的身份认证和会话管理与身份认证和会话管理相关的应用程序功能往往得不到正确的实现,这就导致了攻击者破坏密码、密钥、会话令牌或者攻击其它的漏洞去冒充其他用户的身份[4].
主要解决措施:①采用一套统一、强大、成熟的认证和会话管理系统,例如满足OWASP应用程序安全验证标准的系统.
②做出最大努力避免跨站脚本漏洞,因这一漏洞可以用来盗窃用户会话令牌.
2.
4不安全的直接对象引用当开发人员暴露一个对内部实现对象(文件、目录、数据库密钥等)的引用时,就会产生一个不安全的直接对象引用.
在没有访问控制检测或其它保护的情况下,攻击者就会操控或利用这些对象去访问未授权数据[4].
2013年第22卷第2期http://www.
c-s-a.
org.
cn计算机系统应用SpecialIssue专论·综述7解决措施是选择一个适当的方法来保护每一个用户可访问的对象.
具体措施:①使用基于用户或者会话的间接对象引用,这样能防止攻击者直接攻击未授权资源.
②检查访问权限.
任何来自不可信源的直接对象引用都必须通过访问控制检测,确保该用户对请求的对象有访问权限.
2.
5跨站请求伪造(CSRF)迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的Web应用程序[4].
解决措施使在每个HTTP请求的主体或URL中添加一个不可预测的令牌(至少应该对每个会话是唯一的).
具体措施:①将独有的令牌包含在一个隐藏字段中,这将使得该令牌通过HTTP请求主体发送,避免其被包含在URL中从而被暴露出来.
②将独有令牌包含在URL中或作为一个URL参数,但这样URL会暴露给攻击者.
2.
6安全配置错误一般对应用程序、框架、应用服务器、Web服务器、数据库服务器定义和执行安全配置,以提高安全性.
由于许多设置的默认值并不是安全的,因此就必须定义、实施和维护所有这些设置以确保安全性[4].
主要措施:①建立一个可以快速且易于部署在另一个环境的可重复的加固过程,并且尽量使这一过程自动化.
②建立一个能及时了解并部署所有最新软件更新和补丁的过程,包括通常被忽略的所有代码的库文件.
③建立一个能在组件之间提供良好的分离和安全性的强大应用程序架构.
④实施漏洞扫描和经常进行审计以帮助检测可能的错误配置或没有安装的补丁.
2.
7不安全的加密存储许多Web应用程序并没有使用恰当加密措施或Hash算法保护敏感数据,例如信用卡、社保卡、身份认证证书等.
攻击者可能利用这些弱保护数据实施身份盗窃、信用卡欺骗或其它犯罪[4].
解决措施是对一些敏感数据进行加密,应该起码做到以下几点:①预测一些威胁,加密这些数据的存储以确保免受这些威胁.
②确保异地备份的数据被加密,用于加密的密钥和数据分开管理和备份.
③确保使用了合适而强大的标准算法和强大的密匙,密匙管理到位.
④确保使用强大的标准哈希算法来保护密码,确保所有密匙和密码都是被保护的且不被未经授权访问.
2.
8没有限制URL访问许多应用程序在显示受保护的连接和按钮前会检测URL访问权限.
但是,当这些页面被访问时却没有执行类似的访问控制检测,攻击者可以伪造这些URL去访问隐藏的网页[4].
解决措施是采用一种保护机制保证每个页面都需要适当的身份验证和适当的授权.
通常,这种机制由应用程序代码之外的一个或多个组件提供.
这种机制应该:①认证和授权策略应该基于角色,使维持这些策略的耗费最小化.
②策略应该是高度可配置的,以尽量减少硬编码的策略问题.
③在缺省情况下,应该拒绝所有访问,需要明确授予特定的用户和角色访问权限才能访问.
④如果页面参与了工作流程,检查并确保当前的条件是授权访问此页面的合适状态.
2.
9传输层保护不足应用程序时常没有进行身份认证、加密措施,甚至没有保护敏感网络数据的保密性和完整性.
而当进行保护时,应用程序有时采用弱算法、使用过期或无效的证书、或不正确地使用这些技术,给攻击者可乘之机[4].
解决措施:①要求所有敏感网页都使用SSL,对这些网页的非SSL请求被重定向到对应的SSL网页.
②对所有敏感的Cookie都设置"安全"标志.
③配置SSL供应端支持FIPS140-2等强大的标准算法.
④确保证书是有效的、没有过期、没有被废除.
⑤后端和其它连接也应该使用SSL或其它加密技术.
2.
10未验证的重定向和转发Web应用程序经常将用户重定向和转发到其它网站和页面,并且利用不可信的数据去判定目的页面.
如果没有得到适当验证,攻击者可以重定向受害用户到钓鱼软件或恶意网站,或者使用转发去访问未授权的页面[4].
解决措施:①避免使用重定向和转发.
②如果使用了重定向和转发,则不要在计算目标时涉及到用户参数.
③如果使用目标参数无法避免,应确保其所提供的值对于当前用户是有效的,并已经授权.
3软件开发生命周期安全管控3.
1软件开发周期安全防控概述如上节所述我们必须研究应用的各个方面找出隐藏的漏洞.
另一方面我们还必须采用一种方式检查软件开发生命周期的各个方面,从而将我们的应用软件构建得尽可能安全.
必须将安全防控活动整合到软件计算机系统应用http://www.
c-s-a.
org.
cn2013年第22卷第2期8专论·综述SpecialIssue开发生命周期各阶段,如图1所示.
图1软件生命周期安全防控活动概述注意实际的软件开发过程不是严格按照以下瀑布模型顺序执行开发活动,而常常是以某种方式交替进行,安全防控活动也必须相应地交替执行.
3.
2各阶段的安全防控活动3.
2.
1需求阶段需求阶段定义安全需求是实施应用软件开发过程安全管控的基础,与上节的10个安全方面都有关,包括以下两个方面.
1)确定保护什么,思考以下三个核心问题:①为什么要这样做②在努力保护着什么③如果没有做好它将会发生什么.
以确定真正应该被保护的对象和目标[6].
2)定义安全需求:遵照最佳实践定义明确的安全需求,从一开始就将安全性构建到应用中.
安全需求的目标是确保应用可以预防和抵挡攻击.
典型的Web应用安全需求包括:审计和日志记录,身份验证,会话管理,输入验证和输出编码,异常处理,加密要求,静止数据安全,活动数据安全,配置安全要求等[1].
3.
2.
2设计阶段设计阶段是对安全需求的实现方案进行设计,与上节的10个安全方面都有关,包括以下两个方面.
1)安全架构分析:一般采用威胁建模技术进行安全架构分析.
依次执行分解应用程序,确定面临威胁,威胁评估,确定缓解方案四个步骤[3].
2)安全架构设计:安全设计至关重要,应确保安全需求被正确地实现.
一般包括缓解方案实现设计,安全框架选择或设计等内容,尽可能采用成熟的框架实现安全需求.
3.
2.
3开发阶段开发人员必须假定用户将故意篡改公开的应用业务逻辑,并试图进行恶意攻击[1].
最佳实践是将编码与测试并行执行,同时把相关工具整合到开发流程中,使开发过程中与安全性相关的许多任务自动化.
在软件编码、构建、测试环节将已经引入的安全漏洞找出来并在交付前加以解决,主要涉及2.
1、2.
2、2.
3、2.
5、2.
7、2.
8、2.
10七大类安全问题.
1)源代码安全分析:扫描应用的源代码以查找漏洞和错误编码实践.
例如,利用RationalAppScanSourceEdition在开发环境中进行源代码分析,能够解决可能存在的大量安全性问题,减少在发布周期结束时可能出现的安全性测试瓶颈.
这个活动需要在开发过程中持续执行.
RationalAppScanBuildEdition可将源代码分析自动化到构建过程中[1].
2)动态安全分析:是一种渗透测试方法,试图自动扫描并记录攻击面,借助故障注入的手段来测试应用以及根据响应来确定漏洞的存在.
例如,利用RationalAppScanTesterEdition在构建、测试过程中进行自动安全扫描分析,并将此活动延伸到交付阶段周期性地执行[1].
3.
2.
4交付阶段安全的软件如果被交付到不安全的环境中,也会不再安全.
因此,需要在生产环境中审核应用安全性,维持操作环境的安全级别.
主要措施包括应用基础架构的固化、数据通过网络时的保护、生产环境的防御以及配套操作系统和组件的修补和更新等.
1)二进制安全分析:与源代码安全分析的操作类似,但只在二进制级别上分析,允许查找上下文风险和特定于平台的问题.
一般在系统上线前由专门的团队执行,以评估应用系统的安全性[3].
主要涉及2.
4、2.
6、2.
9三大类安全问题.
2)安全漏洞扫描:通过利用已知漏洞的大型数据库以及尝试识别应用中的已知漏洞来发现应用程序中存在的安全问题.
例如,利用RationalAppScanStandardEdition在上线前执行安全评估并在运行维护阶段周期性的加以执行[1].
主要涉及2.
1、2.
2、2.
3、2.
5、2.
7、2.
8、2.
10七大类安全问题.
3)安全监控分析:在系统的运行维护阶段需要持续对应用系统及环境进行监控,以及时发现可能的安全问题并采取有效措施,一般由运行维护团队执行.
涉及所有10大类安全问题.
3.
3开发过程安全管理要确保组织开发的Web应用软件安全,除了采取2013年第22卷第2期http://www.
c-s-a.
org.
cn计算机系统应用SpecialIssue专论·综述9以上技术措施外,还应从软件开发过程管理的角度思考.
建立适当的软件开发过程规范以将相关要求和活动整合到组织的软件开发过程中去.
对开发人员实施安全教育以提高安全意识,实施安全技术培训使之掌握常见的安全风险和规避措施.
同时,还要确保开发、测试环境的信息安全,避免敏感测试数据、源代码等信息泄露并给攻击者利用.
4结语Web应用安全存在一些典型的攻击模式和最佳实践,通过培训使所有开发人员认识风险的本质和预防措施,有利于开发出安全的应用程序.
在软件开发生命周期的各个阶段系统性地解决问题,而不是在最后时刻发现和解决问题,把安全控制纳入日常的软件开发工作,可以大大降低应用程序出现安全问题的可能性.
本文对Web应用安全的现状、常见的安全威胁进行了分析,给出了在软件开发生命周期各个阶段采取的重点措施和方法,旨在帮助Web应用开发人员了解(上接第41页)本PDM系统应用WebServices的重要目的是综合各个合作方的数据,通过隔离合作方不相关数据,保证合作方本身内部数据的安全.
PDM系统综合各方数据以后,将把这些异构数据转换成统一的数据格式(XML)的信息,便于各方面的应用.
由于采用WebServices技术,各种异构数据和异构平台的整合变得可行,就为系统下一步的发展,打下了坚实的基础.
参考文献1刘一良.
协同设计系统及其关键技术的研究与实现[硕士学位论文].
济南:山东师范大学,2007.
2周亮.
基于PDM的协同设计系统的研究与开发[硕士学位论文].
廊坊:河北工业大学,2005.
3黄琰.
基于PDM系统的产品研发过程项目管理.
价值工程,2011(11):138139.
4张永红,高晓梅.
PDM在机械制造企业技术管理中的应用.
常见安全漏洞、提高安全意识、掌握方法,提高自身开发软件的安全性.
在本文研究成果的基础上公司建立了信息系统全生命周期安全管控系列规范,经过实践证明可以有效提高公司开发Web应用程序的安全性,减少安全漏洞.
参考文献1DeKeukelaereF,AllanD,BueckerA.
利用IBMRationalAppScan改进Web应用软件开发生命周期的安全性.
IBMRedboooks,2010.
135.
2SantiagoCE,HondoM.
Web2.
0桌面与移动应用程序安全性设计.
IBMdeveloperWorks,2012.
110.
3赵静.
Web2.
0应用安全深入解析:企业级Web2.
0应用安全解决方案.
IBMdeveloperWorks,2009.
19.
4OWASP.
OWASPTop1-2010TheTenMostCriticalWebApplicationSecurityRisks,2011.
122.
5肖国一.
Web应用安全利器:IBMRationalAppScan.
IBMdeveloperWorks,2010.
15.
6DanahyJ.
策划安全策略:应询问的三个核心问题.
IBMdeveloperWorks,2009.
13.
陕西理工学院学报,2011,(4):9094.
5王德俊.
面向服务的分布式系统动态更新研究[博士学位论文].
上海:上海交通大学,2010.
6裴永胜,杨岩,杨磊.
复杂产品集成设计系统构建方法研究.
航天制造技术,2011,(4):3840.
7邵建军.
网络化协同设计系统的研究与实现[硕士学位论文].
长春:东北大学,2006.
8曾鹏飞,郝永平,邵伟平,等.
基于PDM协同设计任务建模与调度方法研究.
现代制造工程,2007,(9):2932.
9崔建伟,徐建军,何鑫,等.
基于PDM的产品协同设计系统集成.
大连交通大学学报,2012(4):9396.
10胡学骏,曾凡智.
一种基于XMLWebService的分布式解决方案.
计算机工程,2005,13(7):204205.
11陈斌,白晓颖,马博,等.
分布式系统可伸缩性研究综述.
计算机科学,2011,38(8):1724.

弘速云20.8元/月 ,香港云服务器 2核 1g 10M

弘速云元旦活动本公司所销售的弹性云服务器、虚拟专用服务器(VPS)、虚拟主机等涉及网站接入服务的云产品由具备相关资质的第三方合作服务商提供官方网站:https://www.hosuyun.com公司名:弘速科技有限公司香港沙田直营机房采用CTGNET高速回国线路弹性款8折起优惠码:hosu1-1 测试ip:69.165.77.50​地区CPU内存硬盘带宽价格购买地址香港沙田2-8核1-16G20-...

RAKsmart秒杀服务器$30/月,洛杉矶/圣何塞/香港/日本站群特价

RAKsmart发布了9月份优惠促销活动,从9月1日~9月30日期间,爆款美国服务器每日限量抢购最低$30.62-$46/月起,洛杉矶/圣何塞/香港/日本站群大量补货特价销售,美国1-10Gbps大带宽不限流量服务器低价热卖等。RAKsmart是一家华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(...

轻云互联,香港云服务器折后22元/月 美国云服务器 1核 512M内存 15M带宽 折后19.36元/月

轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。官方网站:点击进入广州轻云网络科技有限公司活动规则:1.用户购...

web是什么意思为你推荐
注册域名怎样注册域名?免费国外空间哪里的国外免费空间好?国内免费空间国内哪里有免费的空间?国内ip代理找一个好用的国内电信IP代理?虚拟主机申请个人虚拟主机怎么申请?台湾主机台湾的电脑硬件比韩国,日本,美国强?免费网站空间那里有免费网站空间美国网站空间购买美国网站空间使用会不会麻烦呢,网站空间价格普通的网站空间要多少钱一年北京网站空间网站空间哪里的好,
ip反查域名 出租服务器 winhost godaddy续费优惠码 godaddy dropbox网盘 qq数据库下载 柚子舍官网 免费全能主机 服务器干什么用的 中国网通测速 网通服务器托管 如何建立邮箱 万网注册 广州主机托管 海外加速 删除域名 web服务器有哪些 weblogic部署 卡巴下载 更多