{"title":"Layering Security at Global Control Points to Secure Unmodified Software","authors":"Scott Ruoti, K. Seamons, D. Zappala","doi":"10.1109/SecDev.2017.20","DOIUrl":"https://doi.org/10.1109/SecDev.2017.20","url":null,"abstract":"Developing secure software is inherently difficult, and is further hampered by a rush to market, the lack of cybersecurity-trained architects and developers, and the difficulty of identifying flaws and deploying mitigations. To address these problems, we advocate for an alternative paradigm–layering security onto applications from global control points, such as the browser, operating system, or network. This approach adds security to existing applications, relieving developers of this burden. The benefits of this paradigm are three-fold–(1) increased correctness in the implementation of security features, (2) coverage for all software, even non-maintained legacy software, and (3) more rapid and consistent deployment of threat mitigations and new security features. To demonstrate these benefits, we describe three concrete instantiations of this paradigm– MessageGuard, a system that layers end-to-end encryption in the browser; TrustBase, a system that layers authentication in the operating system; and software-defined perimeter, which layers access control at network middleboxes.","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121717579","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Hands-On Tutorial: Auditing Static Analysis Alerts Using a Lexicon & Rules","authors":"Lori Flynn, David Svoboda, William Snavely","doi":"10.1109/SecDev.2017.10","DOIUrl":"https://doi.org/10.1109/SecDev.2017.10","url":null,"abstract":"This hands-on tutorial teaches participants how to audit static analysis alerts, using an auditing lexicon and rules. There is no widely-accepted lexicon or standard set of rules for auditing static analysis alerts in the software engineering community. Auditing rules and a lexicon should guide different auditors to make the same determination for an alert. Standard terms and processes are necessary so that initial determinations are correctly interpreted, which helps organizations reduce code flaws. They are also needed to improve the quality of audit data to benefit research on alert prioritization. This tutorial teaches a suggested set of auditing rules and a lexicon, briefly detailing rationales based on modern software engineering practices for each rule and each lexicon term. The majority of time in the tutorial will be spent by participants working with provided small programs and associated static analysis alerts, examining them using the lexicon and rules to make a determination, separately and as a group. These hands-on activities will be interspersed with presenting the auditing rules, so participants immediately put what was taught into practice on relevant code and alerts. We hope that the auditing rules and lexicon taught will be immediately useful for participants to adopt (partially or in full) in their workplace, and that learning about them will motivate community discussion leading to agreed-upon standards","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"119 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127502157","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Sam Weber, Michael J. Coblenz, B. Myers, Jonathan Aldrich, Joshua Sunshine
{"title":"Empirical Studies on the Security and Usability Impact of Immutability","authors":"Sam Weber, Michael J. Coblenz, B. Myers, Jonathan Aldrich, Joshua Sunshine","doi":"10.1109/SecDev.2017.21","DOIUrl":"https://doi.org/10.1109/SecDev.2017.21","url":null,"abstract":"Although it is well-known that API design has a large and long-term impact on security, the literature contains few substantial guidelines for practitioners on how to design APIs that improve security. Even fewer of those guidelines have been evaluated empirically. Security professionals have proposed that software engineers choose immutable APIs and architectures to enhance security. Unfortunately, prior empirical research argued that immutablity decreases API usability. This paper brings together the results from a number of previous papers that together aim to show that immutability, when carefully designed using usability as a first-class requirement, can have positive effects on both usability and security. We also make observations on study design in this field.","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"621 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123217325","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Isis Rose, Nicholas Felts, Alexander George, Emily Miller, M. Planck
{"title":"Something Is Better Than Everything: A Distributed Approach to Audit Log Anomaly Detection","authors":"Isis Rose, Nicholas Felts, Alexander George, Emily Miller, M. Planck","doi":"10.1109/SecDev.2017.25","DOIUrl":"https://doi.org/10.1109/SecDev.2017.25","url":null,"abstract":"Computing systems produce large amounts of system log information at a scale wildly disproportionate to the growth of computing and bandwidth resources. This growth outpaces the ability of human auditors and administrators to digest such quantities of data via manual analysis. This situation is only expected to worsen over time as more and more data become available due to expanded technological reach and instrumentation. We propose a framework based around process models for analyzing the log data in near-real-time, by taking advantage of distributed resources and then pushing results to a central location for correlation and contextualization instead of relying on the movement of the full volume of raw data. These results will have already been algorithmically determined to be relevant to adversarial process models before being aggregated. Under this distributed philosophy, the computational workload of audit log event detection is shared among end point sensors, and not needing to immediately centralize all raw data reduces overhead and allows the detection framework to scale with advances and expansions in network technology. By only sharing analytical results instead of underlying logs, meaningful information is prioritized, reducing both the burden on the system administrator and the real-time transfer cost of moving information to centralized storage. This is illustrated using a proof-of-concept deployment of a process modeling tool for insider threat detection.","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"161 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127192802","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automated Assessment Tools and the Software Assurance Marketplace (SWAMP)","authors":"J. Kupsch","doi":"10.1109/SecDev.2017.11","DOIUrl":"https://doi.org/10.1109/SecDev.2017.11","url":null,"abstract":"Software assurance tools - tools that scan the source or binary code of a program to find weaknesses - are the first line of defense in assessing the security of a software project. These tools can catch flaws in a program that can affect both the correctness and safety of the code. This tutorial is relevant to anyone wanting to understand how those tools work, and learn how to use these automated assessment tools to minimize security flaws in the software they develop or manage","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124314509","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Securing Dataverse with an Adapted Command Design Pattern","authors":"G. Durand, Michael Bar-Sinai, M. Crosas","doi":"10.1109/SECDEV.2017.22","DOIUrl":"https://doi.org/10.1109/SECDEV.2017.22","url":null,"abstract":"In order to bake security into application design, we introduce an adaptation to the Command pattern: command instances are tagged with the permissions required to perform them for each object they manipulate. Prior to executing a command instance issued by a given user, an execution engine validates the user has the required permissions over the objects the command is about to operate on. Stating the required permissions can often be declarative. In addition to the usual advantages offered by the command pattern (such as standardized operation handling), this adaptation creates a single checkpoint for validating permissions throughout the application. This, in turn, enhances application security and reduces code duplication, for example between the API and UI controllers. Disadvantages include the lack of framework support, and a learning curve for existing developers. We have used this design in implementing Dataverse, a widely-used institutional data repository developed at Harvard University, which has been in production use since May 2015. As this design differs significantly from common web application design, we also look at how the development team adapted to it, and at how using it affected our development process.","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127957663","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Software Solution for Hardware Vulnerabilities","authors":"Komail Dharsee, Ethan Johnson, J. Criswell","doi":"10.1109/SecDev.2017.18","DOIUrl":"https://doi.org/10.1109/SecDev.2017.18","url":null,"abstract":"Modern processors are becoming increasingly complex with features that improve performance and add new functionality. However, such improvements are a double-edged sword: they improve performance and functionality but also introduce security-critical bugs into the processor that attackers can leverage to bypass a system's security policies. Existing solutions require hardware extensions and often lack the flexibility of software. We present the design of a software-only solution to prevent exploitation of these bugs. Our design builds on the Secure Virtual Architecture and employs both static analysis and run-time checks to prevent applications and operating system kernels from triggering security-critical processor bugs. Our evaluation examines security-critical processor bugs identified in AMD processors and analyzes how they can be mitigated by our design.","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123330249","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Evaluation of Software Vulnerabilities in Vehicle Electronic Control Units","authors":"Jesse Edwards, Ameer Kashani, Gopalakrishnan Iyer","doi":"10.1109/SecDev.2017.26","DOIUrl":"https://doi.org/10.1109/SecDev.2017.26","url":null,"abstract":"Automotive electronic control units (ECUs) have been the focus of many security researchers who have demonstrated the ability to affect the deterministic operation of safety critical vehicle cyber physical systems. Flaws in software design that have direct impacts to the functional safety of a target vehicle have been discovered. The rapid increase in data connectivity within a modern automobile has broadened the attack surface, allowing adversaries remote access to in-vehicle networks and control system software. This abstract discusses the results of static code analysis performed on automotive production software source code using reference coding standards such as MISRA and CERT C secure coding guidelines, in an attempt to identify the most critical software bugs which are likely to remain in the vehicle, undetected, as zero-day security vulnerabilities.","PeriodicalId":415145,"journal":{"name":"2017 IEEE Cybersecurity Development (SecDev)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128008794","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}