Post-Image

Warum sorgfältiges Anforderungsmanagement so wichtig ist

Im März 2021 wurden im elektronischen Impfbüchlein meineimpfungen.ch mehrere kritische Sicherheitslücken identifiziert und vom Online-Magazin “Republik” veröffentlicht. Jeder Besucher der Website konnte die Impfdaten von registrierten Benutzern einsehen und sogar verändern. Solche Lücken sind katastrophal. Sie hätten aber grösstenteils verhindert werden können.

Eine sorgfältige Planung verhindert böse Überraschungen

Die festgestellten Mängel führten nicht nur zu einer vorübergehenden Deaktivierung der Website, sondern auch zu einem Vertrauensverlust und einem erheblichen Rufschaden für die Betreiberfirma. Eine sorgfältige Planung und ein durchgängiges Anforderungsmanagement hätten dies bereits in einer frühen Phase verhindern können.

Was soll eine Software können?

Ein Software-Projekt beginnt oft mit einer Idee. Die Bedürfnisse der Benutzer werden als Features oder User Stories festgehalten. Was die Software können soll, ist oft schnell definiert: Eine ansprechende Benutzeroberfläche, welche den Benutzer durch die wichtigsten Funktionen führt. Daten müssen mit anderen Systemen ausgetauscht werden.

Hinter diesen groben Formulierungen versteckt sich oftmals viel Arbeit. Eine einzige Anforderung kann für einen Grossteil des Aufwands verantwortlich sein. Deshalb lohnt sich schon in frühen Projektphasen ein sorgfältiges Hinterfragen von Anforderungen.

Was darf die Software nicht können?

Es gilt aber nicht nur zu fragen, was die Software können soll. Viel wichtiger ist oft auch zu definieren, was eine Software eben nicht darf. Beispielsweise darf die Flugregelungs-Software eines Passagierflugzeugs unter keinen Umständen ausfallen. Genauso wenig dürfen Impfdaten von Unberechtigten einsehbar sein oder von diesen verändert werden können. Solche “implizite” Anforderungen erscheinen logisch, denn sie entsprechen dem gesunden Menschenverstand. Sie müssen aber unbedingt auch spezifiziert werden. Sonst gehen sie bei der Umsetzung der Software vergessen und werden nie getestet.

Gerade im Umgang mit sensiblen Daten wie dem Impfbüchlein hilft die Erstellung eines Konzepts für Informationsschutz und Datensicherheit (ISDS-Konzept). Darin werden die verarbeiteten Daten und eingesetzten Systeme systematisch analysiert und nötige Vorkehrungen zum Schutz dieser Daten definiert. Diese Schutzmechanismen fliessen schliesslich in die Anforderungsliste ein.

Zusätzlich empfiehlt sich die Erstellung eines Rollenkonzepts. Dieses definiert die Benutzergruppen und deren Berechtigungen. Dabei sollten Berechtigungen und Zugriffe generell möglichst sparsam vergeben werden und nur jenen Benutzergruppen, die sie wirklich für ihre Aufgaben brauchen (“Need-to-Know”).

Zum Projektende muss getestet werden

Der grosse Tag ist endlich da! Die neue Software ist fertig und einsatzbereit. Die Benutzeroberfläche ist wunderschön gestaltet, das Logo gut sichtbar. Alle Beteiligten sind froh, dass die Software endlich steht. Die Anforderungen aus der Konzeptphase sind aber bereits in Vergessenheit geraten.

Beim Hausbau will ich auch sicher sein, dass der Sanitär seine Arbeit richtig gemacht hat und das Badezimmer nicht meinen Keller überflutet. Genauso muss die Einhaltung der Anforderungen vom Software-Ersteller eingefordert werden. Dies kann beispielsweise durch definierte Tests erfolgen. Dabei können alle oder stichprobenartig die wichtigsten Anforderungen überprüft werden. Denn nur weil die Anforderungen definiert sind, heisst nicht, dass sie auch so umgesetzt wurden.

Bei den Tests empfiehlt es sich besonders, dass diese nicht vom Ersteller allein durchgeführt werden. Dies verhindert eine “Betriebsblindheit”. Der Ersteller sollte aber dabei sein, um entdeckte Mängel zu verstehen. Eine durchgängige Dokumentation aufgedeckter Mängel (z.B. über ein Ticketing-System) schafft ein gemeinsames Verständnis.

Mängel aus nicht erfüllten Anforderungen müssen in der Regel vom Ersteller unentgeltlich behoben werden. Nicht spezifizierte Anforderungen können hingegen zu Mehrkosten führen. Erst wenn alle Mängel behoben sind, kann eine Software abgenommen werden.

Eine sorgfältige Planung verhindert böse Überraschungen

Rund einen Monat nach dem Aufdecken der Mängel teilte die Stiftung hinter dem elektronischen Impfbüchlein mit, dass “sämtliche identifizierten, kritischen Sicherheitslücken” behoben seien. Ob die in so kurzer Zeit umgesetzten Massnahmen technisch ausreichen, wird sich zeigen. Das Vertrauen der Benutzer ist aber bereits geschädigt.

Klar ist jedoch, dass solche Mängel mit einer sorgfältigen Planung schon frühzeitig verhindert werden können. So wären die Impfdaten der Schweizer Bevölkerung von Anfang an geschützt gewesen.

Haben Sie eine zündende Idee für eine Software, aber Ihnen fehlt das Wissen bei der Planung und Realisierung?