Abstract
The main contribution of this paper is a framework for security testing. The key components of this framework are twofold: First, a static analyzer that automatically identifies suspicious sites of security vulnerabilities in a control flow graph. Second, a test-data generator. The intent is to attempt proving/disproving whether, or not, the suspicious sites are actual vulnerabilities. The paper introduces the static-dynamic hybrid vulnerability detection system, a system that targets the automation of security vulnerability detection in software. The system combines the detection powers of both static and dynamic analysis. Various components compose this model, namely Static Vulnerability Revealer, Goal-Path-oriented System, and Dynamic Vulnerability Detector.
This research is the result of a fruitful collaboration between CSL (Computer Security Laboratory) of Concordia University, DRDC (Defence Research and Development Canada) Valcartier and Bell Canada under the NSERC DND Research Partnership Program.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Build Security (access on April 29, 2009), https://buildsecurityin.us-cert.gov/daisy/bsi/home.html/
Securityfocus (access on February 26, 2009), http://www.securityfocus.com/bid/27796
Bird, D., Munoz, C.: Automatic generation of random self-checking test cases. IBM Systems J. 22(3), 229–245 (1982)
Boyer, R., Elspas, B., Levitt, K.: Select - a formal system for testing and debugging programs by symbolic execution. SIGPLAN Notices 10(6), 234–245 (1975)
Cadar, C., Engler, D.: Execution generated test cases: How to make systems code crash itself (March 2005)
Chakraborty, M., Chakraborty, U.: An analysis of linear ranking and binary tournament selection in genetic algorithms. In: International Conference on Information, Communications and Signal Processing. ICICS (September 1997)
Cigital and National Science Foundation. Genetic algorithms for software test data generation
Clarke, L.: A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering 2(3), 215–222 (1976)
Ferguson, R., Korel, B.: The chaining approach for software test data generation. ACM Transaction on Software Engineering and Methodology 5, 63–86 (1996)
Godefroid, P., Klarlund, N., Sen, K.: Dart: Directed automated random testing (June 2005)
Hadjidj, R., Yang, X., Tlili, S., Debbabi, M.: Model-checking for software vulnerabilities detection with multi-language support (October 2008)
Kiefer, S., Schwoon, S., Suwimonteerabuth, D.: Moped - a model-checker for pushdown systems, http://www.fmi.uni-stuttgart.de/szs/tools/moped/
Korel, B.: Automated software test data generation. IEEE Transactions on Software Enfineering 16(8) (August 1990)
Ligatti, J., Bauer, L., Walker, D.: Enforcing non-safety security policies with program monitors (January 2005)
Novillo, D.: Tree ssa: A new optimization infrastructure for gcc. In: Proceedings of the GCC Developers Summit3, pp. 181–193 (2003)
GNU Project. GCC, the GNU Compiler Collection, http://gcc.gnu.org/
Schneider, F.B.: Enforceable security policies. ACM Transaction of Information System Security (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hanna, A., Ling, H.Z., Yang, X., Debbabi, M. (2009). A Synergy between Static and Dynamic Analysis for the Detection of Software Security Vulnerabilities. In: Meersman, R., Dillon, T., Herrero, P. (eds) On the Move to Meaningful Internet Systems: OTM 2009. OTM 2009. Lecture Notes in Computer Science, vol 5871. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05151-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-05151-7_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05150-0
Online ISBN: 978-3-642-05151-7
eBook Packages: Computer ScienceComputer Science (R0)