What is a Backdoor? Understanding Hidden Access Points in Software Security