首页 软件安全基础课件(PPT 49页)

软件安全基础课件(PPT 49页)

举报
开通vip

软件安全基础课件(PPT 49页)软件安全基础 -DevelopSecuritySoftware*主题 基本概念. 软件安全的重要性. 分析软件安全越来越严重的原因和根源. 解决软件安全问题的措施和方法.*基本概念 软件安全的定义:在软件受到恶意的攻击下,软件能够正常运行(功能/性能) 软件安全课题:了解产生软件安全的风险并怎样去管理他们:“Buildingsecuresoftware:designingsoftwaretobesecure,makesurethatsoftwareissecure,educatingsoftwarede...

软件安全基础课件(PPT 49页)
软件安全基础 -DevelopSecuritySoftware*主题 基本概念. 软件安全的重要性. 分析软件安全越来越严重的原因和根源. 解决软件安全问题的措施和方法.*基本概念 软件安全的定义:在软件受到恶意的攻击下,软件能够正常运行(功能/性能) 软件安全课题:了解产生软件安全的风险并怎样去管理他们:“Buildingsecuresoftware:designingsoftwaretobesecure,makesurethatsoftwareissecure,educatingsoftwaredevelopers,architectsandusersabouthowtobuildsecurityin”*软件安全的重要性 信息安全的期望 信息安全的现状 软件安全漏洞的发展趋势 传统解决信息安全的努力和投资方向 软件安全在信息安全中的重要地位*信息安全的期望 在原理上:我们花更多钱去降低的安全事件和安全利用,以此来帮助我们:保护我们的业务不会被恶义的家伙破坏”限制责任和义务,满足法规和标准避免对公司品牌和声誉造成破坏 info-secspending($)incidents&exploits(#)* 然而在事实上:我们每年都花了数百万的资金在信息安全上,但是效果并不如意,我们遭遇的安全问题越来越多.breachesgrowdramatically-seriouslyimpacting:uptime,regulatorycompliance,liability,brandandreputation信息安全的现状*分析机构的最近统计In2004,averagetimefromvulnerabilityannouncementto1stattack=5.8days(99days,2003)532%increaseinCERTincidentsreported(2000-2003)43%reportanincreaseine-crimesandintrusionsversuspreviousyearOnaverage,48newvulnerabilitiesperweekweredisclosedin1H04ThesefourfactoidsarejustasamplingofresultsfoundbytheFBI,CarnegieMellon’sSEICERTCoordinationCenter(anindustrybodythatfocusesonalertingcorporationsofsecurityvulnerabilities),andSymantecinits5thInternetSecurityThreatReport(Jan-June2004).*软件安全漏洞的发展趋势*CERT2006年的 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 * 我们的钱花在哪儿去了? 为什么我们的安全工作毫无效果?Why?*传统信息安全的方法和投资方向*Theexpertsaretellingus:wehaveaSOFTWAREproblem“Over70%ofsecurityvulnerabilitiesexistattheapplicationlayer,notthenetworklayer.It’snotjustoperatingsystemsorwebbrowsers,butalltypesofapplications-particularlyapplicationsthatautomatekeybusinessprocesses.”GartnerGroup2004软件安全在信息安全中的重要地位Chart1 0 0.01 0.02 0.02 0.03 0.15 0.36 0.4192%ofreportedvulnerabilitiesareinapplications,notnetworksSource:NISTSheet1 EncryptionModule 0% NetworkProtocolStack 1% Other 2% CommunicationProtocol 2% Hardware 3% OperatingSystem 15% Non-ServerApplications 36% ServerApplications 41%Sheet1 0 0 0 0 0 0 0 092%ofreportedvulnerabilitiesareinapplications,notnetworksSource:NISTTargetApplicationsatRiskSheet2 Sheet3 *结论目前我们信息安全的主要问题是:应用软件安全问题!!!*软件安全越来越严重的原因 为什么软件安全问题日益增长 黑客攻击方式的进化 传统的分层保护 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 减轻系统的风险 为什么传统的基于网络的方案不工作 黑客可直接利用软件的弱点达到攻击系统 演示如何通过攻击软件达到窃取商业信息和破坏应用系统。 软件必须保护它们自己 传统学校关于安全技术的教育 软件补丁和软件安全攻击的关系 软件安全的根源问题。*为什么软件安全问题增长 Connectivity(互联性) Extensibility(延展性) Complexity(复杂性)*为什么软件安全问题变得如此困难? Connectivity TheInternetiseverywhereandmostsoftwareisonit Complexity Networked,distributed,mobilecodeishard Extensibility SystemsevolveinunexpectedwaysandarechangedontheflyThissimpleinterface……isthiscomplexprogram*19801985199019952000黑客攻击方式的进化PasswordGuessingSelf-ReplicatingCodePasswordCrackingExploitingKnownVulnerabilitiesBurglariesHijackingSessionsNetworkedManagementDiagnosisGUIAutomatedProbes/ScanswwwAttacksDistributedAttackToolsStagedAttackAttackSophisticationIntruderKnowledgeLOWHIGH19801985199019952000DisablingAuditsBackDoorsSweepersSniffersPacketSpoofingDenialofService“Stealth”/AdvancedScanningTechniquesCross-SiteScripting*传统的“加层”保护方案HackersWorms&VirusesMaliciousInsiders*软件的应用因为业务和功能的需要必须打破传统的保护层,直接与外面的系统交互WebFacingApplicationsLegacyAppIntegrationConnectivityw/Partners& SuppliersOutsourcingEmployeeSelf-Service*为什么传统的基于网络方案不工作 KeyNetworkWeb RestrictAccessFirewallEveryonehasaccess AuthenticateusersWindows/UnixauthHTTPhasWEAKauthentication MonitorforattacksIDS/IPSCriticaltrafficisinSSLTunnel Trackusers(state)UserofTCP/IPconnectionsHTTPisstateless BlockknownattacksIPS(Self-defendingnetworks)Webattacksareextremelyhardtodistinguishfromnormalactivity*InternetDMZTrustedInsideCorporateInsideHTTP(S)IMAPFTPSSHTELNETPOP3FirewallonlyallowsPORT80(or443SSL)trafficfromtheInternettothewebserver.Any–WebServer:80Firewallonlyallowsapplicationsonthewebservertotalktoapplicationserver.Firewallonlyallowsapplicationservertotalktodatabaseserver.IISSunOneApacheASP.NETWebSphereJavaSQLOracleDB2*软件易于遭受的安全弱点: SQLInjections BufferOverflows InformationLeakage OtherCategories软件安全弱点的底线: Operations,Availability Compliance Credibility,Reputation黑客直接利用软件的弱点攻击我们的系统*演示如何通过攻击应用系统达到窃取商业信息和破坏应用系统,使用的攻击方式:SQLInjectionCross-SiteScriptingPrivacyViolationForcefulBrowsing 演示攻击*软件必须自我保护Outside:SourceIPDestinationIPFragmenteddataHTTPrequests?Inside Usersessions SQLqueries Applicationvariables Historicalpatterns*Inside软件必须自我保护Outside:*传统学校关于安全技术的教育的原则:用防火墙来定义系统的”边界”,把软件与外界隔离.过分依赖加密技术SSLsecurelockonapaperbag!当产品要发布的时候才去审查产品在这个阶段所做的都是“Whydidwedothislikethis?”我们将以补丁(patch)的方式修复它.我们已经了解到这个问题.不允许高级技术使用:如果它是新的,肯定有问题.让我们等,直到这种技术成熟了,保险了,我们才使用.想尽一切办法去否定使用新技术的想法学校传统的安全技术教育*渗透测试和打补丁都不是最好的消除软件安全问题的方式PenetrateandPatchisBadAverageCurveofNumberofIntrusionsforaSecurityBugOverTime,asReportedbyArbaugh,FithenandMcHugh,2000.TimeIntrusionsDisclosurePatchReleasedScripting*传统的安全模式:保护”边界”网络安全安全负责的人是IT/MIS/CISSP等部门被动式新的安全模式:构建安全的系统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 安全的软件软件开发人员和设计人员对安全负责主动式*COTS=Commercialofftheshelf学校传统的安全技术教育*软件安全的根源问题 软件安全的问题是软件自身的缺陷问题,其主要在软件设计和软件实现的过程中产生,具体表现在软件设计的架构问题和实现上的错误. 开发软件-造房子 实现上的错误-软件代码错误-砖的问题 架构问题-软件架构风险-墙问题 在软件安全问题上,架构上的风险往往比实现上的分析更重要,更难理解.*解决软件安全问题 软件安全涉及软件工程,编程语言,安全工程.根据GaryMcGraw的建议,解决软件安全主要要从如下几个方面下手: AppliedRiskManagement SoftwareSecurityBestpractices Knowledge*什么是风险管理 Riskmanagement.预先去识别\分析和修复那些对商业有负面影响的软件缺陷,决定花多少成本去修复它. 软件安全其实就是风险管理.*AppliedRiskManagement 在软件设计的时候就风险模型分析或者安全设计分析,并在软件的全生命开发周期去跟踪和消除风险.分成如下六个阶段: UnderstandtheBusinessContext(了解业务需求) IdentifytheBusinessandTechnicalRisk(确认业务/技术风险) SynthesizeandRanktheRisks(综合分析风险并划分级别) DefinetheRiskMitigationStrategy(定制降低风险的策略) CarryOutFixesandValidate(实施修复并验证结果) MeasuringandReportingOnRisk(测量并报告风险)并利用风险管理框架(RMF)*风险管理框架*软件安全最佳实践 Securityrequirements(安全需求) Abusecase(不好的测试用例) Architectureriskanalysis(软件架构风险分析) Risk-basedsecuritytests(基于风险的安全测试) Codereview(代码审查) Penetrationtesting(渗透测试) Securityoperations(安全操作)**安全需求 需求阶段 识别和维护那些是安全的需求,那些是不安全的需求,从而从需求中除去威胁. 一些安全的需求可以帮助清理需求分析。 敏感数据需要加密 用户识别 机制 综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图 调整方针 安全是一个突发的需求。 黑客仅需一个漏洞 “bufferoverflows”要消除 “Makeitsecure”是模糊的*不好的测试用例 需求分析和用例(UseCases)阶段. 用例来描述系统的行为.1。正式的、标准的测试用例。描述正确行为2。非正式的、非标准的测试用例。描述攻击时的行为作用:使设计人员了解更多信息文档化说明非法使用的情况 *架构风险分析 在系统设计和构造系统框架时,设计者,构架师和分析人员都要非常清晰地文档化所有的假定的和已经识别的风险.在基于特定架构设计阶段和不同的类的设计阶段,风险分析非常必要.并且在整个开发生命周期中采用一致的风险管理进行软件的风险登记,修改,跟踪.... 设计人员那些不能做 描绘出设计的模型 Usehypothesistestingtocategorizerisks Threatmodeling/Attackpatterns Rankrisks Tietobusinesscontext Suggestfixes Repeat* 估计和理解风险需要准备的问题:1.每个攻击的可能性有多大?2.软件应用系统用什么来完成任务?3.是否灾难的恢复计划?4.系统瘫痪的影响有多大?5.可以接受的系统瘫痪时间是多少?架构风险分析*基于风险的安全测试 测试两种策略: 1.测试安全功能以标准的功能测试 2.基于风险的安全测试是以攻击模式 换句话说:1.QA是确保好的事情发生, 2.安全测试是确保坏的事情不发生 在系统中具有潜在风险的产物是:1.需求2.设计3.架构*代码审查 在代码级关注代码实现上带来的软件安全漏洞. 代码标准(CodeStandard):是特定语言相关的编程规则,它主要用于减少应用代码产生错误的可能性。它来源于一些专家的研究,他们分析代码在编写的时候,Bug是怎么产生的,然后用一些特定的代码实践去纠正这些bug,他们分析特定的代码实践和bug之间的关系,整理出一系列的规则,然后用这些规则去预防代码错误的发生。-Fortify主要关注在代码安全方面的代码标准   http://www.fortifysoftware.com/vulncat/ 人工执行或者使用工具*渗透测试 系统在真实的环境下的时候.由结构风险分析去通知和驱动渗透测试. 是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络/系统/主机/应用的安全性作深入的探测,发现系统最脆弱的环节的过程。渗透测试能够直观的让管理人员知道自己网络所面临的问题。 软件要与环境相绑定才可以做好的渗透测试,结合网络的所以安全机制。防火墙应用系统的加密技术*安全操作 指南 验证指南下载验证指南下载验证指南下载星度指南下载审查指南PDF 系统的应用阶段. 软件安全受益于网络安全的操作. 没有足够的日志信息去起诉已经知道的攻击.*集成软件安全实践到软件开发生命周期*AboutblackHatandwhitehatDestructiveactivities-asthoseaboutAttacks,exploits,breakingsoftwareConstructiveactivities-asthoseaboutdesigndefenseandfunctionality*ExternalAnalysisWhyonlyseven?*安全知识 软件安全的最大的挑战是我们缺乏在 软件安全方面的知识和经验.因此我们需要,也非常有必要给我们的开发人员设计人员,分析人员更多的有关软件安全的知识的培训,以期他们具备丰富的软件安全的知识.*安全知识Attacksarecomplexandfollowpatterns MaketheClientInvisible TargetProgramsThatWritetoPrivilegedOSResources UseaUser-SuppliedConfigurationFiletoRunCommandsThatElevatePrivilege MakeUseofConfigurationFileSearchPaths DirectAccesstoExecutableFiles EmbeddingScriptswithinScripts LeverageExecutableCodeinNonexecutableFiles ArgumentInjection CommandDelimiters MultipleParsersandDoubleEscapes User-SuppliedVariablePassedtoFileSystemCalls PostfixNULLTerminator Postfix,NullTerminate,andBackslash RelativePathTraversal Client-ControlledEnvironmentVariables User-SuppliedGlobalVariables(DEBUG=1,PHPGlobals,andSoForth) SessionID,ResourceID,andBlindTrust AnalogIn-BandSwitchingSignals(aka“BlueBoxing”) AttackPatternFragment:ManipulatingTerminalDevices SimpleScriptInjection EmbeddingScriptinNonscriptElements XSSinHTTPHeaders HTTPQueryStrings User-ControlledFilename PassingLocalFilenamestoFunctionsThatExpectaURL Meta-charactersinE-mailHeader FileSystemFunctionInjection,ContentBased Client-sideInjection,BufferOverflow CauseWebServerMisclassification AlternateEncodingtheLeadingGhostCharacters UsingSlashesinAlternateEncoding UsingEscapedSlashesinAlternateEncoding UnicodeEncoding UTF-8Encoding URLEncoding AlternativeIPAddresses SlashesandURLEncodingCombined WebLogs OverflowBinaryResourceFile OverflowVariablesandTags OverflowSymbolicLinks MIMEConversion HTTPCookies FilterFailurethroughBufferOverflow BufferOverflowwithEnvironmentVariables BufferOverflowinanAPICall BufferOverflowinLocalCommand-LineUtilities ParameterExpansion StringFormatOverflowinsyslog()*http://www.fortifysoftware.com/vulncat/**************************************************
本文档为【软件安全基础课件(PPT 49页)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥12.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
shmily
教师一名呀
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:交通与物流
上传时间:2020-09-27
浏览量:9