Skip to main content
Erschienen in: Journal of Computer Virology and Hacking Techniques 3/2016

01.08.2016 | Short Contribution

An analysis on secure coding using symbolic execution engine

verfasst von: Joon-Ho Kim, Myung-Chul Ma, Jae-Pyo Park

Erschienen in: Journal of Computer Virology and Hacking Techniques | Ausgabe 3/2016

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Business’ dependency on a software or computer program is getting higher. In such an environment, eliminating security vulnerabilities have become increasingly important and difficult as programs are more complicated and have greater impacts on businesses. We analyzed the security vulnerabilities of code using a symbolic execution engine that tracks data which would kill or might make the program vulnerable. We also present smart fuzzing using the data from the symbolic execution engine, an effective software vulnerability-finding testing that automatically generates inputs that crash or penetrate the program. By using symbolic execution engine, we can produce the automatically-generated data that are strong against vulnerability issues. In the case when program verification tools fail to verify a program, either the program is buggy or the report is a false alarm. In this case, the burden is put on users in manually classifying the report, which is a time-consuming, error-prone task and it does not utilize facts already proven by the analysis. We present a new technique for assisting users in classifying error reports. Our technique computes small, relevant queries presented to a user, which capture exact information that the analysis misses to either discharge or validate the error. In this paper, a methodology proper to detecting the security vulnerability is suggested by engrafting the symbol-based engine into the secure coding. Also, its effect was verified through the security vulnerability inspection test using the suggested symbolic execution engine. A notion of symbolically executing the program has been presented, which is closely related to the normal notion of program execution. It offers the advantage that one symbolic execution may represent a large, usually infinite, class of normal executions. This can be used for great advantages in the program inspecting and debugging.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
CWE provides a unified, measurable set of software vulnerabilities that is enabling more effective discussion, description, selection, and use of software security tools and services that can find these vulnerabilities in source code and operational systems as well as better understanding and management of software vulnerabilities related to architecture and design. CWE has the following vulnerabilities associated with race conditions. CWE-121: stack-based Buffer Overflow, CWE-122: Heap-based Buffer Overflow, CWE-131: Incorrect Calculation of Buffer Size, CWE-680: Integer Overflow to Buffer Overflow.
 
Literatur
1.
Zurück zum Zitat Petukhov, A., Kozlov, D.: Detecting security vulnerabilities in web applications using dynamic analysis with penetration testing. In: Application Security Conference, pp. 1–6. Ghent, Belgium (2008) Petukhov, A., Kozlov, D.: Detecting security vulnerabilities in web applications using dynamic analysis with penetration testing. In: Application Security Conference, pp. 1–6. Ghent, Belgium (2008)
2.
Zurück zum Zitat Dougherty, C.: Practical identification of SQL injection vulnerabilities. US-CERT (United States Computer Emergency Readiness Team), pp. 1–13 (2015) Dougherty, C.: Practical identification of SQL injection vulnerabilities. US-CERT (United States Computer Emergency Readiness Team), pp. 1–13 (2015)
5.
Zurück zum Zitat Godefroid, P., Levin, M.Y., Molnar, D.: Automated whitebox fuzz testing. In: Proceedings of network and distributed systems security, pp. 1–8 (2008) Godefroid, P., Levin, M.Y., Molnar, D.: Automated whitebox fuzz testing. In: Proceedings of network and distributed systems security, pp. 1–8 (2008)
6.
Zurück zum Zitat Nidhral, S., Dondeti, J.: Black box and white box testing techniques: a literature review. Int. J. Embed. Syst. Appl. (IJESA) 2(2), 33–47 (2012) Nidhral, S., Dondeti, J.: Black box and white box testing techniques: a literature review. Int. J. Embed. Syst. Appl. (IJESA) 2(2), 33–47 (2012)
7.
Zurück zum Zitat Cadar, C., Dunbar, D., Engler, D.: KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs, pp. 4–12. Stanford University, USA (2008) Cadar, C., Dunbar, D., Engler, D.: KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs, pp. 4–12. Stanford University, USA (2008)
8.
Zurück zum Zitat Kebbal, D.: Automatic Flow Analysis Using Symbolic Execution and Path Enumeration. Institut de Recherche en Informatique de Toulouse, USA, pp. 2–15 Kebbal, D.: Automatic Flow Analysis Using Symbolic Execution and Path Enumeration. Institut de Recherche en Informatique de Toulouse, USA, pp. 2–15
9.
Zurück zum Zitat Trtík, M.: Symbolic Execution and Program Loops. Ph.D. Thesis, pp. 2–15. Faculty of Informatics Masaryk University, Czech Republic (2013) Trtík, M.: Symbolic Execution and Program Loops. Ph.D. Thesis, pp. 2–15. Faculty of Informatics Masaryk University, Czech Republic (2013)
Metadaten
Titel
An analysis on secure coding using symbolic execution engine
verfasst von
Joon-Ho Kim
Myung-Chul Ma
Jae-Pyo Park
Publikationsdatum
01.08.2016
Verlag
Springer Paris
Erschienen in
Journal of Computer Virology and Hacking Techniques / Ausgabe 3/2016
Elektronische ISSN: 2263-8733
DOI
https://doi.org/10.1007/s11416-016-0263-5

Weitere Artikel der Ausgabe 3/2016

Journal of Computer Virology and Hacking Techniques 3/2016 Zur Ausgabe