a type of software that has been designed to cause damage