Provide a detailed description of what worms and trojan horses are.