應(yīng)用軟件安全基礎(chǔ)_第1頁
應(yīng)用軟件安全基礎(chǔ)_第2頁
應(yīng)用軟件安全基礎(chǔ)_第3頁
應(yīng)用軟件安全基礎(chǔ)_第4頁
應(yīng)用軟件安全基礎(chǔ)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件安全基礎(chǔ)

-DevelopSecuritySoftware

主講人:王宏主題基本概念.軟件安全的重要性.分析軟件安全越來越嚴(yán)重的原因和根源.解決軟件安全問題的措施和方法.基本概念軟件安全的定義:在軟件受到惡意的攻擊下,軟件能夠正常運行(功能/性能)軟件安全課題:了解產(chǎn)生軟件安全的風(fēng)險并怎樣去管理他們:“Buildingsecuresoftware:designingsoftwaretobesecure,makesurethatsoftwareissecure,educatingsoftwaredevelopers,architectsandusersabouthowtobuildsecurityin”軟件安全的重要性信息安全的期望信息安全的現(xiàn)狀軟件安全漏洞的發(fā)展趨勢傳統(tǒng)解決信息安全的努力和投資方向軟件安全在信息安全中的重要地位

信息安全的期望在原理上:我們花更多錢去降低的安全事件和安全利用,以此來幫助我們:保護我們的業(yè)務(wù)不會被惡義的家伙破壞”

限制責(zé)任和義務(wù),滿足法規(guī)和標(biāo)準(zhǔn)避免對公司品牌和聲譽造成破壞

info-secspending($)incidents&exploits(#)然而在事實上:我們每年都花了數(shù)百萬的資金在信息安全上,但是效果并不如意,我們遭遇的安全問題越來越多.info-secspending($17B)impact($40B)breachesgrowdramatically-seriouslyimpacting:uptime,regulatorycompliance,liability,brandandreputation信息安全的現(xiàn)狀分析機構(gòu)的最近統(tǒng)計

In2004,averagetimefromvulnerabilityannouncementto1stattack=5.8days(99days,2003)532%increaseinCERTincidentsreported(2000-2003)43%reportanincreaseine-crimesandintrusionsversuspreviousyearOnaverage,48newvulnerabilitiesperweekweredisclosedin1H04ThesefourfactoidsarejustasamplingofresultsfoundbytheFBI,CarnegieMellon’sSEICERTCoordinationCenter(anindustrybodythatfocusesonalertingcorporationsofsecurityvulnerabilities),andSymantecinits5thInternetSecurityThreatReport(Jan-June2004).

軟件安全漏洞的發(fā)展趨勢CERT2006年的報告我們的錢花在哪兒去了?為什么我們的安全工作毫無效果?Why?傳統(tǒng)信息安全全的方法和投投資方向Theexpertsaretellingus:wehaveaSOFTWAREproblem“Over70%ofsecurityvulnerabilitiesexistattheapplicationlayer,notthenetworklayer.It’’snotjustoperatingsystemsorwebbrowsers,butalltypesofapplications-particularlyapplicationsthatautomatekeybusinessprocesses.”GartnerGroup2004軟件安全在信信息安全中的的重要地位結(jié)論目前我們信息息安全的主要要問題是:應(yīng)用軟件安全全問題!!!軟件安全越來來越嚴(yán)重的原原因為什么軟件安安全問題日益益增長黑客攻擊方式式的進化傳統(tǒng)的分層保保護方案減輕輕系統(tǒng)的風(fēng)險險為什么傳統(tǒng)的的基于網(wǎng)絡(luò)的的方案不工作作黑客可直接利利用軟件的弱弱點達到攻擊擊系統(tǒng)演示如何通過過攻擊軟件達達到竊取商業(yè)業(yè)信息和破壞壞應(yīng)用系統(tǒng)。。軟件必須保護護它們自己傳統(tǒng)學(xué)校關(guān)于于安全技術(shù)的的教育軟件補丁和軟軟件安全攻擊擊的關(guān)系軟件安全的根根源問題。為什么軟件安安全問題增長長Connectivity(互聯(lián)性性)Extensibility(延展展性)Complexity((復(fù)雜性性)為什么軟件安安全問題變得得如此困難?ConnectivityTheInternetiseverywhereandmostsoftwareisonitComplexityNetworked,distributed,mobilecodeishardExtensibilitySystemsevolveinunexpectedwaysandarechangedontheflyThissimpleinterface……isthiscomplexprogram.NETThenetworkisthecomputer.19801985199019952000黑客攻擊方式式的進化PasswordGuessingSelf-ReplicatingCodePasswordCrackingExploitingKnownVulnerabilitiesBurglariesHijackingSessionsNetworkedManagementDiagnosisGUIAutomatedProbes/ScansDistributedAttackToolsStagedAttackAttackSophisticationIntruderKnowledgeLOWHIGH19801985199019952000DisablingAuditsBackDoorsSweepersSniffersPacketSpoofingDenialofService“Stealth”/AdvancedScanningTechniquesCross-SiteScripting傳統(tǒng)的“加層層”保護方案案HackersWorms&VirusesMaliciousInsidersTraditionalnetwork/perimeterdefensesCriticalSoftwareAutomationOfKeyOperationalProcesses軟件的應(yīng)用因因為業(yè)務(wù)和功功能的需要必必須

打破傳傳統(tǒng)的保護層層,直接與外外面的系統(tǒng)交交互WebFacingApplicationsLegacyAppIntegrationConnectivityw/Partners&SuppliersOutsourcingEmployeeSelf-Service為什么傳統(tǒng)的的基于網(wǎng)絡(luò)方方案不工作KeyNetworkWebRestrictAccessFirewallEveryonehasaccessAuthenticateusersWindows/UnixauthHTTPhasWEAKauthenticationMonitorforattacksIDS/IPSCriticaltrafficisinSSLTunnelTrackusers(state)UserofTCP/IPconnectionsHTTPisstatelessBlockknownattacksIPS(Self-defendingnetworks)WebattacksareextremelyhardtodistinguishfromnormalactivityInternetDMZTrustedInsideCorporateInsideHTTP(S)IMAPFTPSSHTELNETPOP3FirewallonlyallowsPORT80(or443SSL)trafficfromtheInternettothewebserver.Any––WebServer:80Firewallonlyallowsapplicationsonthewebservertotalktoapplicationserver.Firewallonlyallowsapplicationservertotalktodatabaseserver.IISSunOneApacheASP.NETWebSphereJavaSQLOracleDB2軟件易易于遭遭受的的安全全弱點點:SQLInjectionsBufferOverflowsInformationLeakageOtherCategories軟件安安全弱弱點的的底線線:Operations,AvailabilityComplianceCredibility,Reputation黑客直直接利利用軟軟件的的弱點點攻擊擊我們們的系系統(tǒng)演示如如何通通過攻攻擊應(yīng)應(yīng)用系系統(tǒng)達達到竊竊取商商業(yè)信信息和和破壞壞應(yīng)用用系統(tǒng)統(tǒng),使使用的的攻擊擊方式式:SQLInjectionCross-SiteScriptingPrivacyViolationForcefulBrowsing演示示攻攻擊擊軟件必必須自自我保保護Outside:SourceIPDestinationIPFragmenteddataHTTPrequests?InsideUsersessionsSQLqueriesApplicationvariablesHistoricalpatternsInside軟件必必須自自我保保護Outside:傳統(tǒng)學(xué)學(xué)校關(guān)關(guān)于安安全技技術(shù)的的教育育的原原則:用防火火墻來來定義義系統(tǒng)統(tǒng)的””邊界界”,把軟軟件與與外界界隔離離.過分依依賴加加密技技術(shù)SSLsecurelockonapaperbag!當(dāng)產(chǎn)品品要發(fā)發(fā)布的的時候候才去去審查查產(chǎn)品品在這個個階段段所做做的都都是““Whydidwedothislikethis?””我們將將以補補丁(patch)的方方式修修復(fù)它它.我們已已經(jīng)了了解到到這個個問題題.不允許許高級級技術(shù)術(shù)使用用:如果它它是新新的,肯定定有問問題.讓我們們等,直到到這種種技術(shù)術(shù)成熟熟了,保險險了,我們們才使使用.想盡一一切辦辦法去去否定定使用用新技技術(shù)的的想法法學(xué)校校傳傳統(tǒng)統(tǒng)的的安安全全技技術(shù)術(shù)教教育育滲透透測測試試和和打打補補丁丁都都不不是是最最好好的的消消除除軟軟件件安安全全問問題題的的方方式式PenetrateandPatchisBadAverageCurveofNumberofIntrusionsforaSecurityBugOverTime,asReportedbyArbaugh,FithenandMcHugh,2000.傳統(tǒng)統(tǒng)的的安安全全模模式式:保護護””邊邊界界””網(wǎng)絡(luò)絡(luò)安安全全安全全負負責(zé)責(zé)的的人人是是IT/MIS/CISSP等等部部門門被動動式式新的的安安全全模模式式::構(gòu)建建安安全全的的系系統(tǒng)統(tǒng)設(shè)計計安安全全的的軟軟件件軟件件開開發(fā)發(fā)人人員員和和設(shè)設(shè)計計人人員員對對安安全全負負責(zé)責(zé)主動動式式*COTS=Commercialofftheshelf學(xué)校校傳傳統(tǒng)統(tǒng)的的安安全全技技術(shù)術(shù)教教育育軟件件安安全全的的根根源源問問題題軟件件安安全全的的問問題題是是軟軟件件自自身身的的缺缺陷陷問問題題,其其主主要要在在軟件件設(shè)設(shè)計計和軟件件實實現(xiàn)現(xiàn)的過過程程中中產(chǎn)產(chǎn)生生,具具體體表表現(xiàn)現(xiàn)在在軟軟件件設(shè)設(shè)計計的的架構(gòu)構(gòu)問問題題和實現(xiàn)現(xiàn)上上的的錯錯誤誤.開發(fā)發(fā)軟軟件件-造房房子子實現(xiàn)現(xiàn)上上的的錯錯誤誤-軟軟件件代代碼碼錯錯誤誤-磚磚的的問問題題架構(gòu)構(gòu)問問題題-軟軟件件架架構(gòu)構(gòu)風(fēng)風(fēng)險險-墻墻問問題題在軟軟件件安安全全問問題題上上,架架構(gòu)構(gòu)上上的的風(fēng)風(fēng)險險往往往往比比實實現(xiàn)現(xiàn)上上的的分分析析更更重重要要,更更難難理理解解.解決決軟軟件件安安全全問問題題軟件件安安全全涉涉及及軟軟件件工工程程,,編編程程語語言言,安安全全工工程程.根根據(jù)據(jù)GaryMcGraw的的建建議議,解解決決軟軟件件安安全全主主要要要要從從如如下下幾幾個個方方面面下下手手:AppliedRiskManagementSoftwareSecurityBestpracticesKnowledge什么是風(fēng)險險管理Riskmanagement.預(yù)預(yù)先去識識別\分析析和修復(fù)那那些對商業(yè)業(yè)有負面影影響的軟件件缺陷,決決定花多少少成本去修修復(fù)它.軟件安全其其實就是風(fēng)風(fēng)險管理.AppliedRiskManagement在軟件設(shè)計計的時候就就風(fēng)險模型型分析或者者安全設(shè)計計分析,并并在軟件的的全生命開開發(fā)周期去去跟蹤和消消除風(fēng)險.分成如下下六個階段段:UnderstandtheBusinessContext(了了解業(yè)務(wù)需需求)IdentifytheBusinessandTechnicalRisk((確認業(yè)務(wù)務(wù)/技術(shù)風(fēng)風(fēng)險)SynthesizeandRanktheRisks(綜合分分析風(fēng)險并并劃分級別別)DefinetheRiskMitigationStrategy(定定制降低風(fēng)風(fēng)險的策略略)CarryOutFixesandValidate((實施修復(fù)復(fù)并驗證結(jié)結(jié)果)MeasuringandReportingOnRisk((測量并報報告風(fēng)險))并利用風(fēng)險險管理框架架(RMF)風(fēng)險管理框框架軟件安全最最佳實踐Securityrequirements(安全需求求)Abusecase((不好的的測試用例例)Architectureriskanalysis(軟件件架構(gòu)風(fēng)險險分析)Risk-basedsecuritytests(基于于風(fēng)險的安安全測試))Codereview((代碼審查查)Penetrationtesting((滲透透測試)Securityoperations((安全全操作)安全需求需求階段識別和維護護那些是安安全的需求求,那些是是不安全的的需求,從從而從需求求中除去威威脅.一些安全的的需求可以以幫助清理理需求分析析。敏感數(shù)據(jù)需需要加密用戶識別機機制調(diào)整方針安全是一個個突發(fā)的需需求。黑客僅需一一個漏洞“bufferoverflows”要消消除“Makeitsecure”是是模糊的的不好的測試試用例需求分析和和用例(UseCases)階段..用例來描述述系統(tǒng)的行行為.1。正式的的、標(biāo)準(zhǔn)的的測試用例例。描述正正確行為2。非正式式的、非標(biāo)標(biāo)準(zhǔn)的測試試用例。描描述攻擊時時的行為作用:使設(shè)設(shè)計人員了了解更多信信息文檔化說明明非法使用用的情況架構(gòu)風(fēng)險分分析在系統(tǒng)設(shè)計計和構(gòu)造系系統(tǒng)框架時時,設(shè)計者者,構(gòu)架師師和分析人人員都要非非常清晰地地文檔化所所有的假定定的和已經(jīng)經(jīng)識別的風(fēng)風(fēng)險.在基基于特定架架構(gòu)設(shè)計階階段和不同同的類的設(shè)設(shè)計階段,,風(fēng)險分析析非常必要要.并且在在整個開發(fā)發(fā)生命周期期中采用一一致的風(fēng)險險管理進行行軟件的風(fēng)風(fēng)險登記,,修改,跟跟蹤....設(shè)計人員那那些不能做做描繪出設(shè)計計的模型UsehypothesistestingtocategorizerisksThreatmodeling/AttackpatternsRankrisksTietobusinesscontextSuggestfixesRepeat估計和理解解風(fēng)險需要要準(zhǔn)備的問問題:1.每個攻攻擊的可能能性有多大大?2.軟件應(yīng)應(yīng)用系統(tǒng)用用什么來完完成任務(wù)?3.是否災(zāi)災(zāi)難的恢復(fù)復(fù)計劃?4.系統(tǒng)癱癱瘓的影響響有多大?5.可以接接受的系統(tǒng)統(tǒng)癱瘓時間間是多少?架構(gòu)風(fēng)險分分析基于風(fēng)險的的安全測試試測試兩種策策略:1.測試安安全功能以以標(biāo)準(zhǔn)的功功能測試2.基于風(fēng)風(fēng)險的安全全測試是以以攻擊模式式換句話說::1.QAA是確保好好的事情發(fā)發(fā)生,2.安全全測試是確確保壞的事事情不發(fā)生生在系統(tǒng)中具具有潛在風(fēng)風(fēng)險的產(chǎn)物物是:1.需求2.設(shè)計3.架構(gòu)代碼審查滲透測試系統(tǒng)在真實實的環(huán)境下下的時候..由結(jié)構(gòu)風(fēng)風(fēng)險分析去去通知和驅(qū)驅(qū)動滲透測測試.是指安全工工程師盡可可能完整地地模擬黑客客使用的漏漏洞發(fā)現(xiàn)技技術(shù)和攻擊擊手段,對對目標(biāo)網(wǎng)絡(luò)絡(luò)/系統(tǒng)/主機/應(yīng)應(yīng)用的安全全性作深入入的探測,,發(fā)現(xiàn)系統(tǒng)統(tǒng)最脆弱的的環(huán)節(jié)的過過程。滲透透測試能夠夠直觀的讓讓管理人員員知道自己己網(wǎng)絡(luò)所面面臨的問題題。軟件要與環(huán)環(huán)境相綁定定才可以做做好的滲透透測試,結(jié)合網(wǎng)絡(luò)的的所以安全全機制。防火墻應(yīng)用系統(tǒng)的的加密技術(shù)術(shù)安全操作指指南系統(tǒng)的應(yīng)用用階段.軟件安全受受益于網(wǎng)絡(luò)絡(luò)安全的操操作.沒有足夠的的日志信息息去起訴已已經(jīng)知道的的攻擊.集成軟件安安全實踐到到軟件開發(fā)發(fā)生命周期期AboutblackHatandwhitehatDestructiveactivities-asthoseaboutAttacks,exploits,breakingsoftwareConstructiveactivities-asthoseaboutdesigndefenseandfunctionalityExternalAnalysis

Whyonlyseven?安全知識軟件安全的的最大的挑挑戰(zhàn)是我們們?nèi)狈υ谲浖踩椒矫娴闹R識和經(jīng)驗..因此我們們需要,也也非常有必必要給我們們的開發(fā)人人員設(shè)計人人員,分析析人員更多多的有關(guān)軟軟件安全的的知識的培培訓(xùn),以期期他們具備備豐富的軟軟件安全的的知識.安全知識AttacksarecomplexandfollowpatternsMaketheClientInvisibleTargetProgramsThatWritetoPrivilegedOSResourcesUseaUser-SuppliedConfigurationFiletoRunCommandsThatElevatePrivilegeMakeUseofConfigurationFileSearchPathsDirectAccesstoExecutableFilesEmbeddingScriptswithinScriptsLeverageExecutableCodeinNonexecutableFilesArgumentInjectionCommandDelimitersMultipleParsersandDoubleEscapesUser-SuppliedVariablePassedtoFileSystemCallsPostfixNULLTerminatorPostfix,NullTerminate,andBackslashRelativePathTraversalClient-ControlledEnvironmentVariablesUser-SuppliedGlobalVariables(DEBUG=1,PHPGlobals,andSoForth)SessionID,ResourceID,andBlindTrustAnalogIn-BandSwitchingSignals(aka““BlueBoxing””)AttackPatternFragment:ManipulatingTerminalDevicesSimpleScriptInjectionEmbeddingScriptinNonscriptElementsXSSinHTTPHeadersHTTPQueryStringsUser-ControlledFilenamePassingLocalFilenamestoFunctionsThatExpectaURLMeta-charactersinE-mailHeaderFileSystemFunctionInjection,ContentBasedClient-sideInjection,BufferOverflowCauseWebServerMisclassificationAlternateEncodingtheLeadingGhostCharactersUsingSlashesinAlternateEncodingUsingEscapedSlashesinAlternateEncodingUnicodeEncodingUTF-8EncodingURLEncodingAlternativeIPAddressesSlashesandURLEncodingCombinedWebLogsOverflowBinaryResourceFileOverflowVariablesandTagsOverflowSymbolicLinksMIMEConversionHTTPCookiesFilterFailurethroughBufferOverflowBufferOverflowwithEnvironmentVariablesBufferOverflowinanAPICallBufferOverflowinLocalCommand-LineUtilitiesParameterExpansionStringFormatOverflowinsyslog()9、靜夜四無鄰鄰,荒居舊業(yè)業(yè)貧。。12月-2212月-22Thursday,December8,202210、雨中黃葉葉樹,燈下下白頭人。。。13:21:5013:21:5013:2112/8/20221:21:50PM11、以我獨獨沈久,,愧君相相見頻。。。12月-2213:21:5013:21Dec-2208-Dec-2212、故人人江海海別,,幾度度隔山山川。。。13:21:5013:21:5013:21Thursday,December8,202213、乍見翻疑疑夢,相悲悲各問年。。。12月-2212月-2213:21:5013:21:50December8,202214、他鄉(xiāng)生白發(fā)發(fā),舊國見青青山。。08十二月月20221:21:50下午13:21:5012月-2215、比不了得就就不比,得不不到的就不要要。。。十二月221:21下下午12月-2213:21December8,202216、行行動動出出成成果果,,工工作作出出財財富富。。。。2022/12/813:21:5013:21:5008December202217、做前前,能能夠環(huán)環(huán)視四四周;;做時時,你你只能能或者者最好好沿著著以腳腳為起起點的的射線線向前前。。。1:21:50下下午1:21下下午午13:21:5012月月-229、沒有失敗,,只有暫時停停止成功!。。12月-2212月-22Thursday,December8,202210、很多多事情情努力力了未未必有有結(jié)果果,但但是不不努力力卻什什么改改變也也沒有有。。。13:21:5013:21:5013:2112/8/20221:21:50PM11、成成功功就就是是日日復(fù)復(fù)一一日日那那一一點點點點小小小小努努力力的的積積累累。。。。12月月-2213:21:5013:21Dec-2208-Dec-2212、世間成事事,不求其其絕對圓滿滿,留一份份不足,可可得無限完完美。。13:21:5013:21:5013:21Thursday,December8,202213、不知香香積寺,,數(shù)里入入云峰。。。12月-2212月-2213:21:5013:21:50December8,202214、意志堅強強的人能把把世界放在在手中像泥泥塊一樣任任意揉捏。。08十二二月20221:21:50下下午13:21:5012月-2215、楚塞三湘接接,荊門九派派通。。。十二月221:21下下午12月-2213:21De

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論