Home > Hacker
2 Categories of hacker
The hacker community (the set of people who would describe themselves as hackers, or who would be described by others as hackers) falls into at least three partially overlapping categories.
2.1 Hacker: Brilliant programmer
The positive usage of hacker. One who knows a (sometimes specified) set of programming interfaces well enough to write software rapidly and expertly. This type of hacker is well-respected, although the term still carries some of the meaning of hack, developing programs without adequate planning. This zugzwang gives freedom and the ability to be creative against methodical careful progress.
At their best, hackers can be very productive. The downside of hacker productivity is often in maintainability, documentation, and completion. Very talented hackers may become bored with a project once they have figured out all of the hard parts, and be unwilling to finish off the "details". This attitude can cause friction in environments where other programmers are expected to pick up the half finished work, decipher the structures and ideas, and bullet-proof the code. In other cases, where a hacker is willing to maintain their own code, a company may be unable to find anyone else who is capable or willing to dig through code to maintain the program if the original programmer moves on to a new job.
Types of hackers in this sense are gurus and wizards. "Guru" implies age and experience, and "wizard" often implies particular expertise in a specific topic, and an almost magical ability to perform hacks no one else understands.
2.2 Hacker: Intruder and criminal
The most common usage of "hacker" in the popular press is to describe those who subvert computer security without authorization or indeed, anyone who has been accused of cyber-crime. This can mean taking control of a remote computer through a network, or software cracking. This is the pejorative sense of hacker, also called cracker or black-hat hacker in order to preserve unambiguity.
There are several recurring tools of the trade used by hackers to gain unauthorized access to computers:
- Trojan horse -- These are malicious programs that are disguised as legitimate software. A trojan horse can be used to set up a back door in a computer system so that the criminal can return later and gain access. Viruses that fool a user into downloading and/or executing them by pretending to be useful applications are also sometimes called trojan horses. See also: Dialer .
- Virus -- A virus is a self-replicating program that spreads by inserting copies of itself into other executable code or documents (for a complete definition: see the article about computer viruses). Thus, a computer virus behaves in a way similar to a biological virus, which spreads by inserting itself into living cells.
- Worm -- Like a virus, a worm is also a self-replicating program. The difference between a virus and a worm is that a worm does not attach itself to other code. After the comparison between computer viruses and biological viruses, the obvious comparison here is to a bacterium. Many people conflate the terms "virus" and "worm", using them both to describe any self-propagating program.
- Vulnerability scanner -- A tool used to quickly check computers on a network for known weaknesses. Hackers also use port scanners. These check to see which ports on a specified computer are "open" or available to access the computer. (Note that firewalls defend computers from intruders by limiting access to ports/machines both inbound and outbound.)
- Sniffer -- An application that captures password and other data while it is in transit either within the computer or over the network
- Exploit -- A prepared application that takes advantage of a known weakness.
- Social engineering -- Asking someone for the password or account (possibly over a beer). Also includes looking over someone's shoulder while they enter their password, or posing as someone else in order to get sensitive information.
- Root kit -- A toolkit for hiding the fact that a computer's security has been compromised. Root kits may include replacements for system binaries so that it becomes impossible for the legitimate user to detect the presence of the intruder on the system by looking at process table s.
- Leet -- An English pidgin that helps to obscure hacker discussions and web sites, and paradoxically it simplifies the location of resources in public search engines for those who know the language. This is arguably more of a social phenomenon than anything very useful for breaking security, however. To more effectively keep conversations private, encryption can be used.
An incompetent black-hat hacker, one who does not write their own tools, and probably does not really understand computers' inner workings, is derisively known as a script kiddie. The term expresses considerable contempt, being meant to indicate that they are immature, and only use " scripts" and programs created by other people, in what is merely simple vandalism (if not outright theft).