Chapter 11: Shellcoding – Bypassing Protections
When I’m in a conversation with friends and family about airport security, a quip I often hear is maybe we should just ban the passengers. Though this is obviously facetious, let’s think about it for a moment—no matter what we do to screen everyone walking onto an airplane, we have to allow at least some people through the gates, particularly the pilots. There’s a clear divide between the malicious outsider with no good intention and the trusted insider who, by virtue of their role, must be given the necessary access to get some work done. Let’s think of the malicious outsiders trying to get on the plane as shellcode, and the trusted pilot who runs the show as a legitimate native binary. With perfect security screenings guaranteeing that no malicious individual can walk onto a plane, you will still have to trust that the pilot isn’t corrupted by an outside influence; that is,...