S 2.379 Software development by end users

Initiation responsibility: IT Security Officer, Head of IT

Implementation responsibility: User

Many of the standard programs used allow users to develop their own programs, for example to make routine tasks easier to perform. A typical example of this is programming macros under Microsoft Word or Access or the provision of programming interfaces under Microsoft Outlook.

The willingness of the employees to write such programs and the creativity they display when programming should be welcomed in general. However, every organisation should consider how they want to handle macro and software development by end users.

The following must be noted:

First, every organisation should make a policy decision of whether or not it wants to generally allow software to be developed in-house. The decision made must be documented in the security policies in all cases.

If the organisation does not want to allow software to be developed in-house, then it would make sense to disable programming capabilities when installing standard programs (wherever this is possible).

On the other hand, if the development of software in-house is required, then corresponding user guidelines should be developed for this software to ensure that minimum requirements for the security, documentation and quality of the software developed are met.

Such a guideline should specify the following in particular:

It also takes a certain amount of work time to develop software in-house. For this reason, it should be ensured that other users will be able to benefit from the software developed in-house, and that the software will be maintained over the long term in this case. Furthermore, a contact person for problems with the software developed in-house should be specified. The current version of the software developed in-house should also be available to all users. For this reason, it makes sense to forward all software developed in-house that may be of interest to the other employees to the IT department. The IT department can then check if organisation-wide deployment is reasonable, can make any additional changes necessary before deployment, and offer user support for the software.

Macro programming must be protected against unauthorised changes. In addition, only trusted macros may be used. Moreover, transferring development results to unauthorised persons should be prevented. Macro extensions should only be used in the productive system after they have been tested in an isolated test environment and are considered to be secure.

Review questions: