S 2.80 Drawing up a requirements catalogue for standard software

Initiation responsibility: Head of Specialised Department

Implementation responsibility: Head of IT, Specialised Department

The market commonly offers numerous standard software products with similar functionality to accomplish a task performed with the help of IT. Although their basic functionality is comparable, they differ in terms of certain criteria such as purchasing and operating costs, additional functionality, compatibility, administration, ergonomics, and information security.

Requirements catalogue

For this reason, it is necessary to draw up a requirements catalogue for the selection of a suitable product first. The requirements catalogue should contain statements relating to the following aspects, amongst other things:

Security requirements

Security functions can be listed in the requirements catalogue depending on whether the product is required to provide security features. Typical security functions that come into question here are explained briefly below. The Common Criteria (for testing and evaluating the security of information technology) contain further information.

Furthermore, additional security requirements may be specified in detail for standard software.

Strength of the mechanisms / attack resistance

Security functions are implemented using mechanisms. Depending on the purpose, these mechanisms must have a varying strength to defend against attacks. The required strength of the mechanisms must be specified in the requirements catalogue. When applying the Common Criteria (CC), the attack resistance of an IT product operated in a certain application environment is evaluated using the threats for the data objects to be protected defined in the security specifications or possibly in a protection profile and the testing intensity specified for evaluation. The required testing intensity includes the definition of the attack resistance and depends on the protection requirements and the use of the product. The testing intensity is defined on the basis of a catalogue(see CC, part 3), mostly with the help of predefined evaluation stages (EAL 1 to 7).

In order to evaluate the attack resistance, the attacks relevant for the application scenario are analysed according to the state of the art up to a certain intensity, taking into consideration the required attack duration, technical expertise of the attacker, knowledge regarding the product, attack opportunity, and required resources. In this, the attack resistance is confirmed within the certification framework in the classes basic, enhanced basic, moderate, and high.

Basic means protection against publicly known attacks and against attackers with very limited skills and resources. High means that a successful attack requires very good technical knowledge, product know-how, opportunities, and resources and therefore is deemed extremely complex.

Examples of requirements for security features

Below, examples for some important security functions are mentioned used as a basis for typical requirements for security features.

If the product is to provide identification and authentication mechanisms, the following requirements may exist regarding the product, for example:

If the product is to provide access control, the following requirements could exist regarding this access control, for example:

If the product is to be equipped with a logging function, then it might make sense to specify the following requirements:

If the product is to be equipped with a log evaluation function, it might make sense to specify the following requirements:

If the product is to be equipped with functions for incorruptibility, the following requirements could be specified, for example:

If the product is to provide functions for data backups, the following requirements can be specified, for example:

If the product is to be equipped with an encryption component, it may make sense to specify the following requirements:

If the product is to provide mechanisms for performing integrity checks, it may make sense to specify the following requirements:

If personal data is processed using the product, the following data protection requirements could be specified, for example:

Assessment scale

In order to be able to compare different products in the context of a benefits analysis, there must be criteria available for evaluating the degree of fulfilment of each of the requirements. For this, it is necessary to quantitatively or qualitatively assess the importance of each individual requirement for the ability to perform the desired IT-based tasks in advance.

This assessment can be done in three stages, for example. In the first stage, you specify which of the features specified in the requirements catalogue are required and which are desired. If a required feature is not provided, then the product must be rejected (referred to as a K.O. criterion). The lack of a desired feature is assessed negatively, but the lack of a desired feature does not necessarily lead to the rejection of the product.

In the second stage, the importance of the desired features to the ability to perform the corresponding tasks is specified. The importance can be evaluated quantitatively using values between 1 for low and 5 for high, for example. Required features do not need to be evaluated quantitatively. However, if a quantitative assessment is necessary to perform other calculations, their quantitative assessments must always be higher than the assessments of each of the desired features (to indicate the importance of a required feature, you could assign it a value of 10, for example).

In the third stage, a confidence factor could be used to specify the ability of the required features to fulfil their tasks correctly (for example with values between 1 for low and 5 for high). Based on the confidence factor, it is then decided how extensively the feature needs to be tested later on. The confidence factors for the security mechanisms must be specified according to the strength of their mechanisms, for example:

This basic scheme must be specified individually on a case-by-case basis.

Examples:

Excerpts of security requirements for typical standard software products should be provided:

Text processing program:

Required security features:

File compression program:

Required security features:

Desired security features:

Appointment calendar:

Required security features:

Desired security features:

Travel expense accounting system:

Required security features:

Desired security features:

Example of an assessment scale:

A specialised department wants to purchase a compression program for data backup purposes. After creating the requirements catalogue, the features specified in the catalogue could be assessed as follows, for example:

Property Required Desired Importance Confidence factor
Correct compression and decompression X   10 5
Detection of bit errors in a compressed file X   10 2
Deletion of files only after successful compression X   10 3
DOS PC, 80486, 8MB X   10 5
Windows-compatible   X 2 1
Throughput of over 1MB/s at 50MHz   X 4 3
Compression rate over 40% for text files of the program XYZ   X 4 4
Online Help system function   X 3 1
Maximum cost of 50.00 Euro per licence X   10 5
assword protection for compressed files (high-strength mechanisms)   X 2 5

Review questions: