Computerhistorie: Sterke computerverhalen en anekdotes 1978 – 1983
Sterke computerverhalen en anekdotes (1978 – 1983)
Computerbeveiliging en IWIS-TNO
Op een gegeven dag was er grote paniek bij IWIS-TNO. Men moest de TNO-salarissen uitbetalen, maar het programma brak om onduidelijke redenen steeds af. De gehele schijfinhoud werd “opgeblazen”. De fout leek ergens te zitten in het besturingssysteem in combinatie met de Cobol-programmatuur. Kon het Physisch Laboratorium TNO een helpende hand bieden ? De salarissen moesten betaald worden…
De verdachte Cobol-module leek bij ons probleemloos te werken op ons testsysteem. Bij IWIS ging het gehele systeem plat en moest een deadstart gebeuren. Nieuwe disk I/O-drivers (PP-programma) werden vertaald en geladen. Geen verbetering. Waar zaten de verschillen tussen het IWIS-systeem en ons testsysteem dan? Welke systeemcorrecties hadden wij meer aangebracht? Uiteindelijk kwamen wij er achter wat er aan de hand was. Onze beveiligingscode beveiligde de PP-code tegen overschrijving door te lange parameterlijsten of te wel ‘buffer overflow‘, een type cyber security lek dat nu nog steeds populair is bij UNIX- en netwerkcrackers. Bij IWIS gebeurde dat per ongeluk door het overschrijden van een te krap gedefinieerde tabel. Zodra onze correctie bij IWIS aangebracht was waardoor het besturingssysteem robuust werd tegen codeoverschrijving in de PP en daardoor stabiel werd, kon men de fout uit het Cobol-programma gaan halen.
Beveiligings- en privacy-perikelen van de CYBER
Voor bepaalde oefeningen en door het Laboratorium ontwikkelde spelletjes kreeg de Hogere Krijgsschool (HKS) een aantal terminallijnen op de CYBER 74 tot hun beschikking. Een van de HKS-leraren was zo enthousiast over het gebruik van de CYBER, dat hij een foto voor de Defensiekrant van zichzelf liet maken tijdens de computerles. De Computergroep werd getipt dat het op die wijze publiceren van de terminalwachtwoorden, die haarscherp op het bord en de foto stonden, tegen alle elementaire eisen van beveiliging indruiste. De desbetreffende officier heeft daarop van verschillende kanten een dusdanige opvoeding in computerbeveiliging gehad, dat hij waarschijnlijk nu nog met een grote boog om computers heen loopt.
Een andere externe Krijgsmachtgebruiker van de CYBER 74 had iets opgevangen over een publieke discussie over de te ontwikkelen privacy-wetgeving, later de Wet Persoonsregistraties (WPR) geheten. Groot was de schrik toen in de Staatscourant het bericht verscheen dat de volledige personeelsdatabase van een Krijgsmachtonderdeel aanwezig was op het CYBER 74-systeem, TNO-locatie Waalsdorp.
Het Laboratorium werd geacht de houder te zijn in de zin van de nog aan te nemen privacywet … Op dat soort publiciteit zat het Laboratorium in de tijd van de vele Onkruit-acties niet te wachten.
(On)gestructureerd programmeren
Tussen midden en einde van de zeventiger jaren woedde een hevige discussie in de computerwereld over “gestructureerd programmeren“: Wat hield dat nou in ? Kon dat nou ook met Basic en Fortran, had je daar echt Pascal voor nodig of moest je Prof. E.Dijkstra volgen en ieder statement afzonderlijk ‘bewijzen’? Ook binnen de Computergroep van het Physisch Laboratorium woedde een dergelijke discussie.
De programmeergroep was vertegenwoordigd in een Nederlands Genootschap voor Informatica (NGI)-werkgroep die ‘puristisch’ keek naar de bewijsbaarheidsdenkbeelden van Prof. Edsger Dijkstra en ook de anderen in de Computergroep (CG) hadden iets gelezen in de vakliteratuur. Groot was de schrik toen een aanpassing nodig was van een systeeminterface van het door het Laboratorium ontwikkelde pakket om de Calcomp-plotter aan te sturen: alle kaarten met regels commentaar en beschrijving waren door iemand uit de kaartenbak gehaald. Later bleek dat een collega ergens opgevangen had de kwaliteitseisen van gestructureerd programmeren vereisten dat één routine om wille van de inzichtelijkheid niet meer dan één pagina (66 regels) mocht beslaan. De computergroep-medewerker had daarom proactief alle commentaarregels uit de subroutines en functies gehaald zodat deze nu stuk voor stuk wel op één printerpagina pasten.
Een andere collega, die ergens ook een ‘bel’ had horen luiden, probeerde zoveel mogelijk statements (niet-standaard Fortran-mogelijkheid) op één kaart te krijgen waardoor de bovengenoemde één paginagrens opgerekt werd. Uitleggen van wat de collega’s fout deden en wat gestructureerd programmeren nu werkelijk inhield, vergde in de in vele opzichten computerpionierstijd nog het nodige missiewerk.
Om gestructureerd programmeren in Fortran te ondersteunen werd begin 1979 het pakket FTS (ForTran Structured) aangeschaft. FTS was een pre-processor die gestructureerde constructies als IF- ELSE – ENDIF, DO – ENDDO en CASE-structuren vertaalde naar Fortran’66 code. Later werd dit pakket door onszelf aangepast zodat het Fortran’77 code aanmaakte.