CERIAS Tech Report 2009-34 Architectural approaches for code injection defense at the user and kernel levels by Riley, Ryan Center for Education and Research Information Assurance and Security Purdue University, West Lafayette, IN 47907-2086