3 ms·
Harvard architecture is separating the code address space from the data. But the stack itself intermingles return addresses "control" and data just the same.
by slededit 9y ago
Harvard architecture is separating the code address space from the data. But the stack itself intermingles return addresses "control" and data just the same.
- beached_whale 9y agoAh good point. But that would still mean the adversary has to put an address on the stack that already exists. Much harder target, no?
- slededit 9y agoYes but libc provides a juicy and consistent set of code you can jump to. Remember you don't have to jump to the start of a function. ASLR helps this a bit as well.
- beached_whale 9y agoI doubt libc(much of it like printf) or alsr exists on an 8051, maybe more so of libc on an AVR
- slededit 9y agoPowerPC is a harvard architecture. Its not just for small uCs.
- beached_whale 9y agoOoh, cool. I did not know of that one.