Wenn der QR-Code am Tisch zur Sicherheitslücke wird

In modernen Restaurants, Bars und Veranstaltungsorten beginnt die Bestellung immer häufiger mit einem QR-Code auf dem Tisch. Gäste scannen ihn mit ihrem Smartphone, öffnen die digitale Speisekarte, wählen Essen und Getränke aus und bezahlen direkt online. Wenige Minuten später wird die Bestellung an den richtigen Tisch gebracht – beinahe wie von selbst. Für den Gast ist das bequem, während der Betrieb Bestellvorgänge beschleunigen und das Personal besonders bei hohem Besucheraufkommen entlasten kann.

Wenn der QR-Code am Tisch zur Sicherheitslücke wird

Solche Systeme passen besonders gut zu lebhaften Gastronomiekonzepten, die Restaurant, Bar und Veranstaltungsort miteinander verbinden. Typisch sind wechselnde Craft-Biere, Pizza oder andere unkomplizierte Speisen, eine große Außenterrasse und Veranstaltungen mit vielen gleichzeitig eintreffenden Gästen. Das verlinkte Beispiel beschreibt genau ein solches urbanes Konzept: eine Kombination aus Craft-Beer-Bar, Restaurant, Pizzeria, Bottle Shop und Eventlocation, ergänzt durch Tastings, Sessions und saisonale Open-Air-Angebote.

Die Benutzeroberfläche mag einfach aussehen, technisch handelt es sich jedoch um ein vollständiges digitales Verkaufssystem. Hinter dem QR-Code stehen eine Webanwendung, Tisch- und Bestelldaten, eine Zahlungsintegration sowie Schnittstellen zur Küche oder zum Kassensystem. Wird nur eine dieser Komponenten manipuliert, kann aus einer praktischen Bestelllösung sehr schnell ein ernstes finanzielles Problem werden.

Wenn eine erfolgreiche Zahlung nur vorgetäuscht wird

Während eines Craft-Beer-Festivals im Frühjahr wurde ein solches Bestellsystem angegriffen. Die Gäste bemerkten zunächst nichts Ungewöhnliches. Sie scannten den QR-Code, stellten ihre Bestellung zusammen und wurden wie erwartet zu einer Onlinezahlung weitergeleitet. Nach Abschluss des Vorgangs zeigte das System die Bestellung als bezahlt an und leitete sie an den Gastronomiebetrieb weiter.

Die eigentliche Zahlung erreichte das Restaurant jedoch nicht. Der Zahlungsablauf war so manipuliert worden, dass das Geld an die Angreifer ging. Für das interne Bestellsystem sah der Vorgang trotzdem erfolgreich aus. Essen und Getränke wurden deshalb produziert und an die Tische gebracht, obwohl der Betrieb keinen entsprechenden Zahlungseingang erhalten hatte.

Gerade bei einem Festival kann ein solcher Angriff lange unentdeckt bleiben. Viele Bestellungen treffen innerhalb kurzer Zeit ein, Mitarbeiter konzentrieren sich auf Geschwindigkeit und die digitale Bestellübersicht bestätigt scheinbar, dass alles bezahlt wurde. Eine einzelne Unstimmigkeit fällt in dieser Umgebung kaum auf. Erst beim Abgleich mit dem Zahlungsanbieter oder bei der späteren Buchhaltung wird sichtbar, dass zwischen angeblich bezahlten Bestellungen und tatsächlich eingegangenen Beträgen eine erhebliche Lücke besteht.

Warum eine funktionierende Website keine Sicherheit beweist

Dieser Fall zeigt ein grundsätzliches Problem digitaler Geschäftsprozesse: Eine Anwendung kann aus Sicht der Nutzer vollständig funktionieren und trotzdem kompromittiert sein. Die Website war erreichbar, die Speisekarte wurde angezeigt, Bestellungen wurden angenommen und das Personal erhielt die erwarteten Informationen. Es gab keinen offensichtlichen Ausfall, der sofort Alarm ausgelöst hätte.

Aus technischer Sicht könnten verschiedene Teile eines solchen Ablaufs betroffen sein. Angreifer können beispielsweise Weiterleitungen verändern, Zahlungsparameter manipulieren, schädlichen Code in die Website einfügen oder Zugangsdaten zu Verwaltungsoberflächen missbrauchen. Auch eine veraltete Komponente, ein unsicheres Plugin oder eine unzureichend geschützte Schnittstelle kann den Einstieg ermöglichen.

Besonders gefährlich ist die Trennung zwischen dem vom Gast gesehenen Zahlungsvorgang und der internen Kennzeichnung einer Bestellung. Wenn die Anwendung lediglich eine manipulierbare Bestätigung erhält und nicht unabhängig beim Zahlungsanbieter prüft, ob der erwartete Betrag tatsächlich eingegangen ist, kann eine Bestellung fälschlicherweise als bezahlt gelten.

Digitale Zahlungssysteme brauchen unabhängige Kontrollen

Ein sicheres Bestellsystem sollte deshalb nicht allein darauf vertrauen, dass der Nutzer nach der Zahlung auf eine Erfolgsseite zurückkehrt. Der Zahlungsstatus muss serverseitig und über eine vertrauenswürdige Schnittstelle des Zahlungsdienstleisters bestätigt werden. Dabei sollten Bestellnummer, Betrag, Währung und Empfänger eindeutig miteinander verknüpft sein.

Ebenso wichtig sind regelmäßige Abstimmungen zwischen den im Bestellsystem gespeicherten Transaktionen und den tatsächlich beim Zahlungsanbieter eingegangenen Zahlungen. Größere Abweichungen sollten automatisch einen Alarm auslösen. Administratorzugänge benötigen starke Passwörter und Mehrfaktor-Authentifizierung. Software, Plugins und Abhängigkeiten müssen aktuell gehalten werden, und Änderungen an Zahlungsseiten oder Weiterleitungen sollten protokolliert und überwacht werden.

Vor Großveranstaltungen ist außerdem ein zusätzlicher Sicherheitstest sinnvoll. Ein System, das an einem gewöhnlichen Abend einige Dutzend Bestellungen verarbeitet, wird bei einem Festival plötzlich zu einer geschäftskritischen Infrastruktur. Genau dann ist der mögliche Schaden eines unentdeckten Angriffs besonders hoch.

Wie Grawlr externe Risiken sichtbar machen kann

Grawlr untersucht Webanwendungen mithilfe automatisierter DAST-Tests aus der Perspektive eines externen Angreifers. Dadurch lassen sich öffentlich erreichbare Schwachstellen, unsichere Verhaltensweisen und problematische Angriffsflächen erkennen, bevor sie im schlimmsten Moment ausgenutzt werden.

Eine externe Prüfung ersetzt weder sichere Zahlungslogik noch interne Protokollanalyse und Zahlungsabgleiche. Sie ergänzt diese Maßnahmen jedoch um eine unabhängige Sicht auf das System. Für Restaurants, Veranstaltungsorte und andere Unternehmen mit digitaler Bestellung ist das entscheidend – der QR-Code auf dem Tisch ist nicht nur ein Menü, sondern der Eingang zu einem vollständigen Onlinegeschäft.

Eine Bestellung, die im System als bezahlt erscheint, ist noch kein Beweis dafür, dass das Geld beim richtigen Empfänger angekommen ist. Je unsichtbarer und komfortabler der Prozess für den Gast wirkt, desto sorgfältiger müssen die Sicherheitskontrollen im Hintergrund gestaltet sein.

← Tagasi blogisse