Comprehensive Security

In the year 2000, the “I LOVE YOU” virus propagated through email and infected millions of Outlook users. This could not have been prevented, even if Outlook was written in Java and used all the security techniques explained in this book. The virus exploited design flaws in the Outlook client, which made it possible to run dangerous code with the privileges of authenticated users without adequate warning to the user. Other examples of design flaws include: hidden security sensitive information, default configuration with security options disabled, complex set of procedures to enable security, revealing too much information about internal workings of the system, and so on.

In early 2003, the Slammer worm exploited buffer overflow vulnerability in MS SQLServer to run its own code on millions of machines and was able to choke the complete Internet by generating extraneous traffic. This category of vulnerabilities is known as implementation flaws. Luckily, Java prevents such implementation flaws. But if this was not the case, the techniques of this book could not have saved us from such attacks.

Our techniques are also quite helpless in the face of another kind of attack, known as denial of service attacks. Authentication and authorization help in denying access to unknown and/or unauthorized users but this process itself consumes resources. If there are a lot of such requests, just processing them keeps the system so busy that it is not able to serve other, valid requests.

The same is true for social engineering techniques for compromising security. If an administrator is fooled by a smooth-talking impostor and gives away the changed password, then no amount of attention to the application design could keep the system secure. Similarly, if a con man succeeds in installing a spyware program (spyware is a category of program that can record all activities within a computer and relay this information secretly to a third party) on a victim's machine without the owner's knowledge, then the most difficult-to-guess password and other security safeguards are of no use.

The point we want to drive home is that there are many ways the security of computer systems can be compromised and not all have been covered in this book. And this is important to realize.

Comprehensive security requires attention to a lot of aspects during development, during deployment and during operation. These aspects include not only the topics that we covered in this book, but also many other topics. In fact, it is impossible to imagine any single book covering the vast gamut of concepts, tools, processes, and techniques required for securing computer systems.

Notwithstanding the above fatalistic discussion, the topics included in this book will help improve overall security and can significantly expedite the development of certain kinds of software by pointing the developers in the right direction and supplying a number of ready-made examples and tools. The history of computer security is replete with cases where an improper security-related design decision by a developer, of the kind covered in this book, has caused major security problems afterward. For Java enterprise applications, this book can certainly help avoid many of those.

Also, as a developer, you should know the best practices to secure your application at design, development and deployment time and make use of the features provided by the underlying platform toward this. This is where you will find the information presented in this book invaluable.

It is often said that security is like a chain—the strength of the weakest link determines the overall strength of the chain. To strengthen the whole chain, you need to look at all the links and strengthen them. The techniques and ideas covered in this book talk about how to identify many of those weak links and how to go about strengthening them. This is certainly an important and critical part of the overall security and must not be underestimated.

So, keep the big picture in mind but don't ignore the smaller elements that make up the big picture. This is where you will find this book most helpful.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.181.196