Beauty is our business

Dieser Beitrag wurde unter Allgemein, News abgelegt am von .


von Prof. Dr. Sabine Radomski

Softwarequalität ist wie Schönheit. Stellen Sie sich vor: Sie fahren in einem autonomen Fahrzeug und ein Hacker übernimmt die Kontrolle, weil er die Immunschwäche der Software ausnutzen konnte. Viren, Würmer usw. befallen die IT Systeme. Eine Person mit Akne (einer Immunschwäche) sieht nicht gut aus. Leider ist die Immunschwäche der Software nicht so leicht sichtbar. Mit unserer Forschung wollen wir Softwarequalität sichtbar machen und Sicherheitsschwachstellen aufzeigen.

Wir müssen das Immunsystem der Software stärken, die Sicherheitsschwachstellen beseitigen. Um das zu erreichen, muss Qualität vom Nutzer wertgeschätzt werden. Software-Anwender müssen deshalb bei jeder Software auf Qualität achten. Aber das ist leichter gesagt als getan. Woran erkennt man sichere Software? Software-Qualität muss sichtbar werden: Wir brauchen einen TÜV für Software.

Ausgangssituation

Edsger W. Dijkstra sagte 1978 „Beauty is our Business, wenn wir uns klarmachen, dass der Kampf gegen Chaos, Durcheinander, und unbeherrschte Kompliziertheit eine der größten Herausforderungen der Informatik ist.“

Täglich werden neue Sicherheitslücken in Sachen Software veröffentlicht: WannaCry, Stimmen- und Foto­manipulationen, Phishing-Attacken mit Office365, Nord VPN Server gehackt und Zugriff auf private Schlüssel. Die Liste lässt sich beliebig fortführen. Jeder hört und liest diese Schlagzeilen, aber nichts geschieht: Es wird weiter hauptsächlich kostenlose Software genutzt, einfache Passwörter verwendet, Sicherheitsupdates nicht eingespielt, unsichere Software an Kunden ausgeliefert etc.

Die fortschreitende Digitalisierung stellt hohe Anforderungen an die Qualität von Software. Aber technische Schulden werden im Projektablauf aufgenommen und nicht abgezahlt. Ein Teufelskreis, der, getrieben durch hohen Kostendruck, zu mangelhafter Software führt. Kunden sind an fehlerbehaftete Software gewöhnt und nicht mehr bereit, für Qualität tiefer in die Tasche zu greifen. Dieser Sparwahn öffnet dem Cybercrime Tür und Tor dank eines geschwächten Immunsystems der Software.

Im Jahr 2014 wurden laut HPI weltweit fast 6500 Sicherheitsschwachstellen in Software gemeldet. In 2017 waren es dann schon 15038 entdeckte Schwachstellen entsprechend CVSS (Common Vulnerability Scoring System). Für OpenSSL, eine Open Source Software zur Bereitstellung von verschlüsselten Netzwerkdiensten, wurden über 200 Sicherheitslücken gemeldet. Das ist positiv, denn jede gemeldete Sicherheitslücke kann behoben werden, ein schneller Release Wechsel bei OpenSSL zeigt das. Software von Microsoft, Apple, Google, Mozilla, Oracle, HP, Adobe etc. reiht sich mit kritischen Sicherheitslücken in die Statistik ein. Nicht berücksichtigt bleiben alle Sicherheitslücken, die existieren, aber nicht gemeldet werden.

KI als komplexe Software

Da Künstliche Intelligenz (KI) im Wesentlichen komplexe Software ist, treffen diese Aussagen auch auf KI zu: „KI könnte das schlimmste Ereignis der Menschheit werden“, so warnte Stephen Hawking vor den potenziellen Gefahren der KI beim Web Summit 2017 in Lissabon. Denn besonders bei Systemen der Künstlichen Intelligenz sind die Folgen einer Manipulation nicht abzuschätzen. So gilt es nicht nur, die persönlichen Daten, sondern auch die KI vor Manipulation zu schützen. In der Digitalen Transformation werden „Dinge“ intelligent, die Vernetzung von realer Welt und virtueller Welt lässt neue disruptive Geschäftsmodelle entstehen und fördert diese zugleich.

Dabei trägt KI bereits heute maßgeblich zur Wertschöpfung in vielen Branchen bei. Dieser Trend wird weiter anhalten und die bereits angesprochenen Risiken verstärken. Es ist nicht nur mit weiteren Cyberattacken zu rechnen, sondern einem Blackout der IT Systeme, der auf Grund der starken Abhängigkeit der Wirtschaft und Gesellschaft von funktionierenden IT Systemen einen Blackout des realen Lebens nach sich zieht.

Autonomes Fahren

Autonomes Fahren ist ein Beispiel für die Digitale Transformation. Teilautomatisiertes Fahren wie die Einparkhilfe oder den Tempomaten nutzen wir heute täglich. Aber bereits die Software der Klimaanlage kann mit einer Sicherheitslücke dazu führen, dass das gesamte Fahrzeug von außen gesteuert werden kann.1

Die Systeme des autonomen und automatisierten Fahrens sind sowohl von der Qualität der steuernden Software als auch von der Korrektheit der zu verarbeitenden Daten (Stauinformationen, Informationen über die Geschwindigkeit der Fahrzeuge, Wetter- und Routeninformationen) abhängig. Softwarefehler und Manipulationen an den Daten oder der Software können zu Gefahrensituationen und zu Schäden führen. Deshalb ist insbesondere in diesen Systemen eine hohe Softwarequalität unbedingt notwendig. Für diese Schäden muss laut Produkthaftungsgesetz der Hersteller haften. Der Hersteller muss also im eigenen Interesse an einer hohen Qualität der Software interessiert sein.

Testen für die Digitale Transformation

Fassen wir noch einmal zusammen: KI wirkt heute zusammen mit Open Source Komponenten in einem IoT Netzwerk in Verbindung mit Big Data Informationen in einem Cloud Umfeld.
Vor diesem Hintergrund wird Software meist nur zu 30% getestet, uralte Software wird verwendet, die nicht mehr gepflegt wird, und Software ausgeliefert, bei der einfachste Entwicklungsregeln nicht berücksichtigt wurden.

Das führte uns zur Auffassung, dass der Software-Testprozess noch intensiver mittels Continuous Integration/Continuous Deployment (CI/DC) mit der Software-Entwicklung verknüpft werden muss, als es heute der Fall ist. Dazu wurde ein alt bekanntes Modell an die neuen Rahmenbedingungen angepasst. Das an der Hochschule für Telekommunikation Leipzig (HfTL) entwickelte V-Modell gibt der Testphase die notwendige Bedeutung und zeigt auch visuell, dass Testen 50% der Entwicklung umfasst. Alle V-Modelle zeigen einen linken produktiven und einen rechten destruktiven Entwicklungsbereich. Im rechten Bereich wird mit verschiedensten Methoden getestet, um Fehler so früh wie möglich zu erkennen, da durch eine zeitige Entdeckung Kosten gespart werden können.

Die ursprünglichen V-Modelle basieren auf einem Zeitverlauf von links nach rechts und nicht – wie in dem neuen V-Modell von oben nach unten. Das neue V-Modell ermöglicht so ein frühzeitiges Testen. Es integriert eine intensive anforderungsbezogene Überprüfung (kann diese Anforderung getestet werden?) mit einem in den Entwicklungsprozess integrierten Testen auf der Grundlage von CI/CD. Dabei wird auf eine hohe Automatisierung in jedem Prozessschritt geachtet. Testfälle werden automatisch ausgewählt und können durch weitere, neue Testfälle manuell ergänzt werden.

Ein derart getestetes System kann ein Gütesiegel/Sicherheitszertifikat erhalten, um die Qualität sichtbar zu machen. Nur so kann der Nutzer entscheiden, welche Software zum Einsatz kommen soll, und kann somit zur Verbesserung der Softwarequalität bewusst beitragen.

Haftung in der Digitalen Gesellschaft

Jeder Nutzer von Software kennt die AGBs, die vor Installation der Software bestätigt werden müssen. Es sind viele Seiten unverständlicher Nutzungsklauseln, die kaum jemand liest. Denn man hat keine Chance, der einen oder anderen Klausel zu widersprechen. Entweder, man stimmt zu oder verzichtet auf die Nutzung der Software. In einer Studie an der HfTL wurden 13 verschiedene Software-Produkte mit ihren Lizenzen untersucht und diese mit dem Produkthaftungsgesetz verglichen. Bei den Haftungsausschlüssen wurde in lediglich zwei der 13 Lizenzen darauf hingewiesen, dass der Hersteller in jedem Fall für grobe Fahrlässigkeit und Personenschäden haftet. Insbesondere wurde die Produkthaftung bei allen Open Source Lizenzen ausgeschlossen. Entsprechend der deutschen und europäischen Rechtsprechung ist ein solcher vollständiger Haftungsausschluss jedoch unwirksam, es gelten die gesetzlichen Haftungsvorschriften und die Entwickler-Community müsste für Personen- und Sachschäden haften.

Ebenso wurde bei elf der untersuchten Lizenzen versucht, entweder die Gewährleistung komplett auszuschließen, oder die dem Verbraucher zustehenden Gewährleistungsansprüche einzuschränken. Trotz AGB-Recht und Produkthaftungsgesetz ist es problematisch, dass die Hersteller nicht im Zugzwang stehen, ihre Lizenzbestimmungen vollständig an das vorliegende Recht anzupassen und somit Rechtsun­sicherheiten zu vermeiden.

Fazit

Sind die Verbraucher wirklich durch die Gesetze vor Schäden durch Softwaremängel ausreichend geschützt? Oder werden diese Schäden wie Naturkatastrophen behandelt? Wann haben HP, Microsoft etc. je die Haftung für Datenverluste übernommen? Eine digitale Transformation mit unsicherer Software wird in einem realen Blackout enden.
Eine zusätzliche Kontrollinstitution/ein TÜV kann sowohl Sicherheitslücken aufdecken als auch mit einem Qualitätskennzeichen (BSI) für mehr Sicherheit in der IT sorgen. Wir haben dafür die neuesten Technologien kombiniert und weiterentwickelt, um ein Gütesiegel oder Qualitätskennzeichen zu definieren.

Wir alle haben es in der Hand – machen wir unsere Software schön: durch den Kauf von geprüfter, sicherer Software, mit einem Software TÜV, den Verzicht auf kostenlose Software.

1 https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/.

Prof. Dr. Sabine Radomski (re.), Professorin im Fachbereich Nachrichtentechnik, Hochschule für Telekommunikation Leipzig
Foto: Matthias Popp