Preventing Exploits Against Software of Uncertain Provenance (PEASOUP)

Abstract

We describe the results of the research and development of PEASOUP (Preventing Exploits Against Software of Uncertain Provenance), a technology that enables the safe execution of software executables. PEASOUP provides the following capabilities: prevents exploits of number-handling weaknesses and memory-safety weaknesses; prevents OS command injections, OS command argument injections, SQL injections, and denial-of-service exploits based on inducing a null-pointer dereference; and prevents any exploit based on arc-injection or code-injection, regardless of the type of vulnerability targeted for attack. PEASOUP also offers experimental protection against exploit of many concurrency and resource drain vulnerabilities, including: file-system Time-Of-Check-to-Time-Of-Use (TOCTOU) vulnerabilities, use of non-reentrant functions in signal handlers, deadlock vulnerabilities, atomicity violations, memory leaks, and file-handle leaks. The PEASOUP effort advanced the state-of-the-art in automatic machine-code analysis, diversification, confinement, and remediation. Specific results include: a technique for preventing command injection attacks inspired by DNA Shotgun Sequencing, a technique that often allows server programs to remain operational after an attempted null-pointer dereference, improved integer-error analyses, improved protections for heap- and stack-allocated memory, novel techniques for analyzing file input types, and a superior design for a software dynamic translator that prevents attacks against the translator.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 2015
Accession Number
ADA623732

Entities

People

  • David Melski

Organizations

  • GrammaTech

Tags

Communities of Interest

  • C4I
  • Cyber
  • Human Systems

DTIC Thesaurus Topics

  • Code Injection
  • Computer Program Documentation
  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Cybersecurity
  • Debugging
  • Denial Of Service Attack
  • Instruction Set Architecture
  • Operating Systems
  • Performance Tests
  • Software Development
  • Test And Evaluation
  • Trees (Data Structures)
  • Web Browsers

Fields of Study

  • Computer science

Readers

  • Computer Programming and Software Development.
  • Cybersecurity.