Jon, jeg tror ikke vi er på ARPANET mere...

Det er som regel Vint Cerf der bliver omtalt som Internettets bedstefar og ikke uden god grund.

Men den virkelige GodFather var Jon Postel der med hård og kærlig hånd var redaktør på RFC-dokumenterne.

I RFC760, den oprindelige specifikation af IP protokollen, skrev Jon Postel meget fremsynet:

In general, an implementation must be conservative in its sending behavior, and liberal in its receiving behavior.

Efterfølgende fik dette design princip navnet Postels Law og i Internet kredse har det indtil nu været en central ortodoxi.

Da Piet Beertema lavede sin "Kremvax" aprilsnar i 1984 kunne alle regne ud hvordan han havde gjort det.

Men det fik ikke nettet til at implementere kryptografisk signerede emails eller ingress filtre for det ville da være total spild af tid, man kunne jo stole på folk på nettet.

Min gode ven Jordan Hubbard opsummerede holdningen fint i afslutningen af hans undskyldning for hans "rwall broadcast":

The only other alternative would be to tighten up all the IMP gateways to forward packets only from "trusted" hosts. I don't like that at all, [...]. Many perfectly well-behaved people would suffer for the potential sins of a few.

Få år senere, i 1994, spammede et par USAnske advokater af værste sorte alle de newsgrupper de kunne komme til med et tilbud om Green Card assistance.

1994 var i det hele taget et vendepunkt for nettet, det var året hvor Cheswick & Bellowins bog om firewalls udkom og det var naturligvis året FreeBSD 2.0 og Linux 1.0 hvilket bragte en dot-Com server indenfor enhvers budget[1].

Idag kan stort set alle systemiske problemer på nettet, fra spam-mail til DoS angreb, spores direkte tilbage til Postels Lov.

Det lader også til at der langt om længe er stemning for et opgør med Postels Lov, i hvert fald har Mozillas Martin Thomson i et års tid brygget på en skitse til en kommende RFC.

Den første version af dokumentet hed slet og ret "Jon Postel was wrong" mens anden version, fra denne sommer, har den mere afdæmpede titel "The Harmful Consequences of Postel's Maxim"

Om dokumentet nogensinde bliver en officiel RFC må tiden vise, men på dagens netværk er visdommen i indholdet indiskutabel.

Man må spørge sig selv hvorfor det skulle tage 22 år før nogen i IETF tog tilløb til et opgør med Postels Lov og det naturlige opfølgende spørgsmål er, hvad sker der lige nu som IETF først reagerer på når det er alt for sent?

Klimaforandringerne er helt klart en sådan ting.

Jeg har personligt spurgt IAB og adskellige ping'er, men de nægter alle at energieffektivitet og CO2 udslip har noget med computernetværk at gøre, selvom alt tyder på at Internettet, bredt forstået, idag er en af de store kilder til drivhusgasser.

Kryptografi er et andet godt bud.

USAs vice-stats-anklager holdt en tale forleden, hvor han skar situationen ud i pap. Desværre ikke for IETF og IT-liberalisterne, men for en utvivltsomt delvist måbende forsamling kadetter på US Naval Academy.

Essensen i hans tale er flg. tre soundbites:

"If companies are permitted to create law-free zones for their customers, citizens should understand the consequences. When police cannot access evidence, crime cannot be solved. Criminals cannot be stopped and punished."

"Responsible encryption can protect privacy and promote security without forfeiting access for legitimate law enforcement needs supported by judicial approval."

"There is no constitutional right to sell warrant-proof encryption. If our society chooses to let businesses sell technologies that shield evidence even from court orders, it should be a fully-informed decision."

Dette kan kun læses som et advarselsskud for boven af de store firmaer der pt. pusher ubrydelig krypteringer over alt: "Styr jer, eller vi politikere kommer og gør det."

Eller måske, taget i betragtning hvor han holdt talen: "IETF and what Navy?"

phk

[1] IPng, senere IPv6, er også fra 1994.

Kommentarer (28)
Poul-Henning Kamp Blogger

Kan du ikke forklare sammenhængen. For jeg kan ikke lige se den.

Spam-mail kan lade sig gøre fordi der ikke er skyggen af afsendercheck i SMTP: Hvis der åbnes en maskine og afsenderen påstår at være USSR's generalsekretær, så er/var SMTP programmer "liberale" nok til at tro blindt derpå.

(I de senere år er man begyndt at tilføje mekanismer så dette problem kan undgås, men de er meget langt fra allestedsnærværende.)

De fleste DoS angreb udnytter designsvagheder i protokoller, ofte svaghedder man har kendt til i årtier, men intet gjort ved fordi "Hvorfor skulle nogen dog gøre det ?"

Magnus Jørgensen

Spam-mail kan lade sig gøre fordi der ikke er skyggen af afsendercheck i SMTP: Hvis der åbnes en maskine og afsenderen påstår at være USSR's generalsekretær, så er/var SMTP programmer "liberale" nok til at tro blindt derpå.

Men hvis man er en liberal modtager kan man vel afvise afsendere der ikke kan tjekkes om afsendere er hvem vedkommende påstår. Hvis der er mulighed for at SMTP protokollen kan bruges til identifikations tjeck, så kan man jo vælge at bruge den hvis man er en liberal mail modtager. Hvis SMTP protokollen ikke har denne mulighed så er det jo protokollen der er et problem og ikke Postels lov.

De fleste DoS angreb udnytter designsvagheder i protokoller, ofte svaghedder man har kendt til i årtier, men intet gjort ved fordi "Hvorfor skulle nogen dog gøre det ?"

Har du et eksempel på dette?

Yoel Caspersen Blogger

Har du et eksempel på dette?

Jeg tillader mig lige at komme med et eksempel her: DNS amplification attacks, hvor man sender en lille pakke til en DNS-server, som svarer med en større pakke.

DNS-serveren svarer dog til den afsender-adresse, man har på den oprindelige forespørgsel, og fordi de færreste internetudbydere har egress filtrering, vil man kunne spoofe afsender-adressen.

Derved kan man med relativt lille båndbredde sende en masse forespørgsler til DNS-servere rundt omkring, som herefter tilsammen sender en stor datamængde til den IP-adresse, man har spoofet som afsender.

Magnus Jørgensen

Derved kan man med relativt lille båndbredde sende en masse forespørgsler til DNS-servere rundt omkring, som herefter tilsammen sender en stor datamængde til den IP-adresse, man har spoofet som afsender.

Jeg kan bare ikke se hvordan det kan være Postels lov der er problemet. Hvis en protokol er mangelfuld hvordan kan det så være en modtagers fejl hvis denne ikke har implementeret protokollen fuldt?
Selv hvis den blev implementeret fuldt ville problemet jo stadig være der.

Jesper Louis Andersen

Jeg kan bare ikke se hvordan det kan være Postels lov der er problemet

En liberal modtager i en protokol kan drilles og kildes under tæerne. Du kan give data der er på kanten af at være gyldigt og det åbner en masse kedelige døre. Enten viser det sig som sikkerhedsfejl. Mange TLS-fejl handler om at nedgradere protokollen ved at snyde med forhandlingen af kryptosystem. En anden mulighed er at programmet bliver overordentligt svært at skrive. Vi accepterer for eksempelt ugyldigt HTML i vilden sky. Det koster en masse kompleksitet i browseren, der allerede er for tung. Pointen er at fleksibilitet skal styres. Det går ikke at skrue op indtil systemet er 100% dynamisk og fleksibelt. Og det er sådan set det Postel's princip kan lægge op til.

Det rammer også fint i tråd med PHKs energiforbrug: vi vælger hele tiden løsningerne uden at tage hensyn til den regnekraft vi udsætter systemer for. Cloud computing sætter en pris på en udført instruktion. Men det tillader også frit brug af resourcer, så længe der er overskud i banken. Postel's princip leder ofte til en masse ekstra databehandling.

Mht til kryptering, så er det et glimrende eksempel på at juraen er nødt til at tilpasse sig teknologien. Hermed menes at det hverken er jura eller teknologi der "vinder" og sætter den anden ud af spil, men at der findes en mellemvej som tilgodeser de interesser vi har som samfund.

Eskild Nielsen
Lars Skovlund

Hvis du checker som beskrevet er du IKKE en liberal modtager


I den RFC som PHK linker til er JSON givet som eksempel. Jeg synes der er noget af et spring fra underspecificerede protokoller/dataformater der giver problemer ifht Postels lov og så bevidst forsøg på snyd. Derudover, så synes jeg Excel modbeviser Thomsons tese ret eftertrykkeligt; en fail-fast politik i forhold til Microsofts formater havde da aldrig fået dem til at fikse deres lort, fjerne bagudkompatible hacks m.m.?

Lasse Hillerøe Petersen

Vi har stort set kun eksempler på at det er et problem: Mail-spam, DoS angreb, brute-force password forsøg, buffer-overflows ("Igen har etbrugernavn længere end 4096 tegn...")

Hmm, jeg tror min tolkning af Postels lov er en ganske anden end din.

SMTP er en Mail Transport protokol. En simpel en af slagsen tillige. Det betyder naturligvis også, at det skal besluttes hvad der hører under protokollen og hvad der ikke gør. En MT transporterer post til en modtagerpostkasse. That's it. Sikkerhed, afsenderautentificering, kryptering - ingen af de ting handler om at transportere post.

Og det er da sigende at netop den egenskab har gjort det muligt at bygge den slags features ovenpå og udenom.

Hvad bufferoverflow angår, er det jo netop eksempler på implementationer, der IKKE overholder Postels lov, som jo egentlig bare betyder at uanset hvilken slags nonsensdata du får smidt i hovedet, så skal du kunne håndtere det, også når brugernavnet er urimeligt langt, og ikke bare blindt antage, at det er velformet og validt.

Magnus Jørgensen

Hvis du checker som beskrevet er du IKKE en liberal modtager

wut?

Vi har stort set kun eksempler på at det er et problem: Mail-spam, DoS angreb, brute-force password forsøg, buffer-overflows ("Igen har etbrugernavn længere end 4096 tegn...")

Mail-spam: Har du ikke lige selv skrevet at SMTP ikke har afsender verifikation?
DoS angres: Hvordan vil en konservativ implementering af http protokollen hos modtageren afhjælpe?
brute-force password forsøg: Er løst ved at sætte delay på respons og kun tillade 3 forsøg.
buffer-overflows: YES her er der et eksempel på en dårlig modtager implementering. Men det er vel nemt løst i den enkelte implementering. Har du et eksempel hvor denne fejl har dannet standard?

Bjarne Nielsen

Et noget rodet oplæg har ført til en mindst lige så rodet diskussion. Men grundlæggende, så er jeg helt enig med Martin Thompson pointe om, at "fail fast, fail hard" vil føre til mere stabile systemer.

Bevares, til at starte med, så gør det ondt, men hellere misse en af de tidlige milepæle end at misse selve målet. Så det er kun glædeligt, hvis det kunne komme til at vinde større indpas allerede på specifikationsniveau.

PS: Er der nogen, som ved, hvorfor side-headeren i Thompsons skriv siger "Elephants Out, Donkeys In"? Er det en kommentar til USAnsk politik?

Lasse Hillerøe Petersen

PS: Er der nogen, som ved, hvorfor side-headeren i Thompsons skriv siger "Elephants Out, Donkeys In"? Er det en kommentar til USAnsk politik?

Strengt taget skulle det vel være "send like an elephant, receive like a donkey", men den givne formulering skaber jo en sjov forbindelse til "Garbage In, Garbage Out" princippet. Om der er et politisk statement derudover, er nok ikke til at sige.

Jesper Louis Andersen

Mail-spam: Har du ikke lige selv skrevet at SMTP ikke har afsen...

Problemet er en kende mere generelt.

Protokoller er nødt til at være enormt hårde med hvad de accepterer som validt inddata. Faktisk bør det være afgørligt om et input er lovligt eller ej; hvilket betyder at du har en entydigt ja/nej svar til input. På den måde er råderummet mellem accepteret data og afvist data stort set 0. PHKs JSON eksempel viser at data ikke altid bliver opfattet entydigt, og det skaber store problemer. Stort set alle protokoller i dag bliver parset sådan lidt i hånden for sjov. Enten fordi man har en eller anden syg ide om det skal gå hurtigt, eller fordi man ikke ved bedre.

Len Sassaman og Meredith Patterson har i en del år haft gang i en god ide, hvor man simpelthen kræver at protokoller har en formel grammatik. På den måde opnår man den ovenstående afgørlighed, og man ved hvorfor man afviser et givent input. Fordelen er at du nu kun skal beskytte kodegeneratoren til grammatikken og ikke enhver persons håndrullede variant af det samme.

Stort set alle sikkerhedsproblemer opstår fordi protokolhåndteringen ikke er afgørlig. Så opstår der et "hul" mellem det lovligt og det afviste som kan undersøges, typisk med en fuzzer. Har du også adgang til kildekoden kan man ofte finde sikkerhedsfejl den vej. Postel's princip argumenterer for at et system skal ignorere ting systemet ikke kender til. Men det er ikke uden komplikationer, fordi du trods alt accepterer alt andet i stedet for at afvise det. Og derved er det nemt at skube ovenstående "hul" ved et uheld.

Mht DOS-angreb, så er problemet oftest at modtageren godtroende forsøger at behandle data i stedet for bare at sige nej. Gode protokoller sørger for at få viklet en klient ind i serverens tilstand på en sådan måde at serveren ikke gemmer data. Et eksempel er Bernstein's CurveCP hvor connection-data bliver sendt round-trip til klienten under kryptering. Kun hvis klienten svarer tilbage med data bliver der allokeret resources server-side.

Rune Larsen

som PHK er dybt naive i deres tro på, at staten på betryggende vis kan betros en bagdør til borgernes kryptering. Eller også har de andre motiver...

Historien har vist, at når man giver statsmagten ubegrænset mulighed for at spionere på sine borgere, så misbruges det. Staten består af mennesker med personlige motiver, som det fx kan ses i Leben Des Anderen.

Statens lemfældige omgang med it-sikkerhed i almindelighed og borgernes data i særdeleshed samt det globale hackingkapløb vil medføre, at hoved-nøglerne til at omgå "lovlig kryptering" er lækket hurtigere end PHK kan sige "IT-liberalist"

Det kan ikke undre, at den amerikanske regering ville elske et generelt krav om at de skal have bagdøre til alt og bruger samfundets kollektive interesser som påskud.

Vi kan ikke betro stater eller andre organisationer alle vores hemmeligheder førend de beviseligt er fuldstændigt frie for korruption og inkompetence. Dvs. i praksis aldrig. Indtil da må vi hver især gøre op med os selv hvem vi vil betro hvad og hvordan.

Leif Neland

Man kan sagtens sige at mailserveren kun skal modtage kryptografisk signeret mail.

Men det duer kun i lukkede systemer, hvor man kun vil modtage post fra folk man kender.

Selv hvis man siger det er nok at mailen er signeret, så vil det ikke stoppe post fra en spammer, der signerer sin post.

Men det vil stoppe post fra folk, der ikke (har en ISP, der) kan finde ud af signere post.

Og det vil stoppe post fra maskiner, der ikke kan opgraderes. F.ex. en email fra det bevægelsesfølsomme overvågningskamera, eller fra pillefyret, der er løbet tør

Man kan kun indføre regler, der klassificerer mails i sikre og usikre, og dertil f.ex. sige at alle mails fra ens eget firma skal være signeret, så man ikke accepterer at CEO på forretningsrejse sender "Haster: Overfør x millioner til Y-corp" uden den rette signatur.

Maciej Szeliga

...fra en postkasse som hænger på Den Røde Plads... alle kan stoppe alt i den og udgive sig for hvem de har lyst til.

En std. e-mail svarer til et postkort, det er både en styrke og en svaghed - men det er det også i normalt post.

Vi kan opfinde al den sikkerhed vi vil men i sidste ende går det ud over fleksibiliteten i systemet. IMHO så skal der være mulighed for at sende frit, det der mangler er en udvidelse af SMTP som verificerer afsenderen (og evt. også en end2end krypteringsmulighed), så mails fra verificerede afsendere tydligt kan skelnes.

Mads Hjorth

En af fordelene ved at alle pakker behandles (næsten) ens, er at der ikke rigtig er nogen der bliver holdt udenfor.

Jeg er helt sikker på identitetsbaserede netværk hvor kun pakker fra kendte afsender router videre har en fremtid. Cisco har vist allerede en kommerciel implementering. Særligt på mindre åbne netværk som ønsker at skærme sig mod internettet. Ihvertfald de dage hvor der er uvejr på internettet.

Men hvis det også bliver rullet ud på de store back bones begynder jeg at blive lidt bekymret. Risikere man at infrastrukturfirmaer Black lister enkelt personer, virksomheder, stater... I en analog analogi vil det svare til at postvæsenet kun videresender breve med afsender (og dennes underskrift). Og måske synes at der er nogle, hvis breve ikke behøver at komme frem....

Martin Bøgelund

Da Piet Beertema lavede sin [https://godfatherof.nl/kremvax.html]("Kremvax" aprilsnar i 1984) kunne alle regne ud hvordan han havde gjort det.

Da jeg trillede igennem reaktionerne på Aprilsnaren nedenunder det gengivne indlæg, faldt jeg over denne kommentar, der er for god til at lade gå ubemærket hen:


C'mon guys. Do you expect that a letter from Ronald Reagan on the    
USENET would be legitimate? Than why did you expect such from the    
U.S.S.R?    

(Would you expect a letter from ANY politician on USENET?)


Kommentaren - set i samtidens kontekst - virker temmelig spøjs, Men den understøtter fint blogindlæggets budskab om, at tingene har flyttet sig en del siden dengang.

Log ind eller Opret konto for at kommentere