DOTE

Chain And Rate

Wednesday, June 12, 2013

One Man's Trash is Another Man's Treasure

Many security specialists recommend protecting only active work areas. Indeed, you may think: What's the use of protecting the wastebasket if the information in it was discarded as unnecessary? The first thing that comes to mind in this respect is the movie Hackers, whose characters did quite a bit of dumpster diving. What were they looking for in there? For various bits and pieces of papers their owners thought were no longer valuable and discarded into trash cans without a second thought about what will happen to them. Quite often, users write passwords on pieces of paper or are given access information written on paper slips. After they write the information onto more permanent information storage media, such as notepads or notebooks, the bits of paper, and the information they contain, usually go into the trash can.

The same principle applies to the file system. A directory containing seemingly trashy information may turn out to be a mother lode of information for hackers. Once I conducted a security check of a system that had only one directory open, which contained only text files with song lyrics of group Dune. Seemingly an innocent thing, because what can be done using text files with this type of information?

Administrators often keep information related to their personal interests in open folders. If they also create their passwords based on their interests, this information may greatly facilitate picking of the password.

Once hackers obtain any sort of access to the system, they can raise their privileges. This can be done using various exploits, which can be found on the Internet in droves. Every day, new ones are created. If hackers have no access to the system, it will be much more difficult for them to break into it.

Currently, there aren't that many ways to break into a computer remotely, but with local access hackers' chances of raising their access privileges increase manyfold. It is easier to protect against break-ins perpetrated over the network; the main defense method here is using a firewall. But if hackers obtain some sort of access, what they can do depends only on the access-rights allocation policy. If it is not well thought out, hackers can even obtain administrator privileges.

The main targets attacked by hackers after accessing a system are the following:
  • Vulnerable operating system utilities. If you look at security reports, you will see that vulnerabilities in various utilities crop up almost weekly and programmers and administrators have a hard time keeping up with patches.
  • Third-party software. The developers of distributions go to great lengths to test all application-software packages included with their distribution. But third-party developers usually test their software only with their own distribution; thus, there is no guarantee that such a program will work reliably and securely under all Linux versions. Moreover, the professionalism of some third-party software developers — and, thus, the quality of their software — leaves a lot to be desired.
  • Scripts and programs written by the system administrator or company programmers. To expand the functionality of the operating system, administrators often write their own scripts (mostly using the Perl interpreter), and quite frequently hackers break into the system through holes in such scripts. Only a professional programmer possessing a good knowledge of security principles and secure coding techniques can create a secure script or program. Beginning programmers and regular administrators do not give proper attention to checking arguments and parameters, which results in low-quality code.

To summarize, there should be "important" and "unimportant" areas where security is concerned. Although more important data should be allowed better protection, up to being encrypted, the whole system should be protected as well.

You can fortify the server containing restricted information and open another one for public use. In this case, however, there should be no trust relationship between these two servers, and user names and passwords must be different. But humans, being such a lazy bunch, typically make the root passwords for all servers the same or, if they differ, make them similar enough that they will be easy to remember. If you can discipline yourself to follow all pertinent security rules, assigning different physical servers for different tasks is a correct approach to securing your network.

You can start by strictly following the rule that the root user password should be different for each server.


"happy hacking, nerds!" ^_^