{"title":"Using Contracts to Improve Security through Responsibility Bifurcation","authors":"Sam Hays, Jules White","doi":"10.1145/3571697.3571699","DOIUrl":null,"url":null,"abstract":"As software development has shifted into a “getting to market quickly\"[4] philosophy by embracing fast iteration[2] paradigms offered by such practices as “agile\", ensuring strong security and verifiability characteristics has become increasingly difficult. One major contributing factor is the tension between getting to market and satisfying the internal quality requirements of the engineering team (often resulting in software released “too soon” from the perspective of the engineers). This paper describes a software development workflow whereby security and verifiability can be wholly or partially offloaded to a contract to be written by security experts on, or partnering with, the development team and associated enforcement library. This contract can be used to reason about certain properties of the software externally from the running software itself and to enforce a subset of its capabilities at runtime, thus ensuring that at the injection points, the software will behave in a predictable and modelable manner.","PeriodicalId":400139,"journal":{"name":"Proceedings of the 2022 European Symposium on Software Engineering","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2022 European Symposium on Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3571697.3571699","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
As software development has shifted into a “getting to market quickly"[4] philosophy by embracing fast iteration[2] paradigms offered by such practices as “agile", ensuring strong security and verifiability characteristics has become increasingly difficult. One major contributing factor is the tension between getting to market and satisfying the internal quality requirements of the engineering team (often resulting in software released “too soon” from the perspective of the engineers). This paper describes a software development workflow whereby security and verifiability can be wholly or partially offloaded to a contract to be written by security experts on, or partnering with, the development team and associated enforcement library. This contract can be used to reason about certain properties of the software externally from the running software itself and to enforce a subset of its capabilities at runtime, thus ensuring that at the injection points, the software will behave in a predictable and modelable manner.