LAYERED OBFUSCATION: A TAXONOMY OF SOFTWARE OBFUSCATION TECHNIQUES FOR LAYERED SECURITY