Offentlige midler, offentlig kode!
Ansporet af tweets og et borgerforslag har jeg i dagens anledning støvet mit V2 blog login af.
Borgerforslaget
Det findes på:
https://www.borgerforslag.dk/se-og-stoet-forslag/?Id=FT-07672
Gør software, der er finansieret med offentlige midler, offentligt tilgængelig
ID: FT-07672
> Hvorfor bliver software, der er finansieret med offentlige midler, ikke udgivet som Fri Software?
> Vi ønsker en lovgivning, der kræver, at offentligt finansieret software udviklet for den offentlige sektor (f.eks. NemID) gøres offentligt tilgængeligt under en Fri og Open Source software-licens. Hvis det er offentlige penge, så bør koden ligeledes være offentligt tilgængelig.
Det er naturligvis et emne som ligger mig meget på sinde!
Det officielle lydspor er derfor denne gang, Aretha Franklin: Jump to It
https://open.spotify.com/track/28ihR0IVqNXJUHrvax2PeP?si=7f162be905f34d60
https://www.youtube.com/watch?v=_-DmMLKbT8g
Teksten handler, som så mange andre 80er numre om kærlighed. Jeg har også en kærlighed, stærk og brændende kærlighed for open source.
Fri og Open Source indflydelse på verden
Det ER på grund af open source at vi har internet, punktum. Det er på grund af open source at vi idag har 100.000vis af projekter og tilhørende programmeringssprog som vi kan bruge og sammensætte.
Jeg plejer at fortælle mine studerende at vi ofte kan finde løsninger i eksisterende programmer, biblioteker og allerede udviklede ting. Hvis ikke hele løsningen, så måske 80-90% af løsningen - hvilket sparer os mange mange resourcer.
Da jeg som ung studerende blev optaget på DIKU 1990 havde jeg nogle år før kørt en Basic Compiler til min C= 128. Jeg havde også købt både CP/M og en tekstbehandler.
Undervejs på studiet kom 386BSD og Linux. Jeg fandt gennem studiet historierne om X11 , det vinduesystem jeg stadig bruger - dog med valgfri grænseflade. AWESOME.
Jeg skrev mit speciale om IPv6 og lærte derigennem hele historien om BSD Berkely Software Distribution 's indflydelse på helt basale teknologier som vi i dag tager for givet.
Bare et eksempel er TCP/IP "reference implementationen"
https://en.wikipedia.org/wiki/Internet_protocol_suite
> The spread of TCP/IP was fueled further in June 1989, when the University of California, Berkeley agreed to place the TCP/IP code developed for BSD UNIX into the public domain.
Not invented here
Vi har i Danmark et slemt tilfælde af not invented here https://en.wikipedia.org/wiki/Not_invented_here
Vi er sååååååå specielle at vi skal have vores egne løsninger, hint: det er vi ikke!
Vi spilder milliarder på løsninger som enten er utidssvarende, ikke transparente, svære at vedligeholde, fejlbehæftede, forsinkede, fortsæt selv den triste liste.
Milliarder som vi kunne bruge på at forbedre infrastrukturen, tilbyde reel, varierede, tilpassede løsninger - fordi grundlaget er mere robust og modent.
Økonomi
Lad mig med det samme gøre det helt og aldeles klart, open source betyder ikke gratis - som uden udgifter. Open source skal stadig udvikles, vedligeholdes, drives og passes. Der skal løbende fejlrettes og udbygges, migreres til nye versioner m.v.
Det er dog ubestrideligt at med et open source produkt kan man komme hurtigere igang, det er mere fleksibelt med hensyn til design af arkitekturen, man lærer også emnet at kende hurtigt og i mange detaljer.
Eksempel, og efter min mening udmærket eksempel - fordi det ikke er 100% open source.
Jeg tilbyder kurser i eksempelvis Intrusion Detection Systems (IDS), alle mine kurser er open source, du kan derfor finde det på https://github.com/kramse/security-courses/tree/master/courses/networking/suricatazeek-workshop
Jeg anbefaler to værktøjer Zeek, som er udviklet siden midt 1990erne, og Suricata, frigivet 2009. Begge har således en længere historie og må betragtes som veletablerede, modne og robuste. De bruges i kritisk infrastruktur over hele verden. Du kan prøve dem nemt og de kræver blot en lille virtuel maskine. De findes også på Security Onion sammen med andre gode værktøjer https://securityonionsolutions.com/
Ved at basere løsninger på dette open source har man glæde af +25 og +10 års udvikling, forbedringer. Vis mig et dansk firma som kan lave en løsning med samme kvalitet under pres, på kort tid.
Det har selvfølgelig ikke været gratis, og blandt andet firmaet Corelight har ansatte som udvikler fuld tid på eksempelvis Zeek. De sørger formentlig for at mange af de kedelige opgaver indenfor projektet fixes.
Til gengæld kan enhver som har lyst lave en udvidelse til dette fantastiske værktøj. Hvis jeg eksempelvis ønsker at Zeek skal understøtte VXLAN fordi det er vigtigt for mig, så kan jeg.
Hvis det var et kommercielt firma skulle jeg enten betale dem for at gøre det, eller håbe at nok andre kunder vil finde den ændring tilpas interessant, at firmaet selv gør det.
DER kommer styrken ved open source frem. Vi kan allesammen give tilbage.
Om at give
Jeg giver til forskellige open source projekter, specielt dem jeg selv bruger. Det er eksempelvis Qubes OS som er mit daglige laptop operativsystem. Jeg har brugt Qubes ihvertfald siden Maj 2016, hvor jeg skrev blog indlæg om Librem laptop. Du kan støtte Qubes OS via https://www.qubes-os.org/donate/
Dernæst er der OpenBSD, og jeg kan reelt ikke huske hvornår jeg begyndte at bruge OpenBSD, men det nærmer sig nok 20 år. Dette projekt udigver også OpenSSH, som jeg ved I bruger.
Jeg tør godt vove den påstand at der i så godt som alle danske virksomheder er kode fra OpenBSD projektet, om ikke andet så i switche og access points med SSH management.
Det er endda også med i Microsoft Windows 10 and Windows Server 2019 :-)
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview
Du kan støtte OpenSSH/OpenBSD her: https://www.openbsdfoundation.org/donations.html
Kommercielle IDS regler
Eksemplet med IDS indeholder dog en vinkel mere, at dele ikke altid kan understøttes ved open source. Når jeg bruger Suricata benytter jeg et kommercielt regelsæt (ETPro) som udvikles af et firma, og indlæses i mine installationer. Det er direkte abbonnement for deres daglige ændringer til kritiske regler.
Der kan således både integreres og samarbejdes med kommercielle løsninger. Det er ingen hindring at koden er open source.
Man kan også have open source uden at man nødvendigvis må kopiere hele pakken. Det giver til gengæld både transparens og indsigt i hvad der reelt er implementeret. Der kan også findes sikkerhedsfejl, før systemerne sætttes i drift!
Eksempel på system der blev offentliggjort
Jeg er jo ikke tilhænger af elektroniske systemer til stemmeafgivelse. Vi kan automatisere hele processen hen til valgstedet, og udlevering af stemmeseddel ud fra elektroniske valglister, super duper - gør systemet open source.
Der er dog et større eksempel som passer rigtig godt i denne sammenhæng:
https://en.wikipedia.org/wiki/Electronic_voting_in_Switzerland
I kan selv dykke ned i den, og de mange vinkler, herunder sikkerheden. Det ender dog med at koden publiceres.
> 2019 Publication of the Swiss Post system source code with complete verifiability
> Opening of the platform to register to participate in the public intrusion test
> Realization of the public intrusion test
Fremtidig vedligehold af software
En ofte overset krølle er forøvrigt at når jeg har givet tilbage til open source, så overtager projektet bøvlet med at vedligeholde min ændring, så den virker fremad. Jeg kan således læne mig tilbage og bruge Zeek med VXLAN i al fremtid.
Fedt!
Det er i sig selv grund nok til at jeg vil have mere open source og fri software.
Frie data
Vi er ved at have en tradition snart for at frigive mere og mere data. Jeg læser jævnligt om åbne data projekter. Følg Søren Johannessen https://twitter.com/neogeografen for at se en masse eksempler og StreetComplete app - så du kan hjælpe. Jeg får det ikke gjort, men hermed givet videre.
Når vi så erkender at data uden kode intet er værd, og kode uden data intet er værd. Så er det måske på tide at vi sikrer at offentlige midler brugt til kode og data, ender under frie og åbne licenser!
Det er på tide!
Fri og open source
Jeg har valgt udtrykket open source, mens borgerforslag benytter Fri Software. Det er en snak som hurtigt bliver for lang. Jeg anbefaler derfor jer alle at købe bogen, ihvertfald alle der er kommet så langt her i blogindlægget er helt sikkert i målgruppen :-D
https://pragprog.com/titles/vbopens/forge-your-future-with-open-source/
Den gennemgår udover hvad open source er også roller og hvordan man kommer igang med at tilbyde sin hjælp til open source projekter. Jeg har selv genstartet en mere målrettet tilgang til mine "contributions" og har faktisk 3 pull requests igang med ændringer jeg gerne ser indlemmet i Zeek.
Kilder:
Bemærk også projektet Public Money, Public code https://publiccode.eu/
Kryptografi og open source
Yderligere kan vi nævne andre områder hvor vi har stor glæde af tæt samarbejde og transparens.
Kryptografi er for svært til at enkeltfirmaer kan gøre det /sikkert/. Her har vi store samarbejder mellem virksomheder, branchen, det offentlige - specielt NIST har været omdrejningspunktet.
Apropos NIST, hvis du/I mangler at skrive et sikkerhedsdokument eller politik er der ofte et NIST Special Publications dokument som I kan lade jer inspirere af. Det kunne være:
Computer Security Incident Handling Guide
https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final
eller den opdaterede
NIST SP800-63B: Digital Identity Guidelines
Authentication and Lifecycle Management
https://pages.nist.gov/800-63-3/sp800-63b.html
Fordi kryptografi er så forbasket svært, også at implementere, har vi stor glæde af fælles biblioteker som udvikles, fejlrettes og modnes. Der skal tages forbehold for mange angrebsvinkler, herunder timing angreb.
Det er derfor nødvendigt at bruge gode kryptobiblioteker. Det kan man få gennem Apples og Microsofts implementationer, som de bruger store summer på, eller gennem open source.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.