




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1The Tendency of Software Vulnerability Detection2Contents12345Software VulnerabilitySecurity SpecificationTest Case GenerationVulnerability IdentificationOur Work3Software VulnerabilitySoftware development is complexA software vulnerability is an error in design or coding that can violate the secur
2、ity policy4Software VulnerabilitySoftware DevelopmentReal-time Execution5Software VulnerabilityDesign VulnerabilityProtocol vulnerabilitieslTCP Land vulnerabilitylTCP SYN floodl802.16: Some unauthenticated messages which are susceptible to forgery and the unencrypted management communication which r
3、eveal important management information. 6Software VulnerabilityDesign VulnerabilityApplication logic vulnerabilitieslCVE-2011-1146: The libvirt 0.8.8 in Red Hat does not properly restrict operations in a read-only connection, which allows remote attackers to cause a denial of service (host OS crash)
4、 or possibly execute arbitrary code.lCVE-2006-1856: Linux kernel 2.6.16 and earlier do not add appropriate security check to “readv” and “writev” functions, then unauthorized user can read and write files that they are not allowed to access.7Software VulnerabilityCoding VulnerabilityCoding Implement
5、ation VulnerabilitieslBuffer overflow (CVE-2010-0249)lInteger bugs (CVE-2011-1466)Overflow/UnderflowWidth conversionsSigned/Unsigned ConversionlInput validation flaws (CVE-2011-1524)Cross-site scriptingSQL injection8Vulnerability Detection Test caseIdentificationSpecificationDescribes the security p
6、roperties of softwareTriggers multiple execution paths to obtain a high code coverage Detects violations and verify security properties9Contents12345Software VulnerabilitySecurity SpecificationTest Case GenerationVulnerability Identification Our Work10Security SpecificationAutomatic tools for findin
7、g software errors require a set of specifications before they can check code: if they do not know what to check, they cannot find bugs.lAccess Control MatrixlState SpacelFuzz SpecificationlSpecific Specification11Security SpecificationAccess MatrixS is a set of subjects in a system.O is a set of obj
8、ects in a systemAccess matrix lists the access rights of S on OSystem-wide Security Policy defined by a triple (S, O, A)AOSe.g., a processe.g., a filee.g., read or write12Security SpecificationAccess ControlSecurity-Enhanced Linux (SELinux)lMandatory Access Control (MAC)lDiscretionary Access Control
9、 (DAC)Xen (A fast and secure infrastructure virtualization solution)lA similar MAC security architecture13Security SpecificationAccess MatrixA major challenge is to ensure that all sensitive operations on all objects are protected.CVE-2006-1856: In Linux kernel 2.6.16 and earlier, unauthorized user
10、can read and write files that they are not allowed to access using unchecked “readv” and “writev” functions.14Security SpecificationAccess MatrixNot consider users expectationslJava VMlVMwarelWeb BrowserCVE-2010-0249: In Microsoft IE 8 and earlier, remote attackers can execute arbitrary code on loca
11、l machine using IEs privilege. 15Security SpecificationState SpaceA computer system is composed of states.An attack is a sequence of authorized state transitions which end in a compromised state.Authorized StatesUnauthorized StatesStates TransformationVulnerableCompromised16Security SpecificationSta
12、te SpaceLimitations:lEnumeration of all possible safe and unsafe states of a system is difficult.lEvery program has different state space, complete state space does not exist.17Security SpecificationFuzz ViolationUsers ExpectationsDesigners ExpectationsSystems ExpectationsFuzz specification: All und
13、esirable characteristics that allow a threat to occur. It is also a system-wide specification.18Security SpecificationSpecificDefinition of a general specification of a system to detect violation is difficult.Represent only a subset of the spectrum of vulnerabilities lSpecification of memory operati
14、onlSpecification of integer bugslSpecification of user input flaws19Security Specification GenerationTo automatically check and verify programs security properties, the security specifications must be at the code level.The generated specification must be precise, otherwise it would result in many fa
15、lse positives and/or false negatives.20Security Specification GenerationManual Using priori knowledge. Time-consuming Error-proneSpecificationGenerationAutomatic Without priori knowledge. Can find unknown vulnerability21Security Specification Generation-ManualManually generating specifications to ch
16、eck and verify security properties are tedious and error-pronelWriting code-level security specification is time-consuming.lMaintain correctness across different version.lHuman-generated specifications can be imprecise.22Automatic Specification GenerationDaikon dynamically detects likely program inv
17、ariants by testing run-time values of program variables.DSD-Crasher captures the programs intended execution behavior with dynamic invariant detection.AutoISES automatically infers security specifications by statically analyzing source code.23Automatic Specification GenerationWaler (detect logic bug
18、s in Web applications) Specification of a softwares internal logic is not public.Infer a set of behavior specificationsUse dynamic analysis techniques to observe normal behaviors24Contents12345Software VulnerabilitySecurity SpecificationTest Case GenerationVulnerability IdentificationOur Work25Test
19、Case GenerationManual Writing test case manually is tedious and time-consumingImprecise26Test Case GenerationFuzzing Fuzzing is a form of black-box random testing.FuzzingBlack BoxTestRandomly mutates inputsProgram Execution with specified inputOutputs of executionSimple, low-code coverage27Test Case
20、 Generation-DynamicDirected FuzzinglPrecise and soundDynamic test generation uses symbolic execution to generate new test cases that expose specifically targeted behaviors.lDART, SAGE, EXE, KLEE28Test Case GenerationSymbolic Execution Symbolic execution works by collecting a set of constraints, call
21、ed the path condition, that model the values computed by the program along a single path through the code.29Test Case GenerationTaint analysisDynamic taint analysis runs a program and observes which computations are affected by predefined taint sources such as user input.30Contents12345Software Vuln
22、erabilitySecurity SpecificationTest Case GenerationVulnerability IdentificationOur Work31Vulnerability IdentificationIdentificationIdentify Violations of Security Specification and Verify Softwares Security Properties.Security Specification Test cases32Vulnerability IdentificationStatic AnalysisStat
23、ic analysis checks violations of security specification from the program text.lComprehensive: cover entire codeslLightweight: test cases are not required and no need to guess or interpret softwares behavior.33Vulnerability IdentificationStatic AnalysisExamples of Static Analysis ToolslFindBugs (Java
24、)lPMD (Java)lFxCop(.NET)lXSSDetect (.NET)34Vulnerability IdentificationStatic AnalysisLimintations:lDifficult to reason about values with sufficient precision ( concrete value of an index or size of an object, heap layout, pointers). lWill not find issues related to operational environmentslTend to
25、generate false positive and false negative35Vulnerability IdentificationRun-time DetectionNo requirement to have access to source code.Run-time detection can check software deeper properties, such as infrastructure, configuration and path errors. 36Vulnerability IdentificationRun-time DetectionDebug
26、gingVC+, gccDynamic InstrumentationValgrind Whole-system emulationBitBlaze, BAP37Contents12345Software VulnerabilitySecurity SpecificationTest Case GenerationVulnerability IdentificationOur Work38Environment-Sensitive Vulnerability DetectionEnvironment-Sensitive Vulnerability is the mismatch between the assumptions made during the development about the execution environment of the software, and the environment in which the program executes.Year 2000 problem: the practice of representing the year with two digits becomes problematic with logical errors arising upon rollover from x99
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙出資開(kāi)店經(jīng)營(yíng)合同范本
- 厚街工廠蔬菜配送合同范本
- 展會(huì)廣告服務(wù)合同范本
- 木材粉碎合同范本
- 鄉(xiāng)級(jí)學(xué)校保安合同范本
- 2025年靜止無(wú)功發(fā)生器項(xiàng)目建議書(shū)
- 衛(wèi)浴拆裝服務(wù)合同范本
- 加盟酒店品牌合同范本
- 原木板材加工合同范本
- 生鮮業(yè)務(wù)采購(gòu)合同范本
- 過(guò)敏性休克完整版本
- 鉗形電流表使用PPT
- 建筑工程分部分項(xiàng)工程劃分表(新版)
- 福建省危險(xiǎn)化學(xué)品企業(yè)安全標(biāo)準(zhǔn)化(三級(jí))考核評(píng)分標(biāo)準(zhǔn)指導(dǎo)意見(jiàn)(試行)
- 上海市長(zhǎng)寧區(qū)2022年高考英語(yǔ)一模試卷(含答案)
- 城鎮(zhèn)詳細(xì)設(shè)計(jì)控制性詳細(xì)規(guī)劃
- 智能垃圾桶系統(tǒng)的設(shè)計(jì)論文
- 質(zhì)量管理體系過(guò)程識(shí)別矩陣圖及與條款對(duì)照表
- 北碚區(qū)幼兒園
- 2021年度錨索張拉機(jī)具及錨桿拉力計(jì)技術(shù)規(guī)格書(shū)
- 2022年人力資源管理師課程表
評(píng)論
0/150
提交評(píng)論