University of Illinois at Urbana-Champaign
Machine code database for matching embedded libraries
Abstract
dc:descriptionSecuring embedded systems relies on knowing and understanding the programs running on the system. Programs of modern scale import third-party libraries, which may evolve over time as they introduce and patch out vulnerabilities. Identifying component libraries and their version in a program binary is a valuable ability to harness. However, in the absence of well-kept documentation about included libraries, reference samples are needed to determine binary contents. A code matching tool developed by Professor Levchenko, called Morgoth, makes it possible to check for the inclusion of library code in an executable. With all the different embedded architectures and compilation options, an organized system is needed to track and compare these library 'variants.' We create a prototype with a small set of libraries, compilers, and architectures. We find that by examining machine code, one can differentiate library version and compiler used.
Degree
thesis:*- Name thesis:degree_name
- M.S.
- Level thesis:degree_level
- Thesis
- Discipline thesis:degree_discipline
- Electrical & Computer Engr
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2023
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Silberg, Hamilton
- Contributors dc:contributor
-
- Levchenko, Kiril
Subjects
dc:subject × 6Rights
dc:rights- Statement dc:rights
-
- Copyright 2023 Hamilton Silberg
- Language dc:language
- en, eng
Identifiers
dc:identifier.*- Handle dc:identifier
- https://hdl.handle.net/2142/121551