Automated Program Understanding Employing Assembly Templates

Presenter Information

Matthew Zieger

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

This document is currently not available here.

Share

COinS
 
Apr 16th, 9:00 AM Apr 16th, 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.