Prev Next | Secure Lazy Binding | Slide #19 |
GOT is never changed after the library is loaded
initial PLT stubs load index and jump to common stub, which does call to dynamic linker
dynamic linker updates the PLT code sequence to jump to the final address
many possible sequences depending on the relative and absolute address
within 2^21 of the PLT entry? within 2^31 of address zero?
hard to exercise, ergo buggy: incorrect offset calculations, wrong ASM
PLT could be called by another thread while changing it
instruction sequence must always be safely executable
change it in two steps
EuroBSDCon 2014 | Copyright © 2014 Philip Guenther |