Developing a Linux Rootkit: Kernel Internals & Subversive Techniques