应用安全介绍

上传人:go****e 文档编号:137058986 上传时间:2020-07-04 格式:PDF 页数:47 大小:2.38MB
返回 下载 相关 举报
应用安全介绍_第1页
第1页 / 共47页
应用安全介绍_第2页
第2页 / 共47页
应用安全介绍_第3页
第3页 / 共47页
应用安全介绍_第4页
第4页 / 共47页
应用安全介绍_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《应用安全介绍》由会员分享,可在线阅读,更多相关《应用安全介绍(47页珍藏版)》请在金锄头文库上搜索。

1、应用安全介绍CopyrightbyCWASPAllrightsreserved.ShenZhen2015.12徐瑞祝主题软件安全定义软件安全的重要性软件安全的现状S-SDLC安全软件开发生命周期介绍轻量级S-SDLC探讨平均损失270万美元34%软件安全定义软件安全的定义软件安全既应用安全是对预期保证受保护的信息和系统的机密性、完整性和可用性的应用程序功能的设计与实现。软件的安全问题是由于不好的代码实现造成的。机密性完整性可用性软件安全的重要性根据NIST等权威机构的报告,超过90%的黑客安全事故都发生在软件本身,而不是在网络。为什么软件安全重要?36%41%1%2%2%0%3%15%Encr

2、yptionModuleNetworkProtocolStackOtherCommunicationProtocolHardwareOperatingSystemNon-ServerApplicationsServerApplications92%ofreportedvulnerabilitiesareinapplications,notnetworksSource:NIST软件安全的现状软件安全现状20132014美国早在2007就已把中国作为重点监听对象。从2009年开始大量入侵中国内地及香港的电脑和网络系统窃取重要的情报及信息。斯诺登曾透露美国国安局曾入侵中国电迅公司以获得手机短信信息,

3、并持续攻击清华大学的主干网络以及拥有区内最庞大的海底光纤电缆网络的电迅公司Pacnet香港总部。美国对华监听涉及到众多领域,除公务信息外,商业信息,个人信息也在此之列。外部安全环境OpenSSL“心脏出血”漏洞20144月8日,OpenSSL爆出年度最知名的安全漏洞Heartbleed,被形象地形容为致命的“心脏出血”。利用该漏洞,黑客坐在自己家里电脑前,就可以实时获取约30%的https开头网址的用户登录账号密码,其中包括网民最常用的购物、网银、社交、门户、微博、微信、邮箱等知名网站和服务,影响至少两亿中国网民。OpenSSL的“心脏出血”再一次把网络安全问题推到了公众面前。2014-201

4、5国内外重大安全事故破解特斯拉智能汽车通过利用特斯拉的应用程序系统漏洞,重现了该漏洞的安全隐患,成功利用电脑实现了远程开锁、鸣笛、闪灯、开启天窗等操作。2014-2015国内外重大安全事故携程日志泄露事件2014年3月22日,有安全研究人员在第三方漏洞收集平台上报了一个题目为“携程安全支付日志可遍历下载导致大量用户银行卡信息泄露(包含持卡人姓名身份证、银行卡号、卡CVV码、6位卡Bin)”的漏洞。上报材料指出携程安全支付日志可遍历下载,导致大量用户银行卡信息泄露。国内知名连锁酒店(锦江之星、速八.)及高端洒店(万豪、喜来登、洲际.)等网站存在高危漏洞,大量客户开房信息泄露黑客可轻松获取到千万级

5、的酒店顾客订单信息,包括顾客姓名、身份证名、手机号、开房时间、退房时间、房型、家庭信址、信用卡后四位、信用卡截止日期及邮件等大量敏感信息。2014-2015国内外重大安全事故海康威视被黑客植入代码,导致被远程监控江苏省公安系统部分在互联网上的海康威视设备,因设备弱口令问题被黑客攻击,部分设备被境外IP控制远程监视。事件造成海康威视股价遭遇了大跌,并一度跌停,单日市值蒸发90亿元。银信通漏洞,需一个手机号即可查到你的账户资金变动信息银信通(FMS)是“银行信息通知系统(InstantFinancialMessagingSystem)”,该系统是基于中国移动通信短信平台和银行金融数据库开发的金融数

6、据通信平台,并充分利用互联网和GSM网络资源,以经济快捷的方式,让银行及银行的个人客户和企业客户可以随时随地享受金融服务。由于银信通业务系统存在漏洞,导致银行通知给用户的短信记录,可被在线查到。2014-2015国内外重大安全事故安全问题可以对一个组织的信息和软件资产产生不利的影响。引起关注软件安全的常见原因包括:收益的减少品牌或公司形象的损坏经常性的抱怨客户安全需求因为有缺陷的软件的安全漏洞而导致的债务对业务的整体风险安全事故造成的影响2004年中国官网被涂鸦2011年4月索尼PlayStationNetwork遭受攻击1000万注册用户的数据被盗(包含信用卡数据)关闭服务数天时间2011年

7、6月索尼图片网站遭受攻击黑客盗取了整个数据库的450条万记录。12,500个用户信息泄露(包括用户名、地址、生日、明文密码等敏感信息)索尼公司的“被攻击”史2014年11月索尼(美国)影视娱乐公司索尼遭到黑客攻击黑客声称已获取索尼影业全部的网络数据,包括雇员及高层私密。长达数周,公司员工停止连接公司电脑,停止使用公司电脑,使用纸笔办公。黑客GOP在BT网站上泄露了5部新电影。黑客泄露大量内部员工信息,明文密码文件及证书等。公司遭到前员工起诉。损失超1亿美元。索尼公司的“被攻击”史管理层不重视软件安全。众多系统存在严重的安全漏洞。不重视客户资产。对安全事件的产生的严重后果预计不足。未实现纵深防御

8、的策略。没有很好的安全应对措施。索尼频造攻击的原因分析国内IT从业人员普遍安全意识淡薄。在信息安全上投入的资金占IT总投入占分过低。国内IT企业平均2%,发达国家达到20%左右。企业信息安全技术人员缺乏、管理薄弱。未建立安全代码开发及持续改进的过程(SDLC)造成国内安全现状的原因安全评估是评价一个应用程序安全性的关键机制。引导一个安全评估的关键原因是为了:了解风险识别软件设计或实现上的缺陷提高整个代码的质量启用持续改进过程维护一个积极的公司形象为什么我们要评估软件?仿冒(Spoofing)篡改(Tampering)抵赖(Repudiation)信息泄露(InformationDisclosu

9、re)拒绝服务(DenialofService)权限提升(ElevationofPrivilege)软件中存在的常见威胁仿冒篡改抵赖信息泄露权限提升功能测试:功能测试验证应用程序是否做它应该做的。包括提交输入去验证正确的输出。功能测试者会问“什么是软件应该做的?“安全测试:安全测试验证应用程序不做它不应该做的。包括提交输入去验证不出现异常。安全测试者会问“什么是软件不应该做的?”安全测试VS功能测试传统的功能测试不同的安全测试,功能测度不能替代安全测试!移除一个安全漏洞的花费随着软件开发生命周期的过程呈指数级增长。行业调查显示:在测试阶段移除一个漏洞的总体花费要少于软件发布后移除费用的20%.

10、如果移除一个缺陷在更早的阶段,如开发阶段,那将远远比在测试阶段移除便宜。在安全缺陷上的花费S-SDLC安全软件开发生命周期介绍安全软件开发生命周期软件安全生命周期安全活动介绍安全需求分析需求安全设计威胁建模设计安全培训安全代码评估开发安全测试渗透测试测试安全环境测试安全响应计划发布监控、扫描安全事件响应维护培训因为标记着一项研发计划的开始,需求阶段是最合适的阶段去开始设立您的安全开发流程。在需求阶段您应该做的是:设立一个安全顾问(内部的,或者第三方机构)。安全顾问必须是一个安全专家,他将会负责验证安全活动和输出。在每一个团队,如:开发、测试团队,设立一个安全负责人,负责在他们团队中推动安全活动

11、。收集适用于您的软件项目的安全需求,如任何安全标准或像PCIDSS,HIPAA,SOA,GLBA,BASElII等软件从属的条例。确认、获取和配置在项目中需要的软件安全工具,如Bug跟踪系统。S-SDLC安全需求安全设计需求所有的安全需求文档化正确管理防火墙配置威胁建模S-SDLC-安全设计安全安全设计需求输入验证身份认证授权配置管理敏感数据会话管理加密参数操纵例外管理日志和审计安全设计需求威胁建模是一个审查软件架构和确定软件可能存在的威胁的一个过程。威胁建模的目的是使开发团队高效开发出安全的软件。设计、开发、测试团队的代表人物应该参与到威胁建模的过程当中,并且要在项目的安全顾问的指导下进行。

12、威胁建模定义资产描述系统定义信任边界定义威胁威胁建模步骤从一个安全的角度出发,开发阶段是整个软件构思非常重要的阶段,因为有50%的缺陷是因为编程错误引起的。为了避免引入漏洞,开发人员得意识到他们使用的每一种技术的安全特性。特定的技术常常会涉及到一些特别的安全编码最佳习惯。例如:根据您是否开发WEB应用程序,是否编写本地代码,是否是客户端-服务器模式,是否与数据库交互都有不同的最佳安全编程习惯要遵守。不管开发人员使用的是什么技术,一些通用的安全编码习惯必须要遵守,包括:执行输入和输出验证、不要使用不安全的API、安全的错误处理、保护敏感数据、安全的管理帐户、采用适当的授权机制和安全的审计和记录程

13、序。为了跟踪这些好的编程习惯被执行,组织得在软件被测试之前执行手工的或自动化的安全代码复查。静态源代码分析工具可以帮助您在开发阶段找出漏洞。大多数工具都支持多种语言,如:C/C+,JAVA,C#.这些工具比较有名的包括:CheckmarxCxSuite、SecurityAnalys、FortifySourceCodeAnalyzer和CoverityIntegrityCenterS-SDLC安全开发即便在设计和安全开发软件上做了最大的努力,但是难免还是会有一些漏洞。安全测试的作用应该是为了找出这些漏洞,并且提供一个软件发布给客户或者生产环境之前去除这些漏洞的机会。安全测试非常不同于传统的功能性

14、测试,因为它需要不同种类的技术和工具。安全测试主要包括对出现的已知类型的漏洞作分析。显然地,要在安全测试上做得出色,软件安全测试员应该意识到这些类别的漏洞,它们失败的症状和发现这些漏洞的最普通的方法。S-SDLC安全测试对于安全测试人员来说,应当熟悉各种不同的软件漏洞,知道怎样去测试它们,能够发现它们的存在。下面是几种类别的安全漏洞以及它们的定义:Bufferoverflows.一种编程错误,可能导致未被授权的内存访问和在受害的主机上执行恶意代码。SQLinjection.以不正确的方式包含用户输入的参数到SQL查询语句当中,从而允许攻击者在这个查询语在后台数据库执行时改变它的行为。Cross

15、-sitescripting.这类漏洞通常存在于Web应用程序当中。恶意代码可以被恶意的Web用户注入到可被别的用户浏览的Web页面当中。Lackofserver-sideauthorization.这类漏洞只由于权限认证在客户端执行。通过利用这种漏洞,攻击者可以合法的访问系统的资产。Weakauthentication.这类漏洞允许攻击者绕过认证,从而不适当地访问系统资源。Weakauthorization.这类漏洞允许攻击者绕过权限认证,从而可能潜在的提升他们访问系统资源的权限Improperuseofcryptography.不正确的使用加密算法。Impropererrorhandlin

16、g.这类漏洞会导致敏感信息泄露给攻击者或者让应用程序处于一个不安全的状态。特殊类型的漏洞的测试因为安全测试常常会用原本不会用的方式去监测、截取和修改数据,因此需要一些非常特别的工具。为了更有效率的做安全测试,测试者应该从适当的安全测试工具中得到帮助。包括:监测工具,如:WindowsSysInternalssuite,Holodeck,和Lsof网络嗅探器,如:Tcpdump,Wireshark,和Ettercap调试器和解码器,如:WinDbg,OllyDbg,和IDAProWeb代理,如:如:Burp,Paros,和FiddlerWeb应用程序扫描工具,如:Appscan,Acunetix,和WebInspect模糊测试工具,如COMRaider,SPIKE,和PeachFuzzingFramework利用安全测试工具团队缺少安全专业人员。项目组开发周期很紧,无法抽出专门的时间。团队执行力不够。安全标准与规范无法落地。企业执行SDLC所面临的问题轻量级S-SDLC探讨国内IT企业安全团队水平与执行力度等情况都各有不同。针对一些安全基础较薄弱,但又急于想实现的安全软件开发生命周

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号