Abstract
For large scale and residual software like network service, reliability is a critical requirement. Recent research has shown that most of network software still contains a number of bugs. Methods for automated detection of bugs in software can be classified into static analysis based on formal verification and runtime checking based on fault injection. In this paper, a framework for checking software security vulnerability is proposed. The framework is based on automated bug detection technologies, i.e. static analysis and fault injection, which are complementary each other. The proposed framework provides a new direction, in which various kinds of software can be checked its vulnerability by making use of static analysis and fault injection technology. In experiment on proposed framework, we find unknown vulnerability as well as known vulnerability in Windows network module.
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
Wheeler, D.A.: Flawfinder, http://www.dwheeler.com/flawfinder/
Viega, J., Bloch, J.T., Kohno, T., McGraw, G.: ITS4: A Static Vulnerability Scanner for C and C++ Code. ACM Transactions on Information and System Security 5(2) (2002)
Kang, H., Kim, K., Hong, S., Lee: A Model for Security Vulnerability Pattern. In: Gavrilova, M.L., Gervasi, O., Kumar, V., Tan, C.J.K., Taniar, D., Laganá, A., Mun, Y., Choo, H. (eds.) ICCSA 2006. LNCS, vol. 3982, pp. 385–394. Springer, Heidelberg (2006)
Wagner, D., Foster, J.S., Brewer, E.A., Aiken, A.: A First Step towards Automated Detection of Buffer Overrun Vulnerabilities. In: Network and distributed system security symposium, San Diego, CA, pp. 3–17 (2000)
Foster, J.: Type qualifiers: Lightweight Specifications to Improve Soft-ware Quality. Ph.D. thesis, University of California, Berkeley (2002)
Evans, D.: SPLINT, http://www.splint.org/
Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Mine, A., Monniaux, D., Rival, X.: A Static Analyzer for Large Safety-Critical Software (2003)
Abstract interpretation (2001), http://www.polyspace.com/downloads.htm
Zitser, M., Lippmann, R., Leek, T.: Testing Static Analysis Tools using Exploitable Buffer Overflows from Open Source Code. In: SIGSOFT 2004, pp. 97–106 (2004)
Ball, T., Majumdar, R., Millstein, T., Rajamani, S.: Automatic Predicate Abstraction of C Programs. PLDI. ACM SIGPLAN Not. 36(5), 203–213 (2001)
Ball, T., Podelski, A., Rajamani, S.: Relative Completeness of Abstraction Refinement for Software Model Checking. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 158–172. Springer, Heidelberg (2002)
Ball, T., Rajamani, S.: The SLAM project: Debugging System Software via Static Analysis. In: 29th ACM POPL. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (2002)
Chen, H., Wagner, D.: MOPS: An Infrastructure for Examining Security Properties of Software. In: Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS), Washington, DC (2002)
Chen, H., Wagner, D., Dean, D.: Setuid Semystified. In: Proceedings of the Eleventh Usenix Security Symposium, San Francisco, CA (2002)
Voas, J.M., McGraw, G.: Software Fault Inoculating Programs Against Errors. Wiley Computer Publishing, Chichester
Fabre, J.C., Rodriguez, M., Arlat, J., Sizun, J.M.: Building Dependable COTS Microkernel-based Systems using MAFALDA. In: Pacific Rim International Symposium on Dependable Computing (PRDC 2000), pp. 85–92 (2000)
Miller, B.P., Fredriksen, L., So, B.: An Empirical Study of the Reliability of UNIX Utilities. Communications of the ACM 33(12) (1990)
Koopman, P., Sung, J., Dingman, C., Siewiorek, D., Marz, T.: Comparing Operating Systems using Robustness Benchmarks. In: 16th IEEE Symposium on Reliable Distributed Systems, pp. 72–79 (1997)
Kropp, N.P., Koopman, P.J., Siewiorek, D.P.: Automated Robustness Testing of Off-the-Shelf Software Components. In: 28th International Symposium on Fault- Tolerant Computing, pp. 464–468 (1998)
Justin, E.F., Barton, P.M.: An Empirical Study of the Robustness of Windows NT Applications using Random Testing, http://www.cs.wisc.edu/_bart/fuzz/fuzz.html
Aitel, D.: The Advantages of Block-based Protocol Analysis for Security Testing (2002), http://www.immunitysec.com/resources-papers.shtml
SPIKE Development Homepage, http://www.immunitysec/spike.html
Kang, H., Lee, D.: Security Assessment for Application network Service using Fault Injection. In: Yang, C.C., Zeng, D., Chau, M., Chang, K., Yang, Q., Cheng, X., Wang, J., Wang, F.-Y., Chen, H. (eds.) PAISI 2007. LNCS, vol. 4430, pp. 172–183. Springer, Heidelberg (2007)
PROTOS: Security Testing of Protocol Implementation, http://www.ee.oulu.fi/research/ouspg/protos
Holodeck, http://www.securityinnovation.com/
James, A.W., Herbert, H.T.: How to Break Software Security. Addison Wesley, Reading
Mangleme, http://freshmeat.net/projects/managleme
Michael, S., Adam, G.: The Art of File Format Fuzzing, Blackhat, USA (2005)
Microsoft Security Bulletin MS03-026. Microsoft (2003), http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kang, H. (2008). Security Assessment Framework Using Static Analysis and Fault Injection. In: Huang, DS., Wunsch, D.C., Levine, D.S., Jo, KH. (eds) Advanced Intelligent Computing Theories and Applications. With Aspects of Theoretical and Methodological Issues. ICIC 2008. Lecture Notes in Computer Science, vol 5226. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87442-3_84
Download citation
DOI: https://doi.org/10.1007/978-3-540-87442-3_84
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87440-9
Online ISBN: 978-3-540-87442-3
eBook Packages: Computer ScienceComputer Science (R0)