Ein Besuch vor Gericht wegen SQL-Injection
(sockpuppet.org)- Das weitreichende Offenlegungsprinzip des Illinois FOIA wurde an Datenbankschemata öffentlicher Stellen auf die Probe gestellt; eine Anfrage zur Chicagoer CANVAS-Datenbank für Parkverstöße führte zu einem Rechtsstreit und zu gesetzgeberischen Diskussionen
- FOIA garantiert die Offenlegung vorhandener Informationen stark, kann aber keine Erstellung neuer Datensätze erzwingen. Je stärker Daten in Anwendungen stecken, desto wichtiger wird das Schema, das zeigt, welche Abfragen man verlangen sollte
- Chicago hielt dagegen, das CANVAS-Schema gefährde die Sicherheit; Kern des Verfahrens war, ob die Offenlegung des Schemas SQL-Injection-Angriffe tatsächlich ermöglicht oder erleichtert
- In erster Instanz und in der Berufung gewann die Seite der Offenlegung, doch der Illinois Supreme Court betrachtete ein file layout als solches als ausgenommen und entschied, dass auch ein SQL schema darunter fällt
- Derzeit können öffentliche Stellen in Illinois die Offenlegung von Datenbankschemata verweigern; SB0226 will sie verpflichten, eine Beschreibung der Datenbankstruktur bereitzustellen, damit Antragsteller konkrete Datenbankabfragen verlangen können
Das Problem, auf das Illinois FOIA bei Datenbanken stößt
- Der Illinois FOIA behandelt von öffentlichen Stellen erhobene Informationen grundsätzlich als öffentliches Eigentum; Ausnahmen sind begrenzt
- Antragstellern werden in der Regel keine Kosten berechnet
- Öffentliche Stellen können die Zahl der Anfragen nicht ohne Weiteres begrenzen
- Die Antwortfrist beträgt grundsätzlich 5 Tage; bei schriftlichem Antrag auf Verlängerung können weitere 5 Tage hinzukommen
- Wer gegen eine unrechtmäßige Ablehnung klagt, kann Anwaltskosten erstattet bekommen
- Eine große Einschränkung ist, dass FOIA öffentliche Stellen nicht zur Erstellung neuer Datensätze zwingen kann
- Wenn der gewünschte Bericht bereits existiert, kann man ihn anfordern
- Existiert er nicht, muss man die Rohdaten anfordern und selbst zusammensetzen
- Da Informationen öffentlicher Stellen immer häufiger nicht in Aktenschränken, freigegebenen Laufwerken oder Word-Dokumenten, sondern in spezialisierten Anwendungen und Datenbanken liegen, steigt der Wert des Schemas
- Ein Datenbankschema ist eine Struktur mit den Namen mehrerer Tabellen und den Spaltennamen der jeweiligen Tabellen
- Der Text vergleicht es mit einer Excel-Datei mit mehreren Tabs
- Die Namen der einzelnen Tabs und die Kopfzeilen jedes Tabs entsprechen dem Schema
Matt Chapmans Anfrage zum CANVAS-Schema
- Matt Chapman wird als Civic Hacker vorgestellt, der umfangreiche FOIA-Anfragen für Datenjournalismus nutzt
- Bei der Arbeit mit Daten zu Parktickets in Chicago kam ein System namens CANVAS zum Vorschein
- CANVAS ist das zentrale Repository für alle Parkticket-Daten Chicagos
- Um herauszufinden, was in der CANVAS-Datenbank enthalten ist, beantragte Matt Chapman das Schema per FOIA
- Chicago lehnte die Anfrage unter Berufung auf eine Ausnahmeregelung des Illinois FOIA zur automatisierten Datenverarbeitung ab
- Diese Regelung umfasst Software, Betriebsprotokolle, Programmübersichten, file layouts, Quelllisten, Module, Benutzerhandbücher, logische und physische Designdokumente, Mitarbeitendenhandbücher und Ähnliches
- Ebenfalls als Ausnahme aufgeführt sind Informationen, deren Offenlegung die System- oder Datensicherheit gefährden könnte
- Chicago bezeichnete Matt Chapman als „Hacker“ und argumentierte, das CANVAS-Schema könne für die Stadt gefährlich werden, wenn es in die falschen Hände gerate
Der zentrale technische Streitpunkt vor Gericht: SQL-Injection
- Die zentrale Frage des Verfahrens war, ob die Offenlegung des CANVAS-Schemas SQL-Injection-Angriffe ermöglicht
- SQL ist eine Sprache, mit der viele Programme mit Datenbanken kommunizieren, und SQL-Injection ist eine Sicherheitslücke, die in Programmen auftreten kann, die SQL verwenden
- SQL-Injection entsteht, wenn Benutzereingaben fehlerhaft in SQL-Abfrage-Templates im Anwendungscode eingefügt werden
- Als Beispiel kann eine Eingabe wie
Bob O’Connorin einer Abfrage, die einen Namen in Anführungszeichen setzt, die Interpretation durch die Datenbank durcheinanderbringen - Angreifer können solche Eingabepunkte nutzen, um den Rest der Eingabe wie Code ausführen zu lassen
- Als Beispiel kann eine Eingabe wie
- Chicagos CISO Bruce Coffing argumentierte, die Offenlegung des Schemas helfe Angreifern auf drei Arten
- Sie helfe ihnen, Schwachstellen zu finden
- Sie mache die Suche nach Schwachstellen unauffälliger
- Sie helfe ihnen, Anwendungen auszuwählen, deren Angriff sich besonders lohne
- Die Gegenargumentation konzentrierte sich darauf, dass das Schema nicht der Ort ist, an dem man SQL-Injection-Schwachstellen findet
- SQL-Injection-Schwachstellen findet man nicht im Datenbankschema, sondern in den SQL-Abfrage-Templates des Anwendungsquellcodes
- Gegenstand der Anfrage war nicht der Quellcode, sondern ein Schema, das eher den Kopfzeilen von Tabellen ähnelt
- Angreifer können ein Schema per SQL-Injection auslesen; das Schema ist eher Ergebnis eines Angriffs als dessen Voraussetzung
Die Entscheidungen der ersten Instanz und der Berufung
- In erster Instanz gewann Matt Chapman
- Chicago legte sofort Berufung ein, und Matt Chapman erhielt das CANVAS-Schema nicht
- Das Berufungsgericht behandelte die Rechtsfragen unter der Prämisse, dass die erste Instanz primär für Tatsachenfeststellungen zuständig ist
- Beim Risiko durch Offenlegung ging es um den Maßstab von „would jeopardize“
- „could“ bedeutet, dass etwas in einem vorstellbaren Sinn passieren könnte
- Der rechtliche Maßstab von „would“ wurde als klarer Nachweis eines Schadens beschrieben, der beim Richter keinen begründeten Zweifel zurücklässt
- Das Berufungsgericht entschied in die Richtung, dass die Schadenswahrscheinlichkeit sehr hoch sein müsse
- Das Berufungsgericht befasste sich damit, ob die einschränkende Formulierung der Ausnahmeregelung nur für „any other information“ gilt oder für die gesamte Ausnahme „Administrative or technical information“
- Gilt sie nur für „any other information“, sind file layouts und Ähnliches als solche ausgenommen
- Gilt sie für die gesamte Ausnahme, kann Matt Chapman bereits durch die Tatsachenfeststellung gewinnen, dass eine Offenlegung die Sicherheit nicht gefährdet
- Das Berufungsgericht sah die einschränkende Formulierung als auf die gesamte Ausnahme anwendbar und entschied zugunsten von Matt Chapman
Die Kehrtwende vor dem Illinois Supreme Court
- Chicago legte erneut Rechtsmittel ein, und der Fall ging an den Illinois Supreme Court
- Der Illinois Supreme Court entschied bei der Auslegung der FOIA-Ausnahme anders als das Berufungsgericht
- Die einschränkende Formulierung gilt nur für „any other information“
- Die übrigen Punkte sind als solche ausgenommen
- Dadurch wurde die Frage entscheidend, ob ein SQL schema ein file layout ist
- Dagegen wurde eingewandt, dass Schema und file layout technisch verschieden sind
- Dasselbe SQL schema kann von mehreren Datenbank-Engines genutzt werden
- Jede Datenbank-Engine verwaltet die Ergebnisdaten mit einem anderen underlying file layout
- Das McGraw-Hill Dictionary of Scientific & Technical Terms, 6E definiert file layout als „Beschreibung der Anordnung von Daten in einer Datei“
- Ein SQL schema ist eher eine Abstraktion, die gerade davon entkoppelt, über die tatsächliche Anordnung der Daten nachzudenken
- Der Illinois Supreme Court verwendete auch Merriam-Webster Online Dictionarys Definition von schema als „structured framework or plan: outline“
- Das Gericht entschied, der Unterschied liege nur im Namen
- Im Ergebnis wurde das Schema als file layout behandelt, und Matt Chapman verlor
Aktueller Stand und SB0226
- Derzeit können öffentliche Stellen in Illinois die Offenlegung von Datenbankschemata verweigern
- Je stärker Daten in spezialisierte Anwendungen wandern, desto häufiger müssen Datenbankabfragen per FOIA beantragt werden, um an Basisdaten zu kommen
- Es bleibt das Problem, dass Datenbanken nicht zu einem sicheren Hafen werden sollten, mit dem Kommunalverwaltungen die Offenlegung öffentlicher Informationen vermeiden können
- SB0226 soll dem FOIA Formulierungen hinzufügen, die öffentliche Stellen verpflichten, ausreichende Beschreibungen der Struktur aller von ihnen verwalteten Datenbanken bereitzustellen
- Ziel ist, Antragstellern zu ermöglichen, öffentliche Stellen zur Ausführung konkreter Datenbankabfragen aufzufordern
- Der Gesetzentwurf knüpft in weiten Teilen an die Linie an, mit der Matt Chapman dieses Problem weiter thematisiert hat
1 Kommentare
Meinungen auf Hacker News
Ich bin der Kläger in diesem Verfahren. Ich schreibe auch noch an einem Begleitbeitrag zu tptaceks Text, der bald fertig sein sollte; bis dahin könnt ihr hier Fragen stellen.
Während ihr wartet, lohnt sich auch ein Blick auf diesen älteren Beitrag: https://mchap.io/that-time-the-city-of-seattle-accidentally-...
Man sollte aber im Hinterkopf behalten, dass Matt selbst mit Unterstützung von Loevy and Loevy, einer der landesweit besten Kanzleien für Bürgerrechte, technisch gesehen verloren hat. Das zeigt, wie absurd schwierig es ist, gegen eine Stadtverwaltung zu kämpfen – und ohne Anwalt ist es noch schlimmer.
Was uns helfen würde, ist, wie im Artikel vorgeschlagen, das Gesetz zu ändern. Wenn der oberste Gerichtshof des Bundesstaats einmal entschieden hat, ist es ohne Gesetzesänderung vorbei, und Illinois hat eine lange Geschichte häufiger Änderungen am FOIA-Gesetz. Einige davon gingen allerdings nicht in Richtung mehr Öffentlichkeit, sondern stärkten eher die Geheimhaltung von Informationen.
Eine weitere nötige Änderung wäre, Behörden, die solche Kämpfe verlieren, deutlich härter zu bestrafen. In Illinois läuft es im Wesentlichen auf eine zivilrechtliche Geldbuße von 5.000 Dollar gegen die Behörde hinaus. Was genau eine zivilrechtliche Geldbuße ist, ist zudem unscharf definiert; früher ging sie an den Kläger, aber in späteren Verfahren, die ich geführt habe, wurde das Geld einfach an den County gezahlt. Wie ein Staatsanwalt einmal sagte: „Es ist egal, ob ich verliere, dann schreibe ich eben mir selbst einen Scheck.“
Und schließlich: Man sollte vorsichtig sein, was man in einem Verfahren erreichen will. Es kann ein Berufungsurteil entstehen, das genau das, wogegen man kämpft, rechtlich festschreibt. Das ist niemandes Schuld, passiert aber tatsächlich. Ich habe selbst einmal ein absurdes Urteil erwirkt, das die Rechte von Gefangenen nicht stärkte, sondern abschaffte.
'); SELECT col FROM loginsausführen kann, als Spaltennamen erraten zu müssen?Auch der Einschätzung des Gerichts zu Schema und Dateianordnung kann ich nicht wirklich widersprechen. Ein Schema ist nicht die Dateianordnung selbst, aber ähnlich: Es zeigt, wie „Dateien“ (Datensätze) in einem „Dateisystem“ (Datenbanktabellen) angeordnet sind. Denormalisierung etwa ähnelt sehr stark dem Inline-Speichern von Daten in einem Dateidatensatz. Auch die Sichtweise, dass ein Dateisystem im Grunde eine Datenbank ist, ist gut bekannt. Ich frage mich, wie man behaupten kann, die beiden seien nicht ähnlich.
Mich würde interessieren, was du als nächsten Schritt siehst.
Ich bin der Meinung, dass die Stadt das Schema herausgeben sollte und sich im Grunde auf Security through Obscurity beruft, aber der zentralen Prämisse des Artikels – „Ein SQL-Schema zu kennen hilft Angreifern nicht“ – stimme ich nicht zu.
Ich habe die Argumentation so verstanden: „Angreifer rekonstruieren mit SQL-Injection-Angriffen das SQL-Schema. Das Schema ist nicht die Voraussetzung des Angriffs, sondern dessen Ergebnis.“ Das klingt, als könne man das Schema ohnehin rekonstruieren, sobald man eine Schwachstelle findet, aber das stimmt nicht immer. Manche SQL-Injections können nur einen Teil der Daten aus der aktuell abgefragten Tabelle holen und nicht andere Tabellen wie
information_schema. Wenn das Signal aus der Schwachstelle nur „Abfrage fehlgeschlagen“ oder „Abfrage erfolgreich, Daten zurückgegeben“ ist, lässt sich die Schwachstelle mit bekanntem Schema sehr viel leichter ausnutzen.Wenn fehlgeschlagene Datenbankabfragen separat protokolliert werden, sind Injections, die ein rund um die Uhr laufender Angriff finden kann, wahrscheinlich bereits gepatcht. Dann bleiben die Logs möglicherweise unauffällig, bis ein tatsächlicher Injection-Punkt gefunden wird – etwa eine Schwachstelle, die nur für eingeloggte Nutzer existiert und von Bots nicht entdeckt wird. In diesem Fall hätte man Zeit, sie zu sehen und zu beheben, bevor ein Angreifer tatsächlich herausfindet, wie er sie ausnutzen kann.
Das Schema zu kennen beschleunigt nicht nur die Ausnutzung einer Schwachstelle, sondern erhöht auch die Chance, eine Injection von Anfang an zu erkunden, ohne fehlgeschlagene Abfragen zu erzeugen.
Der Maßstab sollte nicht lauten: „Alle hilfreichen Informationen werden zensiert“, sondern: „Code, der Passwörter oder Backdoors offenlegt, darf nicht veröffentlicht werden.“ Ein Schema kann nicht in diese Kategorie fallen.
Trotzdem habe ich tatsächlich an Anwendungen gearbeitet, bei denen das Wissen um das Schema bei Datenabfluss geholfen hätte, auch ohne vollständige Injection. Das offensichtlichste Beispiel ist, wenn Abfragen auf Basis von URL-Parametern gebaut werden, diese Parameter aber nicht über eine Allowlist eingeschränkt sind.
Daher stimme ich zu, dass ein Schema Angreifern einen gewissen Vorteil verschaffen kann.
https://brutecat.com/articles/leaking-youtube-emails
Deshalb halte ich diese Argumentation nicht für stichhaltig.
In den Server-Logs gab es nichts, was auf einen Fehler hindeutete.
Auch die meisten eher einführenden SQL-Injection-Übungen, die ich unterrichtet habe, liefen ohne Kenntnis des Schemas ab. Genau deshalb ist SQL-Injection so raffiniert und gefährlich.
Kurt hat das gepostet, um mich zu ködern. Man sollte wissen, dass die ursprünglich adressierte Leserschaft größtenteils aus Nicht-Technikern bestand, die sich in der Kommunalpolitik meiner Region Chicagoland engagieren.
Als eine Art öffentliche Durchsage zur Lokalpolitik: Sich in der Bundespolitik zu engagieren, ist so trostlos und entkräftend wie ein Insekt, das gegen die Scheibe eines Wolkenkratzers prallt. Lokalpolitik dagegen reagiert sehr stark. Ich habe mit Freizeit und nahezu ohne Kosten echte Ergebnisse erzielt und sogar geholfen, ein Gesetz zu verabschieden. Das unterscheidet sich dramatisch von der Bundespolitik.
Erstaunlich ist vielerorts, dass Lokalpolitik stark über Message Boards läuft. Diese Boards sind vielleicht nicht der Ort, an dem ihr gern sein wollt, und besonders häufig sind Facebook-Gruppen, aber damit muss man leben. Wenn ihr gern in Communities wie HN mitmacht, könnt ihr euch auch politisch engagieren, und schon durch Aktivität in solchen Foren kann man Dinge voranbringen.
Tatsächlich ist das auch innerhalb der USA oft der Fall. Nur lokale Regierungen mit Home-Rule-Befugnissen können zu jedem Thema Verordnungen erlassen, solange sie nicht mit bundesstaatlichem oder Bundesrecht kollidieren; andere lokale Regierungen dürfen nur zu bestimmten Themen Regelungen erlassen, die der Landtag erlaubt hat. Manche Bundesstaaten geben allen Countys und Gemeinden Home Rule, manche gar keinen, manche nur einigen. In Texas zum Beispiel kann eine Gemeinde Home-Rule-Befugnisse erhalten, nachdem sie 5.000 Einwohner erreicht und die Zustimmung der Wähler bekommen hat.
Außerdem würde mich interessieren, ob du gute Ressourcen verlinken kannst, auf Facebook oder anderswo, für Leute, die sich stärker in der Politik von Chicago engagieren wollen. Ich habe früher danach gesucht, aber nur sehr begrenzt etwas gefunden.
Ist es nicht absurd, dass der Supreme Court und das Berufungsgericht bei einer Frage der Satzstruktur auseinanderlagen? Unabhängig davon, dass so etwas häufig vorkommt: Die Auslegung „alle Datei-Platzierungen und sonstigen Dinge fallen darunter, aber diese sonstigen Dinge nur, wenn sie schädlich sind“ wirkt auf mich persönlich unsinnig. Es ist seltsam, dass man damit leben kann, wenn Gesetzestexte völlig mehrdeutig bleiben.
Ich weiß, dass solche Unschärfen für Gerichte vorteilhaft sind, weil sie ihnen Ermessensspielraum verschaffen, und ich weiß auch, dass Gesetzessprache trotz mutiger Versuche nicht in eine „formal vollständige“ Sprache verwandelt werden kann. Ich weiß, dass Recht chaotisch ist und von fehlbaren, naiven Menschen geschrieben wird.
Aber wenn die grundlegende Satzstruktur im Gesetzestext selbst für Gerichte nicht klar ist, ist dann nicht das ganze System schon an der ersten Hürde gescheitert?
Üblicherweise lautet die Antwort, Gesetze müssten eindeutig formuliert werden, aber das ist leichter gesagt als getan. Außerdem sind sich die Gesetzgeber selbst manchmal nicht vollständig einig, sodass sie manche Formulierungen absichtlich vage lassen, damit Gerichte sie auslegen.
Bin ich der Einzige, den es etwas irritiert und beunruhigt, dass die Source-Code-Ausnahme so ausdrücklich hineingeschrieben wurde?
Man kann sich leicht ein Szenario vorstellen, in dem eine Stadt bestimmte Software intern entwickelt und unerwünschte „Voreingenommenheiten“ oder andere Elemente im Source Code versteckt.
Man müsste nicht einmal alles von Grund auf neu bauen. Es würde reichen, Komponenten von Drittanbietern unter permissiven Lizenzen zu patchen und zu verwenden.
Meiner Ansicht nach geht der vorgeschlagene Änderungsantrag nicht weit genug.
Es ist dasselbe Problem, das Leute haben, die ein geschlossenes Projekt in Open Source überführen wollen. Überall ist proprietärer Code eingeschlossen, bei dem Entwickler und Kunden nur das Nutzungsrecht haben, aber nicht das Recht, den Source Code zu teilen.
Selbst Projekte, die von Anfang an ohne direkte kommerzielle Interessen, etwa wie bei staatlichen Auftragnehmern, stark Open-orientiert entwickelt wurden, können dieses Problem haben. Die Probleme, die der Linux-Kernel bei der Unterstützung von ZFS oder von binären Blob-Treibern im Kernel-/User-Space hat, sind gut bekannt.[1]
Paradoxerweise will Information einerseits frei sein, und wirtschaftlich wird Open-Source-Software im Laufe der Zeit geschlossene Wettbewerber verdrängen. Aber ein Projekt in Open Source zu überführen, ist selbst teuer und manchmal unbezahlbar, sodass alte Tools nicht veröffentlicht werden können, selbst wenn Maintainer und Unternehmen das wollen. Allein die Rechtsabteilung einzuschalten und die Rechteinhaber jeder Komponente zu finden, bringt die meisten Maintainer zum Aufgeben.
Wenn die Regierung in Verträgen verlangen würde, dass Anbieter im gesamten Dependency Tree nur Open-Source-Komponenten verwenden, könnten die Kosten sehr hoch werden. Für viele Abhängigkeiten gibt es keinen gleichwertigen Open-Source-Ersatz, oder den offenen Alternativen fehlen Funktionen der geschlossenen Varianten, sodass Budget nötig wäre, um die Lücken zu schließen. Kurzfristig würde kein Parlament solche Mehrkosten akzeptieren, langfristig aber hätte die Öffentlichkeit etwas davon.
[1] Es stimmt, dass das Kernel-Problem größtenteils eine Funktion der GPL ist. Bei permissiveren Lizenzen wie Apache 2 oder MIT hätte es solche Probleme nicht gegeben, und auch die BSD-Familie hatte keine Schwierigkeiten mit ZFS-Unterstützung. Allerdings liegt die Position, dass öffentliche Anwendungen von Regierungen grundsätzlich Open Source sein sollten, lizenzseitig näher an der GPL als an MIT. Andernfalls könnten Anbieter die tatsächlich wichtigen Teile als „vendored“ binären Blob-Code mitbringen und in den öffentlichen Komponenten nur ein bedeutungsloses Gerüst belassen, um die Anforderungen zu erfüllen.
Allerdings kann ein solches Urteil einen abschreckenden Effekt haben.
Soweit ich mich erinnere, hatte die inzwischen gescheiterte vorige deutsche Koalitionsregierung das in ihr Programm aufgenommen, es aber nicht umgesetzt. Vielleicht macht es die neue Regierung.
Ein sehr interessanter Text.
Es wirkt absurd, die Offenlegung des Schemas als schutzwürdigen Gegenstand zu betrachten. Wenn es so ist wie beschrieben, wird ein magisches Ergebnis möglich nach dem Motto: „Weil es in der Datenbank ist, kann man gar nichts wissen, und wenn man nicht sagen kann, wie man es findet, ist man erledigt.“
Aus Sicht von jemandem, der in einem kleinen Unternehmen mit vielen Kunden arbeitet, möchte man das Datenbankschema zwar nicht einfach herausgeben, aber man bemüht sich trotzdem, die gewünschten Daten der Kunden zu finden und bereitzustellen, statt abzulehnen.
Für das cleartap.com-Projekt habe ich per FOIA mehr als eine Million Seiten Dokumentation zu Wasserqualitätsdatenbanken in den USA angefordert.
Die meisten Bundesstaaten verlangten nur geringe Beträge für das Zusammenstellen der Dokumente.
Michigan verlangte 50.000 Dollar für die FOIA-Anfrage. Ich vermute, wegen der Bleikontamination in Flint. Es wirkte, als wolle man mich zum Aufgeben bringen.
Das Projekt ist großartig.
„Hole alle Daten zu Parktickets, die für Bob O ausgestellt wurden, und außerdem alle übrigen Informationen in der Datenbank sowie die Passwörter aller Personen.“
Das ist ein in Klartext-Englisch geschriebenes Beispiel für SQL Injection, aber dabei ist auch „everyone's“ problematisch, weil dort ebenfalls ein verwaistes einfaches Anführungszeichen entsteht. Wenn „Bob O'Conner“ böse ist, dann ist „everyone's“ ebenfalls böse.
„Auch der Source Code der Programme, die sie ausführen, kann im Allgemeinen nicht per FOIA angefordert werden.“
Leider sollte genau dieser Punkt nach FOIA rechtswidrig sein.
Source Code sollte Open Source und überprüfbar sein. Wenn er unter eine FOIA-Ausnahme fällt, umgeht das das öffentliche Vertrauen in den Softwareeinsatz der Regierung.
Mich würde interessieren, wo und wie Gerichte über solche Fragen bereits entschieden haben.
Es kann auch tatsächlich Geschäftslogik von Behörden geben, die sie geheim halten wollen und rechtlich geheim halten dürfen. Bei der im Originaltext erwähnten Parkticket-Datenbank könnte der Source Code der Software, die mit dieser Datenbank kommuniziert, etwa Logik enthalten, die auswählt, wann und wo Parkraumüberwacher „zufällige“ Schwerpunktkontrollen durchführen.
Solche Punkte haben mich davon abgebracht, Jura zu studieren. Ein großer Teil von Gerichtsverfahren wirkt wie Kabuki-Theater: weniger wie Rhetorik, um zu einem gerechten oder logischen Ergebnis zu gelangen, sondern eher wie Rhetorik, die einer Person mit Autorität einen Vorwand liefert, eine Entscheidung zu treffen, die sie schon vor der Verhandlung treffen wollte.
Jemand könnte legitimerweise ein System ähnlich einer Web-Firewall bauen, das Keywords wie
information_schemain HTTP-Requests und deren kodierte Varianten durchsucht. So etwas ist immer ein Hacking-Versuch und kann blockiert werden. Wenn man das Schema bereits kennt, kann man die Abfrage erstellen, ohne diese Hürde zuerst umgehen zu müssen. Ist es wahrscheinlich, dass das eine ernsthafte Barriere ist? Nein. Hat das etwas mit Egozentrik zu tun? Das sieht nicht so aus.Zu sagen, es habe marginalen Wert, lediglich im Sinne von „randständig“, also nicht zentral und nicht wichtig genug, um darüber zu diskutieren, scheint zutreffend. Aber wenn man nur die Wahrheit sagt, bläst die Gegenseite das auf und versucht, das Gericht zu überzeugen: „Sehen Sie, selbst deren Experte sagt, es habe einen Wert.“ Also kommt man zu dem Schluss, der Experte hätte einfach sagen sollen, es habe „keinen Wert“. Ich halte diese Aussage für falsch, aber nur so minimal falsch, dass es schwer ist zu beweisen, dass die Gegenseite nicht völlig recht hat. Am Ende ist die weniger präzise Formulierung in diesem Gerichtssaal vorteilhafter, und Rhetorik wird genauso wichtig wie die Rolle des Experten.