skip to main content
10.1145/1988630.1988639acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

PEASOUP: preventing exploits against software of uncertain provenance (position paper)

Published: 22 May 2011 Publication History

Abstract

Because software provides much of the critical services for modern society, it is vitally important to provide methodologies and tools for building and deploying reliable software. While there have been many advances towards this goal, much research remains to be done. For example, a recent evaluation of five state-of-the-art C/C++ static analysis tools applied to a corpus of code containing common weaknesses revealed that 41% of the potential vulnerabilities were detected by no tool. The problem of deploying resilient software is further complicated because modern software is often assembled from components from many sources. Consequently, it is difficult to know who built a particular component and what processes were used in its construction. Our research goal is to develop and demonstrate technology that provides comprehensive, automated techniques that allow end users to safely execute new software of uncertain provenance. This paper presents an overview of our vision for realizing these goals and outlines some of the challenging research problems that must be addressed to realize our vision. We call our vision PEASOUP and have begun implementing and evaluating these ideas.

References

[1]
E. G. Barrantes, D. H. Ackley, S. Forrest, and D. Stefanović. Randomized instruction set emulation. ACM Transactions on Information and System Security (TISSEC), 8:3--40, February 2005.
[2]
D. Brumley, H. Wang, S. Jha, and D. Song. Creating vulnerability signatures using weakest preconditions. In Proceedings of the 20th IEEE Computer Security Foundations Symposium, pages 311--325. IEEE Computer Society, 2007.
[3]
C. Cadar, D. Dunbar, and D. Engler. KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, OSDI'08, pages 209--224. USENIX Association, 2008.
[4]
C. Cadar and D. Engler. Execution generated test cases: How to make systems code crash itself. Model Checking Software, pages 2--23, 2005.
[5]
M. Costa, J. Crowcroft, M. Castro, A. Rowstron, L. Zhou, L. Zhang, and P. Barham. Vigilante: end-to-end containment of internet worms. In Proceedings of the Twentieth ACM Symposium on Operating Systems Principles, SOSP '05, pages 133--147. ACM, 2005.
[6]
I. G. DataRescue. Fast library identification and recognition technology. http://www.hex-rays.com/idapro/flirt.htm, 1997.
[7]
B. Demsky, M. D. Ernst, P. J. Guo, S. McCamant, J. H. Perkins, and M. Rinard. Inference and enforcement of data structure consistency specifications. In Proceedings of the 2006 International Symposium on Software Testing and Analysis, ISSTA '06, pages 233--244. ACM, 2006.
[8]
B. Demsky and M. Rinard. Automatic detection and repair of errors in data structures. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, OOPSLA '03, pages 78--95. ACM, 2003.
[9]
B. Demsky and M. Rinard. Data structure repair using goal-directed reasoning. In Proceedings of the 27th International Conference on Software Engineering, ICSE '05, pages 176--185. ACM, 2005.
[10]
P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), PLDI '05, pages 213--223. ACM, 2005.
[11]
P. Godefroid, M. Levin, D. Molnar, et al. Automated whitebox fuzz testing. In Proceedings of the Network and Distributed System Security Symposium. Citeseer, 2008.
[12]
J. D. Hiser, C. L. Coleman, M. Co, and J. W. Davidson. MEDS: The memory error detection system. In Proceedings of the 1st International Symposium on Engineering Secure Software and Systems, ESSoS '09, pages 164--179. Springer-Verlag, 2009.
[13]
W. Hu, J. Hiser, D. Williams, A. Filipi, J. W. Davidson, D. Evans, J. C. Knight, A. Nguyen-Tuong, and J. Rowanhill. Secure and practical defense against code-injection attacks using software dynamic translation. In Proceedings of the 2nd International Conference on Virtual Execution Environments, VEE '06, pages 2--12. ACM, 2006.
[14]
Y. Huang and A. K. Ghosh. Automating intrusion response via virtualization for realizing uninterruptible web services. In Proceedings of the 2009 Eighth IEEE International Symposium on Network Computing and Applications, NCA '09, pages 114--117. IEEE Computer Society, 2009.
[15]
Y. Huang, C. Kintala, N. Kolettis, and N. Fulton. Software rejuvenation: analysis, module and applications. In Digest of Papers of the Twenty-Fifth International Symposium on Fault-Tolerant Computing, FTCS-25, pages 381--390, June 1995.
[16]
G. S. Kc, A. D. Keromytis, and V. Prevelakis. Countering code-injection attacks with instruction-set randomization. In Proceedings of the 10th ACM Conference on Computer and Communications Security, CCS '03, pages 272--280. ACM, 2003.
[17]
V. Kiriansky, D. Bruening, and S. P. Amarasinghe. Secure execution via program shepherding. In Proceedings of the 11th USENIX Security Symposium, pages 191--206. USENIX Association, 2002.
[18]
R. Majumdar and K. Sen. Hybrid concolic testing. In Proceedings of the 29th international conference on Software Engineering, ICSE '07, pages 416--426. IEEE Computer Society, 2007.
[19]
R. Majumdar and K. Sen. Latest: Lazy dynamic test input generation. EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2007-36, March, pages 2007--36, 2007.
[20]
J. Merced. Source code analysis tool evaluation. http://www.iarpa.gov/stonesoup/_Merced/_DHSAWGbrief.pdf, 2009.
[21]
A. Nguyen-Tuong, A. Wang, J. D. Hiser, J. C. Knight, and J. W. Davidson. On the effectiveness of the metamorphic shield. In Proceedings of the 4th European Conference on Software Architecture: Companion Volume, ECSA '10, pages 170--174. ACM, 2010.
[22]
J. H. Perkins, S. Kim, S. Larsen, S. Amarasinghe, J. Bachrach, M. Carbin, C. Pacheco, F. Sherwood, S. Sidiroglou, G. Sullivan, W.-F. Wong, Y. Zibin, M. D. Ernst, and M. Rinard. Automatically patching errors in deployed software. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, SOSP '09, pages 87--102. ACM, 2009.
[23]
M. Rinard, C. Cadar, D. Dumitran, D. M. Roy, T. Leu, and W. S. Beebee, Jr. Enhancing server availability and security through failure-oblivious computing. In Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation-Volume 6, pages 21--21. USENIX Association, 2004.
[24]
E. Schulte, S. Forrest, and W. Weimer. Automated program repair through the evolution of assembly code. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE '10, pages 313--316. ACM, 2010.
[25]
K. Scott, N. Kumar, S. Velusamy, B. Childers, J. W. Davidson, and M. L. Soffa. Retargetable and reconfigurable software dynamic translation. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Run-time Optimization, CGO '03, pages 36--47. IEEE Computer Society, 2003.
[26]
K. Sen, D. Marinov, and G. Agha. CUTE: A concolic unit testing engine for C. In Proceedings of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC/FSE-13, pages 263--272. ACM, 2005.
[27]
H. Shacham, M. Page, B. Pfaff, E.-J. Goh, N. Modadugu, and D. Boneh. On the effectiveness of address-space randomization. In Proceedings of the 11th ACM Conference on Computer and Communications Security, CCS '04, pages 298--307. ACM, 2004.
[28]
M. I. Sharif, W. Lee, W. Cui, and A. Lanzi. Secure in-VM monitoring using hardware virtualization. In Proceedings of the 16th ACM Conference on Computer and Communications Security, CCS '09, pages 477--487. ACM, 2009.
[29]
S. Sidiroglou, O. Laadan, C. Perez, N. Viennot, J. Nieh, and A. D. Keromytis. ASSURE: automatic software self-healing using rescue points. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '09, pages 37--48. ACM, 2009.
[30]
K. Sundaramoorthy, Z. Purser, and E. Rotenberg. Slipstream processors: improving both performanceand fault tolerance. ACM SIGPLAN Notices, 35:257--268, November 2000.
[31]
W. Weimer, S. Forrest, C. Le Goues, and T. Nguyen. Automatic program repair with evolutionary computation. Communications of the ACM, 53:109--116, May 2010.

Cited By

View all
  • (2018)Sandboxing of biomedical applications in Linux containers based on system call evaluationConcurrency and Computation: Practice and Experience10.1002/cpe.448430:12Online publication date: 25-Apr-2018
  • (2017)Fine-grained Supervision and Restriction of Biomedical Applications in Linux ContainersProceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing10.1109/CCGRID.2017.53(813-822)Online publication date: 14-May-2017
  • (2016)Searching for software diversityProceedings of the 2016 New Security Paradigms Workshop10.1145/3011883.3011891(80-91)Online publication date: 26-Sep-2016
  • Show More Cited By

Index Terms

  1. PEASOUP: preventing exploits against software of uncertain provenance (position paper)

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SESS '11: Proceedings of the 7th International Workshop on Software Engineering for Secure Systems
      May 2011
      62 pages
      ISBN:9781450305815
      DOI:10.1145/1988630
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 22 May 2011

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. dynamic analysis
      2. exploit prevention
      3. peasoup
      4. security testing
      5. static analysis

      Qualifiers

      • Research-article

      Conference

      ICSE11
      Sponsor:
      ICSE11: International Conference on Software Engineering
      May 22, 2011
      HI, Waikiki, Honolulu, USA

      Acceptance Rates

      SESS '11 Paper Acceptance Rate 8 of 11 submissions, 73%;
      Overall Acceptance Rate 8 of 11 submissions, 73%

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 14 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2018)Sandboxing of biomedical applications in Linux containers based on system call evaluationConcurrency and Computation: Practice and Experience10.1002/cpe.448430:12Online publication date: 25-Apr-2018
      • (2017)Fine-grained Supervision and Restriction of Biomedical Applications in Linux ContainersProceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing10.1109/CCGRID.2017.53(813-822)Online publication date: 14-May-2017
      • (2016)Searching for software diversityProceedings of the 2016 New Security Paradigms Workshop10.1145/3011883.3011891(80-91)Online publication date: 26-Sep-2016
      • (2014)To B or not to BProceedings of the 2014 Tenth European Dependable Computing Conference10.1109/EDCC.2014.13(238-249)Online publication date: 13-May-2014
      • (2011)Seventh international workshop on software engineering for secure systems (SESS 2011)Proceedings of the 33rd International Conference on Software Engineering10.1145/1985793.1986045(1200-1201)Online publication date: 21-May-2011

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media