~/talk

libLISA: Instruction Discovery and Analysis on x86-64

Talkat OOPSLA 2024 · 2024-10-20..10-25· [embedded-and-hardware]
links:none on file
links:none on file
links:none on file
slides:none on file

libLISA automatically discovers and synthesizes x86-64 instruction semantics by observing execution and inferring operand encodings, producing a CPU-specific formal model of over 118,000 instruction groups. Running on five machines (two AMD, three Intel) over 7–21 weeks yields CPU differences, undocumented VPpermQ-like encodings on AMD, and instruction sequences usable for fingerprinting. The pipeline synthesizes semantics for about 90% of encodings marked undefined, and a comparison to a hand-written model finds 32 mismatches (28 errors in the manual model), with sources and artifacts published.

AI-written summary · about

  1. 0:00Binary analysis challenges
  2. 1:03CPU instruction semantics
  3. 2:07Manual semantics limits
  4. 2:49Automating semantics discovery
  5. 3:51Encoding instruction operands
  6. 5:17Undefined behavior across CPUs
  7. 6:20Undocumented AMD encodings
  8. 7:23CPU implementation comparison
  9. 8:45Semantics validation
  10. 10:31Synthesis accuracy improvements
  11. 10:53Online semantics exploration
  12. 11:14Summary and open-source
  13. 11:34Q&A: Architectural vs microarchitectural state
  14. 12:40Q&A: Detecting CPU bugs
  15. 13:21Q&A: Hardware transactional memory limits
  16. 13:42Q&A: Finding NSA backdoors
  17. 14:04Q&A: Complex instructions
  18. 15:11Q&A: Inferring instruction templates
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.