Page 387 -
P. 387

370   Chapter 14   Security engineering


                                    costs of security procedures that may reduce these losses. Credit card companies do
                                    this all the time. It is relatively easy to introduce new technology to reduce credit
                                    card fraud. However, it is often cheaper for them to compensate users for their losses
                                    due to fraud than to buy and deploy fraud-reduction technology. As costs drop and
                                    attacks increase, this balance may change. For example, credit card companies are
                                    now encoding information on an on-card chip instead of a magnetic strip. This
                                    makes card copying much more difficult.
                                      Risk management is a business issue rather than a technical issue so software
                                    engineers should not decide what controls should be included in a system. It is up
                                    to senior management to decide whether or not to accept the cost of security or the
                                    exposure that results from a lack of security procedures. Rather, the role of soft-
                                    ware engineers is to provide informed technical guidance and judgment on secu-
                                    rity issues. They are, therefore, essential participants in the risk management
                                    process.
                                      As I explained in Chapter 12, a critical input to the risk assessment and man-
                                    agement process is the organizational security policy. The organizational secu-
                                    rity policy applies to all systems and should set out what should and should not
                                    be allowed. The security policy sets out conditions that should always be main-
                                    tained by a security system and so helps to identify risks and threats that might
                                    arise. The security policy therefore defines what is and what is not allowed.
                                    In the security engineering process, you design the mechanisms to implement
                                    this policy.
                                      Risk assessment starts before the decision to acquire the system has been made
                                    and should continue throughout the system development process and after the sys-
                                    tem has gone into use (Alberts and Dorofee, 2002). I also introduced, in Chapter 12,
                                    the idea that this risk assessment is a staged process:


                                    1.  Preliminary risk assessment At this stage, decisions on the detailed system
                                        requirements, the system design, or the implementation technology have not
                                        been made. The aim of this assessment process is to decide if an adequate level
                                        of security can be achieved at a reasonable cost. If this is the case, you can then
                                        derive specific security requirements for the system. You do not have informa-
                                        tion about potential vulnerabilities in the system or the controls that are included
                                        in reused system components or middleware.

                                    2.  Life-cycle risk assessment This risk assessment takes place during the system
                                        development life cycle and is informed by the technical system design and
                                        implementation decisions. The results of the assessment may lead to changes to
                                        the security requirements and the addition of new requirements. Known and
                                        potential vulnerabilities are identified and this knowledge is used to inform
                                        decision making about the system functionality and how it is to be implemented,
                                        tested, and deployed.

                                    3.  Operational risk assessment After a system has been deployed and put into
                                        use, risk assessment should continue to take account of how the system is
   382   383   384   385   386   387   388   389   390   391   392