Blog: Hvilken idiot fik den ide ?

Der er ingen relevant forskel på Windows autorun.inf, SQL injections og den totalt roelamme idiotiske ide at environment variabler skal kunne exekveres i /bin/bash.

Alle tre ting baserer sig på den samme fundamentale hjerneblødning: At exekvere data som kode uden at være blevet bedt om det.

Og længere er den ikke.

Software Tools filosofien gør meget ud af at der kan være fordele ved at behandle programmer som data, f.eks til at lade andre programmer analysere en kildetekst for problemer og fejltagelser.

Men der er aldrig nogen der nogensinde i ramme alvor har argumenteret for fornuften i at behandle data som programmer og give sig til at exekvere alt hvad der ligner noget exekverbart uden at nogen har bedt om det.

Microsoft gjorde det i Windows, fordi “det skulle være ekstremt brugervenligt” og derfor har vi idag en tabt generation der klikker på hvad som helst der dukker op på skærmen, uden overhovedet at tænke på hvad de ønsker eller kan opnå eller risikere derved.

SQL injections skyldes det forudsigelige impedans-mismatch når man indlejrer et programmeringssprog i et andet. Det var en dum ide i 1980erne og det er en dum ide idag.

Her er en god grundregel hvis du er i tvivl: Hvis det ikke ligger i en fil med ‘x’ bit, skal du ikke exekvere noget uden explicit at være blevet bedt om det.

phk

PS: For folk med det rigtige ordforråd lyder reglen: “There is no ambient authority for execution”.

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>