Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1083200.1083208acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

A framework for testing security mechanisms for program-based attacks

Published: 15 May 2005 Publication History

Abstract

Program vulnerabilities leave organizations open to malicious attacks that can result in severe damage to company finances, resources, consumer privacy, and data. Engineering applications and systems so that vulnerabilities do not exist would be the best solution, but this strategy may be impractical due to fiscal constraints or inadequate knowledge. Therefore, a variety of program and system-based solutions have been proposed to deal with vulnerabilities in a manageable way. Unfortunately, proposed strategies are often poorly tested, because current testing techniques focus on the common case whereas vulnerabilities are often exploited by uncommon inputs.In this paper, we present the design of a testing framework that enables the efficient, automatic and systematic testing of security mechanisms designed to prevent program-based attacks. The key insight of the framework is that dynamic compilation technology allows us to insert and simulate attacks during program execution. Thus, a security mechanism can be tested using any program, not only those with known vulnerabilities.

References

[1]
AlephOne. Smashing the stack for fun and profit. http://www.insecure.org/stf/smashstack.txt.
[2]
A. Baratloo, N. Singh, and T. Tsai. Transparent run-time defense against stack smashing attacks. USENIX Annual Technical Conference, 2000.
[3]
R. Bodík, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. Programming Language Design and Implementation, 2000.
[4]
B. Breech, A. Danalis, S. Shindo, and L. Pollock. Online impact analysis via dynamic compilation technology. International Conference on Software Maintanence, 2004.
[5]
B. Breech, M. Tegtmeyer, and L. Pollock. A comparison of online and dynamic impact analysis algorithms. European Conference on Software Maintenance and Reengineering, 2005.
[6]
D. Bruening, T. Garnett, and S. Amarasinghe. An infrastructure for adaptive dynamic optimization. In International Symposium on Code Generation and Optimization, 2003.
[7]
D. L. Bruening. Efficient, Transparent, and Comprehensive Runtime Code Manipulation. PhD thesis, M.I.T., 2004.
[8]
B. Buck and J. K. Hollingsworth. An API fro runtime code patching. Journal of Supercomputing Applications and High Performance Computing, 2000.
[9]
T. Chiueh and F. Hsu. RAD: A compile-time solution to buffer overflow attacks. International Conference on Distributed Computing Systems, 2001.
[10]
M. Conover. w00w00 on heap overflows. http://www.w00w00.org/files/articles/heaptut.txt.
[11]
C. Cowan. Re: Buffer overflow and the OS/390. http://cert.uni-stuttgart.de/archive/bugtraq/1999/02/msg00081.html, 1999.
[12]
C. Cowan, S. Beattie, J. Johansen, and P. Wagle. PointGuard: Protecting pointers from buffer overflow vulnerabilities. USENIX Security Symposium, 2003.
[13]
C. Cowan, C. Pu, D. Maier, J. Walpole, P. Bakke, S. Beattie, A. Grier, P. Wagle, Q. Zhang, and H. Hinton. StackGuard: Automatic adaptive detection and prevention of buffer-overflow attacks. USENIX Security Symposium, 1998.
[14]
S. Designer. NonExecutable user stack. http://www.openwall.com/linux.
[15]
DilDog. The tao of windows buffer overflow. http://www.cultdeadcow.com/c{D}c_files/c{D}c-351.
[16]
H. Etoh and K. Yoda. GCC extension for protecting applications from stack-smashing attacks. http://www.research.ibm.com/trl/projects/security/ssp/, 2000.
[17]
R. W. M. Jones and P. H. J. Kelly. Backwards-compatible bounds checking for arrays and pointers in C programs. Automatic and Algorithm Debugging, 1997.
[18]
Klog. Frame pointer overwrite. http://www.phrack.org/show.php?p=55&a=8.
[19]
Mudge. How to write buffer overflows. http://www.insecure.org/stf/mudge_buffer_overflow_tutorial.html, 1995.
[20]
T. Newsham. Format string attacks. http://www.lava.net/~newsham/format-string-attacks.pdf.
[21]
R. Sekar, C. R. Ramakrishnan, I. V. Ramakrishnan, and S. A. Smolka. Model-carrying code (MCC): A new paradigm for mobile-code security. New Security Paradigms Workshop, 2001.
[22]
E. H. Spafford. The Internet worm program: An analysis. Computer Communication Review, 1988.
[23]
G. Zhu and A. Tyagi. Protection against indirect overflow attacks on pointers. International Information Assurance Workshop, 2004.

Cited By

View all
  • (2012)Mitigating program security vulnerabilitiesACM Computing Surveys (CSUR)10.1145/2187671.218767344:3(1-46)Online publication date: 14-Jun-2012
  • (2011)Taxonomy and classification of automatic monitoring of program security vulnerability exploitationsJournal of Systems and Software10.1016/j.jss.2010.09.02084:2(250-269)Online publication date: 1-Feb-2011
  • (2006)An Attack Simulator for Systematically Testing Program-based Security MechanismsProceedings of the 17th International Symposium on Software Reliability Engineering10.1109/ISSRE.2006.12(136-145)Online publication date: 7-Nov-2006
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SESS '05: Proceedings of the 2005 workshop on Software engineering for secure systems—building trustworthy applications
May 2005
112 pages
ISBN:1595931147
DOI:10.1145/1083200
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
    July 2005
    1514 pages
    ISSN:0163-5948
    DOI:10.1145/1082983
    Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 May 2005

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 8 of 11 submissions, 73%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2012)Mitigating program security vulnerabilitiesACM Computing Surveys (CSUR)10.1145/2187671.218767344:3(1-46)Online publication date: 14-Jun-2012
  • (2011)Taxonomy and classification of automatic monitoring of program security vulnerability exploitationsJournal of Systems and Software10.1016/j.jss.2010.09.02084:2(250-269)Online publication date: 1-Feb-2011
  • (2006)An Attack Simulator for Systematically Testing Program-based Security MechanismsProceedings of the 17th International Symposium on Software Reliability Engineering10.1109/ISSRE.2006.12(136-145)Online publication date: 7-Nov-2006
  • (2010)Behavior Control Based on Dynamic Code TranslationProceedings of the 2010 10th IEEE/IPSJ International Symposium on Applications and the Internet10.1109/SAINT.2010.103(375-378)Online publication date: 19-Jul-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media