Feature Stories - Kostenreduzierung für sichere, sich entwickelnde Software
Haben Sie gerade eine neue App auf Ihr Smartphone heruntergeladen? Haben Sie das Kontrollkästchen bemerkt, bei dem "Automatisch aktualisieren" angekreuzt ist? Es gibt viele Gründe, um Software zu aktualisieren, angefangen beim Hinzufügen neuer Features bis hin zur Reparatur von Sicherheitslücken, durch die Sie ein Opfer von Hackern werden könnten. Aber manchmal führen gerade neu heruntergeladene Funktionen zu neuen Sicherheitslücken. Das ist im Wesentlichen das Problem der traditionellen Ansätze zur Software-Entwicklung und Verbreitung - ein Trade-off zwischen Sicherheit und Flexibilität. "Sie haben eine sichere Software, zum Beispiel. Sie versenden sie an den Kunden und dann müssen Sie diese aktualisieren, vielleicht um neue Funktionen hinzuzufügen, um der Konkurrenz voraus zu bleiben. Wenn Sie jedes Mal von Grund auf neu starten und den gesamten Code überprüfen müssen, selbst wenn nur ein klitzekleiner Teil verändert wurde, ist dies mit einem erheblichen Zeitaufwand und finanziellen Kosten verbunden", erklärt Fabio Massacci, Professor für Informatik an der Universität Trento in Italien . Professor Massacci, der das Projekt SecureChange (1) koordiniert, welches sich genau mit dem Problem befasst, weist auf Web-Browser hin als typische Beispiele für regelmäßig aktualisierte Software mit strengen Sicherheitsanforderungen. Eine Analyse des SecureChange-Teams, die über fünf Jahre und sechs große Versionenaktualisierungen des Open-Source-Browsers Firefox lief, ergab, dass nur rund ein Drittel des Software-Codes von einer Version zur nächsten geändert wurde. Darüber hinaus wurde eine erhebliche Anzahl von Schwachstellen von einer Version zur nächsten vererbt, ein Phänomen, das auch bei Browsern wie Chrome und IE häufig vorkommt. Die Notwendigkeit für schnelle Updates bedeutet, es gibt weniger Zeit zum Testen und Verifizieren. Aber ist es möglich, nur die neuen Teile zu testen und die Sicherheit und Integrität des gesamten Systems dabei zu erhalten? Mit einer Unterstützung von 5,1 Mio. EUR aus dem Forschungsförderungstopf der Europäischen Kommission haben die Forscher von SecureChange Methodik, Techniken und Werkzeuge entwickelt, um den gesamten Software-Lebenszyklus - von der Anforderungsanalyse, über Entwurf, Entwicklung, Tests und Überprüfungen, bis zur Bereitstellung und Aktualisierung - effizienter, flexibler, sicherer und weit weniger kostspielig im Hinblick auf Zeit und Geld zu gestalten. Veränderung - ein Bürger erster Klasse L%% L"Unser Grundgedanke war, die Veränderung selbst als einen Bürger erster Klasse zu sehen, wobei wir Entwicklungsregeln für die Software festgelegt haben, um sicherzustellen, dass bei jeder Änderung die gewünschten Sicherheitseigenschaften beachtet werden. Auf diese Weise weiß man automatisch, dass jede Änderung die gewünschten Eigenschaften erfüllt", so Prof. Massacci sagt. Ihr Ansatz konzentrierte sich auf das sogenannte "Delta" - dem Unterschied zwischen dem alten und dem neuen Softwarerelease. Eine Reihe von innovativen Tools ermöglicht es Entwicklern und Test-Ingenieuren auf synchronisierte Art und Weise zu arbeiten und automatisch nur jene Teile des Codes zu identifizieren, die zusammen mit jenen überprüften Eigenschaften getestet werden müssen, die von einer Version zur nächsten erhalten bleiben. "Test-Ingenieure können schnell und einfach ermitteln, welche Tests notwendig sind, was neu und was veraltet ist, wodurch die Notwendigkeit einer erneuten Prüfung von Millionen von Codezeilen, die sich nicht geändert haben, nicht gegeben ist und sie damit ihre Bemühungen auf das, was ist wirklich neu und damit potenziell riskanter ist, zu konzentrieren" , erklärt Prof. Massacci. Im Bereich der Entwicklung konzentriert sich der Ansatz des SecureChange-Teams auf die Entwicklung von Prozessen, die Änderungen an der Software in granularer Form organisieren und nicht durch direkte Integration, sodass Änderungen an einem Element der Software nicht notwendigerweise Auswirkungen auf andere Elemente haben. Bezeichnenderweise geht dieser Ansatz von kleinen Software-Programmen bis hin zu groß angelegten kritischen Systemen mit Millionen von Elementen. Das Potenzial wurde von den SecureChange-Forschern in einer Reihe von Prototyp-Implementierungen hervorgehoben, die um reale Fallstudien aufgebaut und an denen mehrere Partner aus der Industrie beteiligt sind. Bei Thales, Frankreich, hat sich das Team angeschaut, wie ihre Werkzeuge und ihr Ansatz den Einbau von neuen Funktionen in ein Flugverkehrsmanagementsystem verbessern und beschleunigen könnten, dessen organisatorischen und betrieblichen Prozesse verändert werden mussten. Bei Telefónica, Spanien, implementierten die Forscher Prototyptechnologie in sicherheitskritische Funktionen von Heimnetzwerken, wodurch sich das Netzwerk dynamisch auf sichere Weise konfigurieren und rekonfigurieren konnte, und die Einbindung von neuen Geräten ermöglichte, wie etwa einem Freund ein Smartphone rüberbringen. Beim französischen Unternehmen Gemalto, das sich mit digitaler Sicherheit befasst, implementierten die Forscher ein System mit Smartcards und Tokens, so wie jene, die für Zahlungen im öffentlichen Verkehr und sonstigen Dienstleistungen verwendet werden, und ermöglichten damit die sichere Aktualisierung der Software. "Nehmen Sie eine Visa- oder Mastercard zum Beispiel. Es wäre praktisch, wenn man diese auch als Smartcard verwenden könnte, um die Bahn zu benutzen. Doch im Moment ist das nicht möglich, weil es für einen Dritten, wie etwa die Bahn, zu lange dauern und es zu teuer wäre, durch den ganzen Prozess der Überprüfung von Softwareänderungen auf der Karte zu gehen. Wir haben gezeigt, dass mit unserem Ansatz solche Funktionen einfach und schnell implementiert werden können, und wir haben es nicht nur theoretisch sondern auch zum ersten Mal in der Praxis bewiesen", so Prof. Massacci. Kommerzielle Pläne und Spin-offs% L% LDie Industriepartner von SecureChange nutzen einige Projektergebnisse intern, so der Koordinator von SecureChange. Ein Tool namens EvoTest, das vom französischen Partner SmartTesting Partner entwickelt wurde, ist jetzt in der kommerziellen Produktion, während andere Werkzeuge als Open-Source-Software zur Verfügung gestellt wurden. Das Projekt trug auch die Gründung des Spin-off- Unternehmens QE LaB Business Services von der Universität Innsbruck und dem Centre for Academic Spin-Offs Tyrol, Österreich, bei. Inzwischen entwickelt die Open-Source-Gemeinde einen Teil der Technologie weiter in eine Komponente namens EMF-IncQuery, die der Eclipse Foundation vorgeschlagen wurde. Das größte Fazit des SecureChange-Ansatzes, wenn dieser allgemein von der Software-Entwickler-Community angenommen werden sollte, wäre eine erhebliche Reduzierung der Zeit bis zur Markteinführung neuer Software und Software-Versionen, und eine erhebliche Reduzierung der Kosten für Software-Tests und Verifizierungen. Derzeit beläuft sich der Aufwand für Softwaretests auf etwa 50% der Pre-Release-Kosten und bis zu 70 % der Post-Release-Ausgaben, während fast 6 von 10 Software-Entwicklungsprojekten nicht ihre gewünschte Funktionalität erreichen und mehr als 8 von 10 den Zeitplan nicht einhalten und nicht rechtzeitig abgeschlossen werden. "Das würde nicht nur das Risiko von Fehlern und Sicherheitslücken reduzieren, sondern die Unternehmen wären in der Lage, Software sehr viel schneller freizugeben, sodass sie Marktchancen schnell nutzen können", erklärt Professor Massacci. SecureChange wurde unter dem Thema Künftige und Aufkommenden Technologien (Future and Emerging Technologies, FET) des Siebten Rahmenprogramms der Europäischen Union (RP7) gefördert. (1) "Security engineering for lifelong evolvable systems" Nützliche Links: - FET - Website "Security engineering for lifelong evolvable systems" - Datenblatt für SecureChange auf CORDIS