Ethical Hacking: Required Skills and the Roles