Datenbanksysteme 12.11.2020, 07:01 Uhr

Neues Tool macht Datenbanken sicherer

Schneller und mehr Leistung – diese Anforderungen werden zunehmend an Datenbanken gestellt. Der Nachteil: Die Zuverlässigkeit sinkt. Forscher der ETH Zürich haben nun drei verschiedene Methoden entwickelt, mit denen sich automatisch logische Fehler in Datenbanken aufspüren lassen. Schließlich sind sie das Rückgrat der Informatik.

Datenbank

Forscher der ETH Zürich haben ein Tool entwickelt, mit dem sie automatisch logische Fehler in SQL-Datenbanken finden.

Foto: Panthermedia.com/Smlyubov

Manuel Rigger, Informatiker an der ETH Zürich, testete zwei Wochen lang neue Methoden, wertete relevante Daten aus und fasste Ergebnisse zusammen. Am Ende musste er feststellen: Ein Fehler im Datenbank-Management-System hatte dafür gesorgt, dass seine gesamte Arbeit aus den zwei Wochen verlorengegangen war. Sein Ärger wurde zur Motivation: Gemeinsam suchte der Testing-Spezialist mit dem Leiter des Advanced Software Technologie Labs, Zhendong Su, nach einer Lösung für das Problem.

Bei ihrer Recherche waren die Wissenschaftler überrascht, wie viele logische Fehler es in Datenbank-Management-Systemen (DBMS) tatsächlich gibt. „Mit unseren Methoden haben wir beispielsweise in der auf fast allen Smartphones und auch in vielen Web-Browsern laufenden SQLite-Datenbank über 150 Programmierfehler entdeckt. Und das ist kein extremer Fall. Die Quote ist in allen Systemen, die wir bisher untersucht haben, ähnlich groß“, erklärt Rigger.

Datenbanken können unbemerkt falsche Antworten liefern

Nutzer eines Smartphones gehen automatisch davon aus, dass darin abgespeicherte Informationen mit der richtigen Abfrage auch zu finden sind – beispielsweise Adressen oder Telefonnummern. Das ist vergleichbar mit der Suche in einem Online-Shop: Man gibt den passenden Suchbegriff ein und findet den gewünschten Artikel. Allerdings ist es möglich, dass im dem Datenbank-Management-System ein Fehler vorliegt. In dem System werden nicht nur die gespeicherten Informationen verwaltet, sondern von dort aus kommen auch die Antworten zu der Suchanfrage. Nun kann es durchaus passieren, dass falsche Antworten geliefert werden, ohne dass wir als Nutzer diesen Fehler bemerken.

ETH-Informatiker Rigger vermutet folgende Gründe für die hohe Anzahl an Fehlern: Einerseits seien Datenbanken heute sehr komplex und umfassen bis zu mehrere Millionen Zeilen Programm-Code. Bei einer solchen Fülle seien Programmierfehler kaum zu vermeiden. Auf der anderen Seite könne man logische Fehler nicht ganz so einfach finden, da sie im Gegensatz zu Bugs, die meist das ganze System zum Absturz bringen, eher selten offensichtlich zu erkennen sind. Oftmals muss man einen Vergleich zum richtigen Ergebnis ziehen, um diese Fehler zu finden.

Stellenangebote im Bereich IT/TK-Projektmanagement

IT/TK-Projektmanagement Jobs
Jauss HR-Consulting GmbH & Co. KG-Firmenlogo
Automatisierungstechniker / Ingenieur / Techniker (m/w/d) TIA-Programmierung & Inbetriebnahme - Baustoffanlagenbau Jauss HR-Consulting GmbH & Co. KG
Raum Würzburg Zum Job 
Helmholtz-Zentrum Hereon-Firmenlogo
Systementwicklungsingenieurin (m/w/d) für Mess- und Steuerungssystemen Helmholtz-Zentrum Hereon
Geesthacht (bei Hamburg) Zum Job 
Motherson Group-Firmenlogo
Hardware Architect - Automotive (m/f/d) Motherson Group
Stuttgart Zum Job 
IMS Messsysteme GmbH-Firmenlogo
Entwicklungsingenieur (m/w/i) Systemsoftware IMS Messsysteme GmbH
Heiligenhaus Zum Job 
Drägerwerk AG & Co. KGaA-Firmenlogo
Ingenieur / Specialist (m/w/d) Software und Datenkommunikation Drägerwerk AG & Co. KGaA
Lübeck Zum Job 
ESFORIN SE-Firmenlogo
Mitarbeiter*in Marktkommunikation & Prozesse (m/w/d) ESFORIN SE
FCP Ingenieure Deutschland GmbH-Firmenlogo
BIM-Modeller (m/w/d) FCP Ingenieure Deutschland GmbH
Deutsches Elektronen-Synchrotron DESY-Firmenlogo
Bauingenieurin als Bauinformatikerin (m/w/d) für die Einführung von Revit Deutsches Elektronen-Synchrotron DESY
Hamburg Zum Job 
Die Autobahn GmbH des Bundes-Firmenlogo
Geoinformatiker (w/m/d) Die Autobahn GmbH des Bundes
Hannover Zum Job 
Bundesamt für Bauwesen und Raumordnung (BBR)-Firmenlogo
Referentin / Referent (w/m/d) in der Kompetenzstelle BIM Bundesamt für Bauwesen und Raumordnung (BBR)
Bonn, Berlin Zum Job 
Die Autobahn GmbH des Bundes-Firmenlogo
Senior (w/m/d) BIM Consultant Die Autobahn GmbH des Bundes
Mehrer Compression GmbH-Firmenlogo
Ingenieur für Elektrotechnik (m/w/d) Mehrer Compression GmbH
Balingen Zum Job 
RHEINMETALL AG-Firmenlogo
Verstärkung für unsere technischen Projekte im Bereich Engineering und IT (m/w/d) RHEINMETALL AG
deutschlandweit Zum Job 
Technical University of Munich (TUM) / Fraunhofer Institute for Applied and Integrated Security AISEC-Firmenlogo
Full Professor in Software & System Security in combination with the Institute Director at Fraunhofer Aisec Technical University of Munich (TUM) / Fraunhofer Institute for Applied and Integrated Security AISEC
München, Garching Zum Job 
Hochschule Angewandte Wissenschaften München-Firmenlogo
Professur für Data und Knowledge Engineering (W2) Hochschule Angewandte Wissenschaften München
München Zum Job 
THD - Technische Hochschule Deggendorf-Firmenlogo
Professorin / Professor (m/w/d) für das Lehrgebiet "Informatik" THD - Technische Hochschule Deggendorf
Deggendorf Zum Job 
THD - Technische Hochschule Deggendorf-Firmenlogo
Professorin / Professor (m/w/d) für das Lehrgebiet "Informatik" THD - Technische Hochschule Deggendorf
Deggendorf Zum Job 
Hochschule Heilbronn-Firmenlogo
Professur für künstliche Intelligenz in industriellen Systemen Hochschule Heilbronn
Künzelsau, Heilbronn, Schwäbisch Hall Zum Job 
DFS Deutsche Flugsicherung GmbH-Firmenlogo
Referent (m/w/d) Anforderungsmanagement Funktionale Systeme DFS Deutsche Flugsicherung GmbH
DNV GL SE-Firmenlogo
(Senior) Consultant for Digital System Operation (m/w/d) DNV GL SE
Dresden, Schönefeld Zum Job 
Jauss HR-Consulting GmbH & Co. KG-Firmenlogo
Automatisierungstechniker / Ingenieur / Techniker (m/w/d) TIA-Programmierung & Inbetriebnahme - Baustoffanlagenbau Jauss HR-Consulting GmbH & Co. KG
Raum Würzburg Zum Job 
Helmholtz-Zentrum Hereon-Firmenlogo
Systementwicklungsingenieurin (m/w/d) für Mess- und Steuerungssystemen Helmholtz-Zentrum Hereon
Geesthacht (bei Hamburg) Zum Job 
Motherson Group-Firmenlogo
Hardware Architect - Automotive (m/f/d) Motherson Group
Stuttgart Zum Job 
IMS Messsysteme GmbH-Firmenlogo
Entwicklungsingenieur (m/w/i) Systemsoftware IMS Messsysteme GmbH
Heiligenhaus Zum Job 

Dahinter stand bisher allerdings ein erheblicher Aufwand und die dazu gängige Praxis wurde bereits vor über 20 Jahren entwickelt. Sie vergleicht Abfragen unterschiedlicher Datenbanksysteme. Das Knifflige daran: Hersteller nutzen für ihre Datenbanken sehr individuelle Erweiterungen oder Anpassungen. Dadurch sind eindeutig vergleichbare Fragen auf einen kleinen Kernbereich der Systeme beschränkt. Die Abfragesprachen der Hersteller sind vergleichbar mit Dialekten in unserer Sprache. Das bedeutet: Sie unterscheiden sich zum Teil erheblich voneinander. Nach Riggers persönlicher Einschätzung sei die Fehlersuche in Datenbanken wenig attraktiv. Vor allem, wenn man berücksichtigt, dass der Trend aktuell besonders in die Richtung geht, solche Systeme mithilfe künstlicher Intelligenz noch leistungsfähiger zu machen.

Drei Lösungsmethoden in einem Tool vereint

Das Forscher-Duo hat als Lösung drei verschiedene Methoden entwickelt, mit denen sich zuverlässige Vergleichsabfragen finden lassen. Sie bedienen sich dafür erstens des sogenannten „Query Partitioning“. Dabei werden Abfragen automatisch in mehrere Teile zerlegt. Im nächsten Schritt wird kontrolliert, ob das Ganze und die Summe der Teile das Gleiche ergeben. Fehler gezielt aufzuspüren, die sich durch Optimierungs-Mechanismen in den Datenbanken ergeben, damit beschäftigt sich die zweite Methode. Die Lösung: Die Wissenschaftler wandeln Abfragen für den Vergleich so ab, dass der Optimierungs-Mechanismus nicht mehr funktionieren kann. Der Vorteil dieser beiden Methoden liegt vor allem darin, dass diese Arten der Fehlersuche gut funktionieren, auch wenn der Anwender nicht über detaillierte Kenntnisse der Datenbanken verfügt.

Das ist bei der dritten Methode anders. Hier ist unbedingt spezifisches Datenbankwissen gefragt. Gemäß der sogenannten „Pivoted Query Sythesis“ wählt man eine ganze Reihe in der Datenbanktabelle aus. Dazu wird nun eine Abfrage erstellt, die genau diese ausgewählte Reihe als Ergebnis liefert. Auf diese Art und Weise lassen sich logische Fehler effizienter identifizieren als auf bisherigem Weg, der Analyse von Hand. Die beiden Informatiker haben nun das Tool „SQLancer“ erstellt, das auf Basis ihrer Methoden funktioniert. Die Nachfrage ist wenige Tage nach Start des Tools sehr groß. „Diverse Hersteller haben bereits zahlreiche Bugs in ihren Systemen gefunden und den SQLLancer fest in ihr Testing eingebaut“, sagt Rigger.

 

Mehr zum Thema Datenbanksysteme:

Ein Beitrag von:

  • Nina Draese

    Nina Draese hat unter anderem für die dpa gearbeitet, die Presseabteilung von BMW, für die Autozeitung und den MAV-Verlag. Sie ist selbstständige Journalistin und gehört zum Team von Content Qualitäten. Ihre Themen: Automobil, Energie, Klima, KI, Technik, Umwelt.

Themen im Artikel

Zu unseren Newslettern anmelden

Das Wichtigste immer im Blick: Mit unseren beiden Newslettern verpassen Sie keine News mehr aus der schönen neuen Technikwelt und erhalten Karrieretipps rund um Jobsuche & Bewerbung. Sie begeistert ein Thema mehr als das andere? Dann wählen Sie einfach Ihren kostenfreien Favoriten.