Maak geen grappen met NULL

Een waardig vrijdagverhaal gebeurde met de Amerikaanse beveiligingsonderzoeker Joseph Tartaro. Hij wilde zich onderscheiden door niet alleen een persoonlijk kenteken te bestellen, maar dit ook te verbinden met zijn beroep. Zijn eerste gedachte was om te spelen met SEGFAULT of iets dergelijks. Maar uiteindelijk besloot hij voor het kenteken NULL voor zijn auto en VOID voor zijn vrouw te gaan. Voelden jullie de onraad? Over hoe zijn onschuldige grap hem in de problemen bracht, een andere curieuze mister Null en de leerzame bugs bij typechecks in gebruikersinvoer, lees verder.

Maak geen grappen met NULL

In 2016 kreeg onze programmeergrappenmaker zijn splinternieuwe leuke kentekens en wreef hij vastelijk in zijn handen. Hij had zelfs de hoop dat deze zet hem van boetes zou vrijwaren. Niet dat hij veel overtredingen maakte, maar het idee om het systeem op deze manier te omzeilen leek een interessante uitdaging voor een beveiligingsexpert.

De problemen begonnen een jaar later, toen hij probeerde zijn kentekens online te verlengen. En dat zorgde voor verwarring op de webpagina die hiervoor was bedoeld.

Maak geen grappen met NULL

Het systeem beschouwde het door hem ingevoerde nummer als ongeldig. De programmeurs hadden ergens de mist in gegaan, en de ingevoerde NULL als tekstwaarde werd blijkbaar niet correct gecontroleerd. Een fout in de niet-strikte typecontrole? Hoe dan ook, hij slaagde erin om het nummer met een code in de link voor een jaar te verlengen, en daarna bracht hij het allemaal in de vergetelheid.

Maar dit bleek verre van de problemen te zijn. De rest van het verhaal deed denken aan een oude mop:

Een soldaat probeert ergens op het veld de afgevallen rupsband van een tank te repareren. Plotseling verschijnt er uit het niets een fee en vraagt:
— Waar ben je mee bezig, soldaat?
— Nou, ik probeer wat.
— Wil je het echt doen?
— (droomachtig) Ja, ik wil…
De fee zwaaide met haar toverstok... En de toren van de tank viel eraf.

In het begin van 2018 kreeg hij een volkomen terechte boete van $35. Hij had deze kunnen aanvechten, maar het was eenvoudiger om te betalen, aangezien het bedrag klein was. En toen zwaaide de fee met haar toverstaf... En de brievenbus vulde zich met boetes voor onbetaald parkeren, verkeerd staan en andere soortgelijke ellende. Tientallen en tientallen boetes van bedragen $37, $60, $74, $80... Uit totaal verschillende hoeken van Californiƫ. Voor totaal verschillende autotypen. Door een foutieve typetests was de waarde NULL in de database gekoppeld aan zijn persoonlijke gegevens. En elke keer dat de dappere ordehandhaver vergat het kenteken van de auto in het systeem in te voeren bij het uitschrijven van de boete, ging de prijs naar onze held (hier hadden ze ook de front-end ontwikkelaars moeten aanspreken voor het ontbreken van een controle op de invulling van een van de sleutelparameters).

Op een gegeven moment ontving hij twee boetes, die op dezelfde plaats waren uitgegeven met enkele uren tussenpoos voor totaal verschillende autotypen. Voor extra geluk werden oude boetes zonder kenteken retroactief op hem toegepast. Zo kreeg hij zelfs boetes uit 2014, toen hij dat nummer nog niet eens had. Uiteindelijk had hij boetes voor meer dan $12000 aan zijn broek hangen.

Maak geen grappen met NULL

De parkeerboetes werden behandeld door een privƩbedrijf, het Citation Processing Center. Natuurlijk nam Joseph contact met hen op en probeerde de situatie uit te leggen. Natuurlijk ging de manager aan de telefoon subtiel niet op de zaak in en vroeg hem om de kwitanties terug te sturen, zodat zij het konden uitzoeken. Maar dat zou betekenen dat hij de enige fysieke kopie, die de onjuistheid van de boete bevestigde, zou verliezen. En gelukkig heeft hij dit niet verstuurd. Later merkte hij op dat in de openbare database van boetes, die online toegankelijk is, het oorspronkelijke model van de auto was vervangen door dat van hem. Weer een ronde gesprekken met managers, even zo nutteloos.

Uiteindelijk moest hij rechtstreeks contact opnemen met het DMV (Department of Motor Vehicles, instantie voor voertuigregistratie) en met hun hulp slaagde hij erin om het bedrag vrij snel te verlagen tot $6262, maar dit loste het oorspronkelijke probleem niet op. Nieuwe boetes bleven binnenkomen. Op de datum van het schrijven van het oorspronkelijke artikel in Wired stonden er 2 onbetaalde boetes open voor een totaalbedrag van $140. Het trieste is dat het DMV hem weigert om zijn kentekenplaten voor een volgend jaar te verlengen, zolang de boetes niet zijn betaald. Bovendien is het niet heel duidelijk waar hij naartoe moet gaan en wie hij moet aanspreken om dit probleem op te lossen. Het DMV merkt op dat hun systeem zijn kentekens correct herkent en de absurditeit van de situatie begrijpt. Echter, de kwestie van parkeren wordt beheerd door de lokale autoriteiten, waarop zij geen invloed kunnen uitoefenen. Dus het verhaal kan nog steeds een vervolg krijgen. Dit was geen geslaagde grap.

Mr. Null

Nog slechter verging het Christopher Null. Hij had pech dat hij met die achternaam geboren werd. Terwijl Joseph Tartaro alleen maar met boetes kampt, die ongeveer het afgelopen jaar zijn opgedoken, duikt Christopher permanent dieper in de put van ellende naarmate de digitale technologieƫn zich verder ontwikkelen.

Vooral bezorgt de wijdverspreide MVP-concept (minimum viable product, minimaal levensvatbaar product) hem ongemak, dat in sommige gevallen letterlijk samenvalt met het idee van ā€˜hup-hup, en we zijn in productie’.

Zelfs als je alle grapjes van basisschoolniveau over zijn achternaam en beschuldigingen, dat hij op deze manier aandacht probeert te trekken (wat een goede manier is als je een technisch journalist bent, wat Christopher is) negeert, ontstaan er vreemde situaties bij het werken met bepaalde websites en applicaties.

Volgens Christopher verwerken de meeste websites de achternaam Null correct. Sommige geven echter een foutmelding dat het veld niet leeg mag zijn, of dat dit een gereserveerd woord is. In zeldzame gevallen vallen applicaties gewoon weg. Interessant is dat, volgens zijn waarnemingen, hoe groter het bedrijf achter de applicatie of website is, hoe meer problemen er zijn met zijn achternaam.

Het is bijzonder dat zijn dat filtering null-waarden uit de reeds opgeslagen gegevens verwijdert. Soms ontvangt hij brieven gericht aan Media LLC (terwijl de bedrijfsnaam Null Media LLC is), en soms wordt hij in spamberichten gewoon als 'Mr.' aangesproken. Hij moest zelfs omwegen vinden. Bijvoorbeeld, zijn tweede naam of initiaal in hetzelfde veld als zijn achternaam zetten, of gewoon een punt aan het eind toevoegen. Maar soms blijkt het koppige systeem onoverwinnelijk.

Bank of America weigerde ten stelligste zijn e-mail null@nullmedia.com te accepteren. Hun systeem weigerde simpelweg null in het gebruikersdeel van het adres te accepteren, dat leidde ertoe dat er speciaal voor de bank een alias info@ moest worden gemaakt. Maar de banksoftware ontwikkelde zich actief en na enkele jaren... stopte met het accepteren van null zelfs als deel van de domeinnaam. Arme man moest een gewone Gmail-account aanmaken voor de hardnekkigen. Ook die bevatte null, maar niet aan het begin van de gebruikersnaam.

Bent u ooit tegen vreemde situaties aangelopen bij het verwerken van systeemwaarden? Deel uw ervaringen in de reacties.

Bedankt dat je bij ons blijft. Vind je onze artikelen leuk? Wil je meer interessante inhoud zien? Steun ons door een bestelling te plaatsen of ons aan vrienden aan te bevelen. 30% korting voor Habr-gebruikers op een unieke variant van entry-level servers, speciaal voor jou ontworpen: De volledige waarheid over VPS (KVM) E5-2650 v4 (6 cores) 10GB DDR4 240GB SSD 1Gbps vanaf $20 of hoe deel je een server correct? (opties beschikbaar met RAID1 en RAID10, tot 24 cores en tot 40GB DDR4).

Dell R730xd voor de helft van de prijs? Alleen bij ons 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB vanaf $199 in Nederland! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — vanaf $99! Lees over hoe je een infrastructuur van bedrijfsniveau kunt opbouwen met Dell R730xd E5-2650 v4 servers die wel €9000 kosten voor een prikkie?

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster