Function Identification and Recovery Signature Tool Angel M. Villegas Research Engineer
BACKGROUND • Current reverse engineering process – Get a sample, analyze sample • Get next sample, analyze sample – Get next sample, analyze sample » Rinse and repeat…
• Analysis work can be duplicated – For the analyst and others
• FIRST: Function Identification and Recovery Signature Tool • Streamlines code research • prevents duplicate effort • improves analysis time
• Flexible • Modular framework made for expanding
IDA Pro
SYSTEM OVERVIEW Check for Metadata 56 6A 0C 6A 01 E8 64 AB 00 00 …
Add Function Metadata Name / Prototype / Comment
IDA Pro
Update Function Metadata With the most recent version
HOW THE PLUGIN WORKS Adding a function or many at once Plug-in sends the server the opcodes, architecture, APIs called by function and metadata (function’s name, prototype, and repeatable comment)
HOW THE PLUGIN WORKS Updating metadata applied Plug-in requests updated versions of the function’s metadata
sub_401000 : ... sub_403500 :
HOW THE PLUGIN WORKS Viewing Metadata History Right Click on function with metadata from FIRST to see its history Tracks metadata changes over time for each function for each user
HOW THE PLUGIN WORKS Deleting metadata you’ve created Right click metadata and select delete, or select the metadata and hit the delete key.
HOW THE SERVER WORKS The server is a framework •
Uses Python, Django, and MongoDB
•
Extensible and modular framework
•
Modules • Authentication BETA leverages Google OAuth2 •
Detection Engines Exact Match, Mnemonic Hashing, and Basic Masking