Information Technology Reference
In-Depth Information
The Technical Perspective
Software comprises many layers. As a developer, one cannot guarantee
that the application one has developed is secure, based on testing alone.
One will have to trust the other layers. This trust can be based on detailed
testing, or on assurance from the vendor. Any statement about security,
therefore, must be a conditional statement. Furthermore, when a number
of applications or tools work together, the security models being imple-
mented may themselves not be aligned. A user may have certain privileges
in one portion of the stack, say the report writer, which is different from
what he or she has at the database level.
Modularity
Object-oriented programming methodologies allow for modular code and
better reuse. Reuse raises issues of trust. If the code is in small blocks,
then it is easier to determine its correctness. If it is found to be secure,
its reuse, either as it is or after encapsulation, will likely be secure.
Modularity is a natural way of handling complexity (Figure 16.7).
Breaking a piece of work into more manageable units allows one to get
better coverage although it also increases the number of pieces to be
managed. The reason why modularity allows improved manageability of
each unit is because of what Gerald Weinberg calls the Square Law of
Computation: “Experience shows that
unless some simplifications are
Multiple levels of security are required
Figure 16.7
The security equalizer
.
 
Search WWH ::




Custom Search