Automated Program Understanding Employing Assembly Templates
Department
Computer Science
Major
Computer Science
Research Advisor
Tauritz, Daniel R.
Advisor's Department
Computer Science
Funding Source
Sandia National Laboratories; Opportunities for Undergraduate Research Experiences (OURE)
Abstract
Modern society increasingly relies on the correct functioning of networked computer systems, while at the same time the threat of cyber-attacks is precipitously growing. There is a critical need to build our capabilities to understand the semantic functionality of the software running those systems.
This research aims to create not only a valid methodology to identify what a computer program does without executing it on a computer, but to also combine underlying features that are discovered in order to identify functional classes for programs. In particular, this research is concerned with developing assembly code templates to identify algorithms indicating the presence, or lack of presence, of specific semantic functionality. The templates that are developed have two layers, the first defines assembly instructions that must be included, while the second layer defines the pattern in which they need to occur in order for there to be a match.
Biography
Matthew is currently a senior in Computer Science, an Undergraduate Research Assistant in the Natural Computation Laboratory, and Cadet Vice Wing Commander in S&T’s AFROTC Detachment. He is also a 4 time All-American and 3 year Varsity letterman for S&T Men's Swim Team.
Research Category
Sciences
Presentation Type
Poster Presentation
Document Type
Poster
Location
Upper Atrium/Hall
Presentation Date
16 Apr 2014, 9:00 am - 11:45 am
Automated Program Understanding Employing Assembly Templates
Upper Atrium/Hall
Modern society increasingly relies on the correct functioning of networked computer systems, while at the same time the threat of cyber-attacks is precipitously growing. There is a critical need to build our capabilities to understand the semantic functionality of the software running those systems.
This research aims to create not only a valid methodology to identify what a computer program does without executing it on a computer, but to also combine underlying features that are discovered in order to identify functional classes for programs. In particular, this research is concerned with developing assembly code templates to identify algorithms indicating the presence, or lack of presence, of specific semantic functionality. The templates that are developed have two layers, the first defines assembly instructions that must be included, while the second layer defines the pattern in which they need to occur in order for there to be a match.