capa icon indicating copy to clipboard operation
capa copied to clipboard

Yield ELF module & module versions for imports and api calls

Open colton-gabertan opened this issue 1 year ago • 0 comments

Summary

Most backends seem to be able to identify the imported/linked library functions as well as which module and module version that the binary intends to use during runtime. Specifically for the Ghidra backend, the .strtab section holds this information and may be parsed to provide this output to the feature extractor.

image

The expected yielded output would be something like:

import(glibc_2.2.5.strncpy)
import(strncpy)
api(glibc_2.2.5.strncpy)
api(strncpy)

Motivation

Including this extra information opens up an avenue for rule development to begin hunting for and identifying exploits that may be used in ELF malware. However, this proposal is definitely up for discussion :).

For example, see: https://www.cvedetails.com/vulnerability-list.php?vendor_id=72&product_id=767&version_id=371647&page=1&hasexp=0&opdos=0&opec=0&opov=0&opcsrf=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opfileinc=0&opginf=0&cvssscoremin=0&cvssscoremax=0&year=0&cweid=0&order=1&trc=17&sha=cd6c5400827bf3ce3acc8b59d9356fb4b7d92a87

colton-gabertan avatar Aug 22 '23 20:08 colton-gabertan