Understanding threats: A prerequisite to enhance survivability of computing systems