Designing Security Architecture Solutions
by Jay Ramachandran
Wiley 2002.
Index, Bibliography, Glossary of Acronyms. 452 pages. ISBN 0-471-20602-4.
$49.99
Reviewed by Robert Bruen May 13, 2002
There are still not enough books that cover writing secure code and designing
secure systems. Fortunately, the few that are out there are generally good
quality books. The range of topics for this set of books is still limited,
leaving the door wide open for new, useful titles. Ramchandran has made a
real contribution with this title.
Anyone who reads Bugtraq regularly is painfully aware of the almost daily
barrage of security issues with software. Many of the issues have been
caused by poor coding practices. Naturally, some of the holes are obscure
and the discovery has been clever, but more often that not, someone was
just not paying attention. If you have read Building Secure Software by
Viega and McGraw and Anderson's Security Engineering, this book would be
a good addition to help round out the overall approach. Code writers need
to make sure that they use good practices for the code, but just as important
is the architecture of whatever it is being built. It is well established
that security needs to be built in from the beginning, because retrofitting
usually is hard and not very successful.
One is never sure whether a poor product of any kind turned out that way
as a result of simply doing a lousy job or because they did not know how
to do a good job. Ramchandran has significantly reduced the excuse pool
for the latter. This is not a cookbook by any means, but it is thorough
in its approach to security architecture. He has included the required
chapter on cryptography, but fortunately, does not dwell on it. He shows
how cryptography fits into the security architecture without restating the
obvious, as many other books have done.
The author covers both Windows and Unix issues. The scope includes databases,
web applications, CORBA and IPSEC, among other things, always with a clear
introduction to each topic. Unlike many security books, he has an in-depth
business case with analysis. He also has a sense of humor.
While the book is not intended to be a security book, there are plenty of
security concepts presented. The concepts contain enough detail that, in
spite of the intention, the reader will learn something about security.
The
author's approach is one of the book's strengths. Each section is well
organized, with appropriate definitions, along with the relationship to
the planning and design of a secure application. One generally thinks of
architecture as a high level endeavor, but in order to do it right, one must
scrutinize the details. Ramchandran has done it right.