Which of the following best represents the concept of a backdoor?
1) A situation in which an amount of data to be processed exceeds the amount of memory a programmer allocated to contain that data, causing adjacent memory to be overwritten.
2) Software that circumvents normal security controls, in order to provide access to a computer or service.
3) Software that prevents availability of a computer resource until a ransom is paid.
4) Software that secretly records a user's input.