DeeDP: vulnerability detection and patching based on deep learning

Authors

  • A. Savchenko National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute», Institute of Physics and Technology Samsung R&D Institute Ukraine (SRK), Ukraine
  • O. Fokin National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute», Institute of Physics and Technology Samsung R&D Institute Ukraine (SRK), Ukraine
  • A. Chernousov National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute», Institute of Physics and Technology Samsung R&D Institute Ukraine (SRK), Ukraine
  • O. Sinelnikova Samsung R&D Institute Ukraine (SRK), Ukraine
  • S. Osadchyi Samsung R&D Institute Ukraine (SRK), Ukraine

DOI:

https://doi.org/10.20535/tacs.2664-29132020.1.209465

Abstract

We present the DeeDP system for automatic vulnerabilities detection and patch providing. DeeDP allows to detect vulnerabilities in C/C++ source code and generate patch for fixing the detected issue. This system uses deep learning methods to organize rules for deciding whether a code fragment is vulnerable. Patch generation processes can be performed based on neural network and rule-based approaches. The system uses the abstract syntax tree (AST) representations of the source code fragments.

We have tested effectiveness of our approach on different open source projects. For example, Microsoft/Terminal (https://github.com/microsoft/Terminal) was analyzed with DeeDP: our system detected security issue and generated patch which was successfully approved and applied by Microsoft maintainers.

Downloads

Published

2020-08-06

Issue

Section

Algorithms and methods of cyber attacks prevention and counteraction