21.01.2022 Views

Sommerville-Software-Engineering-10ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

13.4 ■ Secure systems design 391

Technology choice

Vulnerabilities

Login/password

authentication

Users set

guessable

passwords

Authorized users reveal

their passwords to

unauthorized users

Client/server

architecture using

web browser

Server subject to

denial-of-service

attack

Confidential information

may be left in browser

cache

Browser security

loopholes lead to

unauthorized access

Figure 13.12

Vulnerabilities

associated with

technology choices

Use of editable

web forms

Fine-grain logging

of changes is

impossible

Authorization can’t be

varied according to user’s

role

To illustrate how decisions on development technologies influence security,

assume that the health care provider has decided to build a Mentcare system using an

off-the-shelf information system for maintaining patient records. This system has to

be configured for each type of clinic in which it is used. This decision has been made

because it appears to offer the most extensive functionality for the lowest development

cost and fastest deployment time.

When you develop an application by reusing an existing system, you have to

accept the design decisions made by the developers of that system. Let us assume

that some of these design decisions are:

1. System users are authenticated using a login name/password combination. No

other authentication method is supported.

2. The system architecture is client–server, with clients accessing data through a

standard web browser on a client computer.

3. Information is presented to users as an editable web form. They can change

information in place and upload the revised information to the server.

For a generic system, these design decisions are perfectly acceptable, but design

risk assessment shows that they have associated vulnerabilities. Examples of these

possible vulnerabilities are shown in Figure 13.12.

Once vulnerabilities have been identified, you then have to decide what steps you

can take to reduce the associated risks. This will often involve making decisions

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!