Arrow Research search
Back to IS

IS 2020

Diagnosing Software System Exploits

Journal Article journal-article Artificial Intelligence ยท Intelligent Systems

Abstract

Software vulnerabilities are bugs in a program that an attacker can exploit to make the program deviate from its specification. An attacker exploits a vulnerability by crafting input that causes the program to behave incorrectly. Such an input is called an exploit. This article deals with diagnosing exploits, i. e. , given an exploit, the task is to return the vulnerability that allowed it. We show that existing software diagnosis algorithms are ill-suited for this problem, and introduce two novel techniques for adapting them to this problem. This includes manipulating an automated testing tool to generate additional inputs that are similar to the given exploit, and tracing below the desired granularity level to improve diagnostic accuracy. Experimental evaluation on real exploits from four open-source projects shows that our algorithm significantly reduces diagnostic efforts.

Authors

Keywords

  • Software algorithms
  • Password
  • Software systems
  • Intelligent systems
  • Computer bugs
  • System Software
  • Abnormal Behavior
  • Diagnostic Algorithm
  • Testing Tools
  • Level Of Granularity
  • Test Suite
  • Computer-aided Diagnosis
  • Software Components
  • Security Vulnerabilities
  • Open-source Projects
  • Test Failure
  • Vulnerable Components
  • Modern Software
  • Running
  • Entry Point
  • Exploitative
  • Automatic Generation
  • Diagnosis Of Problems
  • Code Blocks
  • Diagnosis In Settings
  • Number Of Traces
  • Bug Reports
  • Vulnerability Functions

Context

Venue
IEEE Intelligent Systems
Archive span
2001-2026
Indexed papers
2921
Paper id
747918904659273425