Page 392 -
P. 392

14.2   Design for security  375


                                       quickly after they have been set up, and action can then be taken to ensure that users
                                       change their password.
                                         The second and third requirements mean that all users will always access the sys-
                                       tem through the same browser. You can decide what is the most secure browser when
                                       the system is deployed and install that on all client computers. Security updates are
                                       simplified because there is no need to update different browsers when security vul-
                                       nerabilities are discovered and fixed.


                               14.1.2 Operational risk assessment
                                       Security risk assessment should continue throughout the lifetime of the system to
                                       identify emerging risks and system changes that may be required to cope with these
                                       risks. This process is called operational risk assessment. New risks may emerge
                                       because of changing system requirements, changes in the system infrastructure, or
                                       changes in the environment in which the system is used.
                                         The process of operational risk assessment is similar to the life-cycle risk assess-
                                       ment process, but with the addition of further information about the environment in
                                       which the system is used. The environment is important because characteristics of
                                       the environment can lead to new risks to the system. For example, say a system is
                                       being used in an environment in which users are frequently interrupted. A risk is that
                                       the interruption will mean that the user has to leave their computer unattended. It
                                       may then be possible for an unauthorized person to gain access to the information in
                                       the system. This could then generate a requirement for a password-protected screen
                                       saver to be run after a short period of inactivity.



                               14.2 Design for security


                                       It is generally true that it is very difficult to add security to a system after it has been
                                       implemented. Therefore, you need to take security issues into account during the
                                       systems design process. In this section, I focus primarily on issues of system design,
                                       because this topic isn’t given the attention it deserves in computer security books.
                                       Implementation issues and mistakes also have a major impact on security but these
                                       are often dependent on the specific technology used. I recommend Viega and
                                       McGraw’s book (2002) as a good introduction to programming for security.
                                         Here, I focus on a number of general, application-independent issues relevant to
                                       secure systems design:

                                       1.  Architectural design—how do architectural design decisions affect the security
                                          of a system?

                                       2.  Good practice—what is accepted good practice when designing secure systems?
                                       3.  Design for deployment—what support should be designed into systems to avoid
                                          the introduction of vulnerabilities when a system is deployed for use?
   387   388   389   390   391   392   393   394   395   396   397